20 #ifndef __PCCARDADAPTERPLUGIN__
21 #define __PCCARDADAPTERPLUGIN__
27 #ifndef __NAMEREGISTRY__
31 #ifndef __INTERRUPTS__
52 #if PRAGMA_STRUCT_ALIGN
53 #pragma options align = power
54 #elif PRAGMA_STRUCT_PACKPUSH
56 #elif PRAGMA_STRUCT_PACK
67 kSCBatteryDead = 0x01,
71 kSCCardEjected = 0x10,
72 kSCStatusChange = 0x20,
73 kSCRingIndicate = 0x40
89 SS_ADPT_FLG_IND = 0x01,
92 SS_ADPT_FLG_PWR = 0x02,
94 SS_ADPT_FLG_DBW = 0x04,
96 SS_ADPT_FLG_CARDBUS = 0x08,
97 SS_ADPT_FLG_DMA = 0x10,
99 SS_ADPT_FLG_V33 = 0x20,
100 SS_ADPT_FLG_V50 = 0x40,
101 SS_ADPT_FLG_V12 = 0x80
107 #if CALL_NOT_IN_CARBON
118 PCCardSCEvents statusChange,
119 PCCardSocketStatus socketStatus);
126 typedef CALLBACK_API_C(OSStatus,
127 SSValidateHardwareProc)(
const RegEntryID *deviceID);
128 typedef CALLBACK_API_C(OSStatus, SSInitializeProc)(
const RegEntryID *deviceID,
130 typedef CALLBACK_API_C(OSStatus, SSSuspendProc)(
const RegEntryID *deviceID);
131 typedef CALLBACK_API_C(OSStatus, SSResumeProc)(
const RegEntryID *deviceID);
132 typedef CALLBACK_API_C(OSStatus, SSFinalizeProc)(
const RegEntryID *deviceID,
134 typedef CALLBACK_API_C(OSStatus, SSInquireAdapterProc)(
135 ItemCount *numberOfSockets, ItemCount *numberOfWindows,
136 ItemCount *numberOfBridgeWindow, PCCardAdapterCapabilities *capabilities);
137 typedef CALLBACK_API_C(OSStatus, SSInquireSocketProc)(
138 PCCardSocket socket, ItemCount *numberOfWindows,
139 PCCardSocketStatus *supportedSocketStatus,
140 PCCardSCEvents *supportedStatusChange);
141 typedef CALLBACK_API_C(OSStatus, SSGetSocketProc)(
142 PCCardSocket socket, PCCardVoltage *Vcc, PCCardVoltage *Vpp,
143 PCCardVoltage *Vs, PCCardInterfaceType *socketIF,
144 PCCardCustomInterfaceID *customIFID, PCCardSocketStatus *socketStatus,
145 PCCardSCEvents *SCEventsMask, PCCardIRQ *IRQ, PCCardDMA *DMA);
146 typedef CALLBACK_API_C(OSStatus, SSSetSocketProc)(
147 PCCardSocket socket, PCCardVoltage Vcc, PCCardVoltage Vpp,
148 PCCardInterfaceType socketIF, PCCardCustomInterfaceID customIFID,
149 PCCardSocketStatus statusReset, PCCardSCEvents SCEventsMask, PCCardIRQ IRQ,
151 typedef CALLBACK_API_C(OSStatus, SSResetSocketProc)(PCCardSocket socket);
152 typedef CALLBACK_API_C(OSStatus,
153 SSGetStatusProc)(PCCardSocket socket,
154 PCCardSocketStatus *currentStatus,
155 PCCardSocketStatus *changedStatus);
156 typedef CALLBACK_API_C(OSStatus, SSInquireWindowProc)(
157 PCCardSocket *socket, PCCardWindow
window, PCCardWindowState *windowState,
158 PCCardWindowSize *windowSize, PCCardWindowAlign *windowAlign);
159 typedef CALLBACK_API_C(OSStatus, SSGetWindowProc)(
160 PCCardSocket *socket, PCCardWindow
window, PCCardWindowState *windowState,
161 PhysicalAddress *startAddress, PCCardWindowSize *windowSize,
162 PCCardWindowOffset *windowOffset, PCCardAccessSpeed *memSpeed);
163 typedef CALLBACK_API_C(OSStatus, SSSetWindowProc)(
164 PCCardSocket socket, PCCardWindow
window, PCCardWindowState windowState,
165 PhysicalAddress startAddress, PCCardWindowSize windowSize,
166 PCCardWindowOffset windowOffset, PCCardAccessSpeed memSpeed);
167 typedef CALLBACK_API_C(OSStatus,
168 SSGetWindowOffsetProc)(PCCardSocket *socket,
170 PCCardWindowState *windowState,
171 PCCardWindowOffset *windowOffset);
172 typedef CALLBACK_API_C(OSStatus,
173 SSSetWindowOffsetProc)(PCCardSocket socket,
175 PCCardWindowState windowState,
176 PCCardWindowOffset windowOffset);
177 typedef CALLBACK_API_C(OSStatus, SSInquireBridgeWindowProc)(
178 PCCardSocket *socket, PCCardWindow
window, PCCardWindowState *windowState,
179 PCCardWindowSize *windowSize, PCCardWindowAlign *windowAlign);
180 typedef CALLBACK_API_C(OSStatus, SSGetBridgeWindowProc)(
181 PCCardSocket *socket, PCCardWindow
window, PCCardWindowState *windowState,
182 PhysicalAddress *startAddress, PCCardWindowSize *windowSize);
183 typedef CALLBACK_API_C(OSStatus, SSSetBridgeWindowProc)(
184 PCCardSocket socket, PCCardWindow
window, PCCardWindowState windowState,
185 PhysicalAddress startAddress, PCCardWindowSize windowSize);
186 typedef CALLBACK_API_C(OSStatus, SSGetInterruptSetMemberProc)(
188 typedef CALLBACK_API_C(OSStatus, SSEjectCardProc)(PCCardSocket socket);
191 kServiceTypePCCardAdapter = FOUR_CHAR_CODE(
'sock'),
192 kPCCardAdapterPluginVersion = 0x00000001,
193 kPCCardAdapterPluginCurrentVersion = kPCCardAdapterPluginVersion
208 SSValidateHardwareProc validateHardware;
210 SSInitializeProc initialize;
211 SSSuspendProc suspend;
213 SSFinalizeProc finalize;
215 SSInquireAdapterProc inquireAdapter;
216 SSInquireSocketProc inquireSocket;
217 SSGetSocketProc getSocket;
218 SSSetSocketProc setSocket;
219 SSResetSocketProc resetSocket;
220 SSGetStatusProc getStatus;
221 SSInquireWindowProc inquireWindow;
222 SSGetWindowProc getWindow;
223 SSSetWindowProc setWindow;
224 SSGetWindowOffsetProc getWindowOffset;
225 SSSetWindowOffsetProc setWindowOffset;
226 SSInquireBridgeWindowProc inquireBridgeWindow;
227 SSGetBridgeWindowProc getBridgeWindow;
228 SSSetBridgeWindowProc setBridgeWindow;
229 SSGetInterruptSetMemberProc getInterruptSetMember;
230 SSEjectCardProc ejectCard;
236 #if PRAGMA_STRUCT_ALIGN
237 #pragma options align = reset
238 #elif PRAGMA_STRUCT_PACKPUSH
240 #elif PRAGMA_STRUCT_PACK
244 #ifdef PRAGMA_IMPORT_OFF
Public Interface to the Interrupt Manager.
Basic Macintosh data types.
unsigned char Boolean
Definition: MacTypes.h:318
OSStatus CSReportStatusChange(const RegEntryID *adapterRef, PCCardSocket whichSocket, PCCardSCEvents statusChange, PCCardSocketStatus socketStatus)
PC Card Family Programming interface.
Definition: Quickdraw.h:1648
Definition: DriverServices.h:1084
Definition: PCCardAdapterPlugin.h:205
Definition: NameRegistry.h:62