/** * @file re_srtp.h Secure Real-time Transport Protocol (SRTP) * * Copyright (C) 2010 Creytiv.com */ enum srtp_suite { SRTP_AES_CM_128_HMAC_SHA1_32, SRTP_AES_CM_128_HMAC_SHA1_80, SRTP_AES_256_CM_HMAC_SHA1_32, SRTP_AES_256_CM_HMAC_SHA1_80, SRTP_AES_128_GCM, SRTP_AES_256_GCM, }; enum srtp_flags { SRTP_UNENCRYPTED_SRTCP = 1<<1, }; struct srtp; int srtp_alloc(struct srtp **srtpp, enum srtp_suite suite, const uint8_t *key, size_t key_bytes, int flags); int srtp_encrypt(struct srtp *srtp, struct mbuf *mb); int srtp_decrypt(struct srtp *srtp, struct mbuf *mb); int srtcp_encrypt(struct srtp *srtp, struct mbuf *mb); int srtcp_decrypt(struct srtp *srtp, struct mbuf *mb); const char *srtp_suite_name(enum srtp_suite suite);