CSX_GETSTATUS(9F) Kernel Functions for Drivers 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


illumos DDI Specific (illumos 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 illumos, 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 an illumos-specific
extension 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

July 19, 1996 CSX_GETSTATUS(9F)

tribblix@gmail.com :: GitHub :: Privacy