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)