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

Side by Side Diff: srtp/crypto/include/datatypes.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/crypto/include/crypto_types.h ('k') | srtp/crypto/include/err.h » ('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 * datatypes.h 2 * datatypes.h
3 * 3 *
4 * data types for bit vectors and finite fields 4 * data types for bit vectors and finite fields
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 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 # elif defined HAVE_BYTESWAP_METHODS_H 63 # elif defined HAVE_BYTESWAP_METHODS_H
64 # include <stdlib.h> 64 # include <stdlib.h>
65 # define ntohl(x) _byteswap_ulong (x) 65 # define ntohl(x) _byteswap_ulong (x)
66 # define ntohs(x) _byteswap_ushort (x) 66 # define ntohs(x) _byteswap_ushort (x)
67 # define htonl(x) _byteswap_ulong (x) 67 # define htonl(x) _byteswap_ulong (x)
68 # define htons(x) _byteswap_ushort (x) 68 # define htons(x) _byteswap_ushort (x)
69 # endif 69 # endif
70 #endif 70 #endif
71 71
72 72
73
74 /* if DATATYPES_USE_MACROS is defined, then little functions are macros */ 73 /* if DATATYPES_USE_MACROS is defined, then little functions are macros */
75 #define DATATYPES_USE_MACROS 74 #define DATATYPES_USE_MACROS
76 75
77 typedef union { 76 typedef union {
78 uint8_t v8[2]; 77 uint8_t v8[2];
79 uint16_t value; 78 uint16_t value;
80 } v16_t; 79 } v16_t;
81 80
82 typedef union { 81 typedef union {
83 uint8_t v8[4]; 82 uint8_t v8[4];
84 uint16_t v16[2]; 83 uint16_t v16[2];
85 uint32_t value; 84 uint32_t value;
86 } v32_t; 85 } v32_t;
87 86
88 typedef union { 87 typedef union {
89 uint8_t v8[8]; 88 uint8_t v8[8];
90 uint16_t v16[4]; 89 uint16_t v16[4];
91 uint32_t v32[2]; 90 uint32_t v32[2];
92 uint64_t value; 91 uint64_t value;
93 } v64_t; 92 } v64_t;
94 93
95 typedef union { 94 typedef union {
96 uint8_t v8[16]; 95 uint8_t v8[16];
97 uint16_t v16[8]; 96 uint16_t v16[8];
98 uint32_t v32[4]; 97 uint32_t v32[4];
99 uint64_t v64[2]; 98 uint64_t v64[2];
100 } v128_t; 99 } v128_t;
101 100
101 typedef union {
102 uint8_t v8[32];
103 uint16_t v16[16];
104 uint32_t v32[8];
105 uint64_t v64[4];
106 } v256_t;
102 107
103 108
104 /* some useful and simple math functions */ 109 /* some useful and simple math functions */
105 110
106 #define pow_2(X) ( (unsigned int)1 << (X) ) /* 2^X */ 111 #define pow_2(X) ( (unsigned int)1 << (X) ) /* 2^X */
107 112
108 #define pow_minus_one(X) ( (X) ? -1 : 1 ) /* (-1)^X */ 113 #define pow_minus_one(X) ( (X) ? -1 : 1 ) /* (-1)^X */
109 114
110 115
111 /* 116 /*
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 * and b are not equal, returns 0 otherwise 382 * and b are not equal, returns 0 otherwise
378 */ 383 */
379 384
380 int 385 int
381 octet_string_is_eq(uint8_t *a, uint8_t *b, int len); 386 octet_string_is_eq(uint8_t *a, uint8_t *b, int len);
382 387
383 void 388 void
384 octet_string_set_to_zero(uint8_t *s, int len); 389 octet_string_set_to_zero(uint8_t *s, int len);
385 390
386 391
387 #ifndef SRTP_KERNEL_LINUX 392 #if !defined(SRTP_KERNEL_LINUX) //&& defined(HAVE_CONFIG_H)
388 393
389 /* 394 /*
390 * Convert big endian integers to CPU byte order. 395 * Convert big endian integers to CPU byte order.
391 */ 396 */
392 #ifdef WORDS_BIGENDIAN 397 #ifdef WORDS_BIGENDIAN
393 /* Nothing to do. */ 398 /* Nothing to do. */
394 # define be32_to_cpu(x) (x) 399 # define be32_to_cpu(x) (x)
395 # define be64_to_cpu(x) (x) 400 # define be64_to_cpu(x) (x)
396 #elif defined(HAVE_BYTESWAP_H) 401 #elif defined(HAVE_BYTESWAP_H)
397 /* We have (hopefully) optimized versions in byteswap.h */ 402 /* We have (hopefully) optimized versions in byteswap.h */
398 # include <byteswap.h> 403 # include <byteswap.h>
399 # define be32_to_cpu(x) bswap_32((x)) 404 # define be32_to_cpu(x) bswap_32((x))
400 # define be64_to_cpu(x) bswap_64((x)) 405 # define be64_to_cpu(x) bswap_64((x))
401 #else 406 #else
402 407
403 #if defined(__GNUC__) && defined(HAVE_X86) 408 #if defined(__GNUC__) && defined(HAVE_X86)
404 /* Fall back. */ 409 /* Fall back. */
405 static INLINE uint32_t be32_to_cpu(uint32_t v) { 410 static inline uint32_t be32_to_cpu(uint32_t v) {
406 /* optimized for x86. */ 411 /* optimized for x86. */
407 asm("bswap %0" : "=r" (v) : "0" (v)); 412 asm("bswap %0" : "=r" (v) : "0" (v));
408 return v; 413 return v;
409 } 414 }
410 # else /* HAVE_X86 */ 415 # else /* HAVE_X86 */
411 # ifdef HAVE_NETINET_IN_H 416 # ifdef HAVE_NETINET_IN_H
412 # include <netinet/in.h> 417 # include <netinet/in.h>
413 # elif defined HAVE_WINSOCK2_H 418 # elif defined HAVE_WINSOCK2_H
414 # include <winsock2.h> 419 # include <winsock2.h>
415 # endif 420 # endif
416 # define be32_to_cpu(x) ntohl((x)) 421 # define be32_to_cpu(x) ntohl((x))
417 # endif /* HAVE_X86 */ 422 # endif /* HAVE_X86 */
418 423
419 static INLINE uint64_t be64_to_cpu(uint64_t v) { 424 static inline uint64_t be64_to_cpu(uint64_t v) {
420 # ifdef NO_64BIT_MATH 425 # ifdef NO_64BIT_MATH
421 /* use the make64 functions to do 64-bit math */ 426 /* use the make64 functions to do 64-bit math */
422 v = make64(htonl(low32(v)),htonl(high32(v))); 427 v = make64(htonl(low32(v)),htonl(high32(v)));
423 # else 428 # else
424 /* use the native 64-bit math */ 429 /* use the native 64-bit math */
425 v= (uint64_t)((be32_to_cpu((uint32_t)(v >> 32))) | (((uint64_t)be32_to_cpu((u int32_t)v)) << 32)); 430 v= (uint64_t)((be32_to_cpu((uint32_t)(v >> 32))) | (((uint64_t)be32_to_cpu((u int32_t)v)) << 32));
426 # endif 431 # endif
427 return v; 432 return v;
428 } 433 }
429 434
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
503 508
504 void 509 void
505 bitvector_set_to_zero(bitvector_t *x); 510 bitvector_set_to_zero(bitvector_t *x);
506 511
507 void 512 void
508 bitvector_left_shift(bitvector_t *x, int index); 513 bitvector_left_shift(bitvector_t *x, int index);
509 514
510 char * 515 char *
511 bitvector_bit_string(bitvector_t *x, char* buf, int len); 516 bitvector_bit_string(bitvector_t *x, char* buf, int len);
512 517
518 #ifdef TESTAPP_SOURCE
519 int base64_string_to_octet_string(char *raw, int *pad, char *base64, int len);
520 #endif
521
513 #endif /* _DATATYPES_H */ 522 #endif /* _DATATYPES_H */
OLDNEW
« no previous file with comments | « srtp/crypto/include/crypto_types.h ('k') | srtp/crypto/include/err.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698