Annotation of embedaddon/php/ext/mbstring/oniguruma/st.h, revision 1.1

1.1     ! misho       1: /* This is a public domain general purpose hash table package written by Peter Moore @ UCB. */
        !             2: 
        !             3: /* @(#) st.h 5.1 89/12/14 */
        !             4: 
        !             5: #ifndef ST_INCLUDED
        !             6: 
        !             7: #define ST_INCLUDED
        !             8: 
        !             9: typedef unsigned long st_data_t;
        !            10: #define ST_DATA_T_DEFINED
        !            11: 
        !            12: typedef struct st_table st_table;
        !            13: 
        !            14: struct st_hash_type {
        !            15:     int (*compare)();
        !            16:     int (*hash)();
        !            17: };
        !            18: 
        !            19: struct st_table {
        !            20:     struct st_hash_type *type;
        !            21:     int num_bins;
        !            22:     int num_entries;
        !            23:     struct st_table_entry **bins;
        !            24: };
        !            25: 
        !            26: #define st_is_member(table,key) st_lookup(table,key,(st_data_t *)0)
        !            27: 
        !            28: enum st_retval {ST_CONTINUE, ST_STOP, ST_DELETE, ST_CHECK};
        !            29: 
        !            30: #ifndef _
        !            31: # define _(args) args
        !            32: #endif
        !            33: #ifndef ANYARGS
        !            34: # ifdef __cplusplus
        !            35: #   define ANYARGS ...
        !            36: # else
        !            37: #   define ANYARGS
        !            38: # endif
        !            39: #endif
        !            40: 
        !            41: st_table *st_init_table _((struct st_hash_type *));
        !            42: st_table *st_init_table_with_size _((struct st_hash_type *, int));
        !            43: st_table *st_init_numtable _((void));
        !            44: st_table *st_init_numtable_with_size _((int));
        !            45: st_table *st_init_strtable _((void));
        !            46: st_table *st_init_strtable_with_size _((int));
        !            47: int st_delete _((st_table *, st_data_t *, st_data_t *));
        !            48: int st_delete_safe _((st_table *, st_data_t *, st_data_t *, st_data_t));
        !            49: int st_insert _((st_table *, st_data_t, st_data_t));
        !            50: int st_lookup _((st_table *, st_data_t, st_data_t *));
        !            51: int st_foreach _((st_table *, int (*)(ANYARGS), st_data_t));
        !            52: void st_add_direct _((st_table *, st_data_t, st_data_t));
        !            53: void st_free_table _((st_table *));
        !            54: void st_cleanup_safe _((st_table *, st_data_t));
        !            55: st_table *st_copy _((st_table *));
        !            56: 
        !            57: #define ST_NUMCMP      ((int (*)()) 0)
        !            58: #define ST_NUMHASH     ((int (*)()) -2)
        !            59: 
        !            60: #define st_numcmp      ST_NUMCMP
        !            61: #define st_numhash     ST_NUMHASH
        !            62: 
        !            63: #endif /* ST_INCLUDED */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>