CSX_GETTUPLEDATA(9F)    Kernel Functions for Drivers    CSX_GETTUPLEDATA(9F)
NAME
       csx_GetTupleData - return the data portion of a tuple
SYNOPSIS
       #include <sys/pccard.h>       
int32_t csx_GetTupleData(
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
       This function returns the data portion of a tuple, as returned by the       
csx_GetFirstTuple(9F) and 
csx_GetNextTuple(9F) functions.
STRUCTURE MEMBERS
       The structure members of 
tuple_t are:
       The fields are defined as follows:
         uint32_t  Socket;                           /* socket number */
         uint32_t  Attributes;                       /* tuple attributes*/
         cisdata_t DesiredTuple;                     /* tuple to search for*/
         cisdata_t TupleOffset;                      /* tuple data offset*/
         cisdata_t TupleDataMax;                     /* max tuple data size*/
         cisdata_t TupleDataLen;                     /* actual tuple data length*/
         cisdata_t TupleData[CIS_MAX_TUPLE_DATA_LEN];/* tuple body data buffer*/
         cisdata_t TupleCode;                        /* tuple type code*/
         cisdata_t TupleLink;                        /* tuple link */       
Socket                       Not used in illumos, but for portability with other
                       Card Services implementations, it should be set to
                       the logical socket number.       
Attributes                       Initialized by 
csx_GetFirstTuple(9F) or                       
csx_GetNextTuple(9F); the client must not modify the
                       value in this field.       
DesiredTuple                       Initialized by 
csx_GetFirstTuple(9F) or                       
csx_GetNextTuple(9F); the client must not modify the
                       value in this field.       
TupleOffset                       This field allows partial tuple information to be
                       retrieved, starting anywhere within the tuple.       
TupleDataMax                       This field is the size of the tuple data buffer that
                       Card Services uses to return raw tuple data from                       
csx_GetTupleData. It can be larger than the number of
                       bytes in the tuple data body. Card Services ignores
                       any value placed here by the client.       
TupleDataLen                       This field is the actual size of the tuple data body.
                       It represents the number of tuple data body bytes
                       returned.       
TupleData                       This field is an array of bytes containing the raw
                       tuple data body contents.       
TupleCode                       Initialized by 
csx_GetFirstTuple(9F) or                       
csx_GetNextTuple(9F); the client must not modify the
                       value in this field.       
TupleLink                       Initialized by 
csx_GetFirstTuple(9F) or                       
csx_GetNextTuple(9F); the client must not modify the
                       value in this field.
RETURN VALUES
       CS_SUCCESS                                  Successful operation.       
CS_BAD_HANDLE                                  Client handle is invalid.       
CS_BAD_ARGS                                  Data from prior 
csx_GetFirstTuple(9F) or                                  
csx_GetNextTuple(9F) is corrupt.       
CS_NO_CARD                                  No 
PC Card in socket.       
CS_NO_CIS                                  No Card Information Structure (CIS) on 
PC                                  Card.       
CS_NO_MORE_ITEMS                                  Card Services was not able to read the
                                  tuple from the 
PC Card.       
CS_UNSUPPORTED_FUNCTION                                  No 
PCMCIA hardware installed.
CONTEXT
       This function may be called from user or kernel context.
SEE ALSO
       csx_GetFirstTuple(9F), 
csx_ParseTuple(9F), 
csx_RegisterClient(9F),       
csx_ValidateCIS(9F), 
tuple(9S)       PC Card 95 Standard, PCMCIA/JEIDA                              December 20, 1996         CSX_GETTUPLEDATA(9F)