1 '\" te
   2 .\"  Copyright (c) 2002, Sun Microsystems, Inc.  All Rights Reserved
   3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
   4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
   5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
   6 .TH CSX_MODIFYCONFIGURATION 9F "Jul 19, 1996"
   7 .SH NAME
   8 csx_ModifyConfiguration \- modify socket and PC Card Configuration Register
   9 .SH SYNOPSIS
  10 .LP
  11 .nf
  12 #include <sys/pccard.h>
  13 
  14 
  15 
  16 \fBint32_t\fR \fBcsx_ModifyConfiguration\fR(\fBclient_handle_t\fR \fIch\fR, \fBmodify_config_t *\fR\fImc\fR);
  17 .fi
  18 
  19 .SH INTERFACE LEVEL
  20 .sp
  21 .LP
  22 Solaris \fBDDI \fRSpecific (Solaris \fBDDI) \fR
  23 .SH PARAMETERS
  24 .sp
  25 .ne 2
  26 .na
  27 \fB\fIch\fR \fR
  28 .ad
  29 .RS 7n
  30 Client handle returned from \fBcsx_RegisterClient\fR(9F).
  31 .RE
  32 
  33 .sp
  34 .ne 2
  35 .na
  36 \fB\fImc\fR \fR
  37 .ad
  38 .RS 7n
  39 Pointer to a \fBmodify_config_t\fR structure.
  40 .RE
  41 
  42 .SH DESCRIPTION
  43 .sp
  44 .LP
  45 This function allows a socket and \fBPC \fRCard configuration to be modified.
  46 This function can only modify a configuration requested via
  47 \fBcsx_RequestConfiguration\fR(9F).
  48 .SH STRUCTURE MEMBERS
  49 .sp
  50 .LP
  51 The structure members of \fBmodify_config_t\fR are:
  52 .sp
  53 .in +2
  54 .nf
  55 uint32_t     Socket;        /* socket number */
  56 uint32_t     Attributes;    /* attributes to modify */
  57 uint32_t     Vpp1;          /* Vpp1 value */
  58 uint32_t     Vpp2;          /* Vpp2 value */
  59 .fi
  60 .in -2
  61 
  62 .sp
  63 .LP
  64 The fields are defined as follows:
  65 .sp
  66 .ne 2
  67 .na
  68 \fB\fBSocket\fR \fR
  69 .ad
  70 .RS 15n
  71 Not used in Solaris, but for portability with other Card Services
  72 implementations, it should be set to the logical socket number.
  73 .RE
  74 
  75 .sp
  76 .ne 2
  77 .na
  78 \fB\fBAttributes\fR \fR
  79 .ad
  80 .RS 15n
  81 This field is bit-mapped. The following bits are defined:
  82 .sp
  83 .ne 2
  84 .na
  85 \fBCONF_ENABLE_IRQ_STEERING\fR
  86 .ad
  87 .RS 28n
  88 Enable IRQ steering. Set to connect the \fBPC \fRCard \fBIREQ \fRline to a
  89 previously selected system interrupt.
  90 .RE
  91 
  92 .sp
  93 .ne 2
  94 .na
  95 \fBCONF_IRQ_CHANGE_VALID\fR
  96 .ad
  97 .RS 28n
  98 IRQ change valid. Set to request the \fBIRQ \fRsteering enable to be changed.
  99 .RE
 100 
 101 .sp
 102 .ne 2
 103 .na
 104 \fBCONF_VPP1_CHANGE_VALID\fR
 105 .ad
 106 .RS 28n
 107 Vpp1 change valid. These bits are set to request a change to the corresponding
 108 voltage level for the \fBPC \fRCard.
 109 .RE
 110 
 111 .sp
 112 .ne 2
 113 .na
 114 \fBCONF_VPP2_CHANGE_VALID\fR
 115 .ad
 116 .RS 28n
 117 Vpp2 change valid. These bits are set to request a change to the corresponding
 118 voltage level for the \fBPC \fRCard.
 119 .RE
 120 
 121 .sp
 122 .ne 2
 123 .na
 124 \fBCONF_VSOVERRIDE\fR
 125 .ad
 126 .RS 28n
 127 Override VS pins. For Low Voltage keyed cards, must be set if a client desires
 128 to apply a voltage inappropriate for this card to any pin. After card insertion
 129 and prior to the first \fBcsx_RequestConfiguration\fR(9F) call for this client,
 130 the voltage levels applied to the card will be those specified by the Card
 131 Interface Specification. (See \fBWARNINGS\fR.)
 132 .RE
 133 
 134 .RE
 135 
 136 .sp
 137 .ne 2
 138 .na
 139 \fB\fBVpp1\fR, \fBVpp2\fR\fR
 140 .ad
 141 .RS 15n
 142 Represent voltages expressed in tenths of a volt. Values from \fB0\fR to
 143 \fB25.5\fR volts may be set. To be valid, the exact voltage must be available
 144 from the system. To be compliant with the \fIPC Card 95 Standard,
 145 PCMCIA/JEIDA\fR, systems must always support \fB5.0\fR volts for both \fBVcc\fR
 146 and \fBVpp\fR. (See \fBWARNINGS\fR.)
 147 .RE
 148 
 149 .SH RETURN VALUES
 150 .sp
 151 .ne 2
 152 .na
 153 \fB\fBCS_SUCCESS\fR \fR
 154 .ad
 155 .RS 28n
 156 Successful operation.
 157 .RE
 158 
 159 .sp
 160 .ne 2
 161 .na
 162 \fB\fBCS_BAD_HANDLE\fR \fR
 163 .ad
 164 .RS 28n
 165 Client handle is invalid or \fBcsx_RequestConfiguration\fR(9F) not done.
 166 .RE
 167 
 168 .sp
 169 .ne 2
 170 .na
 171 \fB\fBCS_BAD_SOCKET\fR \fR
 172 .ad
 173 .RS 28n
 174 Error getting/setting socket hardware parameters.
 175 .RE
 176 
 177 .sp
 178 .ne 2
 179 .na
 180 \fB\fBCS_BAD_VPP\fR \fR
 181 .ad
 182 .RS 28n
 183 Requested \fBVpp\fR is not available on socket.
 184 .RE
 185 
 186 .sp
 187 .ne 2
 188 .na
 189 \fB\fBCS_NO_CARD\fR \fR
 190 .ad
 191 .RS 28n
 192 No \fBPC \fRCard in socket.
 193 .RE
 194 
 195 .sp
 196 .ne 2
 197 .na
 198 \fB\fBCS_UNSUPPORTED_FUNCTION\fR \fR
 199 .ad
 200 .RS 28n
 201 No \fBPCMCIA \fRhardware installed.
 202 .RE
 203 
 204 .SH CONTEXT
 205 .sp
 206 .LP
 207 This function may be called from user or kernel context.
 208 .SH SEE ALSO
 209 .sp
 210 .LP
 211 \fBcsx_RegisterClient\fR(9F), \fBcsx_ReleaseConfiguration\fR(9F),
 212 \fBcsx_ReleaseIO\fR(9F), \fBcsx_ReleaseIRQ\fR(9F),
 213 \fBcsx_RequestConfiguration\fR(9F), \fBcsx_RequestIO\fR(9F),
 214 \fBcsx_RequestIRQ\fR(9F)
 215 .sp
 216 .LP
 217 \fIPC Card 95 Standard, PCMCIA/JEIDA\fR
 218 .SH WARNINGS
 219 .RS +4
 220 .TP
 221 1.
 222 \fBCONF_VSOVERRIDE\fR is provided for clients that have a need to override
 223 the information provided in the CIS. The client must exercise caution when
 224 setting this as it overrides any voltage level protection provided by Card
 225 Services.
 226 .RE
 227 .RS +4
 228 .TP
 229 2.
 230 Using \fBcsx_ModifyConfiguration()\fR to set \fBVpp\fR to \fB0\fR volts may
 231 result in the loss of a \fBPC \fRCard's state. Any client setting \fBVpp\fR to
 232 \fB0\fR volts is responsible for insuring that the \fBPC \fRCard's state is
 233 restored when power is re-applied to the card.
 234 .RE
 235 .SH NOTES
 236 .sp
 237 .LP
 238 Mapped \fBIO \fRaddresses can only be changed by first releasing the current
 239 configuration and \fBIO \fRresources with \fBcsx_ReleaseConfiguration\fR(9F)
 240 and \fBcsx_ReleaseIO\fR(9F), requesting new \fBIO \fRresources and a new
 241 configuration with \fBcsx_RequestIO\fR(9F), followed by
 242 \fBcsx_RequestConfiguration\fR(9F).
 243 .sp
 244 .LP
 245 \fBIRQ \fRpriority can only be changed by first releasing the current
 246 configuration and \fBIRQ \fRresources with \fBcsx_ReleaseConfiguration\fR(9F)
 247 and \fBcsx_ReleaseIRQ\fR(9F), requesting new \fBIRQ \fRresources and a new
 248 configuration with \fBcsx_RequestIRQ\fR(9F), followed by
 249 \fBcsx_RequestConfiguration\fR(9F).
 250 .sp
 251 .LP
 252 \fBVcc\fR can not be changed using \fBcsx_ModifyConfiguration()\fR. \fBVcc\fR
 253 may be changed by first invoking \fBcsx_ReleaseConfiguration\fR(9F), followed
 254 by \fBcsx_RequestConfiguration\fR(9F) with a new \fBVcc\fR value.