z/OS Communications Server: IP Programmer's Guide and Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


SIOCSMOCTL IOCTL

z/OS Communications Server: IP Programmer's Guide and Reference
SC27-3659-02

Applications that use the UNIX System Services optimized Asynchronous Socket I/O option (designated by the AioCommBuff bit in the AIOCB control block) can exploit 64-bit shared memory objects. The application allocates a shared memory object and issues a new IOCTL SIOCSMOCTL that enables TCP/IP to establish access to the memory object or to remove access to the memory object.

Table 1 lists SIOCSMOCTL requirements.

Table 1. SIOCSMOCTL requirements
  Requirements
Minimum authorization: Executing in supervisor state, in system key, or APF authorized
Dispatchable unit mode: Task or SRB
Cross memory mode: PASN=HASN=SASN
Addressing mode: AMODE31 or AMODE64
ASC mode: Primary
Interrupt status: Enabled for I/O and external interrupts
Locks: Not applicable
Control parameters: Must be in an addressable area in the primary address space and must be accessible using caller's execution key

A SIOCSMOCTL IOCTL can be issued on any type of socket (stream, datagram, or raw), and requires that the application be authorized. After access to shared memory objects is established, the application can use buffers in the memory objects for asynchronous I/O by setting the AioCommBuff bit in the AIOCB control block on any stream socket that it has created. TCP/IP internally associates access to shared memory objects with the socket that was used to issue the SIOCSMOCTL IOCTL; if any shared memory object associations remain when that socket is closed, these memory associations are automatically broken and TCP/IP access to those objects is removed. The application must ensure that the socket that is used to issue the SIOCSMOCTL IOCTL is closed only after all other stream sockets that use buffers in those shared memory objects are closed.

For more information about the use of the BPX1AIO and BPX4AIO services and about the use of the AioCommBuff bit, see z/OS UNIX System Services Programming: Assembler Callable Services Reference.

For more information about the use of shared memory objects, see z/OS MVS Programming: Extended Addressability Guide.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014