00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #ifndef __LIBNET_MACROS_H
00033 #define __LIBNET_MACROS_H
00034
00035
00036
00037
00038 #define LIBNET_DONT_RESOLVE 0
00039 #define LIBNET_RESOLVE 1
00040
00041
00042
00043
00044 #define LIBNET_PR2 0
00045 #define LIBNET_PR8 1
00046 #define LIBNET_PR16 2
00047 #define LIBNET_PRu16 3
00048 #define LIBNET_PR32 4
00049 #define LIBNET_PRu32 5
00050 #define LIBNET_PRAND_MAX 0xffffffff
00051
00052
00053
00054
00055 #define PR2 LIBNET_PR2
00056 #define PR8 LIBNET_PR8
00057 #define PR16 LIBNET_PR16
00058 #define PRu16 LIBNET_PRu16
00059 #define PR32 LIBNET_PR32
00060 #define PRu32 LIBNET_PRu32
00061 #define PRAND_MAX LIBNET_PRAND_MAX
00062
00063
00064
00065
00066 #define LIBNET_PACKET LIBNET_IP_H + LIBNET_TCP_H
00067 #define LIBNET_OPTS 0x34
00068 #define LIBNET_MAX_PACKET 0xffff
00069
00070
00071
00072
00073
00074 #define LIBNET_ERR_WARNING 1
00075 #define LIBNET_ERR_CRITICAL 2
00076 #define LIBNET_ERR_FATAL 3
00077
00078
00079
00080
00081 #define LN_ERR_WARNING LIBNET_ERR_WARNING
00082 #define LN_ERR_CRITICAL LIBNET_ERR_CRITICAL
00083 #define LN_ERR_FATAL LIBNET_ERR_FATAL
00084
00085
00086 #define LIBNET_ERRBUF_SIZE 256
00087
00088
00089
00090
00091
00092 #if (LIBNET_BSD_BYTE_SWAP)
00093 #define FIX(n) ntohs(n)
00094 #define UNFIX(n) htons(n)
00095 #else
00096 #define FIX(n) (n)
00097 #define UNFIX(n) (n)
00098 #endif
00099
00100
00101
00102
00103 #define LIBNET_GET_ARENA_SIZE(a) (a.size)
00104 #define LIBNET_GET_ARENA_REMAINING_BYTES(a) (a.size - a.current)
00105
00106
00107
00108
00109
00110 #define LIBNET_CKSUM_CARRY(x) \
00111 (x = (x >> 16) + (x & 0xffff), (~(x + (x >> 16)) & 0xffff))
00112
00113
00114
00115
00116
00117 #define LIBNET_OSPF_AUTHCPY(x,y) memcpy((u_char *)x, (u_char *)y, sizeof(y))
00118 #define LIBNET_OSPF_CKSUMBUF(x,y) memcpy((u_char *)x, (u_char *)y, sizeof(y))
00119
00120
00121
00122
00123
00124 #ifdef IFF_LOOPBACK
00125 #define LIBNET_ISLOOPBACK(p) ((p)->ifr_flags & IFF_LOOPBACK)
00126 #else
00127 #define LIBNET_ISLOOPBACK(p) (strcmp((p)->ifr_name, "lo0") == 0)
00128 #endif
00129
00130 #define LIBNET_PRINT_ETH_ADDR(e) \
00131 { \
00132 int i = 0; \
00133 for (i = 0; i < 6; i++) \
00134 { \
00135 printf("%x", e.ether_addr_octet[i]); \
00136 if (i != 5) \
00137 { \
00138 printf(":"); \
00139 } \
00140 } \
00141 printf("\n"); \
00142 }
00143
00144 #endif
00145
00146