csx_ModifyConfiguration(9F)




NAME

     csx_ModifyConfiguration - modify socket and PC  Card  Confi-
     guration Register


SYNOPSIS

     #include <sys/pccard.h>

     int32_t     csx_ModifyConfiguration(client_handle_t      ch,
     modify_config_t *mc);


INTERFACE LEVEL

     Solaris DDI Specific (Solaris DDI)


PARAMETERS

     ch    Client handle returned from csx_RegisterClient(9F).

     mc    Pointer to a modify_config_t structure.


DESCRIPTION

     This function allows a socket and PC Card  configuration  to
     be  modified.  This function can only modify a configuration
     requested via csx_RequestConfiguration(9F).


STRUCTURE MEMBERS

     The structure members of modify_config_t are:

     uint32_t     Socket;        /* socket number */
     uint32_t     Attributes;    /* attributes to modify */
     uint32_t     Vpp1;          /* Vpp1 value */
     uint32_t     Vpp2;          /* Vpp2 value */

     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:

           CONF_ENABLE_IRQ_STEERING
                 Enable IRQ steering. Set to connect the PC  Card
                 IREQ line to a previously selected system inter-
                 rupt.

           CONF_IRQ_CHANGE_VALID
                 IRQ change valid. Set to request the IRQ  steer-
                 ing enable to be changed.

           CONF_VPP1_CHANGE_VALID
                 Vpp1 change valid. These bits are set to request
                 a  change to the corresponding voltage level for
                 the PC Card.

           CONF_VPP2_CHANGE_VALID
                 Vpp2 change valid. These bits are set to request
                 a  change to the corresponding voltage level for
                 the PC Card.

           CONF_VSOVERRIDE
                 Override VS pins. For Low Voltage  keyed  cards,
                 must  be set if a client desires to apply a vol-
                 tage inappropriate for this  card  to  any  pin.
                 After  card  insertion  and  prior  to the first
                 csx_RequestConfiguration(9F)   call   for   this
                 client,  the  voltage levels applied to the card
                 will be those specified by  the  Card  Interface
                 Specification. (See WARNINGS.)

     Vpp1, Vpp2
           Represent voltages expressed  in  tenths  of  a  volt.
           Values  from  0 to 25.5 volts may be set. To be valid,
           the exact voltage must be available from  the  system.
           To   be  compliant  with  the  PC  Card  95  Standard,
           PCMCIA/JEIDA, systems must always  support  5.0  volts
           for both Vcc and Vpp. (See WARNINGS.)


RETURN VALUES

     CS_SUCCESS
           Successful operation.

     CS_BAD_HANDLE
           Client       handle        is        invalid        or
           csx_RequestConfiguration(9F) not done.

     CS_BAD_SOCKET
           Error getting/setting socket hardware parameters.

     CS_BAD_VPP
           Requested Vpp is not available on socket.

     CS_NO_CARD
           No PC Card in socket.

     CS_UNSUPPORTED_FUNCTION
           No PCMCIA hardware installed.


CONTEXT

     This function may be called from user or kernel context.


SEE ALSO

     csx_RegisterClient(9F),        csx_ReleaseConfiguration(9F),
     csx_ReleaseIO(9F),                       csx_ReleaseIRQ(9F),
     csx_RequestConfiguration(9F),             csx_RequestIO(9F),
     csx_RequestIRQ(9F)

     PC Card 95 Standard, PCMCIA/JEIDA


WARNINGS

     1. CONF_VSOVERRIDE is provided for clients that have a  need
        to  override  the  information  provided  in the CIS. The
        client must exercise caution  when  setting  this  as  it
        overrides  any  voltage level protection provided by Card
        Services.

     2. Using csx_ModifyConfiguration() to set Vpp to 0 volts may
        result  in the loss of a PC Card's state. Any client set-
        ting Vpp to 0 volts is responsible for insuring that  the
        PC  Card's  state is restored when power is re-applied to
        the card.


NOTES

     Mapped IO addresses can only be changed by  first  releasing
     the    current   configuration   and   IO   resources   with
     csx_ReleaseConfiguration(9F) and csx_ReleaseIO(9F), request-
     ing   new   IO   resources  and  a  new  configuration  with
     csx_RequestIO(9F), followed by csx_RequestConfiguration(9F).

     IRQ priority can only be  changed  by  first  releasing  the
     current     configuration    and    IRQ    resources    with
     csx_ReleaseConfiguration(9F)     and     csx_ReleaseIRQ(9F),
     requesting  new  IRQ  resources and a new configuration with
     csx_RequestIRQ(9F),               followed                by
     csx_RequestConfiguration(9F).

     Vcc can not be changed using csx_ModifyConfiguration().  Vcc
     may       be       changed       by      first      invoking
     csx_ReleaseConfiguration(9F),          followed           by
     csx_RequestConfiguration(9F) with a new Vcc value.


Man(1) output converted with man2html