23 #ifndef M2MB_NETUTILS_H    24 #define M2MB_NETUTILS_H    45 #define  min(a,b)    (((a) <= (b)) ? (a) : (b))    71 #undef m2mb_socket_bsd_htonl    72 #undef m2mb_socket_bsd_ntohl    73 #undef m2mb_socket_bsd_htons    74 #undef m2mb_socket_bsd_ntohs    99 #define m2mb_socket_bsd_htonl(l) (((((l) >> 24) & 0x000000ff)) | \   100                                                 ((((l) >>  8) & 0x0000ff00)) | \   101                                                 (((l) & 0x0000ff00) <<  8) | \   102                                                 (((l) & 0x000000ff) << 24))   126 #define m2mb_socket_bsd_ntohl(l) m2mb_socket_bsd_htonl(l)   151 #define m2mb_socket_bsd_htons(s)    ((((s) >> 8) & 0xff) | (((s) << 8) & 0xff00))   175 #define m2mb_socket_bsd_ntohs(s) m2mb_socket_bsd_htons(s) UINT32 m2mb_get_time(TIME_STRUCT_T *time)
Getting time. 
void m2mb_msec_delay(UINT32 ms)
provides milliseconds delay. 
void enqueue(M2MB_QUEUE_T *q, void *item)
add item to the q's tail 
struct M2MB_Q_ELT * qe_next
void * dequeue(M2MB_QUEUE_T *q)
remove item from the q's head 
void m2mb_usec_delay(UINT32 us)
provides micro seconds delay. 
struct M2MB_QUEUE M2MB_QUEUE_T
queue header 
struct M2MB_Q_ELT M2MB_Q_ELT_T