|
Kernel Functions for Drivers | csx_Parse_CISTPL_DEVICE(9F) |
| csx_Parse_CISTPL_DEVICE, csx_Parse_CISTPL_DEVICE_A, csx_Parse_CISTPL_DEVICE_OC, csx_Parse_CISTPL_DEVICE_OA - parse
Device Information tuples |
SYNOPSIS
|
#include <sys/pccard.h>
int32_t csx_Parse_CISTPL_DEVICE(client_handle_t ch, tuple_t *tu, cistpl_device_t *cd); |
| int32_t csx_Parse_CISTPL_DEVICE_A(client_handle_t ch, tuple_t *tu, cistpl_device_t *cd); |
| int32_t csx_Parse_CISTPL_DEVICE_OC(client_handle_t ch, tuple_t *tu, cistpl_device_t *cd); |
| int32_t csx_Parse_CISTPL_DEVICE_OA(client_handle_t ch, tuple_t *tu, cistpl_device_t *cd); |
|
Solaris DDI Specific (Solaris DDI)
|
|
-
ch
- Client handle returned from csx_RegisterClient(9F).
-
tu
- Pointer to a tuple_t structure (see tuple(9S)) returned by a call to csx_GetFirstTuple(9F) or csx_GetNextTuple(9F).
-
cd
- Pointer to a cistpl_device_t structure which contains the parsed CISTPL_DEVICE, CISTPL_DEVICE_A, CISTPL_DEVICE_OC, or CISTPL_DEVICE_OA tuple information upon return
from these functions, respectively.
|
|
csx_Parse_CISTPL_DEVICE() and csx_Parse_CISTPL_DEVICE_A() parse the 5 volt Device Information tuples, CISTPL_DEVICE
and CISTPL_DEVICE_A, respectively, into a form usable by PC Card drivers.
csx_Parse_CISTPL_DEVICE_OC() and csx_Parse_CISTPL_DEVICE_OA() parse the Other Condition Device Information tuples, CISTPL_DEVICE_OC and CISTPL_DEVICE_OA, respectively, into a form usable by PC Card drivers.
The CISTPL_DEVICE and CISTPL_DEVICE_A tuples are used to describe the card's device information, such as device
speed, device size, device type, and address space layout information for Common Memory or Attribute Memory space, respectively.
The CISTPL_DEVICE_OC and CISTPL_DEVICE_OA tuples are used to describe the information about the card's device under
a set of operating conditions for Common Memory or Attribute Memory space, respectively.
|
|
The structure members of cistpl_device_t are:
|
uint32_t num_devices; /* number of devices found */
cistpl_device_node_t devnode[CISTPL_DEVICE_MAX_DEVICES];
|
The structure members of cistpl_device_node_t are:
|
uint32_t flags; /* flags specific to this device */
uint32_t speed; /* device speed in device
/* speed code format */
uint32_t nS_speed; /* device speed in nS */
uint32_t type; /* device type */
uint32_t size; /* device size */
uint32_t size_in_bytes; /* device size in bytes */
|
The fields are defined as follows:
-
flags
- This field indicates whether or not the device is writable, and describes a Vcc voltage at which the PC Card can be operated.
- CISTPL_DEVICE_WPS
- Write Protect Switch bit is set
Bits which are applicable only for CISTPL_DEVICE_OC and CISTPL_DEVICE_OA are:
- CISTPL_DEVICE_OC_MWAIT
- Use MWAIT
- CISTPL_DEVICE_OC_Vcc_MASK
- Mask for Vcc value
- CISTPL_DEVICE_OC_Vcc5
- 5.0 volt operation
- CISTPL_DEVICE_OC_Vcc33
- 3.3 volt operation
- CISTPL_DEVICE_OC_VccXX
- X.X volt operation
- CISTPL_DEVICE_OC_VccYY
- Y.Y volt operation
-
speed
- The device speed value described in the device speed code unit. If this field is set to CISTPL_DEVICE_SPEED_SIZE_IGNORE, then the speed information will be ignored.
-
nS_speed
- The device speed value described in nanosecond units.
-
size
- The device size value described in the device size code unit. If this field is set to CISTPL_DEVICE_SPEED_SIZE_IGNORE, then the size information will be ignored.
-
size_in_bytes
- The device size value described in byte units.
-
type
- This is the device type code field which is defined as follows:
- CISTPL_DEVICE_DTYPE_NULL
- No device
- CISTPL_DEVICE_DTYPE_ROM
- Masked ROM
- CISTPL_DEVICE_DTYPE_OTPROM
- One Time Programmable ROM
- CISTPL_DEVICE_DTYPE_EPROM
- UV EPROM
- CISTPL_DEVICE_DTYPE_EEPROM
- EEPROM
- CISTPL_DEVICE_DTYPE_FLASH
- FLASH
- CISTPL_DEVICE_DTYPE_SRAM
- Static RAM
- CISTPL_DEVICE_DTYPE_DRAM
- Dynamic RAM
- CISTPL_DEVICE_DTYPE_FUNCSPEC
- Function-specific memory address range
- CISTPL_DEVICE_DTYPE_EXTEND
- Extended type follows
|
|
-
CS_SUCCESS
- Successful operation.
-
CS_BAD_HANDLE
- Client handle is invalid.
-
CS_UNKNOWN_TUPLE
- Parser does not know how to parse tuple.
-
CS_NO_CARD
- No PC Card in socket.
-
CS_NO_CIS
- No Card Information Structure (CIS) on PC Card.
-
CS_UNSUPPORTED_FUNCTION
- No PCMCIA hardware installed.
|
|
These functions may be called from user or kernel context.
|
| |