Transfers special commands from the kernel to generic data link control (GDLC) using a file pointer.
#include <sys/gdlextcb.h> #include <fcntl.h>
int fp_ioctl (fp, cmd, arg, ext)
struct file *fp; unsigned int cmd; caddr_t arg; int ext;
fp | Specifies the file pointer of the target GDLC. |
cmd | Specifies the operation to be performed by GDLC. For a listing of all possible operators, see "ioctl Operations (op) for DLC"AIX Version 4.3 Technical Reference: Communications Volume 1. |
arg | Specifies the address of the parameter block. The argument for this parameter must be in the kernel space. For a listing of possible values, see "Parameter Blocks by ioctl Operation for DLC"AIX Version 4.3 Technical Reference: Communications Volume 1. |
ext | Specifies the extension parameter. This parameter is ignored by GDLC. |
Various GDLC functions can be initiated using the fp_ioctl kernel service, such as changing configuration parameters, contacting the remote, and testing a link. Most of these operations can be completed before returning to the user synchronously. Some operations take longer, so asynchronous results are returned much later using the exception function handler. GDLC calls the kernel user's exception handler to complete these results.
Note: The DLC_GET_EXCEP ioctl operation is not used since all exception conditions are passed to the kernel user through the exception handler.
0 | Indicates a successful completion. |
ENXIO | Indicates an invalid file pointer. |
EINVAL | Indicates an invalid value. |
ENOMEM | Indicates insufficient resources to satisfy the ioctl subroutine. |
These return values are defined in the /usr/include/sys/errno.h file.
Each GDLC supports the fp_ioctl kernel service by way of its dlcioctl entry point. The fp_ioctl kernel service may be called from the process environment only.
The fp_ioctl kernel service.
The ioctl subroutine.
The ioctl subroutine interface for DLC devices.
Generic Data Link Control (GDLC) Environment Overview in AIX Version 4.3 Kernel Extensions and Device Support Programming Concepts.