This section discusses the hot-plug software elements and the information passed between them. For a review of the software elements and their relationships to each other, refer to Table 17-1 on page 655. Communications between the Hot-Plug Service within the OS and the Hot-Plug System Driver is in the form of requests. The spec doesn't define the exact format of these requests, but does define the basic request types and their content. Each request type issued to the Hot-Plug System Driver by the Hot-Plug Service is referred to as a primitive. They are listed and described in Table 17-8 on page 682.
Table 17-8. The Primitives
|
Query Hot-Plug System Driver | Input:
None | Requests that the Hot-Plug System Driver return a set of Logical Slot IDs for the slots it controls. |
Return:
Set of Logical Slot IDs for slots controlled by this driver. |
Set Slot Status | Inputs:
Logical Slot ID New slot state (on or off). New Attention Indicator state. New Power Indicator state.
| This request is used to control the slots and the Attention Indicator associated with each slot. Good completion of a request is indicated by returning the Status Change Successful parameter. If a fault is incurred during an attempted status change, the Hot-Plug System Driver should return the appropriate fault message (see middle column). Unless otherwise specified, the card should be left in the off state. |
Return:
Request completion status:
|
Query Slot Status | Input:
Logical Slot ID | This request returns the state of the indicated slot (if a card is present).The Hot-Plug System Driver must return the Slot Power status information. |
Return:
Slot state (on or off) Card power requirements.
|
Async Notice of Slot Status Change | Input:
Logical Slot ID | This is the only primitive (defined by the spec) that is issued to the Hot-Plug Service by the Hot-Plug System Driver. It is sent when the Driver detects an unsolicited change in the state of a slot. Examples would be a run-time power fault or card installed in a previously-empty slot with no warning. |
Return:
none |