Ruby  2.0.0p648(2015-12-16revision53162)
Data Structures | Macros | Typedefs | Functions
siphash.h File Reference
#include <stdlib.h>

Go to the source code of this file.

Data Structures

struct  sip_uint64_t
 
struct  sip_state
 
struct  sip_hash
 

Macros

#define uint64_t   sip_uint64_t
 

Typedefs

typedef struct sip_interface_st sip_interface
 

Functions

sip_hashsip_hash_new (const uint8_t key[16], int c, int d)
 
sip_hashsip_hash_init (sip_hash *h, const uint8_t key[16], int c, int d)
 
int sip_hash_update (sip_hash *h, const uint8_t *data, size_t len)
 
int sip_hash_final (sip_hash *h, uint8_t **digest, size_t *len)
 
int sip_hash_final_integer (sip_hash *h, uint64_t *digest)
 
int sip_hash_digest (sip_hash *h, const uint8_t *data, size_t data_len, uint8_t **digest, size_t *digest_len)
 
int sip_hash_digest_integer (sip_hash *h, const uint8_t *data, size_t data_len, uint64_t *digest)
 
void sip_hash_free (sip_hash *h)
 
void sip_hash_dump (sip_hash *h)
 
uint64_t sip_hash24 (const uint8_t key[16], const uint8_t *data, size_t len)
 

Macro Definition Documentation

#define uint64_t   sip_uint64_t

Definition at line 15 of file siphash.h.

Typedef Documentation

Definition at line 29 of file siphash.h.

Function Documentation

uint64_t sip_hash24 ( const uint8_t  key[16],
const uint8_t data,
size_t  len 
)

Definition at line 397 of file siphash.c.

References last, OR_BYTE, SIP_2_ROUND, SIP_COMPRESS, sip_init_state, U8TO64_LE, XOR64_INT, and XOR64_TO.

int sip_hash_digest ( sip_hash h,
const uint8_t data,
size_t  data_len,
uint8_t **  digest,
size_t *  digest_len 
)

Definition at line 362 of file siphash.c.

References sip_hash_final(), and sip_hash_update().

int sip_hash_digest_integer ( sip_hash h,
const uint8_t data,
size_t  data_len,
uint64_t digest 
)

Definition at line 369 of file siphash.c.

References sip_hash_final_integer(), and sip_hash_update().

void sip_hash_dump ( sip_hash h)

Definition at line 382 of file siphash.c.

References int_sip_dump(), and sip_hash::state.

int sip_hash_final ( sip_hash h,
uint8_t **  digest,
size_t *  len 
)

Definition at line 340 of file siphash.c.

References sip_interface_st::final, malloc, sip_hash::methods, sip_hash::state, and U64TO8_LE.

Referenced by sip_hash_digest().

int sip_hash_final_integer ( sip_hash h,
uint64_t digest 
)

Definition at line 355 of file siphash.c.

References sip_interface_st::final, sip_hash::methods, and sip_hash::state.

Referenced by sip_hash_digest_integer().

void sip_hash_free ( sip_hash h)

Definition at line 376 of file siphash.c.

References free().

sip_hash* sip_hash_init ( sip_hash h,
const uint8_t  key[16],
int  c,
int  d 
)
sip_hash* sip_hash_new ( const uint8_t  key[16],
int  c,
int  d 
)

Definition at line 312 of file siphash.c.

References malloc, NULL, and sip_hash_init().

int sip_hash_update ( sip_hash h,
const uint8_t data,
size_t  len 
)

Definition at line 333 of file siphash.c.

References sip_hash::methods, sip_hash::state, and sip_interface_st::update.

Referenced by sip_hash_digest(), and sip_hash_digest_integer().