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

📄 pna.h

📁 用于TM1300/PNX1300系列DSP(主要用于视频处理)的操作系统pSOS。包括全部源码
💻 H
📖 第 1 页 / 共 4 页
字号:
#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)#define INADDR_UNSPEC_GROUP     ((unsigned long)0xe0000000) /* 224.0.0.0 */#define INADDR_ALLHOSTS_GROUP   ((unsigned long)0xe0000001) /* 224.0.0.1 */#define INADDR_MAX_LOCAL_GROUP  ((unsigned long)0xe00000ff) /* 224.0.0.255 *//*----------------------------------------------------------------------*//* 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 */    };/*----------------------------------------------------------------------*//* Message block statistics                                             *//*----------------------------------------------------------------------*/struct mbstat    {    long mb_bufclasses;           /* Number of buffer classes */    long mb_mblks;                /* Number of  mblks configured */    long mb_free;                 /* Number of available mblks */    long mb_wait;                 /* Number of times waited for mblk */    long mb_drops;                /* Number of times failed to get mblk */    };/*----------------------------------------------------------------------*//* Data blocks statistics                                               *//*----------------------------------------------------------------------*/struct dbstat    {    long db_size;                 /* Size of data block */    long db_dblks;                /* Number of data blocks */    long db_free;                 /* number of free data blocks */    long db_wait;                 /* Number of times waited to get dblk */    long db_drops;                /* Number of times failed to get dblk */    long db_reserved[2];          /* Reserved entries */    };/*----------------------------------------------------------------------*//*  Structure to request data block statistics using ioctl call         *//*----------------------------------------------------------------------*/struct dbreq    {    long size;    struct dbstat *dsp;    };/*----------------------------------------------------------------------*//* rtentry structure used in ioctl() call to communicate routes to      *//* pNA routing table. rt_netmask is ignored unless the RTF_MASK is      *//* set in the rt_flags entry. If rt_netmask is not filled in then pNA+  *//* will compute a mask based on the class of the address. Optionally    *//* rt_ifno may be used to specify the outgoing interface of a route.    *//* This is helpful with unnumbered links where the outgoing interface   *//* cannot be defined by just the interface IP address.                  *//*----------------------------------------------------------------------*/struct rtentry    {    struct sockaddr rt_dst;       /* key to access the route*/    struct sockaddr rt_gateway;   /* route gateway */    unsigned short rt_flags;      /* host/net */    unsigned short rt_reserved;   /* reserved */    unsigned long rt_netmask;     /* netmask of route - ignored unless                                     RTF_MASK is set in rt_flags */    long rt_ifno;                 /* interface no for local interface - ignored                                     unless RTF_INTF is set in rt_flags */    unsigned long rt_reserved2[2];/* reserved */    };#define RTF_HOST      0x1         /* host entry (net otherwise) */#define RTF_GATEWAY   0x2         /* destination is a gateway */#define RTF_UP        0x4         /* route usable */#define RTF_REJECT    0x8         /* host or net unreachable */#define RTF_DYNAMIC   0x10        /* created dynamically (by redirect) */#define RTF_MODIFIED  0x20	  /* modified dynamically (by redirect) */#define RTF_INTF      0x40        /* route via a given intf */#define RTF_MASK      0x80        /* Uses Subnet version *//*---------------------------------------------------------------------*//* Argument structure for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP.    *//*---------------------------------------------------------------------*/struct ip_mreq {    struct  in_addr imr_mcastaddr;  /* IP multicast address of group */    struct  in_addr imr_interface;  /* local IP address of interface */};/*--------------------------------------------------------------------------*//* Argument structure for IP_ADD_MEMBERSHIP_IFNO and IP_DROP_MEMBERSHIP_IFNO*//*--------------------------------------------------------------------------*/struct ip_mreq_intf {    struct  in_addr imrif_mcastaddr; /* IP multicast address of group */    long imrif_ifno;                 /* local interface number */};/*----------------------------------------------------------------------*//* ifreq structure used in ioctl() call for getting NI characteristics  *//*----------------------------------------------------------------------*/struct ifreq    {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -