📄 pna.h
字号:
#define SIOCGIPROUTENEXTHOP 0x40046D05 /* Next hop of the route */#define SIOCGIPROUTETYPE 0x40046D06 /* Type of the route */#define SIOCGIPROUTEPROTO 0x40046D07 /* Protocol used by the route */#define SIOCGIPROUTEAGE 0x40046D08 /* Age of the Route */#define SIOCGIPROUTEMASK 0x40046D09 /* Mask used by the route *//*----------------------------------------------------------------------*//* SET command definitions *//*----------------------------------------------------------------------*/#define SIOCSIPROUTEDEST 0x80046D03 /* Route destination */#define SIOCSIPROUTENEXTHOP 0x80046D05 /* Next hop of the route */#define SIOCSIPROUTETYPE 0x80046D06 /* Type of the route *//*----------------------------------------------------------------------*//* Definitions for IP NET-TO-MEDIA table *//* GET command definitions *//*----------------------------------------------------------------------*/#define SIOCGIPNETTOMEDIATABLE 0x40056D01 /* IP Net-to-Media table */#define SIOCGIPNETTOMEDIAIFINDEX 0x40056D03 /* Index of the Entry */#define SIOCGIPNETTOMEDIAPHYSADDRESS 0x40056D04 /* Physical add. of entry */#define SIOCGIPNETTOMEDIANETADDRESS 0x40056D05 /* IP address of entry */#define SIOCGIPNETTOMEDIATYPE 0x40056D06 /* Type of the entry *//*----------------------------------------------------------------------*//* SET command definitions *//*----------------------------------------------------------------------*/#define SIOCSIPNETTOMEDIAPHYSADDRESS 0x80056D04 /* Physical add. of entry */#define SIOCSIPNETTOMEDIANETADDRESS 0x80056D05 /* IP address of entry */#define SIOCSIPNETTOMEDIATYPE 0x80056D06/*----------------------------------------------------------------------*//* Definitions for ICMP Group MIB variables *//* GET command definitions *//*----------------------------------------------------------------------*/#define SIOCGICMPINMSGS 0x40066D01 /* ICMP msgs. received */#define SIOCGICMPINERRORS 0x40066D02 /* ICMP msgs. with format errs */#define SIOCGICMPINDESTUNREACHS 0x40066D03 /* ICMP dest. Unreach. msgs rcvd*/#define SIOCGICMPINTIMEEXCDS 0x40066D04 /* ICMP time excds. msgs. rcvd. */#define SIOCGICMPINPARAMPROBS 0x40066D05 /* ICMP param. prob. msgs rcvd */#define SIOCGICMPINSRCQUENCHS 0x40066D06 /*ICMP src. quench msgs rcvd */#define SIOCGICMPINREDIRECTS 0x40066D07 /* ICMP src quenchs rcvd */#define SIOCGICMPINECHOS 0x40066D08 /* ICMP echo msgs rcvd */#define SIOCGICMPINECHOREPS 0x40066D09 /* ICMP echo reply msgs rcvd */#define SIOCGICMPINTIMESTAMPS 0x40066D0A /* ICMP time stamp msgs rcvd */#define SIOCGICMPINTIMESTAMPREPS 0x40066D0B /* ICMP time stp rep msgs rcvd */#define SIOCGICMPINADDRMASKS 0x40066D0C /* ICMP address masks msgs rcvd */#define SIOCGICMPINADDRMASKREPS 0x40066D0D /*ICMP addr masks reps msgs rcvd */#define SIOCGICMPOUTMSGS 0x40066D0E /* ICMP messages sent */#define SIOCGICMPOUTERRORS 0x40066D0F /* ICMP out error msgs. */#define SIOCGICMPOUTDESTUNREACHS 0x40066D10 /* ICMP dest unreach msgs sent */#define SIOCGICMPOUTTIMEEXCDS 0x40066D11 /* ICMP time exceed msgs sent */#define SIOCGICMPOUTPARAMPROBS 0x40066D12 /* ICMP param prob. msgs sent */#define SIOCGICMPOUTSRCQUENCHS 0x40066D13 /* ICMP src quench msgs sent */#define SIOCGICMPOUTREDIRECTS 0x40066D14 /* ICMP redirect msgs sent */#define SIOCGICMPOUTECHOS 0x40066D15 /* ICMP echo msgs sent */#define SIOCGICMPOUTECHOREPS 0x40066D16 /* ICMP echo reply msgs sent */#define SIOCGICMPOUTTIMESTAMPS 0x40066D17 /* ICMP time stamps msgs sent */#define SIOCGICMPOUTTIMESTAMPREPS 0x40066D18 /* ICMP time stps reps sent */#define SIOCGICMPOUTADDRMASKS 0x40066D19 /* ICMP addr mask msgs sent */#define SIOCGICMPOUTADDRMASKREPS 0x40066D1A /* ICMP addr mask rep msgs sent *//*----------------------------------------------------------------------*//* Definitions for TCP Group MIB variables *//* GET command definitions *//*----------------------------------------------------------------------*/#define SIOCGTCPRTOALGORITHM 0x40076D01 /* TCP retransmission algorithm */#define SIOCGTCPRTOMIN 0x40076D02 /* TCP min. retrans. timeout */#define SIOCGTCPRTOMAX 0x40076D03 /* TCP max. retrans. timeout */#define SIOCGTCPMAXCONN 0x40076D04 /* TCP max. simul. connections */#define SIOCGTCPACTIVEOPENS 0x40076D05 /* TCP active opens */#define SIOCGTCPPASSIVEOPENS 0x40076D06 /* TCP number of passive opens */#define SIOCGTCPATTEMPTFAILS 0x40076D07 /* TCP no. of failed conn. attempts*/#define SIOCGTCPESTABRESETS 0x40076D08 /* TCP no. connections reset */#define SIOCGTCPCURRESTAB 0x40076D09 /* TCP no. of curr. connections */#define SIOCGTCPINSEGS 0x40076D0A /* TCP no. of segs. received */#define SIOCGTCPOUTSEGS 0x40076D0B /* TCP no. of segs. sent */#define SIOCGTCPRETRANSSEGS 0x40076D0C /* TCP no. of segs retransmitted */#define SIOCGTCPCONNTABLE 0x40076D0D /* TCP connection table */#define SIOCGTCPCONNSTATE 0x40076D0E /* TCP connection entry */#define SIOCGTCPINERRS 0x40076D0F /* TCP no. of segs. disc. due to errs*/#define SIOCGTCPOUTRSTS 0x40076D10 /* TCP no. of reset segs. sent *//*----------------------------------------------------------------------*//* SET command definitions *//*----------------------------------------------------------------------*/#define SIOCSTCPCONNSTATE 0x80076D0E /* TCP connection entry *//*----------------------------------------------------------------------*//* Definitions for UDP MIB variables *//* GET command definitions *//*----------------------------------------------------------------------*/#define SIOCGUDPINDATAGRAMS 0x40086D01 /* UDP dgrams delivered */#define SIOCGUDPNOPORTS 0x40086D02 /* UDP dgrams rcvd for unkown ports*/#define SIOCGUDPINERRORS 0x40086D03 /* UDP dgrams dropped to format errs*/#define SIOCGUDPOUTDATAGRAMS 0x40086D04 /* UDP dgrms sent from appls. */#define SIOCGUDPTABLE 0x40086D05 /* UDP table *//*----------------------------------------------------------------------*//* Definitions for MBUF statistics *//*----------------------------------------------------------------------*/#define SIOCGMBSTAT 0x40FF7301 /* Mblks statistics */#define SIOCGDBSTAT 0x40ff7302 /* Data Block statistics *//*---------------------------------------------------------------------*//* Control Commands for shutdown() to control socket action *//*---------------------------------------------------------------------*/#define FREAD 0x00 /* Shutdown read buffer */#define FWRITE 0x01 /* Shutdown write buffer *//*---------------------------------------------------------------------*//* Asynchronous signals generated by pNA *//*---------------------------------------------------------------------*/#define SIGIO 0x40000000 /* Signal I/O on socket */#define SIGPIPE 0x20000000 /* Signal PIPE on socket */#define SIGURG 0x10000000 /* Signal Urgent data on socket */#define SIGINTF 0x08000000 /* Signal change in Interface Status *//*---------------------------------------------------------------------*//* Definitions for type of route *//*---------------------------------------------------------------------*/#define RT_NETWORK 0x0 /* Network Route */#define RT_HOST 0x1 /* Host Route */#define RT_MASK 0x2 /* Subnet Route with mask *//***********************************************************************//* Definitions of bits in internet address integers. *//***********************************************************************//*---------------------------------------------------------------------*//* Class A Network *//*---------------------------------------------------------------------*/#define IN_CLASSA(i) (((long)(i) & 0x80000000) == 0)#define IN_CLASSA_NET 0xFF000000#define IN_CLASSA_NSHIFT 0x18#define IN_CLASSA_HOST 0x00FFFFFF#define IN_CLASSA_MAX 0x80/*---------------------------------------------------------------------*//* Class B Network *//*---------------------------------------------------------------------*/#define IN_CLASSB(i) (((long)(i) & 0xc0000000) == 0x80000000)#define IN_CLASSB_NET 0xFFFF0000#define IN_CLASSB_NSHIFT 0x10#define IN_CLASSB_HOST 0x0000FFFF#define IN_CLASSB_MAX 0x10000/*---------------------------------------------------------------------*//* Class C Network *//*---------------------------------------------------------------------*/#define IN_CLASSC(i) (((long)(i) & 0xe0000000) == 0xc0000000)#define IN_CLASSC_NET 0xFFFFFF00#define IN_CLASSC_NSHIFT 0x8#define IN_CLASSC_HOST 0x000000FF/*---------------------------------------------------------------------*//* Broadcast and Default Address Definitions *//*---------------------------------------------------------------------*/#define INADDR_ANY ((unsigned long)0x00000000)#define INADDR_BROADCAST ((unsigned long)0xFFFFFFFF)/*----------------------------------------------------------------------*//* Generic Socket address *//*----------------------------------------------------------------------*/struct sockaddr { unsigned short sa_family; char sa_data[14]; };/*---------------------------------------------------------------------*//* Berkeley Internet address *//*---------------------------------------------------------------------*/struct in_addr { unsigned long s_addr; /* IP address of the socket */ };/*---------------------------------------------------------------------*//* Socket address, internet style. *//*---------------------------------------------------------------------*/struct sockaddr_in { short sin_family; /* must be AF_INET */ unsigned short sin_port; /* 16-bit port number */ struct in_addr sin_addr; /* 32-bit IP address */ char sin_zero[8]; /* must be 0 */ };/*---------------------------------------------------------------------*//* Socket address with interface information *//*---------------------------------------------------------------------*/struct sockaddr_intf { short sin_family; /* must be AF_INET */ unsigned short sin_port; /* 16-bit port number */ struct in_addr sin_addr; /* 32-bit IP address */ long sin_ifno; /* 32-bit interface number */ char sin_zero[4]; /* must be 0 */};/*---------------------------------------------------------------------*//* Structure used for manipulating linger option. *//*---------------------------------------------------------------------*/struct linger { int l_onoff; /* option on/off */ int l_linger; /* linger time */ };/***********************************************************************//* Structures for sendmsg() and recvmsg() *//***********************************************************************//*---------------------------------------------------------------------*//* IO vector structure for sendmsg() and recvmsg() *//*---------------------------------------------------------------------*/struct iovec { char *iov_base; /* base address */ int iov_len; /* buffer length */ };/*---------------------------------------------------------------------*//* Message header for sendmsg() and recvmsg() *//*---------------------------------------------------------------------*/struct msghdr { char *msg_name; /* optional address */ int msg_namelen; /* size of address */ struct iovec *msg_iov; /* scatter/gather array */ int msg_iovlen; /* # elements in msg_iov */ char *msg_accrights; /* access rights */ int msg_accrightslen; /* length of the rights buffer */ };/***********************************************************************//* Definitions for select(). Select uses bit masks of file descrip- *//* tors in longs. These macros manipulate such bit fields. *//***********************************************************************/#define FD_SETSIZE 0x100#define NFDBITS 0x20 /* bits per mask *//*---------------------------------------------------------------------*//* Definition for fd_set structure used in select(). *//*---------------------------------------------------------------------*/typedef struct fd_set { long fds_bits[8]; } fd_set;/***********************************************************************//* Macros for Select fd_sets *//***********************************************************************//*---------------------------------------------------------------------*//* Sets bit 'n' in the bitmask. *//*---------------------------------------------------------------------*/#define FD_SET(n, p) ((p)->fds_bits[(n)/NFDBITS] |= \ (((unsigned long) 0x80000000) >> ((n) % NFDBITS)))/*---------------------------------------------------------------------*//* Clears bit 'n' in the bitmask. *//*---------------------------------------------------------------------*/#define FD_CLR(n, p) ((p)->fds_bits[(n)/NFDBITS] &= \ ~(((unsigned long) 0x80000000) >> ((n) % NFDBITS)))/*---------------------------------------------------------------------*//* Checks to see if bit 'n' is set. *//*---------------------------------------------------------------------*/#define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & \ (((unsigned long) 0x80000000) >> ((n) % NFDBITS)))/*---------------------------------------------------------------------*//* Zeroes out the fd_set. *//*---------------------------------------------------------------------*/#define FD_ZERO(p) { \ (p)->fds_bits[0] = 0; \ (p)->fds_bits[1] = 0; \ (p)->fds_bits[2] = 0; \ (p)->fds_bits[3] = 0; \ (p)->fds_bits[4] = 0; \ (p)->fds_bits[5] = 0; \ (p)->fds_bits[6] = 0; \ (p)->fds_bits[7] = 0; \ }/*---------------------------------------------------------------------*//* Timeval structure used in select() *//*---------------------------------------------------------------------*/struct timeval { long tv_sec; /* no. of seconds */ long tv_usec; /* no. of micro seconds */ };
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -