socket 地址结构体定义

来源:互联网 发布:太原理工大 软件学院吧 编辑:程序博客网 时间:2024/05/21 14:54

IPV4

struct sockaddr_in {

  __kernel_sa_family_t    sin_family;    /* Address family        */
  __be16        sin_port;    /* Port number            */
  struct in_addr    sin_addr;    /* Internet address        */

  /* Pad to size of `struct sockaddr'. */
  unsigned char        __pad[__SOCK_SIZE__ - sizeof(short int) -
            sizeof(unsigned short int) - sizeof(struct in_addr)];
};


IPV6

struct sockaddr_in6 {
    unsigned short int    sin6_family;    /* AF_INET6 */
    __be16            sin6_port;      /* Transport layer port # */
    __be32            sin6_flowinfo;  /* IPv6 flow information */
    struct in6_addr        sin6_addr;      /* IPv6 address */
    __u32            sin6_scope_id;  /* scope id (new in RFC2553) */
};


通用地址结构

struct sockaddr {
    sa_family_t    sa_family;    /* address family, AF_xxx    */
    char        sa_data[14];    /* 14 bytes of protocol address    */
};

原创粉丝点击