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)