| /* |
| * Copyright 1993, 1995 Christopher Seiwald. |
| * |
| * This file is part of Jam - see jam.c for Copyright information. |
| */ |
| |
| /* |
| * hash.h - simple in-memory hashing routines |
| */ |
| |
| #ifndef BOOST_JAM_HASH_H |
| #define BOOST_JAM_HASH_H |
| |
| typedef struct hashdata HASHDATA; |
| |
| struct hash * hashinit ( int datalen, char * name ); |
| int hashitem ( struct hash * hp, HASHDATA * * data, int enter ); |
| void hashdone ( struct hash * hp ); |
| void hashenumerate( struct hash * hp, void (* f)( void *, void * ), void * data ); |
| int hash_free ( struct hash * hp, HASHDATA * data); |
| |
| #define hashenter( hp, data ) ( !hashitem( hp, data, !0 ) ) |
| #define hashcheck( hp, data ) hashitem( hp, data, 0 ) |
| |
| #endif |