Index Index for
Section 9
Index Alphabetical
listing for C
Bottom of page Bottom of
page

controller_config(9s)

NAME

controller_config - General: Contains information needed to create a controller data structure

SYNOPSIS

struct controller_config { long revision; char subsystem_name[NAME_SIZE_REG]; char bus_name[NAME_SIZE_REG]; struct driver * devdriver; ulong flags; long ctlr_num; long slot_num long parent_instance;};

MEMBERS

revision Specifies the version number of the controller_config structure. You set this member to the constant CTLR_CONFIG_REV_V2. Compaq defines this constant to the appropriate version number in the /usr/sys/include/io/common/devdriver.h file. subsystem_name Specifies the name of the device driver. This name is a string that matches the string you specified for the entry_name item in the /etc/sysconfigtab database. Typically, third-party driver writers specify the driver name (followed by a colon) in the sysconfigtab file fragment, which is appended to the /etc/sysconfigtab database during the driver product installation. bus_name Specifies the name of the bus to which the controller is connected. You can pass any string up to a maximum of thirty characters. You can pass the constant DRIVER_WILDNAME to indicate a wildcard (this bus can be any bus supported by Compaq). For buses supported by Compaq, the bus name is one of the valid device definition keywords associated with the bus. See the System Administration guide (specifically, the section that discusses how to build the kernel to add support for a new device) for information on how to obtain the device definition keywords asssociated with devices supported by Compaq. Third-party driver writers who write drivers that operate on non-Compaq buses can select a string that might include the vendor and product names. The string could also include version and release numbers. This type of naming scheme reduces the chance of name conflicts with other vendors. devdriver Specifies a pointer to the driver's driver data structure. You set this member to the name of the filled-in driver data structure for this device driver. flags This is a set of bit indicators that allows for further refinement of the controller structure to be created. The following bit definitions are defined: CONFIG_PERSIST Set this indicator bit to specify that the created controller structure is to persist in the hwconfig persistence database. CONFIG_PREF_CTLRNO Set this indicator bit to specify that the value in the ctlr_num member field is valid. If this bit is clear, the ctlr_num member field is ignored. CONFIG_PREF_SLOTNO Set this indicator bit to specify that the value in the slot_num member field is valid. If this bit is clear, the slot_num member field is ignored. CONFIG_PREF_PBUS_INST Set this indicator bit to specify that the value in the parent_instance member field is valid. If this bit is clear, the parent_instance member field is ignored. ctlr_num Specifies the preferred instance number for the controller structure to be created. Normally, controller instance numbers are assigned sequentially by the system. This member allows for a controller to be assigned a particular instance number. slot_num Specifies the node or slot number of the parent bus that this controller exists in. This is primarily for the recreation of the hardware topology from the hardware persistence database, or for those controller options that are fixed on the system platform. parent_instance Specifies the instance number of the parent bus that this controller exists in. This is primarily for the recreation of the hardware topology from the hardware persistence database, or for those controller options that are fixed on the system platform.

DESCRIPTION

The controller_config data structure contains the information needed to create a controller data structure and to integrate it into the system (hardware) configuration tree. To create a controller data structure, you set the members of the controller_config data structure to appropriate values and call the create_controller_struct routine. This routine takes as an argument a pointer to the filled-in controller_config data structure.

FILES

<io/common/devdriver.h>

SEE ALSO

Routines: create_controller_struct(9r) Data Structures: controller(9s), device_config(9s), driver(9s)

Index Index for
Section 9
Index Alphabetical
listing for C
Top of page Top of
page