CSX_GETFIRSTTUPLE(9F) Kernel Functions for Drivers CSX_GETFIRSTTUPLE(9F)


NAME


csx_GetFirstTuple, csx_GetNextTuple - return Card Information Structure
tuple

SYNOPSIS


#include <sys/pccard.h>


int32_t csx_GetFirstTuple(client_handle_t ch, tuple_t *tu);


int32_t csx_GetNextTuple(client_handle_t ch, tuple_t *tu);


INTERFACE LEVEL


illumos DDI Specific (illumos DDI)

PARAMETERS


ch
Client handle returned from csx_RegisterClient(9F).


tu
Pointer to a tuple_t structure.


DESCRIPTION


The functions csx_GetFirstTuple() and csx_GetNextTuple() return the first
and next tuple, respectively, of the specified type in the Card
Information Structure (CIS) for the specified socket.

STRUCTURE MEMBERS


The structure members of tuple_t are:

uint32_t Socket; /* socket number */
uint32_t Attributes; /* Attributes */
cisdata_t DesiredTuple; /* tuple to search for or flags */
cisdata_t TupleCode; /* tuple type code */
cisdata_t TupleLink; /* tuple data body size */


The fields are defined as follows:

Socket
Not used in illumos, but for portability with
other Card Services implementations, it should be
set to the logical socket number.


Attributes
This field is bit-mapped. The following bits are
defined:

TUPLE_RETURN_LINK

Return link tuples if set. The following are
link tuples and will only be returned by this
function if the TUPLE_RETURN_LINK bit in the
Attributes field is set:

CISTPL_NULL CISTPL_LONGLINK_MFC
CISTPL_LONGLINK_A CISTPL_LINKTARGET
CISTPL_LONGLINK_C CISTPL_NO_LINK
CISTPL_LONGLINK_CB CISTPL_END


TUPLE_RETURN_IGNORED_TUPLES

Return ignored tuples if set. Ignored tuples
will be returned by this function if the
TUPLE_RETURN_IGNORED_TUPLES bit in the
Attributes field is set, see tuple(9S) for
more information. The CIS is parsed from the
location setup by the previous
csx_GetFirstTuple() or csx_GetNextTuple()
request.


DesiredTuple
This field is the tuple value desired. If it is
RETURN_FIRST_TUPLE, the very first tuple of the
CIS is returned (if it exists). If this field is
set to RETURN_NEXT_TUPLE, the very next tuple of
the CIS is returned (if it exists). If the
DesiredTuple field is any other value on entry,
the CIS is searched in an attempt to locate a
tuple which matches.


TupleCode,TupleLink
These fields are the values returned from the
tuple found. If there are no tuples on the card,
CS_NO_MORE_ITEMS is returned.


Since the csx_GetFirstTuple(), csx_GetNextTuple(), and
csx_GetTupleData(9F) functions all share the same tuple_t structure, some
fields in the tuple_t structure are unused or reserved when calling this
function and these fields must not be initialized by the client.

RETURN VALUES


CS_SUCCESS
Successful operation.


CS_BAD_HANDLE
Client handle is invalid.


CS_NO_CARD
No PC Card in socket.


CS_NO_CIS
No Card Information Structure (CIS) on PC
card.


CS_NO_MORE_ITEMS
Desired tuple not found.


CS_UNSUPPORTED_FUNCTION
No PCMCIA hardware installed.


CONTEXT


These functions may be called from user or kernel context.

SEE ALSO


csx_GetTupleData(9F), csx_ParseTuple(9F), csx_RegisterClient(9F),
csx_ValidateCIS(9F), tuple(9S)


PC Card 95Standard, PCMCIA/JEIDA


December 20, 1996 CSX_GETFIRSTTUPLE(9F)