#ifndef _PKTLIB_PKTLIB_H_INCLUDED_ #define _PKTLIB_PKTLIB_H_INCLUDED_ typedef struct _pktif *pktif_t; #define PKTIF_OPEN_FLAG_RECV_NOTPROM (1<< 0) #define PKTIF_OPEN_FLAG_RECV_NOTSENT (1<< 1) #define PKTIF_OPEN_FLAG_SELECT_DISABLE (1<<16) #define PKTIF_OPEN_FLAG_SELECT_NOSELECT (1<<17) struct timeval; /* 送受信関連 */ pktif_t pktif_open(char *ifname, unsigned long flags, int option_size); int pktif_is_empty(pktif_t pktif); int pktif_recv(pktif_t pktif, char *buffer, int size, struct timeval *tm); int pktif_send(pktif_t pktif, char *buffer, int size); /* パラメータ取得 */ char *pktif_get_name(pktif_t pktif); int pktif_get_fd(pktif_t pktif); unsigned long pktif_get_flags(pktif_t pktif); int pktif_get_linktype(pktif_t pktif); int pktif_get_buffer_size(pktif_t pktif); void *pktif_get_option(pktif_t pktif); pktif_t pktif_get_next(pktif_t pktif); int pktif_get_default_offset(pktif_t pktif); /* select()のためのリンクリスト関連 */ pktif_t pktlib_iflist_get_list(); pktif_t pktlib_iflist_select(int usec); /* チェックサム計算 */ int pktlib_ip_checksum(void *buffer, int size); #define DLT_UNDEFINED -1 #define DLT_UNKNOWN 0xFFFF #ifndef DLT_NULL #define DLT_NULL 0 #endif #ifndef DLT_EN10MB #define DLT_EN10MB 1 #endif #ifndef DLT_EN3MB #define DLT_EN3MB 2 #endif #ifndef DLT_AX25 #define DLT_AX25 3 #endif #ifndef DLT_PRONET #define DLT_PRONET 4 #endif #ifndef DLT_CHAOS #define DLT_CHAOS 5 #endif #ifndef DLT_IEEE802 #define DLT_IEEE802 6 #endif #ifndef DLT_ARCNET #define DLT_ARCNET 7 #endif #ifndef DLT_SLIP #define DLT_SLIP 8 #endif #ifndef DLT_PPP #define DLT_PPP 9 #endif #ifndef DLT_FDDI #define DLT_FDDI 10 #endif #ifndef DLT_ATM_RFC1483 #define DLT_ATM_RFC1483 11 #endif #ifndef DLT_RAW #define DLT_RAW 12 #endif #ifndef DLT_IEEE802_11 #define DLT_IEEE802_11 105 #endif #ifndef DLT_PRISM_HEADER #define DLT_PRISM_HEADER 119 #endif #ifndef DLT_IEEE802_11_RADIO #define DLT_IEEE802_11_RADIO 127 #endif #ifndef DLT_ARCNET_LINUX #define DLT_ARCNET_LINUX 129 #endif #ifndef DLT_AX25_KISS #define DLT_AX25_KISS 202 #endif #endif

AltStyle によって変換されたページ (->オリジナル) /