CSX_PARSE_CISTPL_DEVICE(9F)                     Kernel Functions for Drivers
NAME
       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);
INTERFACE LEVEL
       illumos 
DDI Specific (illumos 
DDI)PARAMETERS
       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.
DESCRIPTION
       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.
STRUCTURE MEMBERS
       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
RETURN VALUES
       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.
CONTEXT
       These functions may be called from user or kernel context.
SEE ALSO
       csx_GetFirstTuple(9F), 
csx_GetTupleData(9F),       
csx_Parse_CISTPL_JEDEC_C(9F), 
csx_RegisterClient(9F),       
csx_ValidateCIS(9F), 
tuple(9S)       PC Card 95 Standard, PCMCIA/JEIDA                              December 20, 1996  CSX_PARSE_CISTPL_DEVICE(9F)