BPXYSOCK maps the SOCKADDR structure for socket, accept,
bind, sendto, recvfrom, getsockname, and getpeername.
BPXYSOCK ,
*
***********************************************************************
** BPXYSOCK: z/OS UNIX Socket Address Structure *
** Used By: Sockets PFS *
***********************************************************************
*
SOCKADDR DSECT ,
AGO .C411
.B411 ANOP ,
SOCKADDR DS 0F
.C411 ANOP ,
SOCKBEGIN DS 0F
*
SOCK_LEN DS X Address Length - Length of **
either SOCK_SIN (for AF_INET **
sockets) or of the name supplied**
in SOCK_SUN_NAME (for AF_UNIX **
sockets)
SOCK_FAMILY DS X Address Family
SOCK_DATA DS 0C Protocol specific area
*
SOCK#LEN EQU *-SOCKADDR Constant - Fixed length of SOCK
*
***********************************************************************
* *
* AF_Inet Socket Address Structure *
* *
***********************************************************************
*
ORG SOCK_DATA Start of AF_Inet unique area
SOCK_SIN DS 0C
SOCK_SIN_PORT DS H Port number used by the appl
SOCK_SIN_ADDR DS CL4 INET address (netid)
DS CL8 Reserved area not used
*
SOCK_SIN#LEN EQU *-SOCK_SIN Constant - Fixed length of
* AF_Inet unique area
*
*
***********************************************************************
* *
* AF_UNIX Socket Address Structure *
* *
***********************************************************************
*
ORG SOCK_DATA Start of AF_Unix unique area
SOCK_SUN DS 0C
SOCK_SUN_NAME DS CL108 Path name of the socket @P0C
* Length 108 matchs RS/6000@P0A
*
SOCK_SUN#LEN EQU *-SOCK_SUN Constant - Fixed length of
* AF_Unix unique area
*
***********************************************************************
* *
* AF_Inet6 Socket Address Structure *
* *
***********************************************************************
*
ORG SOCK_DATA Start of AF_Inet6 area @PBA
SOCK_SIN6 DS 0C @PBA
SOCK_SIN6_PORT DS H Port number used by the appl @PBA
SOCK_SIN6_FLOWINFO DS CL4 FLOW INFORMATION @PBA
SOCK_SIN6_ADDR DS CL16 INET address (netid) @PBA
SOCK_SIN6_SCOPE_ID DS CL4 SCOPE ID @PBA
* @PBA
SOCK_SIN6#LEN EQU *-SOCK_SIN6 Length of AF_INET6 area @PBA
*
***********************************************************************
* *
* Equates for Address Families *
* *
***********************************************************************
*
AF_UNSPEC EQU 0 Unspecified
AF_UNIX EQU 1 Unix Domain
AF_INET EQU 2 Internetwork: UDP TCP
AF_IMPLINK EQU 3 Arpanet imp addresses
AF_PUP EQU 4 pup protocols: BSP
AF_CHAOS EQU 5 mit CHAOS protocols
AF_NS EQU 6 XEROX NS protocols
AF_NBS EQU 7 nbs protocols
AF_ECMA EQU 8 European computer man.
AF_DATAKIT EQU 9 datakit protocols
AF_CCITT EQU 10 CCITT protocols: X.25
AF_SNA EQU 11 IBM SNA
AF_DECNET EQU 12 DECNet
AF_DLI EQU 13 Direct data link interface
AF_LAT EQU 14 LAT
AF_HYLINK EQU 15 NSC hyperchannel
AF_APPLETALK EQU 16 Apple Talk
AF_IUCV EQU 17 IBM IUCV
AF_ESCON EQU 18 ESCON UDP @D4A
AF_INET6 EQU 19 IPv6 @P8A
AF_ROUTE EQU 20 Routing Sockets @P8A
AF_MAX EQU 21 @P8C
*
*********************************************************************
* Equates for protocol @P2A
*********************************************************************
*
IPPROTO_IP EQU 0 DEFAULT PROTOCOL
IPPROTO_TCP EQU 6 TCP
IPPROTO_UDP EQU 17 USER DATAGRAM
IPPROTO_IPV6 EQU 41 IPv6 @PBA
IPPROTO_ICMPV6 EQU 58 IPv6 ICMP @D9A
*
IPPROTO_HOPOPTS EQU 0 @DAA
IPPROTO_ROUTING EQU 43 @DAA
IPPROTO_FRAGMENT EQU 44 @DAA
IPPROTO_ESP EQU 50 @DAA
IPPROTO_AH EQU 51 @DAA
IPPROTO_NONE EQU 59 @DAA
IPPROTO_DSTOPTS EQU 60 @DAA
*
***********************************************************************
* *
* Equates for setpeer options *
* *
***********************************************************************
*
SOCK#SO_SET DC X'00000200'
SOCK#SO_SET_EQU EQU X'00000200' @04A
SOCK#SO_UNSET DC X'00000400'
SOCK#SO_UNSET_EQU EQU X'00000400' @04A
*
***********************************************************************
* *
* Equates for socket types *
* *
***********************************************************************
*
SOCK#_STREAM EQU 1
SOCK#_DGRAM EQU 2
SOCK#_RAW EQU 3
SOCK#_RDM EQU 4
SOCK#_SEQPACKET EQU 5
*
***********************************************************************
* *
* Equates for Dimension (socket/socketpair syscall) *
* *
***********************************************************************
*
SOCK#DIM_SOCKET EQU 1
SOCK#DIM_SOCKETPAIR EQU 2
SOCK#DIM_SOCKETWAFFINITY EQU 3 @02A
SOCK#DIM_SOCKETPAIRWAFFINITY EQU 4 @02A
*
***********************************************************************
* *
* Equates for getname option *
* *
***********************************************************************
*
SOCK#GNMOPTGETPEERNAME EQU 1
SOCK#GNMOPTGETSOCKNAME EQU 2
*
***********************************************************************
* *
* Equates for sockopt *
* *
***********************************************************************
*
SOCK#OPTOPTGETSOCKOPT EQU 1
SOCK#OPTOPTSETSOCKOPT EQU 2
SOCK#OPTOPTSETIBMSOCKOPT EQU 3 @D5A
*
***********************************************************************
* *
* Equates for Shutdown options *
* *
***********************************************************************
*
SOCK#SHUTDOWNREAD EQU 0
SOCK#SHUTDOWNWRITE EQU 1
SOCK#SHUTDOWNBOTH EQU 2
*
*
***********************************************************************
* *
* Equate for Level Number for socket options *
* *
***********************************************************************
*
SOCK#SOL_SOCKET DC X'0000FFFF'
SOCK#SOL_SOCKET_EQU EQU X'0000FFFF' @04A
*
*
***********************************************************************
* *
* Equate for InAddrAny for bind requests *
* *
***********************************************************************
*
INADDR_ANY DC X'00000000'
INADDR_ANY_EQU EQU X'00000000' @04A
*
INADDR_LOOPBACK DC X'7F000001' @PBA
INADDR_LOOPBACK_EQU EQU X'7F000001' @04A
IN6ADDR_ANY DC X'00000000000000000000000000000000' @PBA
IN6ADDR_LOOPBACK DC X'00000000000000000000000000000001' @PBA
IN6ADDR_MAPPEDV4 DC X'00000000000000000000FFFF' @D9A
IN6ADDR_COMPATV4 DC X'000000000000000000000000' @D9A
*
***********************************************************************
* *
* Equates for Socket options *
* *
***********************************************************************
*
SOCK#SO_DEBUG DC X'00000001'
SOCK#SO_ACCEPTCONN DC X'00000002'
SOCK#SO_REUSEADDR DC X'00000004'
SOCK#SO_KEEPALIVE DC X'00000008'
SOCK#SO_DONTROUTE DC X'00000010'
SOCK#SO_BROADCAST DC X'00000020'
SOCK#SO_USELOOPBACK DC X'00000040'
SOCK#SO_LINGER DC X'00000080'
SOCK#SO_OOBINLINE DC X'00000100'
SOCK#SO_REUSEPORT EQU X'00000200' To match socket.h @DHA
SOCK#SO_REUSEPORT2 EQU X'00000007' As implemented in TCPIP @DHA
*
SOCK#SO_SNDBUF DC X'00001001'
SOCK#SO_RCVBUF DC X'00001002'
SOCK#SO_SNDLOWAT DC X'00001003'
SOCK#SO_RCVLOWAT DC X'00001004'
SOCK#SO_SNDTIMEO DC X'00001005'
SOCK#SO_RCVTIMEO DC X'00001006'
SOCK#SO_ERROR DC X'00001007'
SOCK#SO_TYPE DC X'00001008'
*
* Non-standard sockopts
*
SO_PROPAGATEID DC X'00004000' @D7A
SO_CLUSTERCONNTYPE DC X'00004001' @P8A
SO_SECINFO DC X'00004002' @D9A
SO_RECVUSERNAME EQU X'00004003' @DHA
* @04A
* EQUated Versions @04A
* @04A
SOCK#SO_DEBUG_EQU EQU X'00000001' @04A
SOCK#SO_ACCEPTCONN_EQU EQU X'00000002' @04A
SOCK#SO_REUSEADDR_EQU EQU X'00000004' @04A
SOCK#SO_KEEPALIVE_EQU EQU X'00000008' @04A
SOCK#SO_DONTROUTE_EQU EQU X'00000010' @04A
SOCK#SO_BROADCAST_EQU EQU X'00000020' @04A
SOCK#SO_USELOOPBACK_EQU EQU X'00000040' @04A
SOCK#SO_LINGER_EQU EQU X'00000080' @04A
SOCK#SO_OOBINLINE_EQU EQU X'00000100' @04A
SOCK#SO_SNDBUF_EQU EQU X'00001001' @04A
SOCK#SO_RCVBUF_EQU EQU X'00001002' @04A
SOCK#SO_SNDLOWAT_EQU EQU X'00001003' @04A
SOCK#SO_RCVLOWAT_EQU EQU X'00001004' @04A
SOCK#SO_SNDTIMEO_EQU EQU X'00001005' @04A
SOCK#SO_RCVTIMEO_EQU EQU X'00001006' @04A
SOCK#SO_ERROR_EQU EQU X'00001007' @04A
SOCK#SO_TYPE_EQU EQU X'00001008' @04A
SO_PROPAGATEID_EQU EQU X'00004000' @04A
SO_CLUSTERCONNTYPE_EQU EQU X'00004001' @04A
SO_SECINFO_EQU EQU X'00004002' @04A
*
* SO_CLUSTERCONNTYPE Output Values
*
SO_CLUSTERCONNTYPE_NOCONN EQU 0 @P8A
SO_CLUSTERCONNTYPE_NONE EQU 1 @P8A
SO_CLUSTERCONNTYPE_SAME_CLUSTER EQU 2 @P8A
SO_CLUSTERCONNTYPE_SAME_IMAGE EQU 4 @P8A
SO_CLUSTERCONNTYPE_INTERNAL EQU 8 @P8A
*
*
* IPPROTO_IP Options
*
IP_TOS EQU 2 @P9C@D6A
IP_MULTICAST_TTL EQU 3 @D6A
IP_MULTICAST_LOOP EQU 4 @D6A
IP_ADD_MEMBERSHIP EQU 5 @D6A
IP_DROP_MEMBERSHIP EQU 6 @D6A
IP_MULTICAST_IF EQU 7 @P9C@D6A
IP_DEFAULT_MULTICAST_TTL EQU 1 @D6A
IP_DEFAULT_MULTICAST_LOOP EQU 1 @D6A
IP_MAX_MEMBERSHIPS EQU 20 @D6A
IP_BLOCK_SOURCE EQU 10 @DEA
IP_UNBLOCK_SOURCE EQU 11 @DEA
IP_ADD_SOURCE_MEMBERSHIP EQU 12 @DEA
IP_DROP_SOURCE_MEMBERSHIP EQU 13 @DEA
***********************************************************************
* Multicast Source Filter Structures from RFC 3678 *
****************************************************************** @DEA
AIF ('&DSECT' EQ 'NO').B425 @DEA
SOCKADDR_STORAGE_STRUCT DSECT , @DEA
AGO .C425 @DEA
.B425 ANOP , @DEA
SOCKADDR_STORAGE_STRUCT DS 0D @DEA
.C425 ANOP , @DEA
SOCKADDR_STORAGE DS CL128 @DEA
*
* setibmsockopt options
*
SOCK#SO_BULKMODE DC X'00008000' @D5A
SOCK#SO_IGNOREINCOMINGPUSH DC X'00000001' @D5A
SOCK#SO_NONBLOCKLOCAL DC X'00008001' @P7A
SOCK#SO_IGNORESOURCEVIPA DC X'00000002' @P7A
* Toggles the use of non-VIPA addresses. When
* enabled, non-VIPA addresses will be used for
* outbound IP packets.
SOCK#SO_OPTMSS DC X'00008003' @P7A
* Toggles the use of optimal TCP segment size.
* When enabled, the TCP segment size may be optimally
* increased on outbound data transfers. This may
* reduce the amount of TCP outbound and inbound
* acknowledgement packet processing; therefore,
* minimizing CPU consumption. @P7A
SOCK#SO_OPTACK DC X'00008004' Optimize Acks @P7A
SOCK#SO_EIOIFNEWTP DC X'00000005' Notify of new tp @PAA
SOCK#SO_ACCEPTECONNABORTED DC X'00000006' Notify of conn abtd @PEA
SOCK#SO_EXCLWRT DC X'00000007' Write Serialization @03A
* Control Stream Write Serialization @03A
* SetIbmSockOpt option to toggle system supplied
* serialization on TCP stream socket writes.
* NOTE: This function has been disabled and its @DIC
* use is thus discouraged. This function @DIC
* may be withdrawn in a future release. @DIC
* EQUated Versions @04A
SOCK#SO_BULKMODE_EQU EQU X'00008000' @04A
SOCK#SO_IGNOREINCOMINGPUSH_EQU EQU X'00000001' @04A
SOCK#SO_NONBLOCKLOCAL_EQU EQU X'00008001' @04A
SOCK#SO_IGNORESOURCEVIPA_EQU EQU X'00000002' @04A
SOCK#SO_OPTMSS_EQU EQU X'00008003' @04A
SOCK#SO_OPTACK_EQU EQU X'00008004' @04A
SOCK#SO_EIOIFNEWTP_EQU EQU X'00000005' @04A
SOCK#SO_ACCEPTECONNABORTED_EQU EQU X'00000006' @04A
SOCK#SO_EXCLWRT_EQU EQU X'00000007' @04A
*
***********************************************************************
* *
* Equates for So_ option values *
* *
***********************************************************************
SOCK#SO_SETOPTIONON DC X'00000001' @PAA
SOCK#SO_SETOPTIONON_EQU EQU X'00000001' @04A
SOCK#SO_SETOPTIONOFF DC X'00000000' @PAA
SOCK#SO_SETOPTIONOFF_EQU EQU X'00000000' @04A
***********************************************************************
* *
* Equates for IPPROTO_TCP options *
* *
***********************************************************************
SOCK#TCP_NODELAY DC X'00000001' @P4A
SOCK#TCP_NODELAY_EQU EQU X'00000001' @04A
SOCK#TCP_KEEPALIVE DC X'00000008' @P9A
SOCK#TCP_KEEPALIVE_EQU EQU X'00000008' @04A
*
***********************************************************************
* *
* Equates for Socket Port Constant *
* *
***********************************************************************
*
SOCK#LASTRESERVEPORT EQU 1023 @D2A
*
*
AIF ('&DSECT' EQ 'NO').B412 @01A
IP_MREQ DSECT , @P9M@D6A
AGO .C412 @01A
.B412 ANOP , @01A
IP_MREQ DS 0F @01A
.C412 ANOP , @01A
IMR_MULTIADDR DS CL4 IP MULTICAST ADDR OF GROUP @D6A
IMR_INTERFACE DS CL4 LOCAL IP ADDR OF INTERFACE @D6A
*
***********************************************************************
* *
* IP_MREQ_SOURCE STRUCTURE *
* *
****************************************************************** @DEA
AIF ('&DSECT' EQ 'NO').B422 @DEA
IP_MREQ_SOURCE DSECT , @DEA
AGO .C422 @DEA
.B422 ANOP , @DEA
IP_MREQ_SOURCE DS 0F @DEA
.C422 ANOP , @DEA
IMRS_MULTIADDR DS CL4 IP MULTICAST ADDR @DEA
IMRS_SOURCEADDR DS CL4 IP SOURCE ADDR @DEA
IMRS_INTERFACE DS CL4 LOCAL IP ADDR OF INTERFACE @DEA
* @DEA
***********************************************************************
* *
* GROUP_REQ STRUCTURE *
* *
****************************************************************** @DEA
AIF ('&DSECT' EQ 'NO').B423 @DEA
GROUP_REQ DSECT , @DEA
AGO .C423 @DEA
.B423 ANOP , @DEA
GROUP_REQ DS 0F @DEA
.C423 ANOP , @DEA
GR_INTERFACE DS CL4 INTERFACE INDEX @DEA
DS CL4 PADDING @DEA
GR_GROUP DS CL(L'SOCKADDR_STORAGE) GROUP ADDRESS @DEA
ORG GR_GROUP @DEA
GR_MULTISOCKADDR4 DS CL(SOCK#LEN+SOCK_SIN#LEN) @DEA
ORG GR_GROUP @DEA
GR_MULTISOCKADDR6 DS CL(SOCK#LEN+SOCK_SIN6#LEN) @DEA
* @DEA
***********************************************************************
* *
* GROUP_SOURCE_REQ STRUCTURE *
* *
****************************************************************** @DEA
AIF ('&DSECT' EQ 'NO').B424 @DEA
GROUP_SOURCE_REQ DSECT , @DEA
AGO .C424 @DEA
.B424 ANOP , @DEA
GROUP_SOURCE_REQ DS 0D @DEA
.C424 ANOP , @DEA
GSR_INTERFACE DS CL4 INTERFACE INDEX @DEA
DS CL4 PADDING @DEA
GSR_GROUP DS CL(L'SOCKADDR_STORAGE) GROUP ADDRESS @DEA
ORG GSR_GROUP @DEA
GSR_GROUPADDR4 DS CL(SOCK#LEN+SOCK_SIN#LEN) @DEA
ORG GSR_GROUP @DEA
GSR_GROUPADDR6 DS CL(SOCK#LEN+SOCK_SIN6#LEN) @DEA
GSR_SOURCE DS CL(L'SOCKADDR_STORAGE) SOURCE ADDRESS @DEA
ORG GSR_SOURCE @DEA
GSR_SOURCEADDR4 DS CL(SOCK#LEN+SOCK_SIN#LEN) @DEA
ORG GSR_SOURCE @DEA
GSR_SOURCEADDR6 DS CL(SOCK#LEN+SOCK_SIN6#LEN) @DEA
* @DEA
***********************************************************************
* *
* Structure for So_Linger *
* @D3A*
***********************************************************************
*
AIF ('&DSECT' EQ 'NO').B413 @01A
SOCK_LINGER_STRUCT DSECT , @P9A
AGO .C413 @01A
.B413 ANOP , @01A
SOCK_LINGER_STRUCT DS 0F @01A
.C413 ANOP , @01A
SOCK_L_ONOFF DS F On/Off indicator @P9M@D3A
SOCK_L_LINGER DS F Length of time to linger @P9M@D3C
***********************************************************************
* *
* Equates for IPPROTO_IPV6 Options @D9A *
* *
***********************************************************************
SOCK#IPV6_UNICAST_HOPS EQU 3 @D9A
SOCK#IPV6_MULTICAST_LOOP EQU 4
SOCK#IPV6_JOIN_GROUP EQU 5
SOCK#IPV6_LEAVE_GROUP EQU 6
SOCK#IPV6_MULTICAST_IF EQU 7
SOCK#IPV6_MULTICAST_HOPS EQU 9
SOCK#IPV6_V6ONLY EQU 10
SOCK#IPV6_HOPLIMIT EQU 11 ANC DATA ONLY
SOCK#IPV6_PATHMTU EQU 12
SOCK#IPV6_PKTINFO EQU 13
SOCK#IPV6_RECVHOPLIMIT EQU 14
SOCK#IPV6_RECVPKTINFO EQU 15
SOCK#IPV6_RECVPATHMTU EQU 16
SOCK#IPV6_REACHCONF EQU 17
SOCK#IPV6_USE_MIN_MTU EQU 18
SOCK#IPV6_CHECKSUM EQU 19
SOCK#IPV6_NEXTHOP EQU 20
SOCK#IPV6_RTHDR EQU 21
SOCK#IPV6_HOPOPTS EQU 22
SOCK#IPV6_DSTOPTS EQU 23
SOCK#IPV6_RTHDRDSTOPTS EQU 24
SOCK#IPV6_RECVRTHDR EQU 25
SOCK#IPV6_RECVHOPOPTS EQU 26
*SOCK#IPV6_RECVRTHDRDSOPTS EQU 27 @DCD
SOCK#IPV6_RECVDSTOPTS EQU 28
SOCK#IPV6_DONTFRAG EQU 29 @DCA
SOCK#IPV6_TCLASS EQU 30 @DCA
SOCK#IPV6_RECVTCLASS EQU 31 @DCA
SOCK#IPV6_ADDR_PREFERENCES EQU 32 @DJA
SOCK#IPV6_RTHDR_TYPE_0 EQU 0 IPv6 Routing hdr type 0 @D9A
***********************************************************************
* Protocol Independent Options @DEA *
***********************************************************************
SOCK#MCAST_JOIN_GROUP EQU 40 @DEA
SOCK#MCAST_LEAVE_GROUP EQU 41 @DEA
SOCK#MCAST_JOIN_SOURCE_GROUP EQU 42 @DEA
SOCK#MCAST_LEAVE_SOURCE_GROUP EQU 43 @DEA
SOCK#MCAST_BLOCK_SOURCE EQU 44 @DEA
SOCK#MCAST_UNBLOCK_SOURCE EQU 45 @DEA
***********************************************************************
* *
* Equates for IPPROTO_ICMPV6 options @D9A *
* *
***********************************************************************
SOCK#ICMP6_FILTER EQU 1
***********************************************************************
* *
* Structure for Packet Source/Destination Information @D9A *
* *
***********************************************************************
*
IN6_PKTINFO DSECT ,
AGO .C414
.B414 ANOP ,
IN6_PKTINFO DS 0F
.C414 ANOP ,
IPI6_ADDR DS CL16 IPv6 Addr
IPI6_IFINDEX DS F Interface Index
***********************************************************************
* *
* Structure for Multicast Mreq @D9A *
* *
***********************************************************************
*
AIF ('&DSECT' EQ 'NO').B415
IPV6_MREQ DSECT ,
AGO .C415
.B415 ANOP ,
IPV6_MREQ DS 0F
.C415 ANOP ,
IPV6MR_MULTIADDR DS CL16 IPv6 Addr
IPV6MR_INTERFACE DS F Interface index
***********************************************************************
* *
* Structure for CInet Interface Index @D9A *
* *
***********************************************************************
*
AIF ('&DSECT' EQ 'NO').B416
IFINDEX DSECT ,
AGO .C416
.B416 ANOP ,
IFINDEX DS 0F
.C416 ANOP ,
IFI_TDX DS H Cinet Td Index
IFI_INDEX DS H Stacks Interface Index
***********************************************************************
* *
* Structure for Icmp6 Filtering @D9A *
* *
***********************************************************************
*
AIF ('&DSECT' EQ 'NO').B417
ICMP6_FILTER DSECT ,
AGO .C417
.B417 ANOP ,
ICMP6_FILTER DS 0F @DBC
.C417 ANOP , ICMP6_FILT DS 8F 8*32 = 256 bits
*
*
ICMP6_DST_UNREACH EQU 1 @DBA
ICMP6_PACKET_TOO_BIG EQU 2 @DBA
ICMP6_TIME_EXCEEDED EQU 3 @DBA
ICMP6_PARAM_PROB EQU 4 @DBA
ICMP6_INFOMSG_MASK EQU 128 @DBA
ICMP6_ECHO_REQUEST EQU 128 @DBA
ICMP6_ECHO_REPLY EQU 129 @DBA
MLD_LISTENER_QUERY EQU 130 @DBA
MLD_LISTENER_REPORT EQU 131 @DBA
MLD_LISTENER_REDUCTION EQU 132 @DBA
ND_ROUTER_SOLICIT EQU 133 @DBA
ND_ROUTER_ADVERT EQU 134 @DBA
ND_NEIGHBOR_SOLICIT EQU 135 @DBA
ND_NEIGHBOR_ADVERT EQU 136 @DBA
ND_REDIRECT EQU 137 @DBA
*
***********************************************************************
* *
* Routing header @DCA *
* *
***********************************************************************
*
AIF ('&DSECT' EQ 'NO').B418
IP6_RTHDR DSECT ,
AGO .C418
.B418 ANOP ,
IP6_RTHDR DS 0F
.C418 ANOP ,
IP6R_NXT DS BL1 Next header
IP6R_LEN DS BL1 Length in units of 8 octets
IP6R_TYPE DS BL1 Routing type
IP6R_SEGLEFT DS BL1 Segments left
*
***********************************************************************
* *
* Type 0 Routing header @DCA *
* *
***********************************************************************
*
AIF ('&DSECT' EQ 'NO').B419
IP6_RTHDR0 DSECT ,
AGO .C419
.B419 ANOP ,
IP6_RTHDR0 DS 0F
.C419 ANOP ,
IP6R0_NXT DS BL1 Next header
IP6R0_LEN DS BL1 Length in units of 8 octets
IP6R0_TYPE DS BL1 Always zero
IP6R0_SEGLEFT DS BL1 Segments left
IP6R0_RESERVED DS FL4 Reserved field
IP6R0_ADDR DS 0CL16 Upto 127 in6_addr @DDA
*
***********************************************************************
* *
* Hop-by-Hop options header @DCA *
* *
***********************************************************************
*
AIF ('&DSECT' EQ 'NO').B41A
IP6_HBH DSECT ,
AGO .C41A
.B41A ANOP ,
IP6_HBH DS 0F
.C41A ANOP ,
IP6H_NXT DS BL1 Next header
IP6H_LEN DS BL1 Length in units of 8 octets
IP6H_OPTIONS DS 0C Options @DDA
*
***********************************************************************
* *
* Destination options header @DCA *
* *
***********************************************************************
*
AIF ('&DSECT' EQ 'NO').B41B
IP6_DEST DSECT ,
AGO .C41B
.B41B ANOP ,
IP6_DEST DS 0F
.C41B ANOP , IP6D_NXT DS BL1 Next header
IP6D_LEN DS BL1 Length in units of 8 octets
IP6D_OPTIONS DS 0C Options @DDA
*
***********************************************************************
* *
* MTU Information @DCA *
* *
***********************************************************************
*
AIF ('&DSECT' EQ 'NO').B41C
IP6_MTUINFO DSECT ,
AGO .C41C
.B41C ANOP ,
IP6_MTUINFO DS 0F
.C41C ANOP ,
IP6M_ADDR DS CL28 Dst address including zone ID
IP6M_MTU DS F Path MTU in host byte order
*
***********************************************************************
* *
* IPv6 Options Header @DCA *
* *
***********************************************************************
*
AIF ('&DSECT' EQ 'NO').B41D
IP6_OPT DSECT , AGO .C41D
.B41D ANOP ,
IP6_OPT DS 0F
.C41D ANOP ,
IP6O_TYPE DS BL1
IP6O_LEN DS BL1
*
IP6OPT_TYPE EQU x'C0' @DCA
IP6OPT_TYPE_SKIP EQU x'00' @DCA
IP6OPT_TYPE_DISCARD EQU x'40' @DCA
IP6OPT_TYPE_FORCEICMP EQU x'80' @DCA
IP6OPT_TYPE_ICMP EQU x'C0' @DCA
IP6OPT_MUTABLE EQU x'20' @DCA
*
IP6OPT_PAD1 EQU x'00' @DCA
IP6OPT_PADN EQU x'01' @DCA
*
IP6OPT_JUMBO EQU x'C2' @DCA
IP6OPT_NSAP_ADDR EQU x'C3' @DCA
IP6OPT_TUNNEL_LIMIT EQU x'04' @DCA
IP6OPT_ROUTER_ALERT EQU x'05' @DCA
*
***********************************************************************
* *
* Jumbo Payload Option @DCA *
* *
***********************************************************************
*
AIF ('&DSECT' EQ 'NO').B41E
IP6_OPT_JUMBO DSECT ,
AGO .C41E
.B41E ANOP ,
IP6_OPT_JUMBO DS 0F
.C41E ANOP ,
IP6OJ_TYPE DS BL1
IP6OJ_LEN DS BL1
IP6OJ_JUMBO_LEN DS 4BL1 *
IP6OPT_JUMBO_LEN EQU 6
*
***********************************************************************
* *
* NSAP Address Option @DCA *
* *
***********************************************************************
*
AIF ('&DSECT' EQ 'NO').B41F
IP6_OPT_NSAP DSECT ,
AGO .C41F
.B41F ANOP ,
IP6_OPT_NSAP DS 0F
.C41F ANOP ,
IP6ON_TYPE DS BL1
IP6ON_LEN DS BL1
IP6ON_SRC_NSAP_LEN DS BL1
IP6ON_DST_NSAP_LEN DS BL1
IP6ON_SRC_NSAP DS 0C
IP6ON_DST_NSAP DS 0C
*
***********************************************************************
* *
* Tunnel Limit Option @DCA *
* *
***********************************************************************
*
AIF ('&DSECT' EQ 'NO').B420
IP6_OPT_TUNNEL DSECT ,
AGO .C420
.B420 ANOP ,
IP6_OPT_TUNNEL DS 0F
.C420 ANOP ,
IP6OT_TYPE DS BL1
IP6OT_LEN DS BL1
IP6OT_ENCAP_LIMIT DS BL1
*
***********************************************************************
* *
* Router alert values (in network byte order) @DCA *
* *
***********************************************************************
*
IP6_ALERT_MLD EQU 0
IP6_ALERT_RSVP EQU 1
IP6_ALERT_AN EQU 2
*
***********************************************************************
*
* Source address selection preferences @DJA
*
* Used with setsockopt/getsockopt(Sock#IPV6_ADDR_PREFERENCES)
* and BPX1PCT(PC#IsSrcAddr) for inet6_is_srcaddr() function
*
***********************************************************************
*
IPV6_PREFER_SRC_HOME EQU x'00000001' Prefer home address
IPV6_PREFER_SRC_COA EQU x'00000002' Prefer care of address
IPV6_PREFER_SRC_TMP EQU x'00000004' Prefer temporary address
IPV6_PREFER_SRC_PUBLIC EQU x'00000008' Prefer public address
IPV6_PREFER_SRC_CGA EQU x'00000010' Prefer Cryptographically
* generated address
IPV6_PREFER_SRC_NONCGA EQU x'00000020' Prefer non-cryptographically
* generated address
***********************************************************************
*
* BPX1PCT(PC#IsSrcAddr) Argument for inet6_is_srcaddr() @DJA
*
* inet6_is_srcaddr(IsSrcAddrIpAddr, IsSrcAddrFlags)
* is implemented with BPX1PCT(' ',PC#IsSrcAddr,ISSRCADDR#LEN,
* ISSRCADDR, Rv, Rc, Rsn)
* where the ISSRCADDR argument is defined as follows:
*
***********************************************************************
AIF ('&DSECT' EQ 'NO').B426
ISSRCADDR DSECT ,
AGO .C426
.B426 ANOP ,
ISSRCADDR DS 0F
.C426 ANOP ,
ISSRCADDRVER DS XL1 Version. 1
ISSRCADDRVER1 EQU 1 Version value
DS XL3 Reserved. Must be 0
ISSRCADDRIPADDR DS CL(SOCK#LEN+SOCK_SIN6#LEN) sockaddr_in6
ISSRCADDRFLAGS DS F Flags. See IPV6_PREFER_SRC_*
DS 6F Reserved. Must be 0
*
ISSRCADDR#LEN EQU *-ISSRCADDR Length of ISSRCADDR area
*
** BPXYSOCK End