TCP/IP Programming Manual
in6_addr
This structure holds a single IPv6 address. This structure is implemented with an embedded union
with extra fields that force an alignment level in a manner similar to BSD implementations of struct
in_addr. This structure is used by the socket routines and is declared in the in6.h header file. This
structure applies to NonStop TCP/IP only.
C Declaration
#include <in6.h>
struct in6_addr union {
u_char sa6_addr[16];
#define s6_addr s6_un.sa6_addr
u_short sa6_waddr[8];
#define s6_waddr s6_un.sa6_waddr
u_long sa6_laddr[4];
#define s6_laddr s6_un.sa6_laddr
#ifdef IN6_HAS_64BIT_INTTYPE
uint64_t sa6_qaddr[2];
#define s6_qaddr s6_un.sa6_qaddr
#endif
} s6_un;
};
TAL Declaration
?NOLIST, SOURCE SOCKDEFT
STRUCT .in6_addr;
BEGIN
STRING s6_addr[0:15]; !128-bit IPv6 addr
INT s6_waddr = s6_addr; !as 8 words
INT(32) s6_laddr = s6_addr; !as 4 longs
FIXED s6_qaddr = s6_addr; !as 2 quads
END;
sa6_addr[16]
a host address formatted as 16 u_chars.
sa6_waddr[8]
a host address formatted as eight u_shorts.
sa6_laddr
a host address formatted as four u_longs.
sa6_qaddr
a host address formatted as two uint64_ts.
ip_mreq
The IP multicast request structure is used for multicast socket I/O control operations. This structure
is used by the socket routines and is declared in the in.h header file
C Declaration
#include <in.h>
struct ip_mreq {
struct in_addr imr_multiaddr; /* IP multicast group
address */
struct in_addr imr_interface; /* local interface IP
address */
};
TAL Declaration
70 Data Structures