gtpc1m0qTransmission Control Protocol/Internet Protocol

File Descriptor Table and Related Control Block Structures

The file descriptor table (FDT) is a TCP/IP control block structure located in main storage that contains information about each file descriptor defined in the TPF system. A file descriptor, which contains socket status information, is obtained by TCP/IP support when a socket application issues a socket or accept function call. For every socket descriptor returned to the socket application with a function call, such as the socket or accept function call, there is one file descriptor entry associated with the socket descriptor integer value. In addition, each file descriptor is associated with one TCP/IP offload device.

Contents of the File Descriptor Table

The file descriptor table contains information such as local socket descriptor, remote socket description, adapter ID, path ID, address domain, socket type, protocol, and socket status.

A file descriptor is returned to the system when:

Each processor in the TPF system has its own unique FDT. Therefore, the FDT contents are not necessarily consistent across all of the processors in a loosely coupled TPF system.

Related Control Block Structures

The following control blocks are related to the file descriptor table:

CLAW Send Message Block

The CLAW send message block (ICMSGB) is obtained during the processing of a claw_send function call. A claw_send function call is issued by TCP/IP support when a socket API function call will be processed by the TCP/IP offload device. Each ICMSGB used is returned to the system when claw_send function call has been completed. See claw_send -- Send a Message on an Active Logical Link for a description of the claw_send function.

Socket Thread Control Blocks

Different types of socket thread control blocks are chained off individual file descriptors. A type represents a unique function, such as the accept function to accept a connection request, or the connect function to request a connection to a remote host.

Most of the events associated with each of the offload devices are thread control blocks chained off any one file descriptor. The different types of socket thread control blocks that can be chained off a file descriptor are: