man Pages(9F): DDI and DKI Kernel Functions
只搜寻这本书
以 PDF 格式下载本书

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

Solaris DDI Specific (Solaris DDI)

ARGUMENTS

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 Solaris, 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_LINKReturn link tuples if set
TUPLE_RETURN_IGNORED_TUPLESReturn ignored tuples if set
The following are link tuples and will not be returned by this function unless 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

Ignored tuples will not be returned by this function unless the TUPLE_RETURN_IGNORED_TUPLES bit in the Attributes field is set (see tuple(9S)).
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 95 Standard, PCMCIA/JEIDA