Plug and Play BIOS Specification

Plug and Play BIOS Specification 1.0A Page 41
4.6.3 Function 5 - Get Docking Station Information
Synopsis:
int FAR (*entryPoint)(Function, DockingStationInfo, BiosSelector);
int Function; /* PnP BIOS Function 5 */
unsigned char FAR *DockingStationInfo; /* Pointer to docking station info structure */
unsigned int BiosSelector; /* PnP BIOS readable/writable selector */
Description:
Required for Dynamic Event Management. This function will allow system software to get information
which specifies the type of docking device, either expansion or convenience base, the system is connected
to, as well as the capabilities of the docking device. The docking station information will be returned in
the memory buffer pointed to by DockingStationInfo in the following format:
Field Offset Length Value
Docking station location identifier 00h DWORD Varies
Serial number 04h DWORD Varies
Capabilities 08h WORD Varies
Docking station location identifier:
This field is the docking device location identifier. The identifier should follow the EISA device
identifier format. The docking device location identifier will allow system software to
differentiate between the types of docking stations and convenience bases that the base system
unit can be connected to. This enables the system software to better determine the various
docked and undocked configuration states. LocationId will be set to
UNKNOWN_DOCKING_IDENTIFIER (0xFFFFFFFF) for docking stations and/or convenience
bases that do not have a product identifier.
Serial number:
SerialNum is not required; however, if the docking station does not have a serial number, then 0
should be returned in this parameter.
Capabilities:
The Docking Capabilities bit field is defined as follows:
Bits 15:3 Reserved (0)
Bit 2:1 - 00=System should be powered off to dock or undock (Cold Docking)
01=System supports Warm Docking/Undocking, system must be in suspend
10=System supports Hot Docking/Undocking, not required to be in suspend
11=Reserved
Bit 0 - 0=Docking station does not provide support for controlling the
docking/undocking sequence (Surprise Style).
1=Docking station provides support for controlling the docking/undocking
sequence (VCR Style).
If the system supports docking and is unable to determine the docking station capabilities, this function
will return UNABLE_TO_DETERMINE_DOCK_CAPABILITIES. All other relevant information, such
as the docking station identifier, will be returned in the data structure.
If the system does not support docking, this function will return FUNCTION_NOT_SUPPORTED. If the
system supports docking, but is not currently docked, this function will return SYSTEM_NOT_DOCKED
and will not return any information about a docking station.
The BiosSelector parameter enables the system BIOS, if necessary, to update system variables that are
contained in the system BIOS memory space. If this function is called from protected mode, the caller
must create a data segment descriptor using the 16-bit Protected Mode data segment base address
specified in the Plug and Play Installation Check data structure, a limit of 64KB, and the descriptor must
be read/write capable If this function is called from real mode, BiosSelector should be set to the Real
Mode 16-bit data segment address as specified in the Plug and Play Installation Check structure. Refer to