Total Articles 180
#define AF_INET PF_INET#define AF_INET6 PF_INET6#define PF_INET 2 /* IP protocol family. */#define PF_INET6 10 /* IP version 6. */
/* Internet address. */typedef uint32_t in_addr_t;struct in_addr{
in_addr_t s_addr;};
/* IPv6 address */struct in6_addr{
union{
uint8_t __u6_addr8[16];#if defined __USE_MISC || defined __USE_GNUuint16_t __u6_addr16[8];uint32_t __u6_addr32[4];#endif
} __in6_u;#define s6_addr __in6_u.__u6_addr8#if defined __USE_MISC || defined __USE_GNU# define s6_addr16 __in6_u.__u6_addr16# define s6_addr32 __in6_u.__u6_addr32#endif
};
/* Structure describing a generic socket address. */
struct sockaddr{
__SOCKADDR_COMMON (sa_); /* Common data: address family and length. */char sa_data[14]; /* Address data. */};
/* Structure describing an Internet socket address. */struct sockaddr_in{
__SOCKADDR_COMMON (sin_);in_port_t sin_port; /* Port number. */struct in_addr sin_addr; /* Internet address. *//* Pad to size of `struct sockaddr'. */unsigned char sin_zero[sizeof (struct sockaddr) -__SOCKADDR_COMMON_SIZE -sizeof (in_port_t) -sizeof (struct in_addr)];};
struct sockaddr_in6{
__SOCKADDR_COMMON (sin6_);in_port_t sin6_port; /* Transport layer port # */uint32_t sin6_flowinfo; /* IPv6 flow information */struct in6_addr sin6_addr; /* IPv6 address */uint32_t sin6_scope_id; /* IPv6 scope-id */};
/* Structure large enough to hold any socket address (with the historicalexception of AF_UNIX). We reserve 128 bytes. */#define __ss_aligntype unsigned long int#define _SS_SIZE 128#define _SS_PADSIZE (_SS_SIZE - (2 * sizeof (__ss_aligntype)))struct sockaddr_storage{
__SOCKADDR_COMMON (ss_); /* Address family, etc. */__ss_aligntype __ss_align; /* Force desired alignment. */char __ss_padding[_SS_PADSIZE];};