Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
Loading...
Searching...
No Matches
xxhash.h File Reference
#include <stddef.h>
#include <limits.h>

Go to the source code of this file.

Data Structures

struct  XXH32_canonical_t
 Canonical (big endian) representation of XXH32_hash_t. More...
 
struct  XXH64_canonical_t
 Canonical (big endian) representation of XXH64_hash_t. More...
 

Macros

#define XXH_NAMESPACE   ZSTD_
 
#define XXHASH_H_5627135585666179   1
 
#define XXH_PUBLIC_API   /* do nothing */
 Marks a global symbol.
 
#define XXH_CAT(A, B)
 
#define XXH_NAME2(A, B)
 
#define XXH_versionNumber
 
#define XXH32   XXH_NAME2(XXH_NAMESPACE, XXH32)
 
#define XXH32_createState
 
#define XXH32_freeState   XXH_NAME2(XXH_NAMESPACE, XXH32_freeState)
 
#define XXH32_reset   XXH_NAME2(XXH_NAMESPACE, XXH32_reset)
 
#define XXH32_update   XXH_NAME2(XXH_NAMESPACE, XXH32_update)
 
#define XXH32_digest   XXH_NAME2(XXH_NAMESPACE, XXH32_digest)
 
#define XXH32_copyState   XXH_NAME2(XXH_NAMESPACE, XXH32_copyState)
 
#define XXH32_canonicalFromHash   XXH_NAME2(XXH_NAMESPACE, XXH32_canonicalFromHash)
 
#define XXH32_hashFromCanonical   XXH_NAME2(XXH_NAMESPACE, XXH32_hashFromCanonical)
 
#define XXH64   XXH_NAME2(XXH_NAMESPACE, XXH64)
 
#define XXH64_createState
 
#define XXH64_freeState   XXH_NAME2(XXH_NAMESPACE, XXH64_freeState)
 
#define XXH64_reset   XXH_NAME2(XXH_NAMESPACE, XXH64_reset)
 
#define XXH64_update   XXH_NAME2(XXH_NAMESPACE, XXH64_update)
 
#define XXH64_digest   XXH_NAME2(XXH_NAMESPACE, XXH64_digest)
 
#define XXH64_copyState   XXH_NAME2(XXH_NAMESPACE, XXH64_copyState)
 
#define XXH64_canonicalFromHash   XXH_NAME2(XXH_NAMESPACE, XXH64_canonicalFromHash)
 
#define XXH64_hashFromCanonical   XXH_NAME2(XXH_NAMESPACE, XXH64_hashFromCanonical)
 
#define XXH3_64bits   XXH_NAME2(XXH_NAMESPACE, XXH3_64bits)
 
#define XXH3_64bits_withSecret   XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_withSecret)
 
#define XXH3_64bits_withSeed   XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_withSeed)
 
#define XXH3_64bits_withSecretandSeed   XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_withSecretandSeed)
 
#define XXH3_createState   XXH_NAME2(XXH_NAMESPACE, XXH3_createState)
 
#define XXH3_freeState   XXH_NAME2(XXH_NAMESPACE, XXH3_freeState)
 
#define XXH3_copyState   XXH_NAME2(XXH_NAMESPACE, XXH3_copyState)
 
#define XXH3_64bits_reset   XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_reset)
 
#define XXH3_64bits_reset_withSeed   XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_reset_withSeed)
 
#define XXH3_64bits_reset_withSecret   XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_reset_withSecret)
 
#define XXH3_64bits_reset_withSecretandSeed   XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_reset_withSecretandSeed)
 
#define XXH3_64bits_update   XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_update)
 
#define XXH3_64bits_digest   XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_digest)
 
#define XXH3_generateSecret   XXH_NAME2(XXH_NAMESPACE, XXH3_generateSecret)
 
#define XXH3_generateSecret_fromSeed   XXH_NAME2(XXH_NAMESPACE, XXH3_generateSecret_fromSeed)
 
#define XXH128   XXH_NAME2(XXH_NAMESPACE, XXH128)
 
#define XXH3_128bits   XXH_NAME2(XXH_NAMESPACE, XXH3_128bits)
 
#define XXH3_128bits_withSeed   XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_withSeed)
 
#define XXH3_128bits_withSecret   XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_withSecret)
 
#define XXH3_128bits_withSecretandSeed   XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_withSecretandSeed)
 
#define XXH3_128bits_reset   XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_reset)
 
#define XXH3_128bits_reset_withSeed   XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_reset_withSeed)
 
#define XXH3_128bits_reset_withSecret   XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_reset_withSecret)
 
#define XXH3_128bits_reset_withSecretandSeed   XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_reset_withSecretandSeed)
 
#define XXH3_128bits_update   XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_update)
 
#define XXH3_128bits_digest   XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_digest)
 
#define XXH128_isEqual   XXH_NAME2(XXH_NAMESPACE, XXH128_isEqual)
 
