19 #define INADDR_NONE htonl ( 0xffffffff ) 21 #define INADDR_BROADCAST htonl ( 0xffffffff ) 23 #define INADDR_NET_CLASSA htonl ( 0xff000000 ) 24 #define INADDR_NET_CLASSB htonl ( 0xffff0000 ) 25 #define INADDR_NET_CLASSC htonl ( 0xffffff00 ) 27 #define IN_IS_CLASSA( addr ) \ 28 ( ( (addr) & htonl ( 0x80000000 ) ) == htonl ( 0x00000000 ) ) 29 #define IN_IS_CLASSB( addr ) \ 30 ( ( (addr) & htonl ( 0xc0000000 ) ) == htonl ( 0x80000000 ) ) 31 #define IN_IS_CLASSC( addr ) \ 32 ( ( (addr) & htonl ( 0xe0000000 ) ) == htonl ( 0xc0000000 ) ) 33 #define IN_IS_MULTICAST( addr ) \ 34 ( ( (addr) & htonl ( 0xf0000000 ) ) == htonl ( 0xe0000000 ) ) 36 #define IN_IS_SMALL( mask ) ( (mask) & htonl ( 0x00000003 ) ) 56 #define s6_addr in6_u.u6_addr8 57 #define s6_addr16 in6_u.u6_addr16 58 #define s6_addr32 in6_u.u6_addr32 61 #define IN6_IS_ADDR_UNSPECIFIED( addr ) \ 62 ( ( ( ( ( const uint32_t * ) (addr) )[0] ) | \ 63 ( ( ( const uint32_t * ) (addr) )[1] ) | \ 64 ( ( ( const uint32_t * ) (addr) )[2] ) | \ 65 ( ( ( const uint32_t * ) (addr) )[3] ) ) == 0 ) 67 #define IN6_IS_ADDR_MULTICAST( addr ) \ 68 ( *( ( const uint8_t * ) (addr) ) == 0xff ) 70 #define IN6_IS_ADDR_LINKLOCAL( addr ) \ 71 ( ( *( ( const uint16_t * ) (addr) ) & htons ( 0xffc0 ) ) == \ 74 #define IN6_IS_ADDR_SITELOCAL( addr ) \ 75 ( ( *( ( const uint16_t * ) (addr) ) & htons ( 0xffc0 ) ) == \ 78 #define IN6_IS_ADDR_ULA( addr ) \ 79 ( ( *( ( const uint8_t * ) (addr) ) & 0xfe ) == 0xfc )
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
uint16_t sin6_scope_id
Scope ID (part of struct sockaddr_tcpip)
sa_family_t sin_family
Socket address family (part of struct sockaddr)
uint16_t sin_scope_id
Scope ID (part of struct sockaddr_tcpip)
char pad[sizeof(struct sockaddr) -(sizeof(sa_family_t)+sizeof(uint16_t)+sizeof(uint16_t)+sizeof(uint16_t)+sizeof(struct in_addr))]
Padding.
uint16_t sa_family_t
A socket address family.
int inet_aton(const char *cp, struct in_addr *inp)
Parse IPv4 address.
int inet6_aton(const char *string, struct in6_addr *in)
Parse IPv6 address.
Generalized socket address structure.
uint16_t sin_port
TCP/IP port (part of struct sockaddr_tcpip)
char * inet6_ntoa(const struct in6_addr *in)
Convert IPv6 address to standard notation.
union in6_addr::@623 in6_u
struct in_addr sin_addr
IPv4 address.
char pad[sizeof(struct sockaddr) -(sizeof(sa_family_t)+sizeof(uint16_t)+sizeof(uint16_t)+sizeof(uint16_t)+sizeof(struct in6_addr))]
Padding.
uint16_t sin_flags
Flags (part of struct sockaddr_tcpip)
uint16_t sin6_port
TCP/IP port (part of struct sockaddr_tcpip)
sa_family_t sin6_family
Socket address family (part of struct sockaddr)
char * inet_ntoa(struct in_addr in)
Convert IPv4 address to dotted-quad notation.
uint16_t sin6_flags
Flags (part of struct sockaddr_tcpip)
struct in6_addr sin6_addr
IPv6 address.