FreeBSD Manual Pages
SETHTITEM(3) MBK HASH TABLE MANAGEMENT FUNCTIONS SETHTITEM(3) NAME sethtitem - test and set an item in an hash table. SYNOPSIS #include "mut.h" int sethtitem(table, key) ht *table; void *key; PARAMETERS table Hash table pointer key Key used by the hash coding function to set an item DESCRIPTION sethtitem() adds an item in the hash table pointed to by table, whether it existed or not, and returns an appropriate value. This is kind of a test and set operator. RETURN VALUE If the key exists, the function return 1, if it doesn't, the item is stored and the function returns 0. EXAMPLE #include <stdio.h> #include "mut.h" checksigname(p) lofig_list *p; { int i; losig_list *ptsig; locon_list *ptcon; ht *h; char *amatla; for (i = 0, ptsig = p->LOSIG; ptsig; i++, ptsig = ptsig->NEXT); h = addht(i << 1); /* half empty hash tables are faster! */ for (ptcon = p->LOCON; ptcon; ptcon = ptcon->NEXT) addhtitem(h, ptcon->NAME, 0); for (ptsig = p->LOSIG; ptsig; ptsig = ptsig->NEXT) { if (ptsig->TYPE == INTERNAL) { amatla = getsigname(ptsig); if (!sethtitem(h, amatla, 0)) printf("node %s is now unique\n", amatla); } } delht(h); } ERRORS "*** mbk error *** sethtitem impossible : value is EMPTYHT or DELETEHT" The values EMPTYHT, -1, and DELETEHT, -2, are reserved for in- ternal use, sorry. DIAGNOSTICS The value must be distinct from -1 and -2. SEE ALSO mbk(1), addht(3), delht(3), addhtitem(3), gethtitem(3), delhtitem(3), viewht(3). ASIM/LIP6 October 1, 1997 SETHTITEM(3)
NAME | SYNOPSIS | PARAMETERS | DESCRIPTION | RETURN VALUE | EXAMPLE | ERRORS | DIAGNOSTICS | SEE ALSO
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=sethtitem&sektion=3&manpath=FreeBSD+Ports+15.0>
