tokread Token-Ring Device Handler Entry Point

Purpose

Note: This function is supported in AIX® 5.1 and earlier only.

Provides the means for receiving data from the token-ring device handler.

Syntax

#include <sys/device.h> #include <sys/uio.h> #include <sys/comio.h> #include <sys/tokuser.h> int tokread (devno, uiop, chan, arg) dev_t devno; struct uio *uiop; int chan; read_extension *arg;

Parameters

Item Description
devno Specifies major and minor device numbers.
uiop Points to a uio structure. For a calling user-mode process, the uio structure specifies the location and length of the caller's data area in which to transfer information. The kernel fills in the uio structure for the user.
chan Specifies the channel number assigned by the tokmpx entry point.
arg Can be null or points to the read_extension structure. This structure is defined in the /usr/include/sys/comio.h file.

Description

Note: Only user-mode callers should use the tokread entry point.

The tokread entry point provides the means for receiving data from the token-ring device handler. When a user-mode caller issues a read, readx, readv, or readvx subroutine, the kernel calls the tokread entry point.

For this operation, the arg parameter may point to the read_extension structure. This structure is defined in the /usr/include/sys/comio.h file and contains the following fields:

Field Description
status Contains additional information about the completion of the tokread entry point. Possible values for this field are:
netid Not used
sessid Not used

The tokread entry point functions with a Token-Ring High Performance Network Adapter that has been correctly configured for use on a qualified network. Consult adapter specifications for more information on configuring the adapter and network qualifications.

Execution Environment

The tokread entry point can be called from the process environment only.

Return Values

Item Description
EACCES Indicates an illegal call from a kernel-mode user.
ENXIO Indicates the specified minor number is not valid.
EINTR Indicates a system call was interrupted.
EMSGSIZE Indicates the data was too large to fit into the receive buffer and that no arg parameter was supplied to provide an alternate means of reporting this error with a status of CIO_BUF_OVFLW.
EFAULT Indicates that the supplied address is not valid.
ENOCONNECT Indicates the device has not been started.