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 ) ) 54 #define s6_addr in6_u.u6_addr8 55 #define s6_addr16 in6_u.u6_addr16 56 #define s6_addr32 in6_u.u6_addr32 59 #define IN6_IS_ADDR_UNSPECIFIED( addr ) \ 60 ( ( ( ( ( const uint32_t * ) (addr) )[0] ) | \ 61 ( ( ( const uint32_t * ) (addr) )[1] ) | \ 62 ( ( ( const uint32_t * ) (addr) )[2] ) | \ 63 ( ( ( const uint32_t * ) (addr) )[3] ) ) == 0 ) 65 #define IN6_IS_ADDR_MULTICAST( addr ) \ 66 ( *( ( const uint8_t * ) (addr) ) == 0xff ) 68 #define IN6_IS_ADDR_LINKLOCAL( addr ) \ 69 ( ( *( ( const uint16_t * ) (addr) ) & htons ( 0xffc0 ) ) == \ 72 #define IN6_IS_ADDR_SITELOCAL( addr ) \ 73 ( ( *( ( const uint16_t * ) (addr) ) & htons ( 0xffc0 ) ) == \ 76 #define IN6_IS_ADDR_ULA( addr ) \ 77 ( ( *( ( 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.
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)
union in6_addr::@560 in6_u
struct in6_addr sin6_addr
IPv6 address.