58 #ifdef HAVE_NETINET_IN_H 59 # include <netinet/in.h> 60 #elif defined HAVE_WINSOCK2_H 61 # include <winsock2.h> 70 #define DATATYPES_USE_MACROS 107 #define pow_2(X) ( (unsigned int)1 << (X) ) 109 #define pow_minus_one(X) ( (X) ? -1 : 1 ) 120 #define MAX_PRINT_STRING_LEN 1024 149 #define _v128_set_to_zero(x) \ 157 #define _v128_copy(x, y) \ 159 (x)->v32[0] = (y)->v32[0], \ 160 (x)->v32[1] = (y)->v32[1], \ 161 (x)->v32[2] = (y)->v32[2], \ 162 (x)->v32[3] = (y)->v32[3] \ 165 #define _v128_xor(z, x, y) \ 167 (z)->v32[0] = (x)->v32[0] ^ (y)->v32[0], \ 168 (z)->v32[1] = (x)->v32[1] ^ (y)->v32[1], \ 169 (z)->v32[2] = (x)->v32[2] ^ (y)->v32[2], \ 170 (z)->v32[3] = (x)->v32[3] ^ (y)->v32[3] \ 173 #define _v128_and(z, x, y) \ 175 (z)->v32[0] = (x)->v32[0] & (y)->v32[0], \ 176 (z)->v32[1] = (x)->v32[1] & (y)->v32[1], \ 177 (z)->v32[2] = (x)->v32[2] & (y)->v32[2], \ 178 (z)->v32[3] = (x)->v32[3] & (y)->v32[3] \ 181 #define _v128_or(z, x, y) \ 183 (z)->v32[0] = (x)->v32[0] | (y)->v32[0], \ 184 (z)->v32[1] = (x)->v32[1] | (y)->v32[1], \ 185 (z)->v32[2] = (x)->v32[2] | (y)->v32[2], \ 186 (z)->v32[3] = (x)->v32[3] | (y)->v32[3] \ 189 #define _v128_complement(x) \ 191 (x)->v32[0] = ~(x)->v32[0], \ 192 (x)->v32[1] = ~(x)->v32[1], \ 193 (x)->v32[2] = ~(x)->v32[2], \ 194 (x)->v32[3] = ~(x)->v32[3] \ 198 #define _v128_is_eq(x, y) \ 199 (((x)->v64[0] == (y)->v64[0]) && ((x)->v64[1] == (y)->v64[1])) 203 #define _v128_xor_eq(z, x) \ 205 (z)->v32[0] ^= (x)->v32[0], \ 206 (z)->v32[1] ^= (x)->v32[1], \ 207 (z)->v32[2] ^= (x)->v32[2], \ 208 (z)->v32[3] ^= (x)->v32[3] \ 211 #define _v128_xor_eq(z, x) \ 213 (z)->v64[0] ^= (x)->v64[0], \ 214 (z)->v64[1] ^= (x)->v64[1] \ 227 #define _v128_get_bit(x, bit) \ 229 ((((x)->v32[(bit) >> 5]) >> ((bit) & 31)) & 1) \ 232 #define _v128_set_bit(x, bit) \ 234 (((x)->v32[(bit) >> 5]) |= ((uint32_t)1 << ((bit) & 31))) \ 237 #define _v128_clear_bit(x, bit) \ 239 (((x)->v32[(bit) >> 5]) &= ~((uint32_t)1 << ((bit) & 31))) \ 242 #define _v128_set_bit_to(x, bit, value) \ 244 (value) ? _v128_set_bit(x, bit) : \ 245 _v128_clear_bit(x, bit) \ 251 #ifdef WORDS_BIGENDIAN 253 #define _v128_add(z, x, y) { \ 256 tmp = x->v32[3] + y->v32[3]; \ 257 z->v32[3] = (uint32_t) tmp; \ 259 tmp = x->v32[2] + y->v32[2] + (tmp >> 32); \ 260 z->v32[2] = (uint32_t) tmp; \ 262 tmp = x->v32[1] + y->v32[1] + (tmp >> 32); \ 263 z->v32[1] = (uint32_t) tmp; \ 265 tmp = x->v32[0] + y->v32[0] + (tmp >> 32); \ 266 z->v32[0] = (uint32_t) tmp; \ 271 #define _v128_add(z, x, y) { \ 274 tmp = htonl(x->v32[3]) + htonl(y->v32[3]); \ 275 z->v32[3] = ntohl((uint32_t) tmp); \ 277 tmp = htonl(x->v32[2]) + htonl(y->v32[2]) \ 278 + htonl(tmp >> 32); \ 279 z->v32[2] = ntohl((uint32_t) tmp); \ 281 tmp = htonl(x->v32[1]) + htonl(y->v32[1]) \ 282 + htonl(tmp >> 32); \ 283 z->v32[1] = ntohl((uint32_t) tmp); \ 285 tmp = htonl(x->v32[0]) + htonl(y->v32[0]) \ 286 + htonl(tmp >> 32); \ 287 z->v32[0] = ntohl((uint32_t) tmp); \ 293 #ifdef DATATYPES_USE_MACROS 295 #define v128_set_to_zero(z) _v128_set_to_zero(z) 296 #define v128_copy(z, x) _v128_copy(z, x) 297 #define v128_xor(z, x, y) _v128_xor(z, x, y) 298 #define v128_and(z, x, y) _v128_and(z, x, y) 299 #define v128_or(z, x, y) _v128_or(z, x, y) 300 #define v128_complement(x) _v128_complement(x) 301 #define v128_is_eq(x, y) _v128_is_eq(x, y) 302 #define v128_xor_eq(x, y) _v128_xor_eq(x, y) 303 #define v128_get_bit(x, i) _v128_get_bit(x, i) 304 #define v128_set_bit(x, i) _v128_set_bit(x, i) 305 #define v128_clear_bit(x, i) _v128_clear_bit(x, i) 306 #define v128_set_bit_to(x, i, y) _v128_set_bit_to(x, i, y) 359 #if defined(HAVE_CONFIG_H) 364 #ifdef WORDS_BIGENDIAN 366 # define be32_to_cpu(x) (x) 367 # define be64_to_cpu(x) (x) 368 #elif defined(HAVE_BYTESWAP_H) 370 # include <byteswap.h> 371 # define be32_to_cpu(x) bswap_32((x)) 372 # define be64_to_cpu(x) bswap_64((x)) 375 #if defined(__GNUC__) && defined(HAVE_X86) 379 asm(
"bswap %0" :
"=r" (
v) :
"0" (v));
383 # ifdef HAVE_NETINET_IN_H 384 # include <netinet/in.h> 385 # elif defined HAVE_WINSOCK2_H 386 # include <winsock2.h> 388 # define be32_to_cpu(x) ntohl((x)) 392 # ifdef NO_64BIT_MATH 394 v = make64(htonl(low32(v)),htonl(high32(v)));
417 #define bits_per_word 32 418 #define bytes_per_word 4 426 #define _bitvector_get_bit(v, bit_index) \ 428 ((((v)->word[((bit_index) >> 5)]) >> ((bit_index) & 31)) & 1) \ 432 #define _bitvector_set_bit(v, bit_index) \ 434 (((v)->word[((bit_index) >> 5)] |= ((uint32_t)1 << ((bit_index) & 31)))) \ 437 #define _bitvector_clear_bit(v, bit_index) \ 439 (((v)->word[((bit_index) >> 5)] &= ~((uint32_t)1 << ((bit_index) & 31)))) \ 442 #define _bitvector_get_length(v) \ 447 #ifdef DATATYPES_USE_MACROS 449 #define bitvector_get_bit(v, bit_index) _bitvector_get_bit(v, bit_index) 450 #define bitvector_set_bit(v, bit_index) _bitvector_set_bit(v, bit_index) 451 #define bitvector_clear_bit(v, bit_index) _bitvector_clear_bit(v, bit_index) 452 #define bitvector_get_length(v) _bitvector_get_length(v) int bitvector_alloc(bitvector_t *v, unsigned long length)
Definition: datatypes.c:351
unsigned long long uint64_t
Definition: ptypes.h:120
uint16_t value
Definition: datatypes.h:74
#define bitvector_get_bit(v, bit_index)
Definition: datatypes.h:449
unsigned int uint32_t
Definition: ptypes.h:105
#define v128_is_eq(x, y)
Definition: datatypes.h:301
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: gl2ext.h:134
#define v128_copy(z, x)
Definition: datatypes.h:296
uint32_t length
Definition: datatypes.h:421
void v128_right_shift(v128_t *x, int shift_index)
Definition: datatypes.c:261
uint32_t * word
Definition: datatypes.h:422
Definition: datatypes.h:72
#define bitvector_clear_bit(v, bit_index)
Definition: datatypes.h:451
uint64_t value
Definition: datatypes.h:87
#define v128_complement(x)
Definition: datatypes.h:300
char * srtp_octet_string_hex_string(const void *str, int length)
Definition: datatypes.c:111
#define v128_or(z, x, y)
Definition: datatypes.h:299
Definition: datatypes.h:90
std::integral_constant< std::uint64_t, V > uint64_t
Definition: Brigand.h:445
#define bitvector_get_length(v)
Definition: datatypes.h:452
OPENSSL_EXPORT const ASN1_OBJECT int const unsigned char int len
Definition: x509.h:1053
EGLSurface EGLint x
Definition: eglext.h:950
#define v128_set_to_zero(z)
Definition: datatypes.h:295
GLuint index
Definition: gl2.h:383
Definition: datatypes.h:97
unsigned char uint8_t
Definition: ptypes.h:89
unsigned short uint16_t
Definition: ptypes.h:97
#define v128_set_bit(x, i)
Definition: datatypes.h:304
Definition: datatypes.h:83
Definition: datatypes.h:77
#define v128_xor(z, x, y)
Definition: datatypes.h:297
void v128_left_shift(v128_t *x, int shift_index)
Definition: datatypes.c:299
EGLSurface EGLint EGLint y
Definition: eglext.h:950
GLboolean GLboolean GLboolean GLboolean a
Definition: gl2ext.h:306
char * v128_bit_string(v128_t *x)
Definition: datatypes.c:144
const GLfloat * v
Definition: gl2.h:514
#define v128_get_bit(x, i)
Definition: datatypes.h:303
char * v128_hex_string(v128_t *x)
Definition: datatypes.c:131
void v128_copy_octet_string(v128_t *x, const uint8_t s[16])
Definition: datatypes.c:163
str
Definition: make-dist.py:305
for i
Definition: complexityMeasures.m:24
uint32_t value
Definition: datatypes.h:80
GLfloat GLfloat GLfloat z
Definition: gl2.h:517
int octet_string_is_eq(uint8_t *a, uint8_t *b, int len)
Definition: datatypes.c:444
#define v128_clear_bit(x, i)
Definition: datatypes.h:305
#define v128_set_bit_to(x, i, y)
Definition: datatypes.h:306
GLboolean GLboolean GLboolean b
Definition: gl2ext.h:306
void bitvector_left_shift(bitvector_t *x, int index)
Definition: datatypes.c:416
int octet_get_weight(uint8_t octet)
Definition: datatypes.c:89
char * bitvector_bit_string(bitvector_t *x, char *buf, int len)
Definition: datatypes.c:395
#define v128_and(z, x, y)
Definition: datatypes.h:298
void bitvector_dealloc(bitvector_t *v)
Definition: datatypes.c:380
GLuint GLsizei GLsizei * length
Definition: gl2.h:435
#define bitvector_set_bit(v, bit_index)
Definition: datatypes.h:450
void bitvector_set_to_zero(bitvector_t *x)
Definition: datatypes.c:388
Definition: datatypes.h:420
void octet_string_set_to_zero(uint8_t *s, int len)
Definition: datatypes.c:461