JLChen
2020-12-10 a8c5f79b0d93adfa7f23601dd0fee30edc14f0d4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/**
 * @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);