csx_Parse_CISTPL_CONFIG(9F)




NAME

     csx_Parse_CISTPL_CONFIG - parse Configuration tuple


SYNOPSIS

     #include <sys/pccard.h>

     int32_t csx_Parse_CISTPL_CONFIG(client_handle_t ch,  tuple_t
     *tu, cistpl_config_t *cc);


INTERFACE LEVEL

     Solaris DDI Specific (Solaris DDI)


PARAMETERS

     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).

     cc    Pointer to a cistpl_config_t structure which  contains
           the parsed CISTPL_CONFIG tuple information upon return
           from this function.


DESCRIPTION

     This function parses the Configuration tuple, CISTPL_CONFIG,
     into  a  form  usable  by PC Card drivers. The CISTPL_CONFIG
     tuple is used to describe  the  general  characteristics  of
     16-bit  PC  Cards  containing  I/O  devices  or using custom
     interfaces. It may also describe PC Cards, including  Memory
     Only  cards,  which  exceed  nominal power supply specifica-
     tions, or which need descriptions of  their  power  require-
     ments or other information.


STRUCTURE MEMBERS

     The structure members of cistpl_config_t are:

     uint32_t     present;     /* register present flags */
     uint32_t     nr;          /* number of config registers found */
     uint32_t     hr;          /* highest config register index found */
     uint32_t     regs[CISTPL_CONFIG_MAX_CONFIG_REGS];    /* reg offsets */
     uint32_t     base;        /* base offset of config registers */
     uint32_t     last;        /* last config index */

     The fields are defined as follows:

     present
           This field indicates which configuration registers are
           present on the PC Card.

           CONFIG_OPTION_REG_PRESENT
                 Configuration Option Register present

           CONFIG_STATUS_REG_PRESENT
                 Configuration Status Register present

           CONFIG_PINREPL_REG_PRESENT
                 Pin Replacement Register present

           CONFIG_COPY_REG_PRESENT
                 Copy Register present

           CONFIG_EXSTAT_REG_PRESENT
                 Extended Status Register present

           CONFIG_IOBASE0_REG_PRESENT
                 IO Base 0 Register present

           CONFIG_IOBASE1_REG_PRESENT
                 IO Base 1 Register present

           CONFIG_IOBASE2_REG_PRESENT
                 IO Base2 Register present

           CONFIG_IOBASE3_REG_PRESENT
                 IO Base3 Register present

           CONFIG_IOLIMIT_REG_PRESENT
                 IO Limit Register present

     nr    This  field  specifies  the  number  of  configuration
           registers that are present on the PC Card.

     hr    This field specifies the highest configuration  regis-
           ter number that is present on the PC Card.

     regs  This array contains  the  offset  from  the  start  of
           Attribute Memory space for each configuration register
           that is present on the PC  Card.  If  a  configuration
           register  is  not present on the PC Card, the value in
           the corresponding entry in the  regs  array  is  unde-
           fined.

     base  This field contains  the  offset  from  the  start  of
           Attribute Memory space to the base of the PC Card con-
           figuration register space.

     last  This field contains the value of the last valid confi-
           guration index for this PC Card.


RETURN VALUES

     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.


CONTEXT

     This function may be called from user or kernel context.


SEE ALSO

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

     PC Card 95 Standard, PCMCIA/JEIDA


NOTES

     PC Card drivers should not  attempt  to  use  configurations
     beyond the "last" member in the cistpl_config_t structure.


Man(1) output converted with man2html