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

csx_Parse_CISTPL_LONGLINK_MFC - parse the Multi-Function tuple

#include <sys/pccard.h>
int32_t csx_Parse_CISTPL_LONGLINK_MFC(client_handle_t ch, tuple_t *tu,

cistpl_longlink_mfc_t *pt);

illumos DDI Specific (illumos DDI)

ch

Client handle returned from csx_RegisterClient(9F).

tu

Pointer to a tuple_t structure (see tuple(9S)) returned by a call to csx_GetFirstTuple(9F) or csx_GetNextTuple(9F).

pt

Pointer to a cistpl_longlink_mfc_t structure which contains the parsed CISTPL_LONGLINK_MFC tuple information upon return from this function.

This function parses the Multi-Function tuple, CISTPL_LONGLINK_MFC, into a form usable by PC Card drivers.

The CISTPL_LONGLINK_MFC tuple describes the start of the function-specific CIS for each function on a multi-function card.

The structure members of cistpl_longlink_mfc_t are:


uint32_t    nfuncs;
uint32_t    nregs;
uint32_t    function[CIS_MAX_FUNCTIONS].tas
uint32_t    function[CIS_MAX_FUNCTIONS].addr

The fields are defined as follows:

nfuncs

This field indicates the number of functions on the PC card.

nregs

This field indicates the number of configuration register sets.

function[CIS_MAX_FUNCTIONS].tas

This field provides the target address space for each function on the PC card. This field can be one of:

CISTPL_LONGLINK_MFC_TAS_AM

CIS in attribute memory

CISTPL_LONGLINK_MFC_TAS_CM

CIS in common memory

function[CIS_MAX_FUNCTIONS].addr

This field provides the target address offset for each function on the PC card.

CS_SUCCESS

Successful operation.

CS_BAD_HANDLE

Client handle is invalid.

CS_UNKNOWN_TUPLE

Parser does not know how to parse tuple.

CS_NO_CARD

No PC Card in socket.

CS_NO_CIS

No Card Information Structure (CIS) on PC Card.

CS_UNSUPPORTED_FUNCTION

No PCMCIA hardware installed.

This function may be called from user or kernel context.

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

PC Card 95 Standard, PCMCIA/JEIDA

January 24, 1997 OmniOS