Mac OS 9
PCCardEnablerPlugin.h
Go to the documentation of this file.
1 
20 #ifndef __PCCARDENABLERPLUGIN__
21 #define __PCCARDENABLERPLUGIN__
22 
23 #ifndef __MACTYPES__
24 #include <MacTypes.h>
25 #endif
26 
27 #ifndef __NAMEREGISTRY__
28 #include <NameRegistry.h>
29 #endif
30 
31 #ifndef __INTERRUPTS__
32 #include <Interrupts.h>
33 #endif
34 
35 #ifndef __PCCARD__
36 #include <PCCard.h>
37 #endif
38 
39 #if PRAGMA_ONCE
40 #pragma once
41 #endif
42 
43 #ifdef __cplusplus
44 extern "C"
45 {
46 #endif
47 
48 #if PRAGMA_IMPORT
49 #pragma import on
50 #endif
51 
52 #if PRAGMA_STRUCT_ALIGN
53 #pragma options align = power
54 #elif PRAGMA_STRUCT_PACKPUSH
55 #pragma pack(push, 2)
56 #elif PRAGMA_STRUCT_PACK
57 #pragma pack(2)
58 #endif
59 
60 #ifndef __CARDSERVICES__
67  /* \copyright � 1996 SystemSoft Corporation, all rights reserved. */
68  /*------------------------------------------------------------------------------------
69  Card Services calls exported by the Family
70  ------------------------------------------------------------------------------------*/
71  /* Card Services for Card Enablers*/
72 
73 #if CALL_NOT_IN_CARBON
82  OSStatus
83  CSGetCardServicesInfo(UInt32 *socketCount, UInt32 *complianceLevel,
84  UInt32 *version);
85 
86  /* Function prototypes for tuples calls */
87 
96  OSStatus
97  CSGetFirstTuple(PCCardSocket socket, UInt32 device,
98  PCCardTupleIterator tupleIterator, Byte desiredTuple,
99  void *tupleData, ByteCount *tupleBufferSize, Byte *foundTuple);
100 
109  OSStatus
110  CSGetNextTuple(PCCardTupleIterator tupleIterator, Byte desiredTuple,
111  void *tupleData, ByteCount *tupleBufferSize, Byte *foundTuple);
112 
113  /* Function prototypes for window calls*/
114 
123  OSStatus
124  CSRequestWindow(PCCardSocket vSocket, UInt32 device,
125  PCCardWindowAttributes windowAttributes,
126  PCCardAccessSpeed windowSpeed, LogicalAddress *windowBase,
127  PCCardWindowSize *windowSize, PCCardWindowOffset *windowOffset,
128  PCCardWindowID *requestedWindow);
129 
138  OSStatus
139  CSReleaseWindow(PCCardWindowID windowToRelease);
140 
149  OSStatus
150  CSModifyWindow(PCCardWindowID windowToModify, PCCardWindowType windowAttributes,
151  PCCardAccessSpeed memorySpeed, PCCardWindowOffset *windowOffset);
152 
161  OSStatus
162  CSGetWindowBaseAddress(PCCardWindowID window, LogicalAddress *baseAddress);
163 
172  OSStatus
173  CSInquireWindow(PCCardSocket vSocket, UInt32 device, PCCardWindowID windowID,
174  PCCardWindowAttributes *windowAttributes,
175  PCCardAccessSpeed *windowParam, UInt32 *windowBase,
176  PCCardWindowSize *windowSize, PCCardWindowOffset *windowOffset);
177 
178  /* Function prototypes for CIS calls*/
179 
188  OSStatus
189  CSValidateCIS(PCCardSocket vSocket, UInt32 device, UInt32 *cisChainCount);
190 
199  OSStatus
200  CSGetDeviceCount(PCCardSocket vSocket, UInt32 *deviceCount);
201 
202  /* Function prototypes for Status calls*/
203 
212  OSStatus
213  CSGetStatus(PCCardSocket vSocket, UInt32 *currentState, UInt32 *changedState,
214  PCCardVoltage *Vcc, PCCardVoltage *Vpp);
215 
216  /* Function prototypes for configuration calls*/
217 
226  OSStatus
227  CSRequestConfiguration(PCCardSocket vSocket, UInt32 device,
228  PCCardConfigOptions configOptions,
229  PCCardInterfaceType socketInterface,
230  PCCardCustomInterfaceID customInterface,
231  PCCardVoltage vcc, PCCardVoltage vpp, PCCardIRQ IRQ,
232  PCCardDMA DMA, UInt32 configRegBaseAddress,
233  PCCardConfigPresentMask configRegPresentMask,
234  PCCardFunctionConfigReg *configReg);
235 
244  OSStatus
245  CSModifyConfiguration(PCCardSocket vSocket, UInt32 device,
246  PCCardConfigOptions modifyAttributes, PCCardIRQ IRQ,
247  PCCardDMA DMA, PCCardVoltage Vpp);
248 
257  OSStatus
258  CSReleaseConfiguration(PCCardSocket vSocket, UInt32 device);
259 
268  OSStatus
269  CSSetRingIndicate(PCCardSocket vSocket, Boolean setRingIndicate);
270 
279  OSStatus
280  CSResetFunction(PCCardSocket vSocket, UInt32 device);
281 
290  OSStatus
291  CSReadConfigurationRegister(PCCardSocket vSocket, UInt32 device,
292  PCCardConfigPresentMask whichRegister,
293  UInt32 configRegBaseAddress, UInt8 *registerValue);
294 
303  OSStatus
304  CSWriteConfigurationRegister(PCCardSocket vSocket, UInt32 device,
305  PCCardConfigPresentMask whichRegister,
306  UInt32 configRegBaseAddress, UInt8 registerValue);
307 
308  /* Function prototypes for Client Support calls*/
317  OSStatus
318  CSRegisterClient(PCCardSocket vSocket, PCCardEventMask eventMask,
319  PCCardEventHandler clientCallBack, void *clientParam,
320  PCCardClientID *newClientID);
321 
330  OSStatus
331  CSDeRegisterClient(PCCardClientID theClientID);
332 
341  OSStatus
342  CSSetEventMask(PCCardClientID theClientID, PCCardEventMask newEventMask);
343 
352  OSStatus
353  CSGetEventMask(PCCardClientID theClientID, PCCardEventMask *newEventMask);
354 
363  OSStatus
364  CSRegisterTimer(PCCardClientID registeredClientID, PCCardTimerID *lpNewTimerID,
365  long delay);
366 
375  OSStatus
376  CSDeRegisterTimer(PCCardTimerID timerID);
377 
378  /* Function prototypes for CardBus Config Space access*/
387  OSStatus
388  CSReadCardBusConfigSpace(PCCardSocket vSocket, UInt32 device,
389  UInt32 configOffset, Byte *data, UInt32 dataSize);
390 
399  OSStatus
400  CSWriteCardBusConfigSpace(PCCardSocket vSocket, UInt32 device,
401  UInt32 configOffset, Byte *data, UInt32 dataSize);
402 
403 /*------------------------------------------------------------------------------------
404  Card Enabler Types
405 ------------------------------------------------------------------------------------*/
406 #endif /* CALL_NOT_IN_CARBON */
407 
408  enum
409  {
410  kUnknownDeviceType = FOUR_CHAR_CODE('unkn'), /* class-code = 0x00 */
411  kSCSIDeviceType =
412  FOUR_CHAR_CODE('scsi'), /* class-code = 0x01, sub-class = 0x00 */
413  kBlockDeviceType =
414  FOUR_CHAR_CODE('blok'), /* class-code = 0x01, sub-class = 0xXX */
415  kNetworkDeviceType = FOUR_CHAR_CODE('netw'), /* class-code = 0x02 */
416  kDisplayDeviceType = FOUR_CHAR_CODE('dspl'), /* class-code = 0x03 */
417  kMultimediaDeviceType = FOUR_CHAR_CODE('mmdv'), /* class-code = 0x04 */
418  kMemoryDeviceType = FOUR_CHAR_CODE('mem '), /* class-code = 0x05 */
419  kBridgeDeviceType = FOUR_CHAR_CODE('brdg'), /* class-code = 0x06 */
420  kCommDeviceType = FOUR_CHAR_CODE('comm'), /* class-code = 0x07 */
421  kPeripheralDeviceType = FOUR_CHAR_CODE('sysp'), /* class-code = 0x08 */
422  kInputDeviceType = FOUR_CHAR_CODE('inpt'), /* class-code = 0x09 */
423  kDockingDeviceType = FOUR_CHAR_CODE('dock'), /* class-code = 0x0A */
424  kProcessorDeviceType = FOUR_CHAR_CODE('proc'), /* class-code = 0x0B */
425  kFirewireBusDeviceType =
426  FOUR_CHAR_CODE('firw'), /* class-code = 0x0C, sub-class = 0x00 */
427  kACCESSBusDeviceType =
428  FOUR_CHAR_CODE('accs'), /* class-code = 0x0C, sub-class = 0x01 */
429  kSSABusDeviceType =
430  FOUR_CHAR_CODE('ssa '), /* class-code = 0x0C, sub-class = 0x02 */
431  kUSBBusDeviceType =
432  FOUR_CHAR_CODE('usb '), /* class-code = 0x0C, sub-class = 0x03 */
433  kFibreBusDeviceType =
434  FOUR_CHAR_CODE('fibr'), /* class-code = 0x0C, sub-class = 0x04 */
435  kByteDeviceType = FOUR_CHAR_CODE('byte'), /* class-code = 0x?? */
436  kSerialDeviceType = FOUR_CHAR_CODE('ser '), /* class-code = 0x?? */
437  kParallelDeviceType = FOUR_CHAR_CODE('parl'), /* class-code = 0x?? */
438  kAIMSDeviceType = FOUR_CHAR_CODE('aims') /* class-code = 0x?? */
439  };
440 
441  typedef OSType PCDeviceType;
442  enum
443  {
444  kAttributeType = 0,
445  kMemoryType = 1,
446  kIOType = 2
447  };
448 
449  typedef UInt32 PCCardMemoryType;
450  enum
451  {
452  kUnknown = FOUR_CHAR_CODE('unkn'),
453  kPCCard16 = FOUR_CHAR_CODE('pc16'),
454  kCardBus = FOUR_CHAR_CODE('cdbs')
455  };
456 
457  typedef OSType PCCardArchitectureType;
458 #define kNodeNameName "name"
459 #define k16BitPCCardName "16bitcard"
460 #define kCardbusPropertyName "cardbus"
461 #define kNodeCompatiblePropertyName "compatible"
462 #define kDevice_TypeName "device_type"
463 #define kDriverISTPropertyName "driver-ist"
464 #define kFCRAccessPropertyName "FCRAccess"
465 #define kConfigRegPropertyName "ConfigRegValues"
466 #define kNodeTypePropertyName "PCCardNodeType"
467 #define kDeviceNumberPropertName "DeviceNumber"
468 #define kSocketNumberPropertName "SocketNumber"
469 
470  /*------------------------------------------------------------------------------------
471  Plugin Dispatch Table
472  ------------------------------------------------------------------------------------*/
473  enum
474  {
475  kServiceTypePCCardEnabler = FOUR_CHAR_CODE('card'),
476  kPCCardEnablerPluginVersion = 0x00000001,
477  kPCCardEnablerPluginCurrentVersion = kPCCardEnablerPluginVersion
478  };
479 
480  /* Card Enabler Entrypoints*/
481  typedef CALLBACK_API_C(OSStatus,
482  CEValidateHardwareProc)(const RegEntryID *cardRef);
483  typedef CALLBACK_API_C(OSStatus, CEInitializeProc)(const RegEntryID *cardRef,
484  Boolean replacingOld);
485  typedef CALLBACK_API_C(OSStatus, CECleanupProc)(const RegEntryID *cardRef,
486  Boolean beingReplaced);
487  typedef CALLBACK_API_C(OSStatus,
488  CEPowerManagementProc)(const RegEntryID *lpCardEntry,
489  PCCardPowerOptions powerLevel);
490  typedef CALLBACK_API_C(OSStatus, CEHandleEventProc)(const RegEntryID *cardRef,
491  PCCardEvent theEvent);
492  typedef CALLBACK_API_C(OSStatus, CEGetCardInfoProc)(const RegEntryID *cardRef,
493  PCCardDevType *cardType,
494  PCCardSubType *cardSubType,
495  StringPtr cardName,
496  StringPtr vendorName);
497  typedef CALLBACK_API_C(OSStatus,
498  CEAddCardPropertiesProc)(const RegEntryID *cardRef);
499  typedef CALLBACK_API_C(OSStatus,
500  CEGetDeviceCountProc)(const RegEntryID *cardRef,
501  ItemCount *numberOfDevices);
502  typedef CALLBACK_API_C(OSStatus, CEGetDeviceNameProc)(UInt32 socketNumber,
503  UInt32 deviceNumber,
504  char *deviceName);
505  typedef CALLBACK_API_C(OSStatus,
506  CEGetDeviceCompatibleProc)(const RegEntryID *deviceRef,
507  UInt32 socketNumber,
508  UInt32 deviceNumber,
509  char *name);
510  typedef CALLBACK_API_C(OSStatus,
511  CEGetDeviceTypeProc)(const RegEntryID *deviceRef,
512  UInt32 socketNumber,
513  UInt32 deviceNumber,
514  PCDeviceType *lpDeviceType);
515  typedef CALLBACK_API_C(OSStatus,
516  CEGetDeviceTypeNameProc)(const RegEntryID *deviceRef,
517  UInt32 socketNumber,
518  UInt32 deviceNumber,
519  char *name);
520  typedef CALLBACK_API_C(OSStatus,
521  CEAddDevicePropertiesProc)(const RegEntryID *deviceRef,
522  UInt32 device);
523  typedef CALLBACK_API_C(OSStatus,
524  CEConfigureDeviceProc)(const RegEntryID *deviceRef,
525  UInt32 deviceNumber);
526  typedef CALLBACK_API_C(OSStatus,
527  CEFinalizeDeviceProc)(UInt32 socket, UInt32 device,
528  const RegEntryID *deviceRef);
529  typedef CALLBACK_API_C(OSStatus, CEValidateCISProc)(UInt32 socket,
530  UInt32 device,
531  UInt32 *lpCISChainCount);
532  typedef CALLBACK_API_C(OSStatus, CEGetFirstTupleProc)(
533  UInt32 socket, UInt32 device, PCCardTupleIterator lpTupleIterator,
534  Byte desiredTuple, void *lptupleData, UInt32 *lpTupleBufferSize,
535  Byte *lpFoundTuple);
536  typedef CALLBACK_API_C(OSStatus,
537  CEGetNextTupleProc)(PCCardTupleIterator lpTupleIterator,
538  Byte desiredTuple, void *lptupleData,
539  UInt32 *lpTupleBufferSize,
540  Byte *lpFoundTuple);
542  {
543  UInt32 pluginDispatchTableVersion;
544  UInt32 reserved1;
545  UInt32 reserved2;
546  UInt32 reserved3;
547  };
550  {
552 
553  /* General functions*/
554  CEValidateHardwareProc validateHardwareProc;
555  CEInitializeProc initializeProc;
556  CECleanupProc cleanUpProc;
557  CEPowerManagementProc setPCCardPowerLevel;
558 
559  /* Card functions*/
560  CEHandleEventProc handleEventProc;
561  CEGetCardInfoProc getCardInfoProc;
562  CEAddCardPropertiesProc addCardProperties;
563  CEGetDeviceCountProc getDeviceCount;
564 
565  /* Device functions*/
566  CEGetDeviceNameProc getDeviceName;
567  CEGetDeviceCompatibleProc getDeviceCompatibleNames;
568  CEGetDeviceTypeProc getDeviceType;
569  CEGetDeviceTypeNameProc getDeviceTypeName;
570  CEAddDevicePropertiesProc addDeviceProperties;
571  CEConfigureDeviceProc configureDevice;
572  CEFinalizeDeviceProc finalizeDevice;
573 
574  /* Card Services Overrides...*/
575  CEValidateCISProc validateCIS;
576  CEGetFirstTupleProc getFirstTuple;
577  CEGetNextTupleProc getNextTuple;
578 
579  /* InterruptHandlers...*/
580  InterruptHandler cardInterruptHandlerFunction;
581  InterruptEnabler cardInterruptEnableFunction;
582  InterruptDisabler cardInterruptDisableFunction;
583  };
584  typedef struct PCCardEnablerPluginDispatchTable
587 /*------------------------------------------------------------------------------------
588  PC Card Enabler Utility calls exported by the Family
589 ------------------------------------------------------------------------------------*/
590 /* Generic Enabler Entrypoints*/
591 #if CALL_NOT_IN_CARBON
600  OSStatus
601  CEInitializeCard(const RegEntryID *cardRef, Boolean replacingOld);
602 
611  OSStatus
612  CEFinalizeCard(const RegEntryID *cardRef, Boolean beingReplaced);
613 
622  OSStatus
623  CEPowerManagement(const RegEntryID *lpParentID, PCCardPowerOptions powerLevel);
624 
633  OSStatus
634  CEHandleCardEvent(const RegEntryID *cardRef, PCCardEvent lTheCardEvent);
635 
644  OSStatus
645  CEGetCardInfo(const RegEntryID *cardRef, PCCardDevType *cardType,
646  PCCardSubType *cardSubType, StringPtr cardName,
647  StringPtr vendorName);
648 
657  OSStatus
659 
668  OSStatus
669  CEGetDeviceCount(const RegEntryID *cardRef, ItemCount *numberOfDevices);
670 
671  /* device functions*/
680  OSStatus
681  CEGetDeviceName(UInt32 socketNumber, UInt32 deviceNumber, char *deviceName);
682 
691  OSStatus
692  CEGetDeviceCompatibleNames(const RegEntryID *deviceRef, UInt32 socketNumber,
693  UInt32 deviceNumber, char *name);
694 
703  OSStatus
704  CEGetDeviceType(const RegEntryID *deviceRef, UInt32 socketNumber,
705  UInt32 deviceNumber, PCDeviceType *lpDeviceType);
706 
715  OSStatus
716  CEGetDeviceTypeName(const RegEntryID *deviceRef, UInt32 socketNumber,
717  UInt32 deviceNumber, char *name);
718 
727  OSStatus
728  CEAddDeviceProperties(const RegEntryID *deviceRef, UInt32 deviceNumber);
729 
738  OSStatus
739  CEConfigureDevice(const RegEntryID *deviceRef, UInt32 deviceNumber);
740 
749  OSStatus
750  CEFinalizeDevice(UInt32 socket, UInt32 device, const RegEntryID *deviceRef);
751 
752  /* RegEntryID <-> socket number mapping functions*/
761  OSStatus
762  CEGetSocketAndDeviceFromRegEntry(const RegEntryID *lpNode, UInt32 *lpSocket,
763  UInt32 *lpDevice);
764 
773  OSStatus
775  const RegEntryID *lpDeviceEntry,
776  UInt32 *lpPhysicalSocketNumber);
777 
778  /* Hardware Validation Utilities*/
787  OSStatus
788  CECompareCISTPL_VERS_1(const RegEntryID *cardRef, Byte majorVersion,
789  Byte minorVersion, const char *manufacturer,
790  const char *productName, const char *info1,
791  const char *info2, Boolean *identical);
792 
801  OSStatus
802  CECompareCISTPL_MANFID(const RegEntryID *cardRef, UInt16 manufacturerCode,
803  UInt16 manufacturerInfo, Boolean *identical);
804 
813  OSStatus
814  CECompareMemory(const RegEntryID *cardRef, PCCardMemoryType memType,
815  ByteCount offset, ByteCount length, Byte *dataToCompare,
816  Boolean *identical);
817 
826  OSStatus
827  CEValidateCIS(UInt32 socket, UInt32 device, UInt32 *lpCISChainCount);
828 
837  InterruptMemberNumber
839  UInt32 theIntCount);
840 
841 /*------------------------------------------------------------------------------------
842  PC Card Customization Resources
843 ------------------------------------------------------------------------------------*/
844 #endif /* CALL_NOT_IN_CARBON */
845 
846  enum
847  {
848  kPCCardCustomInfoResType = FOUR_CHAR_CODE('pccd'),
849  kPCCardCustomInfoVersion = 0
850  };
851 
853  {
854  long version;
855  short customIconID; /* ICN#, etc. resource ID*/
856  short customStringsID; /* STR# resource ID*/
857  short customTypeStringIndex;
858  short customHelpStringIndex;
859  OSType customAction;
860  long customActionParam1;
861  long customActionParam2;
862  };
864 #endif /* !defined(__CARDSERVICES__) */
865 
866 #if PRAGMA_STRUCT_ALIGN
867 #pragma options align = reset
868 #elif PRAGMA_STRUCT_PACKPUSH
869 #pragma pack(pop)
870 #elif PRAGMA_STRUCT_PACK
871 #pragma pack()
872 #endif
873 
874 #ifdef PRAGMA_IMPORT_OFF
875 #pragma import off
876 #elif PRAGMA_IMPORT
877 #pragma import reset
878 #endif
879 
880 #ifdef __cplusplus
881 }
882 #endif
883 
884 #endif /* __PCCARDENABLERPLUGIN__ */
Public Interface to the Interrupt Manager.
Basic Macintosh data types.
unsigned char * StringPtr
Definition: MacTypes.h:477
unsigned char Boolean
Definition: MacTypes.h:318
NameRegistry Interfaces.
OSStatus CSDeRegisterTimer(PCCardTimerID timerID)
OSStatus CSGetCardServicesInfo(UInt32 *socketCount, UInt32 *complianceLevel, UInt32 *version)
OSStatus CSGetWindowBaseAddress(PCCardWindowID window, LogicalAddress *baseAddress)
OSStatus CEAddCardProperties(const RegEntryID *cardRef)
OSStatus CSModifyConfiguration(PCCardSocket vSocket, UInt32 device, PCCardConfigOptions modifyAttributes, PCCardIRQ IRQ, PCCardDMA DMA, PCCardVoltage Vpp)
OSStatus CECompareCISTPL_VERS_1(const RegEntryID *cardRef, Byte majorVersion, Byte minorVersion, const char *manufacturer, const char *productName, const char *info1, const char *info2, Boolean *identical)
OSStatus CSInquireWindow(PCCardSocket vSocket, UInt32 device, PCCardWindowID windowID, PCCardWindowAttributes *windowAttributes, PCCardAccessSpeed *windowParam, UInt32 *windowBase, PCCardWindowSize *windowSize, PCCardWindowOffset *windowOffset)
OSStatus CSWriteCardBusConfigSpace(PCCardSocket vSocket, UInt32 device, UInt32 configOffset, Byte *data, UInt32 dataSize)
OSStatus CEGetPhysicalSocketNumber(const RegEntryID *socketRef, const RegEntryID *lpDeviceEntry, UInt32 *lpPhysicalSocketNumber)
OSStatus CEValidateCIS(UInt32 socket, UInt32 device, UInt32 *lpCISChainCount)
OSStatus CSRegisterTimer(PCCardClientID registeredClientID, PCCardTimerID *lpNewTimerID, long delay)
OSStatus CSGetNextTuple(PCCardTupleIterator tupleIterator, Byte desiredTuple, void *tupleData, ByteCount *tupleBufferSize, Byte *foundTuple)
OSStatus CSReleaseWindow(PCCardWindowID windowToRelease)
OSStatus CEGetDeviceName(UInt32 socketNumber, UInt32 deviceNumber, char *deviceName)
OSStatus CSRequestWindow(PCCardSocket vSocket, UInt32 device, PCCardWindowAttributes windowAttributes, PCCardAccessSpeed windowSpeed, LogicalAddress *windowBase, PCCardWindowSize *windowSize, PCCardWindowOffset *windowOffset, PCCardWindowID *requestedWindow)
OSStatus CSModifyWindow(PCCardWindowID windowToModify, PCCardWindowType windowAttributes, PCCardAccessSpeed memorySpeed, PCCardWindowOffset *windowOffset)
OSStatus CSRegisterClient(PCCardSocket vSocket, PCCardEventMask eventMask, PCCardEventHandler clientCallBack, void *clientParam, PCCardClientID *newClientID)
InterruptMemberNumber CEDefaultInterruptHandler(InterruptSetMember ISTmember, void *refCon, UInt32 theIntCount)
OSStatus CEPowerManagement(const RegEntryID *lpParentID, PCCardPowerOptions powerLevel)
OSStatus CSSetEventMask(PCCardClientID theClientID, PCCardEventMask newEventMask)
OSStatus CSRequestConfiguration(PCCardSocket vSocket, UInt32 device, PCCardConfigOptions configOptions, PCCardInterfaceType socketInterface, PCCardCustomInterfaceID customInterface, PCCardVoltage vcc, PCCardVoltage vpp, PCCardIRQ IRQ, PCCardDMA DMA, UInt32 configRegBaseAddress, PCCardConfigPresentMask configRegPresentMask, PCCardFunctionConfigReg *configReg)
OSStatus CSReadConfigurationRegister(PCCardSocket vSocket, UInt32 device, PCCardConfigPresentMask whichRegister, UInt32 configRegBaseAddress, UInt8 *registerValue)
OSStatus CEHandleCardEvent(const RegEntryID *cardRef, PCCardEvent lTheCardEvent)
OSStatus CEFinalizeDevice(UInt32 socket, UInt32 device, const RegEntryID *deviceRef)
OSStatus CEGetDeviceType(const RegEntryID *deviceRef, UInt32 socketNumber, UInt32 deviceNumber, PCDeviceType *lpDeviceType)
OSStatus CSSetRingIndicate(PCCardSocket vSocket, Boolean setRingIndicate)
OSStatus CSGetStatus(PCCardSocket vSocket, UInt32 *currentState, UInt32 *changedState, PCCardVoltage *Vcc, PCCardVoltage *Vpp)
OSStatus CEGetDeviceCompatibleNames(const RegEntryID *deviceRef, UInt32 socketNumber, UInt32 deviceNumber, char *name)
OSStatus CEGetDeviceTypeName(const RegEntryID *deviceRef, UInt32 socketNumber, UInt32 deviceNumber, char *name)
OSStatus CSReadCardBusConfigSpace(PCCardSocket vSocket, UInt32 device, UInt32 configOffset, Byte *data, UInt32 dataSize)
OSStatus CSResetFunction(PCCardSocket vSocket, UInt32 device)
OSStatus CSGetDeviceCount(PCCardSocket vSocket, UInt32 *deviceCount)
OSStatus CSWriteConfigurationRegister(PCCardSocket vSocket, UInt32 device, PCCardConfigPresentMask whichRegister, UInt32 configRegBaseAddress, UInt8 registerValue)
OSStatus CECompareMemory(const RegEntryID *cardRef, PCCardMemoryType memType, ByteCount offset, ByteCount length, Byte *dataToCompare, Boolean *identical)
OSStatus CEGetDeviceCount(const RegEntryID *cardRef, ItemCount *numberOfDevices)
OSStatus CSGetFirstTuple(PCCardSocket socket, UInt32 device, PCCardTupleIterator tupleIterator, Byte desiredTuple, void *tupleData, ByteCount *tupleBufferSize, Byte *foundTuple)
OSStatus CEAddDeviceProperties(const RegEntryID *deviceRef, UInt32 deviceNumber)
OSStatus CECompareCISTPL_MANFID(const RegEntryID *cardRef, UInt16 manufacturerCode, UInt16 manufacturerInfo, Boolean *identical)
OSStatus CEInitializeCard(const RegEntryID *cardRef, Boolean replacingOld)
OSStatus CEGetSocketAndDeviceFromRegEntry(const RegEntryID *lpNode, UInt32 *lpSocket, UInt32 *lpDevice)
OSStatus CSGetEventMask(PCCardClientID theClientID, PCCardEventMask *newEventMask)
OSStatus CSDeRegisterClient(PCCardClientID theClientID)
OSStatus CSValidateCIS(PCCardSocket vSocket, UInt32 device, UInt32 *cisChainCount)
OSStatus CEGetCardInfo(const RegEntryID *cardRef, PCCardDevType *cardType, PCCardSubType *cardSubType, StringPtr cardName, StringPtr vendorName)
OSStatus CSReleaseConfiguration(PCCardSocket vSocket, UInt32 device)
OSStatus CEFinalizeCard(const RegEntryID *cardRef, Boolean beingReplaced)
OSStatus CEConfigureDevice(const RegEntryID *deviceRef, UInt32 deviceNumber)
PC Card Family Programming interface.
Definition: Components.h:266
Definition: Events.h:224
Definition: Quickdraw.h:1648
Definition: DriverServices.h:1084
Definition: PCCardEnablerPlugin.h:853
Definition: PCCardEnablerPlugin.h:550
Definition: PCCardEnablerPlugin.h:542
Definition: PCCard.h:258
Definition: NameRegistry.h:62