webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Classes | Macros | Functions
datatypes.h File Reference
#include "integers.h"
#include "alloc.h"
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
#include <time.h>

Go to the source code of this file.

Classes

union  v16_t
 
union  v32_t
 
union  v64_t
 
union  v128_t
 
union  v256_t
 
struct  bitvector_t
 

Macros

#define DATATYPES_USE_MACROS
 
#define pow_2(X)   ( (unsigned int)1 << (X) ) /* 2^X */
 
#define pow_minus_one(X)   ( (X) ? -1 : 1 ) /* (-1)^X */
 
#define MAX_PRINT_STRING_LEN   1024
 
#define _v128_set_to_zero(x)
 
#define _v128_copy(x, y)
 
#define _v128_xor(z, x, y)
 
#define _v128_and(z, x, y)
 
#define _v128_or(z, x, y)
 
#define _v128_complement(x)
 
#define _v128_is_eq(x, y)   (((x)->v64[0] == (y)->v64[0]) && ((x)->v64[1] == (y)->v64[1]))
 
#define _v128_xor_eq(z, x)
 
#define _v128_get_bit(x, bit)
 
#define _v128_set_bit(x, bit)
 
#define _v128_clear_bit(x, bit)
 
#define _v128_set_bit_to(x, bit, value)
 
#define v128_set_to_zero(z)   _v128_set_to_zero(z)
 
#define v128_copy(z, x)   _v128_copy(z, x)
 
#define v128_xor(z, x, y)   _v128_xor(z, x, y)
 
#define v128_and(z, x, y)   _v128_and(z, x, y)
 
#define v128_or(z, x, y)   _v128_or(z, x, y)
 
#define v128_complement(x)   _v128_complement(x)
 
#define v128_is_eq(x, y)   _v128_is_eq(x, y)
 
#define v128_xor_eq(x, y)   _v128_xor_eq(x, y)
 
#define v128_get_bit(x, i)   _v128_get_bit(x, i)
 
#define v128_set_bit(x, i)   _v128_set_bit(x, i)
 
#define v128_clear_bit(x, i)   _v128_clear_bit(x, i)
 
#define v128_set_bit_to(x, i, y)   _v128_set_bit_to(x, i, y)
 
#define bits_per_word   32
 
#define bytes_per_word   4
 
#define _bitvector_get_bit(v, bit_index)
 
#define _bitvector_set_bit(v, bit_index)
 
#define _bitvector_clear_bit(v, bit_index)
 
#define _bitvector_get_length(v)
 
#define bitvector_get_bit(v, bit_index)   _bitvector_get_bit(v, bit_index)
 
#define bitvector_set_bit(v, bit_index)   _bitvector_set_bit(v, bit_index)
 
#define bitvector_clear_bit(v, bit_index)   _bitvector_clear_bit(v, bit_index)
 
#define bitvector_get_length(v)   _bitvector_get_length(v)
 

Functions

int octet_get_weight (uint8_t octet)
 
char * srtp_octet_string_hex_string (const void *str, int length)
 
char * v128_bit_string (v128_t *x)
 
char * v128_hex_string (v128_t *x)
 
void v128_copy_octet_string (v128_t *x, const uint8_t s[16])
 
void v128_left_shift (v128_t *x, int shift_index)
 
void v128_right_shift (v128_t *x, int shift_index)
 
int octet_string_is_eq (uint8_t *a, uint8_t *b, int len)
 
void octet_string_set_to_zero (uint8_t *s, int len)
 
int bitvector_alloc (bitvector_t *v, unsigned long length)
 
void bitvector_dealloc (bitvector_t *v)
 
void bitvector_set_to_zero (bitvector_t *x)
 
void bitvector_left_shift (bitvector_t *x, int index)
 
char * bitvector_bit_string (bitvector_t *x, char *buf, int len)
 

Macro Definition Documentation

◆ _bitvector_clear_bit

#define _bitvector_clear_bit (   v,
  bit_index 
)
Value:
( \
(((v)->word[((bit_index) >> 5)] &= ~((uint32_t)1 << ((bit_index) & 31)))) \
)
unsigned int uint32_t
Definition: ptypes.h:105
const GLfloat * v
Definition: gl2.h:514

◆ _bitvector_get_bit

#define _bitvector_get_bit (   v,
  bit_index 
)
Value:
( \
((((v)->word[((bit_index) >> 5)]) >> ((bit_index) & 31)) & 1) \
)
const GLfloat * v
Definition: gl2.h:514

◆ _bitvector_get_length

#define _bitvector_get_length (   v)
Value:
( \
((v)->length) \
)
const GLfloat * v
Definition: gl2.h:514
GLuint GLsizei GLsizei * length
Definition: gl2.h:435

◆ _bitvector_set_bit

#define _bitvector_set_bit (   v,
  bit_index 
)
Value:
( \
(((v)->word[((bit_index) >> 5)] |= ((uint32_t)1 << ((bit_index) & 31)))) \
)
unsigned int uint32_t
Definition: ptypes.h:105
const GLfloat * v
Definition: gl2.h:514

◆ _v128_and

#define _v128_and (   z,
  x,
  y 
)
Value:
( \
(z)->v32[0] = (x)->v32[0] & (y)->v32[0], \
(z)->v32[1] = (x)->v32[1] & (y)->v32[1], \
(z)->v32[2] = (x)->v32[2] & (y)->v32[2], \
(z)->v32[3] = (x)->v32[3] & (y)->v32[3] \
)
EGLSurface EGLint x
Definition: eglext.h:950
EGLSurface EGLint EGLint y
Definition: eglext.h:950
GLfloat GLfloat GLfloat z
Definition: gl2.h:517

◆ _v128_clear_bit

#define _v128_clear_bit (   x,
  bit 
)
Value:
( \
(((x)->v32[(bit) >> 5]) &= ~((uint32_t)1 << ((bit) & 31))) \
)
unsigned int uint32_t
Definition: ptypes.h:105
int bit
Definition: reserved-bits_wsh.py:6
EGLSurface EGLint x
Definition: eglext.h:950

◆ _v128_complement

#define _v128_complement (   x)
Value:
( \
(x)->v32[0] = ~(x)->v32[0], \
(x)->v32[1] = ~(x)->v32[1], \
(x)->v32[2] = ~(x)->v32[2], \
(x)->v32[3] = ~(x)->v32[3] \
)
EGLSurface EGLint x
Definition: eglext.h:950

◆ _v128_copy

#define _v128_copy (   x,
  y 
)
Value:
( \
(x)->v32[0] = (y)->v32[0], \
(x)->v32[1] = (y)->v32[1], \
(x)->v32[2] = (y)->v32[2], \
(x)->v32[3] = (y)->v32[3] \
)
EGLSurface EGLint x
Definition: eglext.h:950
EGLSurface EGLint EGLint y
Definition: eglext.h:950

◆ _v128_get_bit

#define _v128_get_bit (   x,
  bit 
)
Value:
( \
((((x)->v32[(bit) >> 5]) >> ((bit) & 31)) & 1) \
)
int bit
Definition: reserved-bits_wsh.py:6
EGLSurface EGLint x
Definition: eglext.h:950

◆ _v128_is_eq

#define _v128_is_eq (   x,
  y 
)    (((x)->v64[0] == (y)->v64[0]) && ((x)->v64[1] == (y)->v64[1]))

◆ _v128_or

#define _v128_or (   z,
  x,
  y 
)
Value:
( \
(z)->v32[0] = (x)->v32[0] | (y)->v32[0], \
(z)->v32[1] = (x)->v32[1] | (y)->v32[1], \
(z)->v32[2] = (x)->v32[2] | (y)->v32[2], \
(z)->v32[3] = (x)->v32[3] | (y)->v32[3] \
)
EGLSurface EGLint x
Definition: eglext.h:950
EGLSurface EGLint EGLint y
Definition: eglext.h:950
GLfloat GLfloat GLfloat z
Definition: gl2.h:517

◆ _v128_set_bit

#define _v128_set_bit (   x,
  bit 
)
Value:
( \
(((x)->v32[(bit) >> 5]) |= ((uint32_t)1 << ((bit) & 31))) \
)
unsigned int uint32_t
Definition: ptypes.h:105
int bit
Definition: reserved-bits_wsh.py:6
EGLSurface EGLint x
Definition: eglext.h:950

◆ _v128_set_bit_to

#define _v128_set_bit_to (   x,
  bit,
  value 
)
Value:
( \
_v128_clear_bit(x, bit) \
)
int bit
Definition: reserved-bits_wsh.py:6
EGLSurface EGLint x
Definition: eglext.h:950
EGLAttrib * value
Definition: eglext.h:120
#define _v128_set_bit(x, bit)
Definition: datatypes.h:232

◆ _v128_set_to_zero

#define _v128_set_to_zero (   x)
Value:
( \
(x)->v32[0] = 0, \
(x)->v32[1] = 0, \
(x)->v32[2] = 0, \
(x)->v32[3] = 0 \
)
EGLSurface EGLint x
Definition: eglext.h:950

◆ _v128_xor

