The IOCTL macro is used to control certain operating characteristics for a socket.
Authorization: | Supervisor state or problem state, any PSW key. |
Dispatchable unit mode: | Task. |
Cross memory mode: | PASN = HASN. |
Amode: | 31-bit or 24-bit. Note: See "Addressability
mode (Amode) considerations" under CALL instruction API environmental restrictions and programming requirements.
|
ASC mode: | Primary address space control (ASC) mode. |
Interrupt status: | Enabled for interrupts. |
Locks: | Unlocked. |
Control parameters: | All parameters must be addressable by the caller and in the primary address space. |
>>-EZASMI--TYPE=IOCTL--,S--=--+-number---+----------------------> +-address--+ +-*indaddr-+ '-(reg)----' >--,COMMAND--=--+-'FIONBIO'----------+--------------------------> +-'FIONREAD'---------+ +-'SIOCATMARK'-------+ +-'SIOCGHOMEIF6'-----+ +-'SIOCGIFADDR'------+ +-'SIOCGIFBRDADDR'---+ +-'SIOCGIFCONF'------+ +-'SIOCGIFDSTADDR'---+ +-'SIOCGIFMTU'-------+ +-'SIOCGIFNAMEINDEX'-+ +-'SIOCGIPMSFILTER'--+ +-'SIOCGMONDATA'-----+ +-'SIOCGMSFILTER'----+ +-'SIOCGPARTNERINFO'-+ +-'SIOCGSPLXFQDN'----+ +-'SIOCSAPPLDATA'----+ +-'SIOCSIPMSFILTER'--+ +-'SIOCSMSFILTER'----+ +-'SIOCSPARTNERINFO'-+ +-'SIOCTTLSCTL'------+ +-address------------+ +-*indaddr-----------+ '-(reg)--------------' >--,REQARG--=--+-address--+--,RETARG--=--+-address--+-----------> +-*indaddr-+ +-*indaddr-+ '-(reg)----' '-(reg)----' >--,ERRNO--=--+-address--+--,RETCODE--=--+-address--+-----------> +-*indaddr-+ +-*indaddr-+ '-(reg)----' '-(reg)----' >--+---------------------------+--+-------------------------+---> +-,ECB--=--+-address--+-----+ '-,ERROR--=--+-address--+-' | +-*indaddr-+ | +-*indaddr-+ | '-(reg)----' | '-(reg)----' '-,REQAREA--=--+-address--+-' +-*indaddr-+ '-(reg)----' >--+------------------------+---------------------------------->< '-,TASK--=--+-address--+-' +-*indaddr-+ '-(reg)----'
Upon successful completion of this call, the stack returns the number of entries required by the way of the IF_NITOTALIF field in the storage referenced by RETARG.
Calculate the size of IP_MSFILTER value as follows:
The application calculates the size of GROUP_FILTER value in the following way:
Calculate the size of the IP_MSFILTER structure as follows:
Calculate the size of the GROUP_FILTER value as follows:
COMMAND/CODE | SIZE | REQARG | SIZE | RETARG |
---|---|---|---|---|
FIONBIO X'8004A77E' |
4 | Set socket mode to: X'00'=blocking; X'01'=nonblocking. | 0 | Not used. |
FIONREAD X'4004A77F' |
0 | Not used. | 4 | Number of characters available for read. |
SIOCATMARK X'4004A707' |
0 | Not used. | 4 | X'00'= not at OOB data X'01'= at OOB data . |
SIOCGHOMEIF6 X' C014F608' |
20 | NetConfHdr | See NETCONFHDR in macro BPXYIOC6. | |
SIOCGIFADDR X'C020A70D' |
32 | First 16-bytes - |
32 | Network interface address, see the IOCN_SADDRIF field in the SYS1.MACLIB (BPXYIOCC) macro for format. |
SIOCGIFBRDADDR X'C020A712' |
32 | First 16-bytes - |
32 | Network interface address, see the IOCN_SADDRIF BROADCAST field in the SYS1.MACLIB (BPXYIOCC) macro for format. |
SIOCGIFCONF X'C008A714' |
8 | First 4 bytes- size of return buffer. Last 4 bytes - address of return buffer. |
See note1. | |
SIOCGIFDSTADDR X'C020A70F' |
32 | First 16-bytes - |
32 | Destination interface address, see the IOCN_SADDRIFDEST field in the SYS1.MACLIB (BPXYIOCC) macro for format. |
SIOCGIFMTU X'C020A726' |
32 | First 16-bytes - |
32 | IPv4 interface MTU (maximum transmission unit), see the IOCN_MTUSIZE field in the SYS1.MACLIB (BPXYIOCC) macro for format. |
SIOCGIFNAMEINDEX X'4000F603' |
4 | First 4 bytes size of return buffer. | See IF_NAMEINDEX in macro BPXYIOCC. | |
SIOCGIPMSFILTER X'C000A724' |
— | See IP_MSFILTER structure in macro BPXYIOCC. See note 3. | 0 | Not used |
SIOCGMONDATA X'C018D902' |
— | See MONDATAIN structure in macro EZBZMONP. | — | See MONDATAOUT structure in macro EZBZMONP. |
SIOCGMSFILTER X'C000F610' |
— | See GROUP_FILTER structure in macro BPXYIOCC. See note 4. | 0 | Not used |
SIOCGPARTNERINFO X'C000F612' |
— | For the PartnerInfo structure layout, see SEZANMAC(EZBPINFA). See note 5. | 0 | Not used |
SIOCGSPLXFQDN X'C018D905' |
4082 | See sysplexFqDn and sysplexFqDnData in macro EZBZSDNP. | 4082 | See sysplexFqDn and sysplexFqDnData in macro EZBZSDNP. |
SIOCSAPPLDATA X'8018D90C' |
— | See SETAPPLDATA structure in macro EZBYAPPL. | 0 | Not used |
SIOCSIPMSFILTER X'8000A725' |
— | See IP_MSFILTER structure in macro BPXYIOCC. See note 3. | 0 | Not used |
SIOCSMSFILTER X'8000F611' |
— | See GROUP_FILTER structure in macro BPXYIOCC. See note 4. | 0 | Not used |
SIOCSPARTNERINFO X'8004F613' |
4 | See PI_REQTYPE_SET_PARTNERDATA in SEZANMAC(EZBPINFA). | 0 | Not used |
SIOCTTLSCTL X'C038D90B' |
56 | For IOCTL structure layout, see SEZANMAC (EZBZTLSP). | 56 | For IOCTL structure layout, see SEZANMAC (EZBZTLSP). |
Notes:
|
See Socket call error return codes for information about ERRNO return codes.