blob: 564466c1ae42d6bffde7e7d8486afa97dbe51413 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
|
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* 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.
*
* 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]
*
* CDDL HEADER END
*/
/*
* Copyright (c) 1996 by Sun Microsystems, Inc.
* All rights reserved.
*/
#ifndef _CS_STUBS_H
#define _CS_STUBS_H
#pragma ident "%W% %E% SMI"
#ifdef __cplusplus
extern "C" {
#endif
/*
* Magic number for Card Services to use when registering it's entry
* point with the Card Services stubs module.
*/
#define CS_STUBS_MAGIC 0x19960300
/*
* Card Services function identifiers - these correspond to the PCMCIA
* standard function codes for CS with the exception of a few
* private and implementation-specific function identifiers.
*
* client services functions
*/
#define GetCardServicesInfo 0x000b
#define RegisterClient 0x0010
#define DeregisterClient 0x0002
#define GetStatus 0x000c
#define ResetFunction 0x0011
#define SetEventMask 0x0031
#define GetEventMask 0x002e
/*
* reource management functions
*/
#define RequestIO 0x001f
#define ReleaseIO 0x001b
#define RequestIRQ 0x0020
#define ReleaseIRQ 0x001c
#define RequestWindow 0x0021
#define ReleaseWindow 0x001d
#define ModifyWindow 0x0017
#define MapMemPage 0x0014
#define RequestSocketMask 0x0022
#define ReleaseSocketMask 0x002f
#define RequestConfiguration 0x0030
#define GetConfigurationInfo 0x0004
#define ModifyConfiguration 0x0027
#define ReleaseConfiguration 0x001e
#define AccessConfigurationRegister 0x0036
/*
* bulk memory service functions
*/
#define OpenMemory 0x0018
#define ReadMemory 0x0019
#define WriteMemory 0x0024
#define CopyMemory 0x0001
#define RegisterEraseQueue 0x000f
#define CheckEraseQueue 0x0026
#define DeregisterEraseQueue 0x0025
#define CloseMemory 0x0000
/*
* client utility functions
*/
#define GetFirstTuple 0x0007
#define GetNextTuple 0x000a
#define GetTupleData 0x000d
#define GetFirstRegion 0x0006
#define GetNextRegion 0x0009
#define GetFirstPartition 0x0005
#define GetNextPartition 0x0008
/*
* advanced client services functions
*/
#define ReturnSSEntry 0x0023
#define MapLogSocket 0x0012
#define MapPhySocket 0x0015
#define MapLogWindow 0x0013
#define MapPhyWindow 0x0016
#define RegisterMTD 0x001a
#define RegisterTimer 0x0028
#define SetRegion 0x0029
#define ValidateCIS 0x002b
#define RequestExclusive 0x002c
#define ReleaseExclusive 0x002d
#define GetFirstClient 0x000e
#define GetNextClient 0x002a
#define GetClientInfo 0x0003
#define AddSocketServices 0x0032
#define ReplaceSocketServices 0x0033
#define VendorSpecific 0x0034
#define AdjustResourceInfo 0x0035
/*
* private functions - clients should never call these; if they do,
* the system will esplode.
*/
#define CISRegister 0x1000
#define CISUnregister 0x1001
#define InitCISWindow 0x1002
/*
* Card Services functions specific to this implementation
*/
#define ParseTuple 0x2000 /* parses contents of tuples */
#define MakeDeviceNode 0x2001 /* makes device nodes in fs */
#define ConvertSpeed 0x2002 /* converts device speeds */
#define ConvertSize 0x2003 /* converts device sizes */
#define Event2Text 0x2004 /* return string of event type */
#define Error2Text 0x2005 /* function or ret code string */
#define CS_DDI_Info 0x2006 /* set/get DDI info */
#define CS_Sys_Ctl 0x2007 /* CS system control */
#define RemoveDeviceNode 0x2008 /* removes device nodes in fs */
#define GetPhysicalAdapterInfo 0x2009 /* returns physical adapter info */
#define CSFuncListEnd 0x8000 /* end of CS function list */
/*
* Structure used when Card Services registers it's entry point with
* the Card Services stubs module
*/
typedef struct cs_register_cardservices_t {
uint32_t function;
uint32_t magic;
csfunction_t *cardservices;
csfunction_t *socketservices;
} cs_register_cardservices_t;
/*
* Functions for cs_register_cardservices_t
*/
#define CS_ENTRY_REGISTER 0x0001
#define CS_ENTRY_DEREGISTER 0x0002
#define CS_ENTRY_INQUIRE 0x0003
/*
* Function prototypes
*/
int32_t csx_register_cardservices(cs_register_cardservices_t *);
#ifdef __cplusplus
}
#endif
#endif /* _CS_STUBS_H */
|