Initializes, terminates, and queries the vital product data (VPD) of the Ethernet device handler.
#include <sys/device.h> #include <sys/uio.h>
int entconfig (devno, cmd, uiop) dev_t devno; int cmd; struct uio *uiop;
|devno||Specifies major and minor device numbers.|
|cmd|| Specifies which of the following functions this routine should perform:
|uiop||Points to a uio structure. The uio structure is defined in the /usr/include/sys/uio.h file.|
The entconfig entry point initializes, terminates, and queries the VPD of the Ethernet device handler. The following are three possible entconfig operations:
|CFG_INIT||Registers entry point of the Ethernet device handler by placing them into the device switch table for the major device number specified by the devno parameter. The uio structure contains the iov_base pointer, which points to the Ethernet device-dependent structure (DDS). The caller provides the uio structure. The structure is copied into an internal save area by the init function.|
|CFG_TERM||If there are no outstanding opens, the following occurs:|
|CFG_QVPD||Returns the Ethernet VPD to the caller. The VPD is placed in the area specified by the caller in the uio structure.|
An entconfig entry point can be called from the process environment only.
In general, communication device handlers use the common return codes defined for an entry point. However, device handlers for specific communication devices may return device-specific codes. The common return codes for the entconfig entry point are the following:
|EINVAL||Indicates an address range or op code (common to all entconfig cmd operations) is not valid.|
|EBUSY||Indicates the device was already open in Diagnostic Mode and the open request was denied (issued for CFG_TERM and CFG_INIT operations).|
|EEXIST||Indicates the DDS structure already exists (CFG_TERM operation).|
|ENODEV||Indicates no such device exists (issued for all three operations).|
|EUNATCH||Indicates the protocol driver was not attached (issued for the CFG_TERM operation).|
|EFAULT||Indicates a specified address (common to the CFG_QVPD and CFG_INIT operations) is not valid.|
|EINVAL||Indicates a range or op code (common to all three operations) is not valid.|
|EACCES||Indicates permission was denied because the device was already open, or because there were outstanding opens that were unable to terminate (common to the CFG_TERM and CFG_QVPD operations).|
|ENOENT||Indicates no DDS to delete (common to the CFG_TERM and CFG_QVPD operations).|
|ENXIO||Indicates no such device exists or the maximum number of adapters was exceeded (common to all three operations).|
|EEXIST||Indicates the DDS structure already exists (common to CFG_TERM and CFG_INIT operations).|
|EFAULT||Indicates a specified address (issued for CFG_TERM and CFG_INIT operations) is not valid.|
|ENOMEM||Indicates insufficient memory (issued for the CFG_INIT operation).|
The entconfig entry point functions with an Ethernet High-Performance LAN adapter that has been correctly configured for use on a qualified network. Consult the adapter specifications for more information on configuring the network adapter and network qualifications.
Device-Dependent Structure (DDS) Overview in AIX Kernel Extensions and Device Support Programming Concepts.
The uio structure.