Current File : //usr/share/man/man9f/csx_AccessConfigurationRegister.9f
'\" te
.\"  Copyright (c) 1996, Sun Microsystems, Inc.  All Rights Reserved
.TH csx_AccessConfigurationRegister 9F "19 Jul 1996" "SunOS 5.11" "Kernel Functions for Drivers"
.SH NAME
csx_AccessConfigurationRegister \- read or write a PC Card Configuration Register
.SH SYNOPSIS
.LP
.nf
#include <sys/pccard.h> 

\fBint32_t\fR \fBcsx_AccessConfigurationRegister\fR(\fBclient_handle_t\fR \fIch\fR, 
     \fBaccess_config_reg_t *\fR\fIacr\fR);
.fi

.SH INTERFACE LEVEL
.sp
.LP
Solaris \fBDDI \fRSpecific (Solaris \fBDDI) \fR
.SH PARAMETERS
.sp
.ne 2
.mk
.na
\fB\fIch\fR\fR
.ad
.RS 7n
.rt  
Client handle returned from \fBcsx_RegisterClient\fR(9F). 
.RE

.sp
.ne 2
.mk
.na
\fB\fIacr\fR\fR
.ad
.RS 7n
.rt  
Pointer to an \fBaccess_config_reg_t\fR structure.
.RE

.SH DESCRIPTION
.sp
.LP
This function allows a client to read or write a \fBPC\fRCard Configuration Register.
.SH STRUCTURE MEMBERS
.sp
.LP
The structure members of \fBaccess_config_reg_t\fR are:
.sp
.in +2
.nf
uint32_t     Socket;     /* socket number*/
uint32_t     Action;     /* register access operation*/
uint32_t     Offset;     /* config register offset*/
uint32_t     Value;      /* value read or written*/
.fi
.in -2

.sp
.LP
The fields are defined as follows:
.sp
.ne 2
.mk
.na
\fB\fBSocket\fR\fR
.ad
.RS 10n
.rt  
Not used in Solaris, but for portability with other Card Services implementations, it should be set to the logical socket number.
.RE

.sp
.ne 2
.mk
.na
\fB\fBAction\fR\fR
.ad
.RS 10n
.rt  
May be set to \fBCONFIG_REG_READ\fR or \fBCONFIG_REG_WRITE\fR. All other values in the \fBAction\fR field are reserved for future use. If the \fBAction\fR field is set to \fBCONFIG_REG_WRITE,\fR the \fBValue\fR field is written to the specified configuration register. Card Services does not read the configuration register after a write operation. For that reason, the \fBValue\fR field is only updated by a \fBCONFIG_REG_READ\fR request.
.RE

.sp
.ne 2
.mk
.na
\fB\fBOffset\fR\fR
.ad
.RS 10n
.rt  
Specifies the byte offset for the desired configuration register from the \fBPC \fRCard configuration register base specified in \fBcsx_RequestConfiguration\fR(9F). 
.RE

.sp
.ne 2
.mk
.na
\fB\fBValue\fR\fR
.ad
.RS 10n
.rt  
Contains the value read from the \fBPC \fRCard Configuration Register for a read operation. For a write operation, the \fBValue\fR field contains the value to write to the configuration register. As noted above, on return from a write request, the \fBValue\fR field is the value written to the \fBPC \fRCard and not any changed value that may have resulted from the write request (that is, no read after write is performed).
.RE

.sp
.LP
A client must be very careful when writing to the \fBCOR \fR(Configuration Option Register) at offset \fB0\fR. This has the potential to change the type of interrupt request generated by the \fBPC \fRCard or place the card in the reset state. Either request may have undefined results. The client should read the register to determine the appropriate setting for the interrupt mode (Bit 6) before writing to the register.
.sp
.LP
If a client wants to reset a \fBPC\fRCard, the \fBcsx_ResetFunction\fR(9F) function should be used. Unlike \fBcsx_AccessConfigurationRegister()\fR, the \fBcsx_ResetFunction\fR(9F) function generates a series of event notifications to all clients using the \fBPC \fRCard, so they can re-establish the appropriate card state after the reset operation is complete.
.SH RETURN VALUES
.sp
.ne 2
.mk
.na
\fB\fBCS_SUCCESS\fR\fR
.ad
.RS 27n
.rt  
Successful operation.
.RE

.sp
.ne 2
.mk
.na
\fB\fBCS_BAD_ARGS\fR\fR
.ad
.RS 27n
.rt  
Specified arguments are invalid. Client specifies an \fBOffset\fR that is out of range or neither \fBCONFIG_REG_READ\fR or \fBCONFIG_REG_WRITE\fR is set.
.RE

.sp
.ne 2
.mk
.na
\fB\fBCS_UNSUPPORTED_MODE\fR\fR
.ad
.RS 27n
.rt  
Client has not called \fBcsx_RequestConfiguration\fR(9F) before calling this function.
.RE

.sp
.ne 2
.mk
.na
\fB\fBCS_BAD_HANDLE\fR\fR
.ad
.RS 27n
.rt  
Client handle is invalid.
.RE

.sp
.ne 2
.mk
.na
\fB\fBCS_NO_CARD\fR\fR
.ad
.RS 27n
.rt  
No \fBPC \fRcard in socket.
.RE

.sp
.ne 2
.mk
.na
\fB\fBCS_UNSUPPORTED_FUNCTION\fR\fR
.ad
.RS 27n
.rt  
No \fBPCMCIA \fRhardware installed.
.RE

.SH CONTEXT
.sp
.LP
This function may be called from user or kernel context.
.SH SEE ALSO
.sp
.LP
\fBcsx_ParseTuple\fR(9F), \fBcsx_RegisterClient\fR(9F), \fBcsx_RequestConfiguration\fR(9F), \fBcsx_ResetFunction\fR(9F) 
.sp
.LP
\fIPCCard 95 Standard, PCMCIA/JEIDA\fR