|
Kernel Functions for Drivers | csx_ModifyWindow(9F) |
| csx_ModifyWindow - modify window
attributes |
SYNOPSIS
|
#include <sys/pccard.h>
int32_t csx_ModifyWindow(window_handle_t wh, modify_win_t *mw); |
|
Solaris DDI Specific (Solaris DDI)
|
|
This function modifies the attributes of a window allocated by the csx_RequestWindow(9F) function.
Only some of the window attributes or the access speed field may be
modified by this request. The csx_MapMemPage(9F)
function is also used to set the offset into PC Card memory to be mapped into system memory for paged windows.
The csx_RequestWindow(9F) and csx_ReleaseWindow(9F) functions
must be used to change the window base or size.
|
|
The structure members of modify_win_t are:
|
uint32_t Attributes; /* window flags */
uint32_t AccessSpeed; /* window access speed */
|
The fields are defined as follows:
-
Attributes
- This field is bit-mapped and
defined as follows:
- WIN_MEMORY_TYPE_CM
- Window points to Common Memory area. Set this to
map the window to Common Memory.
- WIN_MEMORY_TYPE_AM
- Window points
to Attribute Memory area. Set this to map the window to Attribute Memory.
- WIN_ENABLE
- Enable Window. The
client must set this to enable the window.
- WIN_ACCESS_SPEED_VALID
-
AccessSpeed valid. The client must set this when the AccessSpeed field has a value that the client wants set for the
window.
-
AccessSpeed
- The bit definitions for this field use the format of the extended speed
byte of the Device ID tuple. If the mantissa
is 0 (noted as reserved in the PC Card 95
Standard), the lower bits are a binary code representing a speed
from the list below. Numbers in the first column are codes; items in the
second column are speeds.
- 0
- Reserved: do not use
- 1
-
250 nsec
- 2
-
200 nsec
- 3
-
150 nsec
- 4
-
100 nsec
- 5 - 7
- Reserved: do not use
It is recommended that clients use the csx_ConvertSpeed(9F) function to generate the appropriate AccessSpeed values rather than manually perturbing the AccessSpeed field.
|
|
-
CS_SUCCESS
- Successful operation.
-
CS_BAD_HANDLE
- Window handle is invalid.
-
CS_NO_CARD
- No PC Card in socket.
-
CS_BAD_OFFSET
- Error getting/setting window hardware parameters.
-
CS_BAD_WINDOW
- Error getting/setting window hardware parameters.
-
CS_BAD_SPEED
-
AccessSpeed is invalid.
-
CS_UNSUPPORTED_FUNCTION
- No PCMCIA hardware installed.
|
|
This function may be called from user or kernel context.
|
| |