硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1720|回复: 0
收起左侧

[RL-TCPnet] TCPnet中BSD Socket的几个重要参数和变量定义

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2017-6-2 01:39:54 | 显示全部楼层 |阅读模式
罗列下,方便以后查看,下面是宏定义:
  1. /* BSD Socket Address Family */
  2. #define AF_UNSPEC               0     /* Unspecified                   */
  3. #define AF_INET                       1     /* Internet Address Family (UDP, TCP)      */
  4. #define AF_NETBIOS              2     /* NetBios-style addresses             */
  5. /* BSD Protocol families, same as address families */
  6. #define PF_UNSPEC          AF_UNSPEC
  7. #define PF_INET                  AF_INET
  8. #define PF_NETBIOS         AF_NETBIOS
  9. /* BSD Socket Type */
  10. #define SOCK_STREAM          1        /* Stream Socket (Connection oriented)     */
  11. #define SOCK_DGRAM           2         /* Datagram Socket (Connectionless)      */
  12. /* BSD Socket Protocol */
  13. #define IPPROTO_TCP        1      /* TCP Protocol    */
  14. #define IPPROTO_UDP        2      /* UDP Protocol    */
  15. /* BSD Internet Addresses */
  16. #define INADDR_ANY        0x00000000     /* All IP addresses accepted       */
  17. #define INADDR_NONE    0xffffffff                 /* No IP address accepted         */
  18. /* BSD Socket Return values */
  19. #define SCK_SUCCESS                     0          /* Success             */
  20. #define SCK_ERROR                         (-1)      /* General Error         */
  21. #define SCK_EINVALID                      (-2)      /* Invalid socket descriptor               */
  22. #define SCK_EINVALIDPARA           (-3)      /* Invalid parameter                       */
  23. #define SCK_EWOULDBLOCK        (-4)      /* It would have blocked.                  */
  24. #define SCK_EMEMNOTAVAIL        (-5)      /* Not enough memory in memory pool        */
  25. #define SCK_ECLOSED                    (-6)     /* Connection is closed or aborted         */
  26. #define SCK_ELOCKED                    (-7)    /* Socket is locked in RTX environment     */
  27. #define SCK_ETIMEOUT                   (-8)    /* Socket, Host Resolver timeout           */
  28. #define SCK_EINPROGRESS          (-9)    /* Host Name resolving in progress         */
  29. #define SCK_ENONAME                  (-10)   /* Host Name not existing                  */
  30. /* BSD Socket flags parameter */
  31. #define MSG_DONTWAIT            0x01   /* Enables non-blocking operation          */
  32. #define MSG_PEEK                      0x02   /* Peeks at the incoming data              */
  33. /* BSD Socket ioctl commands */
  34. #define FIONBIO                             1      /* Set mode (blocking/non-blocking)        */
  35. #define FIO_DELAY_ACK             2      /* Set DELAY_ACK mode for stream socket    */
  36. #define FIO_KEEP_ALIVE            3      /* Set KEEP_ALIVE mode for stream socket   */
  37. #define FIO_FLOW_CTRL            4      /* Set FLOW_CTRL mode for stream socket    */
复制代码

下面是变量:
  1. typedef struct in_addr {          /* << Generic IPv4 Address structure >>    */
  2.   union {
  3.     struct {
  4.       U8 s_b1,s_b2,s_b3,s_b4;          /* IP address, byte access                 */
  5.     };
  6.     struct {
  7.       U16 s_w1,s_w2;                         /* IP address, short int access            */
  8.     };
  9.     U32 s_addr;                                  /* IP address in network byte order        */
  10.   };
  11. } IN_ADDR;
  12. #pragma pop
  13. typedef struct sockaddr_in {      /* << IPv4 Socket Address structure >>     */
  14.   S16 sin_family;                           /* Socket domain                           */
  15.   U16 sin_port;                              /* Port                                    */
  16.   IN_ADDR sin_addr;                  /* IP address                              */
  17.   S8  sin_zero[8];                          /* reserved                                */
  18. } SOCKADDR_IN;
  19. typedef struct hostent {          /* << BSD Host Entry structure >>          */
  20.   char *h_name;                      /* Official name of host                   */
  21.   char **h_aliases;                 /* Pointer to an array of alias names      */
  22.   S16  h_addrtype;                 /* Address Type: AF_INET, AF_NETBIOS       */
  23.   S16  h_length;                      /* Length of address in bytes              */
  24.   char **h_addr_list;              /* Pointer to an array of IPv4 addresses   */
  25. } HOSTENT;
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-16 02:29 , Processed in 0.139414 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表