netatalk  4.4.0
Free and Open Source Apple Filing Protocol (AFP) Server
Loading...
Searching...
No Matches
hnode_t Struct Reference

Hash chain node structure. More...

#include <hash.h>

Data Fields

struct hnode_thash_next
const void * hash_key
void * hash_data
hash_val_t hash_hkey

Detailed Description

Hash chain node structure.

Notes:

  1. This preprocessing directive is for debugging purposes. The effect is that if the preprocessor symbol KAZLIB_OPAQUE_DEBUG is defined prior to the inclusion of this header, then the structure shall be declared as having the single member int OPAQUE. This way, any attempts by the client code to violate the principles of information hiding (by accessing the structure directly) can be diagnosed at translation time. However, note the resulting compiled unit is not suitable for linking.
  2. This is a pointer to the next node in the chain. In the last node of a chain, this pointer is null.
  3. The key is a pointer to some user supplied data that contains a unique identifier for each hash node in a given table. The interpretation of the data is up to the user. When creating or initializing a hash table, the user must supply a pointer to a function for comparing two keys, and a pointer to a function for hashing a key into a numeric value.
  4. The value is a user-supplied pointer to void which may refer to any data object. It is not interpreted in any way by the hashing module.
  5. The hashed key is stored in each node so that we don't have to rehash each key when the table must grow or shrink.

Field Documentation

◆ hash_data

void* hnode_t::hash_data

◆ hash_hkey

hash_val_t hnode_t::hash_hkey

◆ hash_key

const void* hnode_t::hash_key

◆ hash_next

struct hnode_t* hnode_t::hash_next

The documentation for this struct was generated from the following file: