WE310F5  39.00.000
m2mb_netutils.h
Go to the documentation of this file.
1 /*===============================================================================================*/
2 /* >>> Copyright (C) Telit Communications S.p.A. Italy All Rights Reserved. <<< */
23 #ifndef M2MB_NETUTILS_H
24 #define M2MB_NETUTILS_H
25 
35 /*-----------------------------------------------------------------------------------------------*/
36 
42 /* GLOBAL DECLARATIONS ---------------------------------------------------- */
44 #ifndef min
45 #define min(a,b) (((a) <= (b)) ? (a) : (b))
46 #endif
47 /* queue element: cast to right type */
48 typedef struct M2MB_Q_ELT
49 {
50  struct M2MB_Q_ELT *qe_next;
52 
53 typedef M2MB_Q_ELT_T *qp;
56 typedef struct M2MB_QUEUE
57 {
60  int q_len;
62 
64 typedef struct
65 {
70 
71 #undef m2mb_socket_bsd_htonl
72 #undef m2mb_socket_bsd_ntohl
73 #undef m2mb_socket_bsd_htons
74 #undef m2mb_socket_bsd_ntohs
75 
76 /*-----------------------------------------------------------------------------------------------*/
99 #define m2mb_socket_bsd_htonl(l) (((((l) >> 24) & 0x000000ff)) | \
100  ((((l) >> 8) & 0x0000ff00)) | \
101  (((l) & 0x0000ff00) << 8) | \
102  (((l) & 0x000000ff) << 24))
103 /*-----------------------------------------------------------------------------------------------*/
126 #define m2mb_socket_bsd_ntohl(l) m2mb_socket_bsd_htonl(l)
127 /*-----------------------------------------------------------------------------------------------*/
151 #define m2mb_socket_bsd_htons(s) ((((s) >> 8) & 0xff) | (((s) << 8) & 0xff00))
152 /*-----------------------------------------------------------------------------------------------*/
175 #define m2mb_socket_bsd_ntohs(s) m2mb_socket_bsd_htons(s)
176 /*-----------------------------------------------------------------------------------------------*/
202 /*-----------------------------------------------------------------------------------------------*/
225 void m2mb_msec_delay(UINT32 ms);
226 /*-----------------------------------------------------------------------------------------------*/
249 void m2mb_usec_delay(UINT32 us);
250 /*-----------------------------------------------------------------------------------------------*/
288 void enqueue(M2MB_QUEUE_T *q, void *item);
289 /*-----------------------------------------------------------------------------------------------*/
324 void * dequeue(M2MB_QUEUE_T *q);
325 
326 /* Global typedefs -------------------------------------------------------- */
327 /* External variables ----------------------------------------------------- */
328 /* External functions ----------------------------------------------------- */
329 
333 /*-----------------------------------------------------------------------------------------------*/
334 
335 #endif /* M2MB_NETUTILS_H */
UINT32 m2mb_get_time(TIME_STRUCT_T *time)
Getting time.
M2MB_Q_ELT_T * qp
Definition: m2mb_netutils.h:53
void m2mb_msec_delay(UINT32 ms)
provides milliseconds delay.
void enqueue(M2MB_QUEUE_T *q, void *item)
add item to the q&#39;s tail
M2MB_Q_ELT_T * q_tail
Definition: m2mb_netutils.h:59
struct M2MB_Q_ELT * qe_next
Definition: m2mb_netutils.h:50
void * dequeue(M2MB_QUEUE_T *q)
remove item from the q&#39;s head
time structure
Definition: m2mb_netutils.h:64
void m2mb_usec_delay(UINT32 us)
provides micro seconds delay.
unsigned long int UINT32
Definition: m2mb_types.h:88
M2MB_Q_ELT_T * q_head
Definition: m2mb_netutils.h:58
struct M2MB_QUEUE M2MB_QUEUE_T
queue header
queue header
Definition: m2mb_netutils.h:56
UINT32 milliseconds
Definition: m2mb_netutils.h:67
struct M2MB_Q_ELT M2MB_Q_ELT_T