The GETADDRINFO call translates either the name of a service
location (for example, a host name), a service name, or both, and
returns a set of socket addresses and associated information to be
used in creating a socket with which to address the specified service
or sending a datagram to the specified service.
The following requirements apply to this call:
Authorization: |
Supervisor state or problem state, any PSW key. |
Dispatchable unit mode: |
Task. |
Cross memory mode: |
PASN = HASN. |
Amode: |
31-bit or 24-bit.
|
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. |
Figure 1 shows an example
of GETADDRINFO call instructions.
Figure 1. GETADDRINFO
call instruction example WORKING-STORAGE SECTION.
01 SOC-FUNCTION PIC X(16) VALUE IS 'GETADDRINFO'.
01 NODE PIC X(255).
01 NODELEN PIC 9(8) BINARY.
01 SERVICE PIC X(32).
01 SERVLEN PIC 9(8) BINARY.
01 AI-PASSIVE PIC 9(8) BINARY VALUE 1.
01 AI-CANONNAMEOK PIC 9(8) BINARY VALUE 2.
01 AI-NUMERICHOST PIC 9(8) BINARY VALUE 4.
01 AI-NUMERICSERV PIC 9(8) BINARY VALUE 8.
01 AI-V4MAPPED PIC 9(8) BINARY VALUE 16.
01 AI-ALL PIC 9(8) BINARY VALUE 32.
01 AI-ADDRCONFIG PIC 9(8) BINARY VALUE 64.
01 AI-EXTFLAGS PIC 9(8) BINARY VALUE 128.
01 HINTS USAGE IS POINTER.
01 RES USAGE IS POINTER.
01 CANNLEN PIC 9(8) BINARY.
01 ERRNO PIC 9(8) BINARY.
01 RETCODE PIC S9(8) BINARY.
LINKAGE SECTION.
01 HINTS-ADDRINFO.
03 FLAGS PIC 9(8) BINARY.
03 AF PIC 9(8) BINARY.
03 SOCTYPE PIC 9(8) BINARY.
03 PROTO PIC 9(8) BINARY.
03 FILLER PIC 9(8) BINARY.
03 FILLER PIC X(4).
03 FILLER PIC X(4).
03 FILLER PIC 9(8) BINARY.
03 FILLER PIC X(4).
03 FILLER PIC 9(8) BINARY.
03 FILLER PIC X(4).
03 FILLER PIC 9(8) BINARY.
03 EFLAGS PIC 9(8) BINARY.
01 RES-ADDRINFO.
03 FLAGS PIC 9(8) BINARY.
03 AF PIC 9(8) BINARY.
03 SOCTYPE PIC 9(8) BINARY.
03 PROTO PIC 9(8) BINARY.
03 NAMELEN PIC 9(8) BINARY.
03 FILLER PIC X(4).
03 FILLER PIC X(4).
03 CANONNAME USAGE IS POINTER.
03 FILLER PIC X(4).
03 NAME USAGE IS POINTER.
03 FILLER PIC X(4).
03 NEXT USAGE IS POINTER.
03 FILLER PIC 9(8) BINARY.
PROCEDURE DIVISION.
MOVE 'www.hostname.com' TO NODE.
MOVE 16 TO HOSTLEN.
MOVE 'TELNET' TO SERVICE.
MOVE 6 TO SERVLEN.
SET HINTS TO ADDRESS OF HINTS-ADDRINFO.
CALL 'EZASOKET' USING SOC-FUNCTION NODE NODELEN SERVICE SERVLEN HINTS
RES CANNLEN ERRNO RETCODE.