Lines 43-49
Link Here
|
43 |
*/ |
43 |
*/ |
44 |
#include <sys/socket.h> |
44 |
#include <sys/socket.h> |
45 |
#include <sys/types.h> |
45 |
#include <sys/types.h> |
46 |
#include <sys/queue.h> |
46 |
#ifdef __GLIBC__ |
|
|
47 |
#include sys/queue.h> |
48 |
#else |
49 |
|
50 |
/* |
51 |
* * Tail queue definitions. |
52 |
* */ |
53 |
#define _TAILQ_HEAD(name, type, qual) \ |
54 |
struct name { \ |
55 |
qual type *tqh_first; /* first element */ \ |
56 |
qual type *qual *tqh_last; /* addr of last next element */ \ |
57 |
} |
58 |
#define TAILQ_HEAD(name, type) _TAILQ_HEAD(name, struct type,) |
59 |
|
60 |
|
61 |
#define _TAILQ_ENTRY(type, qual) \ |
62 |
struct { \ |
63 |
qual type *tqe_next; /* next element */ \ |
64 |
qual type *qual *tqe_prev; /* address of previous next element */\ |
65 |
} |
66 |
#define TAILQ_ENTRY(type) _TAILQ_ENTRY(struct type,) |
67 |
|
68 |
|
69 |
/* |
70 |
* * Tail queue functions. |
71 |
* */ |
72 |
#define TAILQ_INIT(head) do { \ |
73 |
(head)->tqh_first = NULL; \ |
74 |
(head)->tqh_last = &(head)->tqh_first; \ |
75 |
} while (/*CONSTCOND*/0) |
76 |
|
77 |
|
78 |
#endif |
47 |
|
79 |
|
48 |
#include <net/if.h> |
80 |
#include <net/if.h> |
49 |
#include <netinet/in.h> |
81 |
#include <netinet/in.h> |