+++ /dev/null
-/* This is a public domain general purpose hash table package written by Peter Moore @ UCB. */\r
-\r
-/* @(#) st.h 5.1 89/12/14 */\r
-\r
-#ifndef ST_INCLUDED\r
-\r
-#define ST_INCLUDED\r
-\r
-#ifdef _WIN32\r
-# include <windows.h>\r
-typedef ULONG_PTR st_data_t;\r
-#else\r
-// typedef unsigned long st_data_t;\r
-#endif\r
-#define ST_DATA_T_DEFINED\r
-typedef UINTN st_data_t;\r
-\r
-typedef struct st_table st_table;\r
-\r
-struct st_hash_type {\r
- int (*compare)();\r
- int (*hash)();\r
-};\r
-\r
-struct st_table {\r
- struct st_hash_type *type;\r
- int num_bins;\r
- int num_entries;\r
- struct st_table_entry **bins;\r
-};\r
-\r
-#define st_is_member(table,key) st_lookup(table,key,(st_data_t *)0)\r
-\r
-enum st_retval {ST_CONTINUE, ST_STOP, ST_DELETE, ST_CHECK};\r
-\r
-#ifndef _\r
-# define _(args) args\r
-#endif\r
-#ifndef ANYARGS\r
-# ifdef __cplusplus\r
-# define ANYARGS ...\r
-# else\r
-# define ANYARGS\r
-# endif\r
-#endif\r
-\r
-st_table *st_init_table _((struct st_hash_type *));\r
-st_table *st_init_table_with_size _((struct st_hash_type *, int));\r
-st_table *st_init_numtable _((void));\r
-st_table *st_init_numtable_with_size _((int));\r
-st_table *st_init_strtable _((void));\r
-st_table *st_init_strtable_with_size _((int));\r
-int st_delete _((st_table *, st_data_t *, st_data_t *));\r
-int st_delete_safe _((st_table *, st_data_t *, st_data_t *, st_data_t));\r
-int st_insert _((st_table *, st_data_t, st_data_t));\r
-int st_lookup _((st_table *, st_data_t, st_data_t *));\r
-int st_foreach _((st_table *, int (*)(ANYARGS), st_data_t));\r
-void st_add_direct _((st_table *, st_data_t, st_data_t));\r
-void st_free_table _((st_table *));\r
-void st_cleanup_safe _((st_table *, st_data_t));\r
-st_table *st_copy _((st_table *));\r
-\r
-#define ST_NUMCMP ((int (*)()) 0)\r
-#define ST_NUMHASH ((int (*)()) -2)\r
-\r
-#define st_numcmp ST_NUMCMP\r
-#define st_numhash ST_NUMHASH\r
-\r
-#endif /* ST_INCLUDED */\r