---
name: "globus_hashtable.h"
section: "3"
platform: "linux"
package: "libglobus-common-doc"
version: "18.14-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/globus_hashtable.h"
---

# globus\_hashtable.h(3)

Hash Table.

## NAME

globus\_hashtable.h - Hash Table.

## SYNOPSIS

`#include 'globus_types.h'`\
 `#include 'globus_list.h'`\

### Typedefs

typedef int(\* **globus\_hashtable\_hash\_func\_t**) (void \*key, int limit)\
 typedef int(\* **globus\_hashtable\_keyeq\_func\_t**) (void \*key1, void \*key2)\
 typedef void(\* **globus\_hashtable\_copy\_func\_t**) (void \*\*dest\_key, void \*\*dest\_datum, void \*src\_key, void \*src\_datum)\
 typedef void(\* **globus\_hashtable\_destructor\_func\_t**) (void \*datum)\

### Functions

int **globus\_hashtable\_init** (globus\_hashtable\_t \*table, int size, **globus\_hashtable\_hash\_func\_t** hash\_func, **globus\_hashtable\_keyeq\_func\_t** keyeq\_func)\
 Initialize a hash table.  void \* **globus\_hashtable\_lookup** (globus\_hashtable\_t \*table, void \*key)\
 Look up a datum in a hash table.  int **globus\_hashtable\_insert** (globus\_hashtable\_t \*table, void \*key, void \*datum)\
 Insert a datum into a hash table.  void \* **globus\_hashtable\_update** (globus\_hashtable\_t \*table, void \*key, void \*datum)\
 Update a hash table mapping.  void \* **globus\_hashtable\_remove** (globus\_hashtable\_t \*table, void \*key)\
 Remove a datum from a hash table.  int **globus\_hashtable\_to\_list** (globus\_hashtable\_t \*table, **globus\_list\_t** \*\*list)\
 Create a list of all datums in a hash table.  **globus\_bool\_t** **globus\_hashtable\_empty** (globus\_hashtable\_t \*table)\
 Test hash table emptiness.  int **globus\_hashtable\_size** (globus\_hashtable\_t \*table)\
 Hash table size.  void \* **globus\_hashtable\_first** (globus\_hashtable\_t \*table)\
 Initialize iterator to first hash table entry.  void \* **globus\_hashtable\_next** (globus\_hashtable\_t \*table)\
 Increment hash table iterator.  void \* **globus\_hashtable\_last** (globus\_hashtable\_t \*table)\
 Initialize iterator to last hash table entry.  void \* **globus\_hashtable\_prev** (globus\_hashtable\_t \*table)\
 Decrement hash table iterator.  int **globus\_hashtable\_destroy** (globus\_hashtable\_t \*table)\
 Destroy a hash table

Destroys a hashtable representation, releasing any resources used to represent the mappings (abandoning any data in the queue). After this call, a hashtable is no longer considered initialized. " int **globus\_hashtable\_string\_hash** (void \*string, int limit)\
 Null-terminated string hash function.  int **globus\_hashtable\_string\_keyeq** (void \*string1, void \*string2)\
 Null-terminated string equality predicate.  int **globus\_hashtable\_voidp\_hash** (void \*voidp, int limit)\
 Void pointer hash function.  int **globus\_hashtable\_voidp\_keyeq** (void \*voidp1, void \*voidp2)\
 Void pointer equality predicate.  int **globus\_hashtable\_int\_hash** (void \*integer, int limit)\
 Integer hash function.  int **globus\_hashtable\_int\_keyeq** (void \*integer1, void \*integer2)\
 Integer equality predicate.

## Detailed Description

Hash Table.

## Author

Generated automatically by Doxygen for globus\_common from the source code.
