ROHC compression/decompression library
Macros | Functions
csiphash.c File Reference
#include <stdint.h>
#include <assert.h>
#include <endian.h>
Include dependency graph for csiphash.c:

Macros

#define _le64toh(x)   le64toh(x)
 
#define ROTATE(x, b)   (uint64_t)( ((x) << (b)) | ( (x) >> (64 - (b))) )
 
#define HALF_ROUND(a, b, c, d, s, t)
 
#define DOUBLE_ROUND(v0, v1, v2, v3)
 

Functions

uint64_t siphash24 (const void *src, unsigned long src_sz, const char key[16])
 

Macro Definition Documentation

◆ _le64toh

#define _le64toh (   x)    le64toh(x)

◆ DOUBLE_ROUND

#define DOUBLE_ROUND (   v0,
  v1,
  v2,
  v3 
)
Value:
HALF_ROUND(v0,v1,v2,v3,13,16); \
HALF_ROUND(v2,v1,v0,v3,17,21); \
HALF_ROUND(v0,v1,v2,v3,13,16); \
HALF_ROUND(v2,v1,v0,v3,17,21);
#define HALF_ROUND(a, b, c, d, s, t)
Definition: csiphash.c:65

◆ HALF_ROUND

#define HALF_ROUND (   a,
  b,
  c,
  d,
  s,
 
)
Value:
a += b; c += d; \
b = ROTATE(b, s) ^ a; \
d = ROTATE(d, t) ^ c; \
a = ROTATE(a, 32);
#define ROTATE(x, b)
Definition: csiphash.c:63

◆ ROTATE

#define ROTATE (   x,
 
)    (uint64_t)( ((x) << (b)) | ( (x) >> (64 - (b))) )

Function Documentation

◆ siphash24()

uint64_t siphash24 ( const void *  src,
unsigned long  src_sz,
const char  key[16] 
)