netwib doc_html (version 5.39.0)

## main index

## section index

    /*-------------------------------------------------------------*/
    /***************************************************************
     * A netwib_bufpool permits to obtain and release memory,      *
     * without having to malloc and free it : this is done once.   *
     * This is mainly advantageous for programs needing to allocate*
     * and free frequently. For programs allocating memory and then*
     * only freeing it at the end, function netwib_buf_init_malloc *
     * is more appropriated.                                       *
     ***************************************************************/

    /*-------------------------------------------------------------*/
    typedef struct netwib_bufpool netwib_bufpool;

    /*-------------------------------------------------------------*/
    /* Name : netwib_bufpool_init
       Description :
         Initialize a netwib_bufpool.
       Input parameter(s) :
         mt : for multithread access
       Input/output parameter(s) :
         **ppbufpool : bufpool initialized
       Output parameter(s) :
       Normal return values :
         NETWIB_ERR_OK : ok
    */
    netwib_err netwib_bufpool_init(netwib_bool mt,
                                   netwib_bufpool **ppbufpool);
    #define netwib_bufpool_initdefault(ppbufpool) netwib_bufpool_init(NETWIB_FALSE,ppbufpool)

    /*-------------------------------------------------------------*/
    /* Name : netwib_bufpool_close
       Description :
         Close a netwib_bufpool.
       Input parameter(s) :
       Input/output parameter(s) :
         **ppbufpool : bufpool closed
       Output parameter(s) :
       Normal return values :
         NETWIB_ERR_OK : ok
    */
    netwib_err netwib_bufpool_close(netwib_bufpool **ppbufpool);

    /*-------------------------------------------------------------*/
    /* Name : netwib_bufpool_buf_init
       Description :
         Give a buffer pointer to user.
       Input parameter(s) :
       Input/output parameter(s) :
         *pbufpool : bufpool
       Output parameter(s) :
         *ppbuf : pointer obtained
       Normal return values :
         NETWIB_ERR_OK : ok
    */
    netwib_err netwib_bufpool_buf_init(netwib_bufpool *pbufpool,
                                       netwib_buf **ppbuf);

    /*-------------------------------------------------------------*/
    /* Name : netwib_bufpool_buf_close
       Description :
         The user indicates he does not need the buffer anymore.
       Input parameter(s) :
       Input/output parameter(s) :
         *pbufpool : bufpool
         *ppbuf : pointer to close
       Output parameter(s) :
       Normal return values :
         NETWIB_ERR_OK : ok
    */
    netwib_err netwib_bufpool_buf_close(netwib_bufpool *pbufpool,
                                        netwib_buf **ppbuf);

## main index

## section index