#define XXH128_cmp   XXH_NAME2(XXH_NAMESPACE, XXH128_cmp)
 
#define XXH128_canonicalFromHash   XXH_NAME2(XXH_NAMESPACE, XXH128_canonicalFromHash)
 
#define XXH128_hashFromCanonical   XXH_NAME2(XXH_NAMESPACE, XXH128_hashFromCanonical)
 
#define XXH_VERSION_MAJOR   0
 
#define XXH_VERSION_MINOR   8
 
#define XXH_VERSION_RELEASE   1
 
#define XXH_VERSION_NUMBER   (XXH_VERSION_MAJOR *100*100 + XXH_VERSION_MINOR *100 + XXH_VERSION_RELEASE)
 Version number, encoded as two digits each.
 
#define XXH_HAS_ATTRIBUTE(x)
 
#define XXH_HAS_C_ATTRIBUTE(x)
 
#define XXH_HAS_CPP_ATTRIBUTE(x)
 
#define XXH_FALLTHROUGH
 
#define XXH_versionNumber(void)
 Obtains the xxHash version.
 
#define XXH32_createState(void)
 Allocates an XXH32_state_t.
 
#define XXH64_createState
 

Typedefs

typedef struct XXH32_state_s XXH32_state_t
 
typedef struct XXH64_state_s XXH64_state_t
 The opaque state struct for the XXH64 streaming API.
 
typedef unsigned long long XXH64_hash_t
 

Enumerations

enum  XXH_errorcode { XXH_OK =0 , XXH_ERROR }
 

Functions

XXH_PUBLIC_API XXH32_hash_t XXH32 (const void *input, size_t length, XXH32_hash_t seed)
 Calculates the 32-bit hash of input using xxHash32.
 
XXH_PUBLIC_API XXH_errorcode XXH32_freeState (XXH32_state_t *statePtr)
 Frees an XXH32_state_t.
 
XXH_PUBLIC_API void XXH32_copyState (XXH32_state_t *dst_state, const XXH32_state_t *src_state)
 Copies one XXH32_state_t to another.
 
XXH_PUBLIC_API XXH_errorcode XXH32_reset (XXH32_state_t *statePtr, XXH32_hash_t seed)
 Resets an XXH32_state_t to begin a new hash.
 
XXH_PUBLIC_API XXH_errorcode XXH32_update (XXH32_state_t *statePtr, const void *input, size_t length)
 Consumes a block of input to an XXH32_state_t.
 
XXH_PUBLIC_API XXH32_hash_t XXH32_digest (const XXH32_state_t *statePtr)
 Returns the calculated hash value from an XXH32_state_t.
 
XXH_PUBLIC_API void XXH32_canonicalFromHash (XXH32_canonical_t *dst, XXH32_hash_t hash)
 Converts an XXH32_hash_t to a big endian XXH32_canonical_t.
 
XXH_PUBLIC_API XXH32_hash_t XXH32_hashFromCanonical (const XXH32_canonical_t *src)
 Converts an XXH32_canonical_t to a native XXH32_hash_t.
 
XXH_PUBLIC_API XXH64_hash_t XXH64 (const void *input, size_t length, XXH64_hash_t seed)
 Calculates the 64-bit hash of input using xxHash64.
 
XXH_PUBLIC_API XXH_errorcode XXH64_freeState (XXH64_state_t *statePtr)
 
XXH_PUBLIC_API void XXH64_copyState (XXH64_state_t *dst_state, const XXH64_state_t *src_state)
 
XXH_PUBLIC_API XXH_errorcode XXH64_reset (XXH64_state_t *statePtr, XXH64_hash_t seed)
 
XXH_PUBLIC_API XXH_errorcode XXH64_update (XXH64_state_t *statePtr, const void *input, size_t length)
 
XXH_PUBLIC_API XXH64_hash_t XXH64_digest (const XXH64_state_t *statePtr)
 
XXH_PUBLIC_API void XXH64_canonicalFromHash (XXH64_canonical_t *dst, XXH64_hash_t hash)
 
XXH_PUBLIC_API XXH64_hash_t XXH64_hashFromCanonical (const XXH64_canonical_t *src)
 

Detailed Description

xxHash prototypes and implementation

Macro Definition Documentation

◆ XXH_NAMESPACE

#define XXH_NAMESPACE   ZSTD_

◆ XXHASH_H_5627135585666179

#define XXHASH_H_5627135585666179   1

XXH_INLINE_ALL (and XXH_PRIVATE_API) Use these build macros to inline xxhash into the target unit. Inlining improves performance on small inputs, especially when the length is expressed as a compile-time constant:

 https://fastcompression.blogspot.com/2018/03/xxhash-for-small-keys-impressive-power.html

It also keeps xxHash symbols private to the unit, so they are not exported.

Usage: #define XXH_INLINE_ALL #include "xxhash.h"

Do not compile and link xxhash.o as a separate object, as it is not useful.