[ Previous | Next | Contents | Home | Search ]
AIX Version 4.3 Kernel and Subsystems Technical Reference, Volume 2

entconfig Ethernet Device Handler Entry Point

Purpose

Initializes, terminates, and queries the vital product data (VPD) of the Ethernet device handler.

Syntax

#include <sys/device.h>
#include <sys/uio.h>
int entconfig (devno, cmd, uiop)
dev_t devno;
int cmd;
struct uio *uiop;

Parameters

devno Specifies major and minor device numbers.
cmd Specifies which of the following functions this routine should perform:
CFG_INIT Initializes device handler and internal data areas.
CFG_TERM Terminates the device handler.
CFG_QVPD Queries VPD.
uiop Points to a uio structure. The uio structure is defined in the /usr/include/sys/uio.h file.

Description

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:
  • The Ethernet device handler marks itself terminated and prevents subsequent opens.
  • All dynamically allocated areas are freed.
  • All Ethernet device handler entry points are removed from the device switch table.
CFG_QVPD Returns the Ethernet VPD to the caller. The VPD is placed in the area specified by the caller in the uio structure.

Execution Environment

An entconfig entry point can be called from the process environment only.

Return Values

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).

Implementation Specifics

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.

Related Information

Device-Dependent Structure (DDS) Overview in AIX Kernel Extensions and Device Support Programming Concepts.

The uio structure.


[ Previous | Next | Contents | Home | Search ]