csx_GetStatus(9F)




NAME

     csx_GetStatus - return the current status of a PC  Card  and
     its socket


SYNOPSIS

     #include <sys/pccard.h>

     int32_t csx_GetStatus(client_handle_t ch, get_status_t *gs);


INTERFACE LEVEL

     Solaris DDI Specific (Solaris DDI)


PARAMETERS

     ch    Client handle returned from csx_RegisterClient(9F).

     gs    Pointer to a get_status_t structure.


DESCRIPTION

     This function returns the current status of a  PC  Card  and
     its socket.


STRUCTURE MEMBERS

     The structure members of get_status_t are:

     uint32_t     Socket;          /* socket number*/
     uint32_t     CardState;       /* "live" card status for this client*/
     uint32_t     SocketState;     /* latched socket values */
     uint32_t     raw_CardState;   /* raw live card status */

     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.

     CardState
           The CardState field  is  the  bit-mapped  output  data
           returned  from  Card  Services. The bits identify what
           Card  Services  thinks  the  current  state   of   the
           installed PC Card is. The bits are:

           CS_STATUS_WRITE_PROTECTED
                 Card is write protected

           CS_STATUS_CARD_LOCKED
                 Card is locked

           CS_STATUS_EJECTION_REQUEST
                 Ejection request in progress

           CS_STATUS_INSERTION_REQUEST
                 Insertion request in progress

           CS_STATUS_BATTERY_DEAD
                 Card battery is dead

           CS_STATUS_BATTERY_DEAD
                 Card battery is dead (BVD1)

           CS_STATUS_BATTERY_LOW
                 Card battery is low (BVD2)

           CS_STATUS_CARD_READY
                 Card is READY

           CS_STATUS_CARD_INSERTED
                 Card is inserted

           CS_STATUS_REQ_ATTN
                 Extended status attention request

           CS_STATUS_RES_EVT1
                 Extended status reserved event status

           CS_STATUS_RES_EVT2
                 Extended status reserved event status

            CS_STATUS_RES_EVT3
                 Extended status reserved event status

           CS_STATUS_VCC_50
                 5.0 Volts Vcc Indicated

           CS_STATUS_VCC_33
                 3.3 Volts Vcc Indicated

           CS_STATUS_VCC_XX
                 X.X Volts Vcc Indicated

           The state of the CS_STATUS_CARD_INSERTED bit indicates
           whether  the  PC  Card  associated  with  this  driver
           instance, not  just  any  card,  is  inserted  in  the
           socket.  If  an I/O card is installed in the specified
           socket, card state  is  returned  from  the  PRR  (Pin
           Replacement  Register)  and  the  ESR (Extended Status
           Register) (if present). If certain state bits are  not
           present in the PRR or ESR, a simulated state bit value
           is returned as defined below:

           CS_STATUS_WRITE_PROTECTED
                 Not write protected

           CS_STATUS_BATTERY_DEAD
                 Power good

           PCS_STATUS_BATTERY_LOW
                 Power good

           CS_STATUS_CARD_READY
                 Ready

           CS_STATUS_REQ_ATTN
                 Not set

           CS_STATUS_RES_EVT1
                 Not set

           CS_STATUS_RES_EVT2
                 Not set

           CS_STATUS_RES_EVT3
                 Not set

     SocketState
           The SocketState field is a bit-map of the current card
           and socket state. The bits are:

           CS_SOCK_STATUS_WRITE_PROTECT_CHANGE
                 Write Protect

           ECS_SOCK_STATUS_CARD_LOCK_CHANGE
                 Card Lock Change

           CS_SOCK_STATUS_EJECTION_PENDING
                 Ejection Request

           CS_SOCK_STATUS_INSERTION_PENDING
                 Insertion Request

           CS_SOCK_STATUS_BATTERY_DEAD_CHANGE
                 Battery Dead

           CS_SOCK_STATUS_BATTERY_LOW_CHANGE
                 Battery Low

           CS_SOCK_STATUS_CARD_READY_CHANGE
                 Ready Change

           CS_SOCK_STATUS_CARD_INSERTION_CHANGE
                 Card is inserted

                  The state reported in the SocketState field may
                 be  different  from  the  state  reported in the
                 CardState field. Clients should normally  depend
                 only  on  the  state  reported  in the CardState
                 field.

                 The state reported in the SocketState field  may
                 be  different  from  the  state  reported in the
                 CardState field. Clients should normally  depend
                 only  on  the  state  reported  in the CardState
                 field.

     raw_CardState
           The raw_CardState field is a  Solaris-specific  exten-
           sion  that  allows the client to determine if any card
           is inserted in the socket. The bit definitions in  the
           raw_CardState  field  are  identical  to  those in the
           CardState  field   with   the   exception   that   the
           CS_STATUS_CARD_INSERTED bit in the raw_CardState field
           is set whenever any card is inserted into the socket.


RETURN VALUES

     CS_SUCCESS
           Successful operation.

     CS_BAD_HANDLE
           Client handle is invalid.

     CS_BAD_SOCKET
           Error getting socket state.

     CS_UNSUPPORTED_FUNCTION
           No PCMCIA hardware installed.

     CS_NO_CARD will not be returned  if  there  is  no  PC  Card
     present in the socket.


CONTEXT

     This function may be called from user or kernel context.


SEE ALSO

     csx_RegisterClient(9F)

     PC Card 95 Standard, PCMCIA/JEIDA


Man(1) output converted with man2html