/* integer of 8 bits */
typedef char netwib_int8;
typedef unsigned char netwib_uint8;
/* integer of 16 bits */
typedef short netwib_int16;
typedef unsigned short netwib_uint16;
/* integer of 32 bits */
typedef int netwib_int32;
typedef unsigned int netwib_uint32;
/* maximum size integer on the computer */
typedef long netwib_intmax;
typedef unsigned long netwib_uintmax;
/* char */
typedef char netwib_char;
/* byte */
typedef unsigned char netwib_byte;
/* pointer */
typedef void* netwib_ptr;
typedef const void* netwib_constptr;
/* data */
typedef netwib_byte* netwib_data;
typedef const netwib_byte* netwib_constdata;
/* string */
typedef netwib_char* netwib_string;
typedef const netwib_char* netwib_conststring;
/* boolean */
typedef enum {
NETWIB_FALSE = 0,
NETWIB_TRUE = !NETWIB_FALSE
} netwib_bool;
/* comparison */
typedef enum {
NETWIB_CMP_LT = -1,
NETWIB_CMP_EQ = 0,
NETWIB_CMP_GT = +1
} netwib_cmp;
/* netwib contains several enum. User can define its own values
starting from 10000 */
#define NETWIB_ENUM_USER_BEGIN 10000
/*-------------------------------------------------------------*/
/***************************************************************
* Note about return values : *
* Every function returns a "netwib_err" which indicates : *
* - NETWIB_ERR_OK : everything went fine *
* - NETWIB_ERR_xyz : something strange occured... *
***************************************************************/
/*-------------------------------------------------------------*/
/***************************************************************
* Note about parameters : *
* Some functions can accept NULL as parameter. This indicates *
* the corresponding parameter is not needed. *
* However this special case needs resources and specific *
* instruction paths. So, this is not supported for parameters *
* such as netwib_ring, netwib_ip4s, etc. If you think we *
* missed one function needing this functionality, please *
* contact us. *
***************************************************************/