Working-Storage Section.
01 SIOCGHOMEIF6-VAL pic s9(10) binary value 3222599176.
01 SIOCGHOMEIF6-REDEF REDEFINES SIOCGHOMEIF6-VAL.
05 FILLER PIC 9(6) COMP.
05 SIOCGHOMEIF6 PIC 9(8) COMP.
01 IOCTL-RETARG USAGE IS POINTER.
01 NET-CONF-HDR.
05 NCH-EYE-CATCHER PIC X(4) VALUE '6NCH'.
05 NCH-IOCTL PIC 9(8) BINARY.
05 NCH-BUFFER-LENTH PIC 9(8) BINARY.
05 NCH-BUFFER-PTR USAGE IS POINTER.
05 NCH-NUM-ENTRY-RET PIC 9(8) BINARY.
01 HOME-IF.
03 HOME-IF-ADDRESS.
05 FILLER PIC 9(16) BINARY.
Linkage Section.
01 L1.
03 NetConfHdr.
05 NchEyeCatcher pic x(4).
05 NchIoctl pic 9(8) binary.
05 NchBufferLength pic 9(8) binary.
05 NchBufferPtr usage is pointer.
05 NchNumEntryRet pic 9(8) binary.
* Allocate storage based on your need.
03 Allocated-Storage pic x(nn).
Procedure Division using L1.
move '6NCH' to NchEyeCatcher.
set NchBufferPtr to address of Allocated-Storage.
* Set NchBufferLength to the length of your allocated storage.
move nn to NchBufferLength.
move SIOCGHOMEIF6 to NchIoctl.
Call 'EZASOKET' using soket-ioctl socket-descriptor
SIOCGHOMEIF6
NETCONFHDR NETCONFHDR
errno retcode.
WORKING-STORAGE SECTION.
01 SIOCGIFNAMEINDEX-VAL pic 9(10) binary value 1073804803.
01 SIOCGIFNAMEINDEX-REDEF REDEFINES SIOCGIFNAMEINDEX-VAL.
05 FILLER PIC 9(6) COMP.
05 SIOCGIFNAMEINDEX PIC 9(8) COMP.
01 reqarg pic 9(8) binary.
01 reqarg-header-only pic 9(8) binary.
01 IF-NIHEADER.
05 IF-NITOTALIF PIC 9(8) BINARY.
05 IF-NIENTRIES PIC 9(8) BINARY.
01 IF-NAME-INDEX-ENTRY.
05 IF-NIINDEX PIC 9(8) BINARY.
05 IF-NINAME PIC X(16).
05 IF-NINAMETERM PIC X(1).
05 IF-NIRESV1 PIC X(3).
01 OUTPUT-STORAGE PIC X(500).
Procedure Division.
move 8 to reqarg-header-only.
Call 'EZASOKET' using soket-ioctl socket-descriptor
SIOCGIFNAMEINDEX
REQARG-HEADER-ONLY IF-NIHEADER
errno retcode.
move 500 to reqarg.
Call 'EZASOKET' using soket-ioctl socket-descriptor
SIOCGIFNAMEINDEX
REQARG OUTPUT-STORAGE
errno retcode.
Calculate the size of IF_MSFILTER value as follows:
Calculate the size of the GROUP_FILTER value as follows:
Calculate the size of the IF_MSFILTER value as follows:
Calculate the size of GROUP_FILTER 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 Figure 1 NetConfHdr. | |
SIOCGIFADDR X'C020A70D' |
32 | First 16 bytes - |
32 | Network interface address. For assembler, see the IOCN_SADDRIF field in the SYS1.MACLIB(BPXYIOCC) API. For COBOL, see the IFR-ADDR field in the SEZAINST(EZACOBOL) API. For PL/I, see the IFR_ADDR field in the SEZAINST(CBLOCK) API. |
SIOCGIFBRDADDR X'C020A712' |
32 | First 16 bytes - |
32 | Network interface address. For assembler, see the IOCN_SADDRIFBROADCAST field in the SYS1.MACLIB(BPXYIOCC) API. For COBOL, see the IFR-BROADADDR field in the SEZAINST(EZACOBOL) API. For PL/I, see the IFR_BROADADDR field in the SEZAINST(CBLOCK) API. |
SIOCGIFCONF X'C008A714' |
8 | Size of RETARG. | See note1. | |
SIOCGIFDSTADDR X'C020A70F' |
32 | First 16 bytes - |
32 | Destination interface address. For assembler, see the IOCN_SADDRIFDEST field in the SYS1.MACLIB(BPXYIOCC) API. For COBOL, see the IFR-DSTADDR field in the SEZAINST(EZACOBOL) API. For PL/I, see the IFR_DSTADDR field in the SEZAINST(CBLOCK) API. |
SIOCGIFMTU X'C020A726' |
32 | First 16 bytes - |
32 | IPv4 interface MTU (maximum transmission unit). For assembler, see the IOCN_MTUSIZE field in the SYS1.MACLIB(BPXYIOCC) API. For COBOL, see the IFR-MTU field in the SEZAINST(EZACOBOL) API. For PL/I, see the IFR_MTU field in the SEZAINST(CBLOCK) API. |
SIOCGIFNAMEINDEX X'4000F603' |
4 | First 4 bytes size of return buffer. | See Figure 2 IF-NAMEINDEX . | |
SIOCGIPMSFILTER X'C000A724' |
– | See IP_MSFILTER structure in macro BPXYIOCC. See note 2. | 0 | Not used |
SIOCGMSFILTER X'C000F610' |
– | See GROUP_FILTER structure in macro BPXYIOCC. See note 3 | 0 | Not used |
SIOCGPARTNERINFO X'C000F612' |
– | For the PartnerInfo structure layout, see SEZANMAC(EZBPINFA) for assembler, SEZANMAC(EZBPINF1) for PL/I, and SEZANMAC(EZBPINFB) for COBOL. See note 4. | 0 | Not used |
SIOCSAPPLDATA X'8018D90C' |
– | See SETAPPLDATA structure in macro EZBYAPPL | 0 | Not used |
SIOCSIPMSFILTER X'8000A725' |
– | See IP_MSFILTER structure in macro BPXYIOCC. See note 2. | 0 | Not used |
SIOCSMSFILTER X'8000F611' |
– | See GROUP_FILTER structure in macro BPXYIOCC. See note 3 | 0 | Not used |
SIOCSPARTNERINFO X'8004F613' |
4 | See PI_REQTYPE_SET_PARTNERDATA in SEZANMAC(EZBPINFA) for assembler, SEZANMAC(EZBPINF1) for PL/I, and SEZANMAC(EZBPINFB) for COBOL. | 0 | Not used |
SIOCTTLSCTL X'C038D90B' |
56 | For IOCTL structure layout, see SEZANMAC(EZBZTLS1) for PL/I, SEZANMAC(EZBZTLSP) for assembler, and SEZANMAC(EZBZTLSB) for COBOL. | 56 | For IOCTL structure layout, see SEZANMAC(EZBZTLS1) for PL/I, SEZANMAC(EZBZTLSP) for assembler, and SEZANMAC(EZBZTLSB) for COBOL. |
Notes:
|