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

controller(9s)

NAME

controller - General: Contains members that store information about hardware resources and store data for communication between the kernel and the device driver

SYNOPSIS

__________________________________ Member Name Data Type __________________________________ ctlr_mbox u_long * bus_hd struct bus * nxt_ctlr struct controller * dev_list struct device * driver struct driver * ctlr_type int ctlr_name char * ctlr_num int bus_name char * bus_num int rctlr int slot int alive int pname char * port struct port * intr int (**intr)() addr caddr_t addr2 caddr_t flags int bus_priority int ivnum int priority int cmd int physaddr caddr_t physaddr2 caddr_t private void * [8] conn_priv void * [8] rsvd void * [8] __________________________________

MEMBERS

ctlr_mbox Specifies a pointer to the mailbox data structure for hardware platforms that access I/O space through hardware mailboxes. The bus adapter code sets this member. bus_hd Specifies a pointer to the bus data structure to which this controller is connected. nxt_ctlr Specifies a pointer to the next controller at this level. dev_list Specifies a linked list of devices connected to this controller. driver Specifies a pointer to the driver data structure for this controller. ctlr_type Specifies the controller type. ctlr_name Specifies the controller name. ctlr_num Specifies the controller number. bus_name Specifies the name of the bus to which this controller is connected. bus_num Specifies the number of the bus to which the controller is connected. rctlr Specifies the remote controller number (for example, the SCSI ID). slot Specifies the bus slot or node number. alive Specifies a flag word to indicate the current status of the controller. pname Specifies a pointer to the port name for this controller, if applicable. port Specifies a pointer to the port data structure for this controller, if applicable. intr Specifies an array that contains one or more entry points for the controller interrupt handlers. addr Specifies the address of the device registers or memory. addr2 Specifies an optional second virtual address for this controller. This member is set if there are two CSR spaces. flags Specifies controller-specific flags. bus_priority Specifies the configured VMEbus priority level of the device. Only drivers operating on the VMEbus use this member. ivnum Specifies an interrupt vector number. Only drivers operating on the VMEbus use this member. priority Specifies the system priority level (SPL) that can be used to block interrupts from this device. Only drivers operating on the VMEbus use this member. cmd Specifies a field that is not currently used. physaddr Specifies the physical address that corresponds to the virtual address set in the addr member. physaddr2 Specifies the physical address that corresponds to the virtual address set in the addr2 member. private Specifies private storage for use by this controller or controller type. conn_priv Specifies private storage for use by the bus to which this controller is connected. rsvd This member is reserved for future expansion of the data structure.

DESCRIPTION

The controller data structure represents an instance of a controller entity, one that connects logically to a bus. A controller can control devices that are directly connected or can perform some other controlling operation, such as a network interface or terminal controller operation.

FILES

<io/common/devdriver.h>

SEE ALSO

Data Structures: bus(9s), device(9s), driver(9s)

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