Rizin
unix-like reverse engineering framework and cli tools
|
#include <stddef.h>
Go to the source code of this file.
Classes | |
struct | XXH32_canonical_t |
struct | XXH64_canonical_t |
Macros | |
#define | XXH_PUBLIC_API /* do nothing */ |
#define | XXH_VERSION_MAJOR 0 |
#define | XXH_VERSION_MINOR 6 |
#define | XXH_VERSION_RELEASE 5 |
#define | XXH_VERSION_NUMBER (XXH_VERSION_MAJOR *100*100 + XXH_VERSION_MINOR *100 + XXH_VERSION_RELEASE) |
Typedefs | |
typedef unsigned int | XXH32_hash_t |
typedef struct XXH32_state_s | XXH32_state_t |
typedef unsigned long long | XXH64_hash_t |
typedef struct XXH64_state_s | XXH64_state_t |
Enumerations | |
enum | XXH_errorcode { XXH_OK =0 , XXH_ERROR , XXH_OK =0 , XXH_ERROR } |
#define XXH_PUBLIC_API /* do nothing */ |
XXH_INLINE_ALL (and XXH_PRIVATE_API) This is useful to include xxhash functions in static
mode in order to inline them, and remove their symbol from the public list. Inlining can offer dramatic performance improvement on small keys. Methodology : #define XXH_INLINE_ALL #include "xxhash.h" xxhash.c
is automatically included. It's not useful to compile and link it as a separate module.
#define XXH_VERSION_MAJOR 0 |
XXH_NAMESPACE, aka Namespace Emulation :
If you want to include and expose xxHash functions from within your own library, but also want to avoid symbol collisions with other libraries which may also include xxHash,
you can use XXH_NAMESPACE, to automatically prefix any public symbol from xxhash library with the value of XXH_NAMESPACE (therefore, avoid NULL and numeric values).
Note that no change is required within the calling program as long as it includes xxhash.h
: regular symbol name will be automatically translated by this header.
#define XXH_VERSION_NUMBER (XXH_VERSION_MAJOR *100*100 + XXH_VERSION_MINOR *100 + XXH_VERSION_RELEASE) |
typedef unsigned int XXH32_hash_t |
typedef struct XXH32_state_s XXH32_state_t |
typedef struct XXH64_state_s XXH64_state_t |
enum XXH_errorcode |
XXH_PUBLIC_API XXH32_hash_t XXH32 | ( | const void * | input, |
size_t | length, | ||
unsigned int | seed | ||
) |
XXH32() : Calculate the 32-bit hash of sequence "length" bytes stored at memory address "input". The memory between input & input+length must be valid (allocated and read-accessible). "seed" can be used to alter the result predictably. Speed on Core 2 Duo @ 3 GHz (single thread, SMHasher benchmark) : 5.4 GB/s
Definition at line 392 of file xxhash.c.
XXH_PUBLIC_API void XXH32_canonicalFromHash | ( | XXH32_canonical_t * | dst, |
XXH32_hash_t | hash | ||
) |
Default XXH result types are basic unsigned 32 and 64 bits. The canonical representation follows human-readable write convention, aka big-endian (large digits first). These functions allow transformation of hash result into and from its canonical format. This way, hash values can be written into a file or buffer, remaining comparable across different systems.
Definition at line 565 of file xxhash.c.
XXH_PUBLIC_API void XXH32_copyState | ( | XXH32_state_t * | dst_state, |
const XXH32_state_t * | src_state | ||
) |
XXH_PUBLIC_API XXH32_state_t* XXH32_createState | ( | void | ) |
XXH_PUBLIC_API XXH32_hash_t XXH32_digest | ( | const XXH32_state_t * | statePtr | ) |
Definition at line 546 of file xxhash.c.
XXH_PUBLIC_API XXH_errorcode XXH32_freeState | ( | XXH32_state_t * | statePtr | ) |
XXH_PUBLIC_API XXH32_hash_t XXH32_hashFromCanonical | ( | const XXH32_canonical_t * | src | ) |
XXH_PUBLIC_API XXH_errorcode XXH32_reset | ( | XXH32_state_t * | statePtr, |
unsigned int | seed | ||
) |
Definition at line 437 of file xxhash.c.
XXH_PUBLIC_API XXH_errorcode XXH32_update | ( | XXH32_state_t * | statePtr, |
const void * | input, | ||
size_t | length | ||
) |
Definition at line 515 of file xxhash.c.
XXH_PUBLIC_API XXH64_hash_t XXH64 | ( | const void * | input, |
size_t | length, | ||
unsigned long long | seed | ||
) |
XXH64() : Calculate the 64-bit hash of sequence of length "len" stored at memory address "input". "seed" can be used to alter the result predictably. This function runs faster on 64-bit systems, but slower on 32-bit systems (see benchmark).
Definition at line 855 of file xxhash.c.
XXH_PUBLIC_API void XXH64_canonicalFromHash | ( | XXH64_canonical_t * | dst, |
XXH64_hash_t | hash | ||
) |
Definition at line 1018 of file xxhash.c.
XXH_PUBLIC_API void XXH64_copyState | ( | XXH64_state_t * | dst_state, |
const XXH64_state_t * | src_state | ||
) |
XXH_PUBLIC_API XXH64_state_t* XXH64_createState | ( | void | ) |
XXH_PUBLIC_API XXH64_hash_t XXH64_digest | ( | const XXH64_state_t * | statePtr | ) |
Definition at line 1005 of file xxhash.c.
XXH_PUBLIC_API XXH_errorcode XXH64_freeState | ( | XXH64_state_t * | statePtr | ) |
XXH_PUBLIC_API XXH64_hash_t XXH64_hashFromCanonical | ( | const XXH64_canonical_t * | src | ) |
XXH_PUBLIC_API XXH_errorcode XXH64_reset | ( | XXH64_state_t * | statePtr, |
unsigned long long | seed | ||
) |
Definition at line 898 of file xxhash.c.
XXH_PUBLIC_API XXH_errorcode XXH64_update | ( | XXH64_state_t * | statePtr, |
const void * | input, | ||
size_t | length | ||
) |
Definition at line 971 of file xxhash.c.
XXH_PUBLIC_API unsigned XXH_versionNumber | ( | void | ) |