FreeBSD Manual Pages
OHASH_INTERVAL(3) Library Functions Manual OHASH_INTERVAL(3) NAME ohash_interval, ohash_create_entry, ohash_qlookup, ohash_qlookupi -- helper functions for open hashing LIBRARY OpenBSD Utilities Library (libopenbsd, -lopenbsd) SYNOPSIS #include <stdint.h> #include <stddef.h> #include <ohash.h> uint32_t ohash_interval(const char *start, const char **pend); void * ohash_create_entry(struct ohash_info *info, const char *start, const char **pend); unsigned int ohash_qlookupi(struct ohash *h, const char *start, const char **pend); unsigned int ohash_qlookup(struct ohash *h, const char *start); DESCRIPTION These functions are commonly used to simplify open hashing usage, and use similar conventions. They operate indifferently on NUL-terminated strings (by setting *pend = NULL) or memory ranges (delimited by start and *pend). For NUL-terminated strings, as a side effect, those func- tions set *pend to the terminating NUL byte. ohash_interval() is a simple hashing function that yields good results on common data sets. ohash_create_entry() can be used to create a new record with a given key. In that case, the alloc field of info should point to a malloc(3)-like function to allocate the storage: p = (*info->alloc)(sz, info->data); ohash_qlookupi() is a wrapper function that simply calls ohash_interval() and ohash_lookup_interval(). ohash_qlookup() is a variation on ohash_qlookupi() designed for NUL- terminated strings. SEE ALSO ohash_init(3) STANDARDS Those functions are completely non-standard and should be avoided in portable programs. HISTORY Those functions were designed and written for OpenBSD make(1) by Marc Espie in 1999. FreeBSD Ports 14.quarterly June 5, 2013 OHASH_INTERVAL(3)
NAME | LIBRARY | SYNOPSIS | DESCRIPTION | SEE ALSO | STANDARDS | HISTORY
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ohash_interval&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>
