⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pna.h

📁 PPPoE协议在Psos中的实现源代码
💻 H
📖 第 1 页 / 共 4 页
字号:
#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 + -