'\" te .\" Copyright (c) 2002, Sun Microsystems, Inc. All Rights Reserved .TH csx_Parse_CISTPL_DEVICE 9F "20 Dec 1996" "SunOS 5.11" "Kernel Functions for Drivers" .SH NAME csx_Parse_CISTPL_DEVICE, csx_Parse_CISTPL_DEVICE_A, csx_Parse_CISTPL_DEVICE_OC, csx_Parse_CISTPL_DEVICE_OA \- parse Device Information tuples .SH SYNOPSIS .LP .nf #include \fBint32_t\fR \fBcsx_Parse_CISTPL_DEVICE\fR(\fBclient_handle_t\fR \fIch\fR, \fBtuple_t *\fR\fItu\fR, \fBcistpl_device_t *\fR\fIcd\fR); .fi .LP .nf \fBint32_t\fR \fBcsx_Parse_CISTPL_DEVICE_A\fR(\fBclient_handle_t\fR \fIch\fR, \fBtuple_t *\fR\fItu\fR, \fBcistpl_device_t *\fR\fIcd\fR); .fi .LP .nf \fBint32_t\fR \fBcsx_Parse_CISTPL_DEVICE_OC\fR(\fBclient_handle_t\fR \fIch\fR, \fBtuple_t *\fR\fItu\fR, \fBcistpl_device_t *\fR\fIcd\fR); .fi .LP .nf \fBint32_t\fR \fBcsx_Parse_CISTPL_DEVICE_OA\fR(\fBclient_handle_t\fR \fIch\fR, \fBtuple_t *\fR\fItu\fR, \fBcistpl_device_t *\fR\fIcd\fR); .fi .SH INTERFACE LEVEL .sp .LP Solaris \fBDDI \fRSpecific (Solaris \fBDDI) \fR .SH PARAMETERS .sp .ne 2 .mk .na \fB\fIch\fR\fR .ad .RS 6n .rt Client handle returned from \fBcsx_RegisterClient\fR(9F). .RE .sp .ne 2 .mk .na \fB\fItu\fR\fR .ad .RS 6n .rt Pointer to a \fBtuple_t\fR structure (see \fBtuple\fR(9S)) returned by a call to \fBcsx_GetFirstTuple\fR(9F) or \fBcsx_GetNextTuple\fR(9F). .RE .sp .ne 2 .mk .na \fB\fIcd\fR\fR .ad .RS 6n .rt Pointer to a \fBcistpl_device_t\fR structure which contains the parsed \fBCISTPL_DEVICE,\fR \fBCISTPL_DEVICE_A,\fR \fBCISTPL_DEVICE_OC,\fR or \fBCISTPL_DEVICE_OA\fR tuple information upon return from these functions, respectively. .RE .SH DESCRIPTION .sp .LP \fBcsx_Parse_CISTPL_DEVICE()\fR and \fBcsx_Parse_CISTPL_DEVICE_A()\fR parse the 5 volt Device Information tuples, \fBCISTPL_DEVICE\fR and \fBCISTPL_DEVICE_A,\fR respectively, into a form usable by \fBPC \fRCard drivers. .sp .LP \fBcsx_Parse_CISTPL_DEVICE_OC()\fR and \fBcsx_Parse_CISTPL_DEVICE_OA()\fR parse the Other Condition Device Information tuples, \fBCISTPL_DEVICE_OC\fR and \fBCISTPL_DEVICE_OA,\fR respectively, into a form usable by \fBPC \fRCard drivers. .sp .LP The \fBCISTPL_DEVICE\fR and \fBCISTPL_DEVICE_A\fR 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. .sp .LP The \fBCISTPL_DEVICE_OC\fR and \fBCISTPL_DEVICE_OA\fR 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. .SH STRUCTURE MEMBERS .sp .LP The structure members of \fBcistpl_device_t\fR are: .sp .in +2 .nf uint32_t num_devices; /* number of devices found */ cistpl_device_node_t devnode[CISTPL_DEVICE_MAX_DEVICES]; .fi .in -2 .sp .LP The structure members of \fBcistpl_device_node_t\fR are: .sp .in +2 .nf 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 */ .fi .in -2 .sp .LP The fields are defined as follows: .sp .ne 2 .mk .na \fB\fBflags\fR\fR .ad .RS 9n .rt This field indicates whether or not the device is writable, and describes a \fBVcc\fR voltage at which the \fBPC \fRCard can be operated. .sp .ne 2 .mk .na \fBCISTPL_DEVICE_WPS\fR .ad .RS 21n .rt Write Protect Switch bit is set .RE Bits which are applicable only for \fBCISTPL_DEVICE_OC\fR and \fBCISTPL_DEVICE_OA\fR are: .sp .ne 2 .mk .na \fBCISTPL_DEVICE_OC_MWAIT\fR .ad .RS 29n .rt Use MWAIT .RE .sp .ne 2 .mk .na \fBCISTPL_DEVICE_OC_Vcc_MASK\fR .ad .RS 29n .rt Mask for \fBVcc\fR value .RE .sp .ne 2 .mk .na \fBCISTPL_DEVICE_OC_Vcc5\fR .ad .RS 29n .rt 5.0 volt operation .RE .sp .ne 2 .mk .na \fBCISTPL_DEVICE_OC_Vcc33\fR .ad .RS 29n .rt 3.3 volt operation .RE .sp .ne 2 .mk .na \fBCISTPL_DEVICE_OC_VccXX\fR .ad .RS 29n .rt X.X volt operation .RE .sp .ne 2 .mk .na \fBCISTPL_DEVICE_OC_VccYY\fR .ad .RS 29n .rt Y.Y volt operation .RE .RE .sp .ne 2 .mk .na \fB\fBspeed\fR\fR .ad .RS 17n .rt The device speed value described in the device speed code unit. If this field is set to \fBCISTPL_DEVICE_SPEED_SIZE_IGNORE,\fR then the speed information will be ignored. .RE .sp .ne 2 .mk .na \fB\fBnS_speed\fR\fR .ad .RS 17n .rt The device speed value described in nanosecond units. .RE .sp .ne 2 .mk .na \fB\fBsize\fR\fR .ad .RS 17n .rt The device size value described in the device size code unit. If this field is set to \fBCISTPL_DEVICE_SPEED_SIZE_IGNORE,\fR then the size information will be ignored. .RE .sp .ne 2 .mk .na \fB\fBsize_in_bytes\fR\fR .ad .RS 17n .rt The device size value described in byte units. .RE .sp .ne 2 .mk .na \fB\fBtype\fR\fR .ad .RS 17n .rt This is the device type code field which is defined as follows: .sp .ne 2 .mk .na \fBCISTPL_DEVICE_DTYPE_NULL\fR .ad .sp .6 .RS 4n No device .RE .sp .ne 2 .mk .na \fBCISTPL_DEVICE_DTYPE_ROM\fR .ad .sp .6 .RS 4n Masked ROM .RE .sp .ne 2 .mk .na \fBCISTPL_DEVICE_DTYPE_OTPROM\fR .ad .sp .6 .RS 4n One Time Programmable ROM .RE .sp .ne 2 .mk .na \fBCISTPL_DEVICE_DTYPE_EPROM\fR .ad .sp .6 .RS 4n UV EPROM .RE .sp .ne 2 .mk .na \fBCISTPL_DEVICE_DTYPE_EEPROM\fR .ad .sp .6 .RS 4n EEPROM .RE .sp .ne 2 .mk .na \fBCISTPL_DEVICE_DTYPE_FLASH\fR .ad .sp .6 .RS 4n FLASH .RE .sp .ne 2 .mk .na \fBCISTPL_DEVICE_DTYPE_SRAM\fR .ad .sp .6 .RS 4n Static RAM .RE .sp .ne 2 .mk .na \fBCISTPL_DEVICE_DTYPE_DRAM\fR .ad .sp .6 .RS 4n Dynamic RAM .RE .sp .ne 2 .mk .na \fBCISTPL_DEVICE_DTYPE_FUNCSPEC\fR .ad .sp .6 .RS 4n Function-specific memory address range .RE .sp .ne 2 .mk .na \fBCISTPL_DEVICE_DTYPE_EXTEND\fR .ad .sp .6 .RS 4n Extended type follows .RE .RE .SH RETURN VALUES .sp .ne 2 .mk .na \fB\fBCS_SUCCESS\fR\fR .ad .RS 27n .rt Successful operation. .RE .sp .ne 2 .mk .na \fB\fBCS_BAD_HANDLE\fR\fR .ad .RS 27n .rt Client handle is invalid. .RE .sp .ne 2 .mk .na \fB\fBCS_UNKNOWN_TUPLE\fR\fR .ad .RS 27n .rt Parser does not know how to parse tuple. .RE .sp .ne 2 .mk .na \fB\fBCS_NO_CARD\fR\fR .ad .RS 27n .rt No \fBPC \fRCard in socket. .RE .sp .ne 2 .mk .na \fB\fBCS_NO_CIS\fR\fR .ad .RS 27n .rt No Card Information Structure (CIS) on \fBPC \fRCard. .RE .sp .ne 2 .mk .na \fB\fBCS_UNSUPPORTED_FUNCTION\fR\fR .ad .RS 27n .rt No \fBPCMCIA \fRhardware installed. .RE .SH CONTEXT .sp .LP These functions may be called from user or kernel context. .SH SEE ALSO .sp .LP \fBcsx_GetFirstTuple\fR(9F), \fBcsx_GetTupleData\fR(9F), \fBcsx_Parse_CISTPL_JEDEC_C\fR(9F), \fBcsx_RegisterClient\fR(9F), \fBcsx_ValidateCIS\fR(9F), \fBtuple\fR(9S) .sp .LP \fIPC Card 95 Standard, PCMCIA/JEIDA\fR