netwib doc_html (version 5.39.0)

## main index

## section index

    /*-------------------------------------------------------------*/
    /* use this trick to convert a "netwib_conststring" to "netwib_string" */
    #define netwib_priv_caststring(s) ((netwib_string)((netwib_uintptr)s))
    /* use this trick to convert a "netwib_constdata" to "netwib_data" */
    #define netwib_priv_castdata(s) ((netwib_data)((netwib_uintptr)s))
    /* use this trick to convert a "netwib_constptr" to "netwib_ptr" */
    #define netwib_priv_castptr(s) ((netwib_ptr)((netwib_uintptr)s))
    /* use this trick to convert a "netwib_constptr*" to "netwib_ptr *" */
    #define netwib_priv_castpptr(s) ((netwib_ptr*)((netwib_uintptr)s))

    /*-------------------------------------------------------------*/
    #if ! defined NETWIBDEF_PRIV_DONT_WANT_SYS
    netwib_err netwib_priv_buf_append_vfmt(netwib_buf *pbuf,
                                           netwib_conststring fmt,
                                           va_list *pap);
    #endif

    /*-------------------------------------------------------------*/
    netwib_err netwib_priv_buf_wipe(netwib_buf *pbuf);

    /*-------------------------------------------------------------*/
    #define NETWIB_PRIV_NUM_1K 1000
    #define NETWIB_PRIV_NUM_1M 1000000
    #define NETWIB_PRIV_NUM_1G 1000000000

    /*-------------------------------------------------------------*/
    #include "priv/bufstore.h"

    /*-------------------------------------------------------------*/
    typedef struct netwib_ringitem netwib_ringitem;
    struct netwib_ringitem {
      netwib_ringitem *pnext;
      netwib_ringitem *pprevious;
      netwib_ptr pitem;
    };
    struct netwib_ring {
      netwib_ringitem *pnext;
      netwib_ringitem *pprevious;
      netwib_uint32 numberofitems;
      netwib_ring_erase_pf pfunc_erase;
      netwib_ring_duplicate_pf pfunc_duplicate;
    };

    /*-------------------------------------------------------------*/
    typedef struct netwib_hashitem netwib_hashitem;
    struct netwib_hashitem {
      netwib_hashitem *pnext; /* must be the first ; see index_this_del func. */
      netwib_uint32 currenttablepos;
      netwib_ptr pitem;
      netwib_uint32 hashofkey;
      netwib_uint32 keysize;
      netwib_data key;
    };

    /*-------------------------------------------------------------*/
    struct netwib_hash {
      netwib_uint32 numberofitems;
      netwib_uint32 tablemax; /* == tablesize-1 */
      netwib_hashitem **table;
      netwib_hash_erase_pf pfunc_erase;
      netwib_hash_duplicate_pf pfunc_duplicate;
      netwib_uint32 internalrandom;
    };

## main index

## section index