Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(96)

Side by Side Diff: srtp/include/srtp_priv.h

Issue 889083003: Update libsrtp to upstream 1.5.0 (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/libsrtp@master
Patch Set: Updated to libsrtp 1.5.1 Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « srtp/include/srtp.h ('k') | srtp/install-win.bat » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * srtp_priv.h 2 * srtp_priv.h
3 * 3 *
4 * private internal data structures and functions for libSRTP 4 * private internal data structures and functions for libSRTP
5 * 5 *
6 * David A. McGrew 6 * David A. McGrew
7 * Cisco Systems, Inc. 7 * Cisco Systems, Inc.
8 */ 8 */
9 /* 9 /*
10 * 10 *
(...skipping 27 matching lines...) Expand all
38 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 38 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 39 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
40 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 40 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
41 * OF THE POSSIBILITY OF SUCH DAMAGE. 41 * OF THE POSSIBILITY OF SUCH DAMAGE.
42 * 42 *
43 */ 43 */
44 44
45 #ifndef SRTP_PRIV_H 45 #ifndef SRTP_PRIV_H
46 #define SRTP_PRIV_H 46 #define SRTP_PRIV_H
47 47
48 #include "config.h"
48 #include "srtp.h" 49 #include "srtp.h"
49 #include "rdbx.h" 50 #include "rdbx.h"
50 #include "rdb.h" 51 #include "rdb.h"
51 #include "integers.h" 52 #include "integers.h"
53 #include "crypto.h"
54 #include "cipher.h"
55 #include "auth.h"
56 #include "aes.h"
57 #include "key.h"
58 #include "crypto_kernel.h"
59
60 #define SRTP_VER_STRING PACKAGE_STRING
61 #define SRTP_VERSION PACKAGE_VERSION
52 62
53 /* 63 /*
54 * an srtp_hdr_t represents the srtp header 64 * an srtp_hdr_t represents the srtp header
55 * 65 *
56 * in this implementation, an srtp_hdr_t is assumed to be 32-bit aligned 66 * in this implementation, an srtp_hdr_t is assumed to be 32-bit aligned
57 * 67 *
58 * (note that this definition follows that of RFC 1889 Appendix A, but 68 * (note that this definition follows that of RFC 1889 Appendix A, but
59 * is not identical) 69 * is not identical)
60 */ 70 */
61 71
(...skipping 19 matching lines...) Expand all
81 } srtp_hdr_t; 91 } srtp_hdr_t;
82 92
83 #else /* BIG_ENDIAN */ 93 #else /* BIG_ENDIAN */
84 94
85 typedef struct { 95 typedef struct {
86 unsigned char version:2; /* protocol version */ 96 unsigned char version:2; /* protocol version */
87 unsigned char p:1; /* padding flag */ 97 unsigned char p:1; /* padding flag */
88 unsigned char x:1; /* header extension flag */ 98 unsigned char x:1; /* header extension flag */
89 unsigned char cc:4; /* CSRC count */ 99 unsigned char cc:4; /* CSRC count */
90 unsigned char m:1; /* marker bit */ 100 unsigned char m:1; /* marker bit */
91 unsigned pt:7;» /* payload type */ 101 unsigned char pt:7;» /* payload type */
92 uint16_t seq; /* sequence number */ 102 uint16_t seq; /* sequence number */
93 uint32_t ts; /* timestamp */ 103 uint32_t ts; /* timestamp */
94 uint32_t ssrc; /* synchronization source */ 104 uint32_t ssrc; /* synchronization source */
95 } srtp_hdr_t; 105 } srtp_hdr_t;
96 106
97 #endif 107 #endif
98 108
99 typedef struct { 109 typedef struct {
100 uint16_t profile_specific; /* profile-specific info */ 110 uint16_t profile_specific; /* profile-specific info */
101 uint16_t length; /* number of 32-bit words in extension */ 111 uint16_t length; /* number of 32-bit words in extension */
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 rdbx_t rtp_rdbx; 223 rdbx_t rtp_rdbx;
214 sec_serv_t rtp_services; 224 sec_serv_t rtp_services;
215 cipher_t *rtcp_cipher; 225 cipher_t *rtcp_cipher;
216 auth_t *rtcp_auth; 226 auth_t *rtcp_auth;
217 rdb_t rtcp_rdb; 227 rdb_t rtcp_rdb;
218 sec_serv_t rtcp_services; 228 sec_serv_t rtcp_services;
219 key_limit_ctx_t *limit; 229 key_limit_ctx_t *limit;
220 direction_t direction; 230 direction_t direction;
221 int allow_repeat_tx; 231 int allow_repeat_tx;
222 ekt_stream_t ekt; 232 ekt_stream_t ekt;
233 uint8_t salt[SRTP_AEAD_SALT_LEN]; /* used with GCM mode for SRTP */
234 uint8_t c_salt[SRTP_AEAD_SALT_LEN]; /* used with GCM mode for SRTCP */
223 struct srtp_stream_ctx_t *next; /* linked list of streams */ 235 struct srtp_stream_ctx_t *next; /* linked list of streams */
224 } srtp_stream_ctx_t; 236 } srtp_stream_ctx_t;
225 237
226 238
227 /* 239 /*
228 * an srtp_ctx_t holds a stream list and a service description 240 * an srtp_ctx_t holds a stream list and a service description
229 */ 241 */
230 242
231 typedef struct srtp_ctx_t { 243 typedef struct srtp_ctx_t {
232 srtp_stream_ctx_t *stream_list; /* linked list of streams */ 244 srtp_stream_ctx_t *stream_list; /* linked list of streams */
233 srtp_stream_ctx_t *stream_template; /* act as template for other streams */ 245 srtp_stream_ctx_t *stream_template; /* act as template for other streams */
246 void *user_data; /* user custom data */
234 } srtp_ctx_t; 247 } srtp_ctx_t;
235 248
236 249
237 250
238 /* 251 /*
239 * srtp_handle_event(srtp, srtm, evnt) calls the event handling 252 * srtp_handle_event(srtp, srtm, evnt) calls the event handling
240 * function, if there is one. 253 * function, if there is one.
241 * 254 *
242 * This macro is not included in the documentation as it is 255 * This macro is not included in the documentation as it is
243 * an internal-only function. 256 * an internal-only function.
244 */ 257 */
245 258
246 #define srtp_handle_event(srtp, strm, evnt) \ 259 #define srtp_handle_event(srtp, strm, evnt) \
247 if(srtp_event_handler) { \ 260 if(srtp_event_handler) { \
248 srtp_event_data_t data; \ 261 srtp_event_data_t data; \
249 data.session = srtp; \ 262 data.session = srtp; \
250 data.stream = strm; \ 263 data.stream = strm; \
251 data.event = evnt; \ 264 data.event = evnt; \
252 srtp_event_handler(&data); \ 265 srtp_event_handler(&data); \
253 } 266 }
254 267
255 268
256 #endif /* SRTP_PRIV_H */ 269 #endif /* SRTP_PRIV_H */
OLDNEW
« no previous file with comments | « srtp/include/srtp.h ('k') | srtp/install-win.bat » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698