#define _v128_xor (   z,
  x,
  y 
)
Value:
( \
(z)->v32[0] = (x)->v32[0] ^ (y)->v32[0], \
(z)->v32[1] = (x)->v32[1] ^ (y)->v32[1], \
(z)->v32[2] = (x)->v32[2] ^ (y)->v32[2], \
(z)->v32[3] = (x)->v32[3] ^ (y)->v32[3] \
)
EGLSurface EGLint x
Definition: eglext.h:950
EGLSurface EGLint EGLint y
Definition: eglext.h:950
GLfloat GLfloat GLfloat z
Definition: gl2.h:517

◆ _v128_xor_eq

#define _v128_xor_eq (   z,
  x 
)
Value:
( \
(z)->v32[0] ^= (x)->v32[0], \
(z)->v32[1] ^= (x)->v32[1], \
(z)->v32[2] ^= (x)->v32[2], \
(z)->v32[3] ^= (x)->v32[3] \
)
EGLSurface EGLint x
Definition: eglext.h:950
GLfloat GLfloat GLfloat z
Definition: gl2.h:517

◆ bits_per_word

#define bits_per_word   32

◆ bitvector_clear_bit

#define bitvector_clear_bit (   v,
  bit_index 
)    _bitvector_clear_bit(v, bit_index)

◆ bitvector_get_bit

#define bitvector_get_bit (   v,
  bit_index 
)    _bitvector_get_bit(v, bit_index)

◆ bitvector_get_length

#define bitvector_get_length (   v)    _bitvector_get_length(v)

◆ bitvector_set_bit

#define bitvector_set_bit (   v,
  bit_index 
)    _bitvector_set_bit(v, bit_index)

◆ bytes_per_word

#define bytes_per_word   4

◆ DATATYPES_USE_MACROS

#define DATATYPES_USE_MACROS

◆ MAX_PRINT_STRING_LEN

#define MAX_PRINT_STRING_LEN   1024

◆ pow_2

#define pow_2 (   X)    ( (unsigned int)1 << (X) ) /* 2^X */

◆ pow_minus_one

#define pow_minus_one (   X)    ( (X) ? -1 : 1 ) /* (-1)^X */

◆ v128_and

#define v128_and (   z,
  x,
  y 
)    _v128_and(z, x, y)

◆ v128_clear_bit

#define v128_clear_bit (   x,
  i 
)    _v128_clear_bit(x, i)

◆ v128_complement

#define v128_complement (   x)    _v128_complement(x)

◆ v128_copy

#define v128_copy (   z,
  x 
)    _v128_copy(z, x)

◆ v128_get_bit

#define v128_get_bit (   x,
  i 
)    _v128_get_bit(x, i)

◆ v128_is_eq

#define v128_is_eq (   x,
  y 
)    _v128_is_eq(x, y)

◆ v128_or

#define v128_or (   z,
  x,
  y 
)    _v128_or(z, x, y)

◆ v128_set_bit

#define v128_set_bit (   x,
  i 
)    _v128_set_bit(x, i)

◆ v128_set_bit_to

#define v128_set_bit_to (   x,
  i,
  y 
)    _v128_set_bit_to(x, i, y)

◆ v128_set_to_zero

#define v128_set_to_zero (   z)    _v128_set_to_zero(z)

◆ v128_xor

#define v128_xor (   z,
  x,
  y 
)    _v128_xor(z, x, y)

◆ v128_xor_eq

#define v128_xor_eq (   x,
  y 
)    _v128_xor_eq(x, y)

Function Documentation

◆ bitvector_alloc()

int bitvector_alloc ( bitvector_t v,
unsigned long  length 
)

◆ bitvector_bit_string()

char* bitvector_bit_string ( bitvector_t x,
char *  buf,
int  len 
)

◆ bitvector_dealloc()

void bitvector_dealloc ( bitvector_t v)

◆ bitvector_left_shift()

void bitvector_left_shift ( bitvector_t x,
int  index 
)

◆ bitvector_set_to_zero()

void bitvector_set_to_zero ( bitvector_t x)

◆ octet_get_weight()

int octet_get_weight ( uint8_t  octet)

◆ octet_string_is_eq()

int octet_string_is_eq ( uint8_t a,
uint8_t b,
int  len 
)

◆ octet_string_set_to_zero()

void octet_string_set_to_zero ( uint8_t s,
int  len 
)

◆ srtp_octet_string_hex_string()

char* srtp_octet_string_hex_string ( const void str,
int  length 
)

◆ v128_bit_string()

char* v128_bit_string ( v128_t x)

◆ v128_copy_octet_string()

void v128_copy_octet_string ( v128_t x,
const uint8_t  s[16] 
)

◆ v128_hex_string()

char* v128_hex_string ( v128_t x)

◆ v128_left_shift()

void v128_left_shift ( v128_t x,
int  shift_index 
)

◆ v128_right_shift()

void v128_right_shift ( v128_t x,
int  shift_index 
)