1 /*
2  *
3  * Copyright(c) 2001-2017 Cisco Systems, Inc.
4  * All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  *
10  *   Redistributions of source code must retain the above copyright
11  *   notice, this list of conditions and the following disclaimer.
12  *
13  *   Redistributions in binary form must reproduce the above
14  *   copyright notice, this list of conditions and the following
15  *   disclaimer in the documentation and/or other materials provided
16  *   with the distribution.
17  *
18  *   Neither the name of the Cisco Systems, Inc. nor the names of its
19  *   contributors may be used to endorse or promote products derived
20  *   from this software without specific prior written permission.
21  *
22  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
25  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
26  * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
27  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
28  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
29  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
31  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
32  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
33  * OF THE POSSIBILITY OF SUCH DAMAGE.
34  *
35  */
36 
37 #ifndef CIHPER_TYPES_H
38 #define CIHPER_TYPES_H
39 
40 #include "cipher.h"
41 #include "auth.h"
42 
43 /*
44  * cipher types that can be included in the kernel
45  */
46 
47 extern const srtp_cipher_type_t srtp_null_cipher;
48 extern const srtp_cipher_type_t srtp_aes_icm_128;
49 extern const srtp_cipher_type_t srtp_aes_icm_256;
50 #ifdef GCM
51 extern const srtp_cipher_type_t srtp_aes_icm_192;
52 extern const srtp_cipher_type_t srtp_aes_gcm_128;
53 extern const srtp_cipher_type_t srtp_aes_gcm_256;
54 #endif
55 
56 /*
57  * auth func types that can be included in the kernel
58  */
59 
60 extern const srtp_auth_type_t srtp_null_auth;
61 extern const srtp_auth_type_t srtp_hmac;
62 
63 /*
64  * other generic debug modules that can be included in the kernel
65  */
66 
67 extern srtp_debug_module_t srtp_mod_auth;
68 extern srtp_debug_module_t srtp_mod_cipher;
69 extern srtp_debug_module_t srtp_mod_stat;
70 extern srtp_debug_module_t srtp_mod_alloc;
71 
72 /* debug modules for cipher types */
73 extern srtp_debug_module_t srtp_mod_aes_icm;
74 #ifdef OPENSSL
75 extern srtp_debug_module_t srtp_mod_aes_gcm;
76 #endif
77 #ifdef NSS
78 extern srtp_debug_module_t srtp_mod_aes_gcm;
79 #endif
80 
81 /* debug modules for auth types */
82 extern srtp_debug_module_t srtp_mod_hmac;
83 
84 #endif
85