BPXYIOCC is composed only of EQUates. DSECT= is allowed but ignored.
BPXYIOCC ,
** BPXYIOCC: Ioctl Command Constant Definitions
** Used By: Ioctl syscalls
* Ioctl command constants - Range 1-255 reserved for OpenMVS
* Authorized/Tcpip CMD values
IOCC#TCI EQU 5000 Cmd for Tcpip Initialization
IOCC#TCC EQU 5001 Cmd for Complete Tcpip Initialization
IOCC#TCS EQU 5002 Cmd for Tcpip Path Sever
IOCC#TCR EQU 5003 Cmd for Tcpip Reply/Post call
IOCC#TCG EQU 5004 Cmd for Tcpip SiGnal call @p3a
IOCC#TCCE EQU 5006 Cmd for Tcpip End Registration @D5A
SIOCMSDELRT EQU 5007 Cmd for Delete Route
* (Pre-Router wrap) @D5A
SIOCMSADDRT EQU 5008 Cmd for Add Route
* (Pre-Router wrap) @D5A
SIOCMSSIFADDR EQU 5009 Cmd for Set Interface address
* (Pre-Router wrap) @D5A
SIOCMSSIFFLAGS EQU 5010 Cmd for Set Interface Flags
* (Pre-Router wrap) @D5A
SIOCMSSIFDSTADDR EQU 5011 Cmd for Set point-to-point interface
* address (Pre-Router wrap) @D5A
SIOCMSSIFBRDADDR EQU 5012 Cmd for Set Broadcast address
* (Pre-Router wrap) @D5A
SIOCMSSIFNETMASK EQU 5013 Cmd for Set interface network
* mask for an Internet address
* (Pre-Router wrap) @D5A
SIOCMSSIFMETRIC EQU 5014 Cmd for Set Interface routing metric
* (Pre-Router wrap) @D5A
SIOCMSRBRTTABLE EQU 5015 Cmd for Set Routing table required
* required request
* (Pre-Router wrap) @D5A
SIOMSMETRIC1RT EQU 5016 Cmd for Set metric1
* (Pre-Router wrap) @D5A
SIOCMSICMPREDIRECT EQU 5017 Cmd for Propagating ICMP redirects
* (Pre-Router wrap) @D5A
SIOCSETTKN EQU X'8008139A' 5018 Set Tcp/Ip master Tkn @P6A
*
SIOCMSADDRT6 EQU X'8044F604' Add IPV6 Route @DDA
*
SIOCMSDELRT6 EQU X'8044F605' Delete IPV6 Route @DDA
*
SIOCGRT6TABLE EQU X'C014F606' Get IPV6 Network Routing
* Table @DDA
SIOCGRT6TABLE64 EQU X'C018F606' Get IPV6 Network Routing
* Table 64-BIT @PFC
SIOCMSRBRT6TABLE EQU X'8000F607' Rebuild IPV6 Route Tables @DDA
*
SIOCGHOMEIF6 EQU X'C014F608' Get IPV6 Home Interface
* Configuration @PBC
SIOCGHOMEIF664 EQU X'C018F608' Get IPV6 Home Interface
* Configuration 64-Bit @PFC
SIOCMSRBHOMEIF6 EQU X'8000F609' Rebuild IPV6 Home Interface@PBC
*
SIOCMSCHGRT6METRIC EQU X'8044F60A' Change IPV6 route's metric @PDA
*
SIOCMSMODHOMEIF6 EQU X'8008F60B' Modify IPV6 Home Interface @DHA
*
SIOCMSADDRT6V2 EQU X'8058F60C' Add IPV6 route version 2 @PGA
*
SIOCMSDELRT6V2 EQU X'8058F60D' Del IPV6 route version 2 @PGA
*
SIOCMSCHGRT6METRICV2 EQU X'8058F60E' Change IPV6 route's metric @PGA
*
* Connection type and security credentials on TCPIP sockets. @DRA
* Refer to: Comm Svr: IP Programmer's Guide and References. @DRA
SIOCGPARTNERINFO EQU X'C000F612' Get Info @DRA
SIOCSPARTNERINFO EQU X'8004F613' Set Optimization @DRA
* Ioctl Command Constants - terminal control
TIOCGWINSZ EQU X'4008A368' get window size @D3A
TIOCSWINSZ EQU X'8008A367' set window size @D3A
TIOCNOTIFY EQU X'8001A364' notify master by packet @P7A
* Constants for argument when TIOCNOTIFY is specified @P7A
IOCC#PWBEGIN EQU 1 Begin secure data @P7A
IOCC#PWEND EQU 2 End secure data @P7A
*
* Ioctl command constants - for Router query @D5A
SIOCGRTTABLE EQU X'C008C980' Gets Network Routing Tab @D5A
SIOCGRTTABLE64 EQU X'C00CC980' Get NRT for 64-Bit C Pgm @PCA
*
SIOCSETRTTD EQU X'8008C981' Set Socket to be attached to
* 1 TD @D5A
*
SIOCMSMODHOMEIF EQU X'8008C983' Modify Home Interface @DHA
*
SIOCMSMODHOMEIFV2 EQU X'8016C984' Modify Home Interface V2 @PIA
*
SIOCMSADDRTV2 EQU X'8054C985' Cmd for Add Route V2 @PIA
*
SIOCMSDELRTV2 EQU X'8054C986' Cmd for Delete Route V2 @PIA
*
SIOMSMETRIC1RTV2 EQU X'8054C987' Cmd for Set Metric1 V2 @PIA
*
FIONBIO EQU X'8004A77E' set/reset nonblock I/O
FIONREAD EQU X'4004A77F' get number of readable bytes
* available
FIONWRITE EQU X'4004A78A' get number of writeable bytes
* available @DIA
FIOASYNC EQU X'8004A77D' set/clear async I/O @D5A
FIOSETOWN EQU X'8004A77C' set owner @D5A
FIOGETOWN EQU X'4004A77B' get owner @D5A
SECIGET EQU X'4010E401' get security information
SECIGET_T EQU X'4028E403' Get peer task security @DIA
SIOCTIEDESTHRD EQU X'8004E404' Tie descriptor to thread @DIA
SIOCSECENVR EQU X'C012A78B' SET/GET Client Security @DLA
* Environment @DLA
SIOCADDRT EQU X'8030A70A' IBM use only, Add routing
* table entry
SIOCATMARK EQU X'4004A707' Is current location pointing
* to out-of-band data?
SIOCSPGRP EQU X'8004A708' Set process group @DDA
SIOCGPGRP EQU X'4004A709' Get process group @DDA
SIOCDELRT EQU X'8030A70B' IBM use only, Delete routing
* table entry
SIOMETRIC1RT EQU X'8030A70C' IBM use only, Set metric1 @D5A
SIOCSIFADDR EQU X'8020A70C' Set Network interface addr@D5A
SIOCGIFADDR EQU X'C020A70D' Get Network interface address
SIOCGIFBRDADDR EQU X'C020A712' Get Network interface
* Broadcast Address
SIOCSIFBRDADDR EQU X'8020A713' Sets Network interface
* Broadcast Address @D5A
SIOCGIFCONF EQU X'C008A714' Get Network interface Config
SIOCGIFCONF64 EQU X'C00CA714' for 64-Bit C Pgms
SIOCGIFCONF6 EQU X'C018A722' Get IPv6 Network IfConf @DJA
*
SIOCGIFMTU EQU X'C020A726' Get MTU Size @DQA
*
SIOCGIFDSTADDR EQU X'C020A70F' Get Network interface
* Destination Address
SIOCGIFFLAGS EQU X'C020A711' Get Network interface Flags
SIOCGIFMETRIC EQU X'C020A717' IBM use only, Gets Network
* Interface Routing Metric
SIOCGIFNETMASK EQU X'C020A715' Get Network interface
* Network Mask
SIOCSIFNETMASK EQU X'8020A716' Set Network interface
* Network Mask @D5A
SIOCSIFDSTADDR EQU X'8020A70E' IBM use only, Sets Network
* Interface Destination Address
SIOCSIFFLAGS EQU X'8020A710' IBM use only, Sets Network
* Interface Flags
SIOCSIFMETRIC EQU X'8020A718' IBM use only, Sets Network
* Interface Routing Metric
SIOCSARP EQU X'8024A71E' IBM use only, Sets ARP
* Entry @D5A
SIOCGARP EQU X'C024A71F' IBM use only, Gets ARP
* Entry @D5A
SIOCDARP EQU X'8024A720' IBM use only, Deletes ARP
* Entry @D5A
SIOCSHIWAT EQU X'8004A700' Set High Water Mark
* (Not Supported) @D5A
SIOCGHIWAT EQU X'4004A701' Get High Water Mark
* (Not Supported) @D5A
SIOCSLOWAT EQU X'8004A702' Set Low Water Mark
* (Not Supported) @D5A
SIOCGLOWAT EQU X'4004A703' Get Low Water Mark
* (Not Supported) @D5A
FIOFCTLNBIO EQU X'0000E402' change blocking/nonblocking
* STREAMS
IOCC#ILINK EQU X'4004E21A' I_LINK @D9A
* DFS ACLs
IOCC#EDITACL EQU X'2000C100' Edit ACL @P5A
* RACF ACLs
SETFACL EQU X'0000D301' SET FILE ACL @DBA
IOCC#SETFACL EQU X'0000D301' SET FILE ACL @DCA
GETFACL EQU X'0000D302' GET FILE ACL @DBA
IOCC#GETFACL EQU X'0000D302' GET FILE ACL @DCA
*
* Get Port of Entry for Multilevel Security @DDA
* Get Port of Entry Attributes for a Socket Resource @DDA
SIOCGSOCKPOEATTRS EQU X'4000D305' @DDA
* Get Port of Entry Attributes for a non-Socket Resource @DGA
SIOCGFDPOEATTRS EQU X'4000D306' @DDA
* Get Multilevel Security info for a Socket Resource @DKA
SIOCGSOCKMLSINFO EQU X'4000D307' @DKA
* Constants for argument when FIONBIO is specified
IOCC#BLOCK EQU X'00000000' Allow blocking to occur
IOCC#NONBLOCK EQU X'00000001' Do not allow blocking to occur
* Constants for argument when SIOCTIEDESTHRD is specified @DIA
SIOC#TIESD EQU X'00000001' Tie descriptor to thread @DIA
SIOC#UNTIESD EQU X'00000000' UnTie descriptor from thrd@DIA
* Constants for argument when SIOCSECENVR is specified @DLA
SIOC#SETENVR EQU X'00000001' SET Security Environment @DLA
SIOC#GETENVR EQU X'00000002' GET Security Envrionment @DLA
*
**********************************************************************
* *
* I P v 6 @DDA *
* *
**********************************************************************
* IPv6 Ioctls
SIOCGIFVERSION EQU X'4000F601' Get Interface Ver Out
SIOCGSRCIPADDR EQU X'C000F602' Get Source Addr InOut
SIOCGIFNAMEINDEX EQU X'4000F603' Get If Name/Index Out
***********************************************************************
* *
* Get and Set ip_msfilter *
* *
****************************************************************** @DMA
* Get and Set ip_msfilter (IPv4 only) @DMA
SIOCGIPMSFILTER EQU X'C000A724' @DMA
SIOCSIPMSFILTER EQU X'8000A725' @DMA
***********************************************************************
* *
* Get and Set group_filter *
* *
****************************************************************** @DMA
* Get and Set group_filter (IPv6 or IPv4) @DMA
SIOCGMSFILTER EQU X'C000F610' @DMA
SIOCSMSFILTER EQU X'8000F611' @DMA
***********************************************************************
* Packet mode or Extended Packet mode data record control data. @D7C*
* *
* Returned on master read when no control information is pending. *
* In packet mode one byte is returned. In extended packet mode, four *
* bytes are returned. Data follows the control data. *
***********************************************************************
TIOC_DATA EQU X'00' Data packet @D3A
***********************************************************************
* Packet mode control byte - returned on master read() @D7C*
* *
* A single control byte is returned in packet mode. In extended *
* packet mode, four bytes are returned, with the non-extended bits *
* in the fourth byte. The equates below can be used against the *
* fourth byte (with TM, OI and NI) or against all four bytes (with *
* OC, NC, etc.). *
***********************************************************************
TIOCPKT_FLUSHREAD EQU X'01' Input was flushed @D3A
TIOCPKT_FLUSHWRITE EQU X'02' Output was flushed @D3A
TIOCPKT_STOP EQU X'04' Stop output @D3A
TIOCPKT_START EQU X'08' Start output @D3A
TIOCPKT_NOSTOP EQU X'10' STOP/START not standard @D3A
TIOCPKT_DOSTOP EQU X'20' STOP/START standard @D3A
***********************************************************************
* Extended Packet mode control byte - returned on master read() @D7C*
***********************************************************************
TIOCXPKT_PASSTHRU EQU X'00000100' 3270 Passthrough mode @D7C
TIOCXPKT_NOPASSTHRU EQU X'00000200' Not 3270 Passthrough mode @D7C
TIOCXPKT_ECHO EQU X'00000400' ECHO set on @D7A
TIOCXPKT_NOECHO EQU X'00000800' ECHO set off @D7A
TIOCXPKT_CHCP EQU X'00001000' Code page change @D7A
TIOCXPKT_PWBEGIN EQU X'00002000' Begin secure data @P7A
TIOCXPKT_PWEND EQU X'00004000' End secure data @P7A
**********************************************************************
* Get Pathname @DOA
IOCC#GETPATHNAME EQU 17 Absolute name @DOA
IOCC#GETPATHNAMEREL EQU 19 Relative name @DOA
**********************************************************************
* UPDTOFTE @D8C
**********************************************************************
IOCC#UPDTOFTE EQU 20 UPDATE OFTE CMD @D8A
* @DDA
AIF ('&DSECT' EQ 'NO').B411 @DDA
IOCUOFTE DSECT , ARGUMENT BUFFER @DDA
AGO .C411 @DDA
.B411 ANOP , @DDA
IOCUOFTE DS 0F ARGUMENT BUFFER @DDA
.C411 ANOP , @DDA
* @DDA
IOCUOCMD DS F SUBCMD @D8A
IOCUO#READ EQU 1 READ @D8A
IOCUO#WRITE EQU 2 WRITE @D8A
IOCUO#CS EQU 3 COMPARE & SWAP @D8A
IOCUOVALUEBUFF DS 0F VALUE TO/FROM STATE AREA @D8A
IOCUOVOFFSET DS F OFFSET (>=0) @D8A
IOCUOVLEN DS F LENGTH (>0) @D8A
IOCUOVDATA DS 0C DATA @D8A
* @DDA
AIF ('&DSECT' EQ 'NO').B412 @DDA
IOCUOCSBUFF DSECT , COMPARE VALUE FOR CS SUBCMD @DDA
AGO .C412 @DDA
.B412 ANOP , @DDA
IOCUOCSBUFF DS 0F COMPARE VALUE FOR CS SUBCMD @DDA
.C412 ANOP , @DDA
* @DDA
IOCUOCSOFFSET DS CL4 OFFSET (BYTE BDY) @D8A
IOCUOCSLEN DS CL4 LENGTH (BYTE BDY) @D8A
IOCUOCSDATA DS 0C DATA @D8A
*
IOCC#REGFILEINT EQU 21 REGISTER FILE INTR @DAA
IOCC#FASTPATH EQU 22 Set FastPath Ops @P9A
*
IOCC#DEVCONSOLE EQU 23 /dev/console behavior @DEA
IOCC#DEVCONSUPPRESS EQU 1 /dev/console - set suppress @DEA
IOCC#DEVCONUNSUPPRS EQU 0 /dev/console - unsuppress @DEA
*
IOCC#DEVFD EQU 27 /dev/fd behavior @DFA
* LFS/Cinet Level Ioctls @DDA
IOCC#GETSTACKS EQU 24 Get Stack Names @DDA
IOCC#DIRIOCTL EQU 25 Directed Ioctl @DDA
IOCC#GRTRSELECT EQU 26 Get PreRtr Select @DDA
*
***********************************************************************
* @DDA*
* Iocc#GetStacks - *
* Get the names of the stacks that are attached to a socket. *
* *
***********************************************************************
*
AIF ('&DSECT' EQ 'NO').B413 @DDA
IOCSTACKINFO DSECT , @DDA
AGO .C413 @DDA
.B413 ANOP , @DDA
IOCSTACKINFO DS 0F @DDA
.C413 ANOP , @DDA
IOCSTACKINFOHEADER DS CL8
ORG IOCSTACKINFOHEADER
IOCSTACKINFOFLAGS DS X Flags
IOCSTACKCINET EQU X'80' Cinet socket
DS CL3
IOCSTACKENTRIES DS F Number of Names returned
ORG
IOCSTACKNAMES DS CL16 Array of stack names
***********************************************************************
* Array of IOCSTACKNAMES *
***********************************************************************
*
AIF ('&DSECT' EQ 'NO').B414 @DDA
IOCSTACKNAMESD DSECT , @DDA
AGO .C414 @DDA
.B414 ANOP , @DDA
IOCSTACKNAMESD DS 0F @DDA
.C414 ANOP , @DDA
IOCSTACKNAME DS CL8 Stack name
IOCSTACKTDINDEX DS X Cinet Stack TdIndex
IOCSTACKFLAGS DS X Flags
IOCSTACK_ACTIVE EQU X'80' Active
IOCSTACK_IPV6_SUPPORT EQU X'40' IPv6 is supported
IOCSTACK_IPV6_INTERFACES EQU X'20' IPv6 Home Interfaces
IOCSTACK_IPV4_INTERFACES EQU X'10' IPv4 Home Interfaces
DS CL6
***********************************************************************
* @DDA*
* Iocc#DirIoctl - Directed Ioctl *
* Passes the imbedded ioctl to the specified stack. *
* *
***********************************************************************
*
AIF ('&DSECT' EQ 'NO').B415 @DDA
IOCDIRIOCTL DSECT , @DDA
AGO .C415 @DDA
.B415 ANOP , @DDA
IOCDIRIOCTL DS 0F @DDA
.C415 ANOP , @DDA
IOCDIRHDR DS CL16
ORG IOCDIRHDR
IOCDIRNAME DS CL8 Target Stack Name
IOCDIRCMD DS XL4 Imbedded ioctl Command
IOCDIRARGLEN DS F Imbedded ioctl Argument Length
ORG
IOCDIRARG DS C Imbedded ioctl Argument
***********************************************************************
* @DDA*
* Iocc#GRtrSelect - Get Cinet PreRouter's selected stack for each *
* of an array of specified destination IP addresses. *
* *
***********************************************************************
*
AIF ('&DSECT' EQ 'NO').B416 @DDA
IOCRTRSELECT DSECT , @DDA
AGO .C416 @DDA
.B416 ANOP , @DDA
IOCRTRSELECT DS 0F @DDA
.C416 ANOP , @DDA
IOCRTRIPADDR DS CL16 Input IP Address
IOCRTRSTACK DS CL8 Output Selected Stack Name
ORG IOCRTRSTACK
IOCRTRERRTEST DS CL1 Error if = 0
DS CL1
IOCRTRERRNO DS XL2 Error RC (Errno)
IOCRTRRSN DS XL4 Error Rsn (ErrnoJr)
ORG
IOCRTRERROR EQU X'00' IocRtrErrTest value to test for error
***********************************************************************
* @DDA*
* SiocGIfNameIndex - Get Interface Name/Index Table *
* *
***********************************************************************
*
AIF ('&DSECT' EQ 'NO').B418 @DDA
IF_NAMEINDEXENTRY DSECT , @DDA
AGO .C418 @DDA
.B418 ANOP , @DDA
IF_NAMEINDEXENTRY DS 0F @DDA
.C418 ANOP , @DDA
IF_NIINDEX DS F Interface Index
ORG IF_NIINDEX
IF_NITDINDEX DS H CInet Td Index
IF_NIIFINDEX DS H Stack Interface Index
ORG
IF_NINAME DS CL16 Interface Name, blank padded
IF_NIEXT DS CL4
ORG IF_NIEXT
IF_NINAMETERM DS CL1 Null for C for Name len=16
IF_NIFLAGS DS X Name Index Flags @PKA
IF_NIOSM EQU X'80' 1 = OSM Interface @PKA
DS CL2 Reserved @PKC
ORG
IF_NAMEINDEXENTRYL EQU *-IF_NAMEINDEXENTRY @DDA
AIF ('&DSECT' EQ 'NO').B417 @DDA
IF_NAMEINDEX DSECT , @DDA
AGO .C417 @DDA
.B417 ANOP , @DDA
IF_NAMEINDEX DS 0F @DDA
.C417 ANOP , @DDA
IF_NIHEADER DS 2F
ORG IF_NIHEADER
IF_NITOTALIF DS F Total Active Interfaces on System
IF_NIENTRIES DS F Number of entries returned
ORG
IF_NITABLE DS CL(IF_NAMEINDEXENTRYL)
***********************************************************************
* @DDA *
* SiocGSockPoeAttrs - Socket Port of Entry Attributes *
* *
***********************************************************************
*
AIF ('&DSECT' EQ 'NO').B419 @DDA
IOCPOEATTR DSECT , @DDA
AGO .C419 @DDA
.B419 ANOP , @DDA
IOCPOEATTR DS 0F @DDA
.C419 ANOP , @DDA
IOCPOEPEERIPADDR DS CL16 Peer IP Address
ORG IOCPOEPEERIPADDR
IOCPOEPEERIPV6PREFIX DS CL12
IOCPOEPEERIPV4ADDR DS F
ORG
IOCPOETERMID DS CL8 TERMINAL Profile Name
IOCPOELABEL DS CL8 Security Label
IOCPOEPROFILE DS CL64 SERVAUTH Resource Name
***********************************************************************
* @DKA *
* SiocGSockMLSINFO - Socket Multilevel Security Information *
* IocPoeProfile returns full resource name *
* IocMlsProfile returns actual profile name in use *
* *
***********************************************************************
*
AIF ('&DSECT' EQ 'NO').B420 @DKA
IOCMLSINFO DSECT , @DKA
AGO .C420 @DKA
.B420 ANOP , @DKA
IOCMLSINFO DS 0F @DKA
.C420 ANOP , @DKA
IOCMLSMVSNAME DS CL8 MVS System Name @DKA
IOCMLSSTKNAME DS CL8 Stack Job Name @DKA
IOCMLSNAZNAME DS CL8 NetAccess Zone Name @DKA
IOCMLSUSRNAME DS CL8 Caller UserID @DKA
IOCMLSUSRLBL DS CL8 Caller Security Label @DKA
IOCMLSSTKLBL DS CL8 Stack Security Label @DKA
IOCMLSNAZLBL DS CL8 Zone Security Label @DKA
IOCMLSCONLBL DS CL8 Connct Security Label @DKA
IOCMLSPROFILE DS CL64 SERVAUTH Profile Name @DKA
*---------------------------------------------------------------------*
* Multicast Source Filter Structures from RFC 3678 *
* *
* *** These require the inclusion of BPXYSOCK *** *
*----------------------------------------------------------------- @DMA
* @DMA
AIF ('&MCAST' EQ 'NO').NOMCAST @DNA
* @DMA
* SiocGIPMSFilter - Get a list of multicast source addresses @DMA
* SiocSIPMSFilter - Set a list of multicast source addresses @DMA
* @DMA
AIF ('&DSECT' EQ 'NO').B421 @DMA
IP_MSFILTER DSECT , @DMA
AGO .C421 @DMA
.B421 ANOP , @DMA
IP_MSFILTER DS 0F @DMA
.C421 ANOP , @DMA
IMSF_HEADER DS 0C Header @DMA
IMSF_MULTIADDR DS CL4 IP Multicast address of group @DMA
IMSF_INTERFACE DS CL4 Local IP addr of interface @DMA
IMSF_FMODE DS CL4 Filter mode @DMA
IMSF_NUMSRC DS CL4 Number of sources in src_list @DMA
IMSF_HEADER_LEN EQU *-IP_MSFILTER @DMA
IMSF_SLIST DS 0CL(L'IMSF_SRCADDR) Start of source list @DMA
* @DMA
AIF ('&DSECT' EQ 'NO').B422 @DMA
IMSF_SRCENTRY DSECT , @DMA
AGO .C422 @DMA
.B422 ANOP , @DMA
IMSF_SRCENTRY DS 0F Source list entry @DMA
.C422 ANOP , @DMA
IMSF_SRCADDR DS CL4 Source IP address @DMA
IMSF_SRCENTRY_LEN EQU *-IMSF_SRCENTRY Length @PHA
* @DMA
* @DMA
* SiocGMSFilter - Get a list of multicast source addresses @DMA
* SiocSMSFilter - Set a list of multicast source addresses @DMA
* @DMA
***********************************************************************
* *
* GROUP_REQ STRUCTURE *
* *
****************************************************************** @DMA
AIF ('&DSECT' EQ 'NO').B423 @DMA
GROUP_FILTER DSECT , @DMA
AGO .C423 @DMA
.B423 ANOP , @DMA
GROUP_FILTER DS 0F @DMA
.C423 ANOP , @DMA
GF_HEADER DS 0C Header @DMA
GF_INTERFACE DS CL4 Interface index @DMA
DS CL4 Padding @DMA
GF_GROUP DS CL(L'SOCKADDR_STORAGE) Group address @DMA
GF_FMODE DS CL4 Filter mode @PHM
GF_NUMSRC DS CL4 Number of sources @PHM
GF_HEADER_LEN EQU *-GROUP_FILTER @PHM
GF_SLIST DS 0CL(L'GF_SRCENTRY) Start of source list @DMA
ORG GF_GROUP @DMA
GF_MULTISOCKADDR4 DS CL(SOCK#LEN+SOCK_SIN#LEN) @DMA
ORG GF_GROUP @DMA
GF_MULTISOCKADDR6 DS CL(SOCK#LEN+SOCK_SIN6#LEN) @DMA
* @DMA
AIF ('&DSECT' EQ 'NO').B424 @DMA
GF_SRCENTRY DSECT , @DMA
AGO .C424 @DMA
.B424 ANOP , @DMA
GF_SRCENTRY DS 0F Source list entry @DMA
.C424 ANOP , @DMA
GF_SRCADDR DS CL(L'SOCKADDR_STORAGE) Source address @DMA
GF_SRCENTRY_LEN EQU *-GF_SRCENTRY Length @PHA
ORG GF_SRCADDR @DMA
GF_SRCADDR4 DS CL(SOCK#LEN+SOCK_SIN#LEN) @DMA
ORG GF_SRCADDR @DMA
GF_SRCADDR6 DS CL(SOCK#LEN+SOCK_SIN6#LEN) @DMA
* @DMA
MCAST_INCLUDE EQU 0 @DNA
MCAST_EXCLUDE EQU 1 @DNA
MCAST_NUMSRC_MAX EQU 64 Max number of sources for @PHA
* GF_NUMSRC and IMSF_NUMSRC @DPA
* @DNA
.NOMCAST ANOP , End of Multicast Structures @DNA
***********************************************************************
* SIOCGRTTABLE - Obtain route information. Returns information for *
* IPv4 routes from the TCP/IP stack's main route table.*
* *
* The Route entry structures returned can either be *
* Version 1, Version 2, or Version 3 structures. *
* Version 1 *
* - Field IOCN_IPADDRRTMSGHOMEIF contains an IP *
* address *
* Version 2 *
* - IOCN_RTMSGTYPE structure is the same size *
* as Version 1 *
* - Field IOCN_IPADDRRTMSGHOMEIF contains an *
* interface index. *
* Version 3 *
* - IOCN_RTMSGTYPE structure is larger than the *
* Version 1 or 2 size *
* - Field IOCN_IPADDRRTMSGHOMEIF contains an *
* interface index *
* - New MTU field added *
* The RTEV3 macro variable controls whether the *
* Version 3 Route entry structure is generated by *
* this macro. By default, the macro generates the *
* Version 3 Route entry structure. *
* *
* When requesting Version 2 or Version 3 output in a *
* CINET environment, invoking applications must either *
* have stack affinity or use the IOCC#DIRIOCTL to *
* invoke this ioctl. Otherwise, the output from the *
* first stack will be in the requested version format *
* but, the output from subsequent stacks will be in *
* Version 1 format. *
* *
* Input - Input to the ioctl is a buffer length and a buffer *
* address. By default, Version 1 Route entry structures *
* are returned. *
* *
* To obtain Version 2 or 3 Route entry output, an *
* IOCN_RTMSGHDRTYPE structure must be setup at the *
* beginning of the output buffer, before invoking the *
* ioctl. The following fields must be set: *
* - IOCN_RTMSGHDRVER set to Version 2 or 3 *
* - IOCN_RTMSGHDREYEID set to the correct eyecatcher *
* value. *
* *
* *
* Output - Return_value = 0 *
* - IOCN_RTMSGHDRTYPE structure returned with *
* field IOCN_RTMSGHDRNUMENT set to the number *
* of Route entry structures returned. In the *
* output buffer, the header is followed by the *
* Route entry structures. *
* - The IOCN_RTMSGHDRVER and IOCN_RTMSGHDRSUBVER *
* fields indicate whether Version 1, 2, or 3 *
* of the Route entry structures was returned. *
* - IOCN_RTMSGHDRNUMENT - number of either Version *
* 1, 2, or 3 Route entry structures returned. *
* - Return_value = -1 *
* - Return_code = EBADMSG *
* This means that the output buffer is not large *
* enough for one IOCN_RTMSGHDRTYPE structure *
* and one Route entry structure. *
* - Return_code = ERANGE *
* This means that the output buffer is not large *
* enough for all the Route entry structures which *
* can be returned. In this case, only the *
* IOCN_RTMSGHDRTYPE structure will be returned. *
* Field IOCN_RTMSGHDRNUMENT in this header will *
* contain the number of Route entry structures *
* which can be returned. Field IOCN_RTMSGHDRVER *
* will indicate which version of the Route entry *
* structures will be returned. *
* @PIA *
***********************************************************************
* @PIA
* Header structure - IOCN_RTMSGHDRTYPE @PIA
* @PIA
AIF ('&DSECT' EQ 'NO').B425 @PIA
IOCN_RTMSGHDRTYPE DSECT , Route header @PIA
AGO .C425 @PIA
.B425 ANOP , @PIA
IOCN_RTMSGHDRTYPE DS 0F Route header @PIA
.C425 ANOP , @PIA
*
IOCN_RTMSGHDRLEN DS H Length of header @PIA
IOCN_RTMSGHDRVER DS FL1 Version of Route entry structures
* returned @PIA
DS CL1 Reserved @PIA
IOCN_RTMSGHDREYEID DS CL4 Eye catcher 'Rmsg' @PIA
IOCN_RTMSGHDREYEC EQU C'Rmsg' Eye catcher constant @PIA
IOCN_RTMSGHDRSUBVER DS FL1 Version of Route entry structures
* returned @PIA
DS CL3 Reserved @PIA
IOCN_RTMSGHDRIOCTLNUM DS F Set to x'10' to indicate the
* SIOCGRTTABLE ioctl @PIA
IOCN_RTMSGHDRNUMENT DS F Output - number of Route entries
* returned @PIA
DS CL52 Reserved @PIA
IOCN_RTMSGHDR#LEN EQU *-IOCN_RTMSGHDRTYPE Length of header@PIA
*
* Version constants for fields IOCN_RTMSGHDRVER and
* IOCN_RTMSGHDRSUBVER @PIA
*
IOCN_RTMSGTYPEV1 EQU 1 Version 1 @PIA
IOCN_RTMSGTYPEV2 EQU 2 Version 2 @PIA
IOCN_RTMSGTYPEV3 EQU 3 Version 3 @PIA
* @PIA
* Version 1 and Version 2 Route entry structure - IOCN_RTMSGTYPE @PIA
* @PIA
AIF ('&DSECT' EQ 'NO').B426 @PIA
IOCN_RTMSGTYPE DSECT , Route entry structure @PIA
AGO .C426 @PIA
.B426 ANOP , @PIA
IOCN_RTMSGTYPE DS 0F Route entry structure @PIA
.C426 ANOP , @PIA
*
IOCN_IPADDRRTMSGDEST DS CL4 Destination IP address @PIA
IOCN_IPADDRRTMSGMASK DS CL4 Subnet mask @PIA
IOCN_IPADDRRTMSGGATE DS CL4 Gateway IP address @PIA
IOCN_IPADDRRTMSGHOMEIF DS F Version 1 = IP address @PIA
* Other versions = interface
* index @PIA
IOCN_RTMSGMETRICTYPE DS F Metric type is always 1, meaning
* metric value is in hop counts @PIA
IOCN_RTMSGMETRIC DS F Metric value in hop counts @PIA
DS CL3 Reserved @PIA
IOCN_RTATTRRTMSG DS XL1 Route flags @PIA
IOCN_BRTATTRLOOPBACK EQU X'80' 1 = Loopback interface @PIA
IOCN_BRTATTRLOCAL EQU X'40' 1 = Local/Home IP address @PIA
IOCN_BRTATTRDYNBUILT EQU X'10' 1 = Dynamically built, e.g.
* by ICMP redirect @PIA
IOCN_BRTATTRHOST EQU X'04' 1 = Host route, 0 = Network
* route @PIA
IOCN_BRTATTRGATEWAY EQU X'02' 1 = Gateway @PIA
IOCN_BRTATTRRTUP EQU X'01' 1 = Route is active, 0 = Route
* is inactive @PIA
IOCN_RTMSGRTETYPE DS XL1 Route type @PIA
IOCN_RTOTHER EQU 1 Other (default, direct) @PIA
IOCN_RTLOCAL EQU 2 Static (configured) @PIA
IOCN_RTICMP EQU 4 ICMP @PIA
IOCN_RTRIP EQU 8 RIP @PIA
IOCN_RTOSPF EQU 13 OSPF @PIA
IOCN_RTREPSTAT EQU 130 Replaceable static @PIA
DS CL3 Reserved @PIA
IOCN_RTMSGV1#LEN EQU *-IOCN_RTMSGTYPE V1 Route entry len @PIA
IOCN_RTMSGV2#LEN EQU *-IOCN_RTMSGTYPE V2 Route entry len @PIA
AIF ('&RTEV3' EQ 'NO').B427 @PIA
* @PIA
* Version 3 Route entry structure - additional field @PIA
* @PIA
IOCN_RTMSGMTU DS H Route's MTU value @PIA
DS H Reserved @PIA
DS F Reserved @PIA
DS F Reserved @PIA
DS F Reserved @PIA
IOCN_RTMSGV3#LEN EQU *-IOCN_RTMSGTYPE V3 Route entry len @PIA
.B427 ANOP , @PIA
*
*********************************************************************
* IOCN_IFREQ @DQA*
* Mapping that defines the network interface block that is used *
* on ioctls that transfer network interface information *
* *
* This is equivalent to the C ifreq structure from in.h *
* This is the ASM version of the PL/X IOCN_IfType from BPXZIOCN. *
* *
*********************************************************************
*
AIF ('&DSECT' EQ 'NO').B428
IOCN_IFREQ DSECT Mapping for network interface information
AGO .C428
.B428 ANOP ,
IOCN_IFREQ DS 0F Mapping for network interface information
.C428 ANOP ,
IOCN_IFTYPE DS 0F Structure Name from BPXZIOCN.
IOCN_IFNAME DS CL16 Interface name.
IOCN_IFUNION DS 0CL16 Union of fields:
ORG IOCN_IFUNION
IOCN_SADDRIF DS CL16 The address of the interface
ORG IOCN_IFUNION
IOCN_SADDRIFDEST DS CL16 Destination address in a point to point link
ORG IOCN_IFUNION
IOCN_SADDRIFBROADCAST DS CL16 Address for Broadcasting
ORG IOCN_IFUNION
IOCN_IFMETRIC DS F Interface metric
ORG IOCN_IFUNION
IOCN_PIFDATA DS A Pointer to an area set by TCPIP
ORG IOCN_IFUNION
IOCN_MTUSIZE DS F MTU size. Used with SIOCGIFMTU.
ORG IOCN_IFUNION
IOCN_IFATTRIF DS 0BL2 Flag area.
*
IOCN_IFATTRBYTE1 DS 0CL1
IOCN_BIFATTRSNAP EQU X'20'
IOCN_BIFATTRTOKBRIDGE EQU X'10'
IOCN_BIFATTRCHECKSUM EQU X'04'
IOCN_BIFATTRALLMULTI EQU X'02'
IOCN_BIFATTRALLPACKSUPT EQU X'01'
ORG IOCN_IFATTRBYTE1+1
IOCN_IFATTRBYTE2 DS 0CL1
IOCN_BIFATTRARPNOTSUPT EQU X'80'
IOCN_BIFATTRRESALLOC EQU X'40'
IOCN_BIFATTRNOTRAILER EQU X'20'
IOCN_BIFATTRPTTOPT EQU X'10'
IOCN_BIFATTRLOOPBACK EQU X'08'
IOCN_BIFATTRDEBUG EQU X'04'
IOCN_BIFATTRBROADCAST EQU X'02'
IOCN_BIFATTRUP EQU X'01'
*
ORG IOCN_IFUNION+16
IOCN_IFEND DS 0C End of structure
IOCN_IFREQ_LEN EQU *-IOCN_IFREQ Length of Structure
IOCN_#IFNAMESIZE EQU 16 Size of the name field
*
** BPXYIOCC End