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