1csx_Parse_CISTPL_CONFIG(9FK)ernel Functions for Drivercssx_Parse_CISTPL_CONFIG(9F)
2
3
4
6 csx_Parse_CISTPL_CONFIG - parse Configuration tuple
7
9 #include <sys/pccard.h>
10
11
12
13 int32_t csx_Parse_CISTPL_CONFIG(client_handle_t ch, tuple_t *tu,
14 cistpl_config_t *cc);
15
16
18 Solaris DDI Specific (Solaris DDI)
19
21 ch Client handle returned from csx_RegisterClient(9F).
22
23
24 tu Pointer to a tuple_t structure (see tuple(9S)) returned by a call
25 to csx_GetFirstTuple(9F) or csx_GetNextTuple(9F).
26
27
28 cc Pointer to a cistpl_config_t structure which contains the parsed
29 CISTPL_CONFIG tuple information upon return from this function.
30
31
33 This function parses the Configuration tuple, CISTPL_CONFIG, into a
34 form usable by PC Card drivers. The CISTPL_CONFIG tuple is used to
35 describe the general characteristics of 16-bit PC Cards containing I/O
36 devices or using custom interfaces. It may also describe PC Cards,
37 including Memory Only cards, which exceed nominal power supply specifi‐
38 cations, or which need descriptions of their power requirements or
39 other information.
40
42 The structure members of cistpl_config_t are:
43
44 uint32_t present; /* register present flags */
45 uint32_t nr; /* number of config registers found */
46 uint32_t hr; /* highest config register index found */
47 uint32_t regs[CISTPL_CONFIG_MAX_CONFIG_REGS]; /* reg offsets */
48 uint32_t base; /* base offset of config registers */
49 uint32_t last; /* last config index */
50
51
52
53 The fields are defined as follows:
54
55 present This field indicates which configuration registers are
56 present on the PC Card.
57
58 CONFIG_OPTION_REG_PRESENT Configuration Option Register
59 present
60
61
62 CONFIG_STATUS_REG_PRESENT Configuration Status Register
63 present
64
65
66 CONFIG_PINREPL_REG_PRESENT Pin Replacement Register
67 present
68
69
70 CONFIG_COPY_REG_PRESENT Copy Register present
71
72
73 CONFIG_EXSTAT_REG_PRESENT Extended Status Register
74 present
75
76
77 CONFIG_IOBASE0_REG_PRESENT IO Base 0 Register present
78
79
80 CONFIG_IOBASE1_REG_PRESENT IO Base 1 Register present
81
82
83 CONFIG_IOBASE2_REG_PRESENT IO Base2 Register present
84
85
86 CONFIG_IOBASE3_REG_PRESENT IO Base3 Register present
87
88
89 CONFIG_IOLIMIT_REG_PRESENT IO Limit Register present
90
91
92
93 nr This field specifies the number of configuration registers
94 that are present on the PC Card.
95
96
97 hr This field specifies the highest configuration register num‐
98 ber that is present on the PC Card.
99
100
101 regs This array contains the offset from the start of Attribute
102 Memory space for each configuration register that is present
103 on the PC Card. If a configuration register is not present
104 on the PC Card, the value in the corresponding entry in the
105 regs array is undefined.
106
107
108 base This field contains the offset from the start of Attribute
109 Memory space to the base of the PC Card configuration regis‐
110 ter space.
111
112
113 last This field contains the value of the last valid configura‐
114 tion index for this PC Card.
115
116
118 CS_SUCCESS Successful operation.
119
120
121 CS_BAD_HANDLE Client handle is invalid.
122
123
124 CS_UNKNOWN_TUPLE Parser does not know how to parse tuple.
125
126
127 CS_NO_CARD No PC Card in socket.
128
129
130 CS_NO_CIS No Card Information Structure (CIS) on PC
131 Card.
132
133
134 CS_UNSUPPORTED_FUNCTION No PCMCIA hardware installed.
135
136
138 This function may be called from user or kernel context.
139
141 csx_GetFirstTuple(9F), csx_GetTupleData(9F),
142 csx_Parse_CISTPL_CFTABLE_ENTRY(9F), csx_RegisterClient(9F), csx_Vali‐
143 dateCIS(9F), tuple(9S)
144
145
146 PC Card 95 Standard, PCMCIA/JEIDA
147
149 PC Card drivers should not attempt to use configurations beyond the
150 "last" member in the cistpl_config_t structure.
151
152
153
154SunOS 5.11 20 Dec 1996 csx_Parse_CISTPL_CONFIG(9F)