GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
libtar_hash_new(3) C Library Calls libtar_hash_new(3)

libtar_hash_new, libtar_hash_free, libtar_hash_next, libtar_hash_prev, libtar_hash_getkey, libtar_hash_search, libtar_hash_add, libtar_hash_del - hash table routines

#include <libtar.h>

libtar_hash_t *libtar_hash_new(int num, int (*hashfunc)());
void libtar_hash_free(libtar_hash_t *h, void (*freefunc)());
int libtar_hash_next(libtar_hash_t *h, libtar_hashptr_t *hp);
int libtar_hash_prev(libtar_hash_t *h, libtar_hashptr_t *hp);
int libtar_hash_search(libtar_hash_t *h, libtar_hashptr_t *hp, void *data, int (*matchfunc)());
int libtar_hash_getkey(libtar_hash_t *h, libtar_hashptr_t *hp, void *data, int (*matchfunc)());
int libtar_hash_add(libtar_hash_t *h, void *data);
int libtar_hash_del(libtar_hash_t *h, libtar_hashptr_t *hp);

The libtar_hash_new() function creates a new hash with num buckets and using hash function pointed to by hashfunc. If hashfunc is NULL, a default hash function designed for 7-bit ASCII strings is used.

The libtar_hash_free() function deallocates all memory associated with the hash structure h. If freefunc is not NULL, it is called to free memory associated with each node in the hash.

The libtar_hash_next() and libtar_hash_prev() functions are used to iterate through the hash. The libtar_hashptr_t structure has two fields: bucket, which indicates the current bucket in the hash, and node, which is a pointer to the current node in the current bucket. To start at the beginning or end of the hash, the caller should initialize hp.bucket to -1 and hp.node to NULL.

The libtar_hash_search() function searches iteratively through the hash h until it finds a node whose contents match data using the matching function matchfunc. Searching begins at the location pointed to by hp.

The libtar_hash_getkey() function uses the hash function associated with h to determine which bucket data should be in, and searches only that bucket for a matching node using matchfunc. Searching begins at the location pointed to by hp.

The libtar_hash_add() function adds data into hash h.

The libtar_hash_del() function removes the node referenced by hp.

The libtar_hash_new() function returns a pointer to the new hash structure, or NULL on error.

The libtar_hash_next() and libtar_hash_prev() functions return 1 when valid data is returned, and 0 at the end of the hash.

The libtar_hash_getkey() and libtar_hash_search() functions return 1 when a match is found, or 0 otherwise.

The libtar_hash_add() function returns 0 on success, or -1 on error (and sets errno).

The libtar_hash_del() function returns 0 on success, or -1 on error (and sets errno).

libtar_list_new(3)
Jan 2000 University of Illinois

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.