Mac OS 9
DriverServices.h
Go to the documentation of this file.
1 
19 #ifndef __DRIVERSERVICES__
20 #define __DRIVERSERVICES__
21 
22 #ifndef __CONDITIONALMACROS__
23 #include <ConditionalMacros.h>
24 #endif
25 
26 #ifndef __MACTYPES__
27 #include <MacTypes.h>
28 #endif
29 
30 #ifndef __MACERRORS__
31 #include <MacErrors.h>
32 #endif
33 
34 #ifndef __MACHINEEXCEPTIONS__
35 #include <MachineExceptions.h>
36 #endif
37 
38 #ifndef __DEVICES__
39 #include <Devices.h>
40 #endif
41 
42 #ifndef __DRIVERSYNCHRONIZATION__
43 #include <DriverSynchronization.h>
44 #endif
45 
46 #ifndef __NAMEREGISTRY__
47 #include <NameRegistry.h>
48 #endif
49 
50 #if PRAGMA_ONCE
51 #pragma once
52 #endif
53 
54 #ifdef __cplusplus
55 extern "C"
56 {
57 #endif
58 
59 #if PRAGMA_IMPORT
60 #pragma import on
61 #endif
62 
63 #if PRAGMA_STRUCT_ALIGN
64 #pragma options align = power
65 #elif PRAGMA_STRUCT_PACKPUSH
66 #pragma pack(push, 2)
67 #elif PRAGMA_STRUCT_PACK
68 #pragma pack(2)
69 #endif
70 
71  /*******************************************************************
72  *
73  * Previously in Kernel.h
74  *
75  ******************************************************************/
77  typedef struct OpaqueIOPreparationID *IOPreparationID;
78  typedef struct OpaqueSoftwareInterruptID *SoftwareInterruptID;
79  typedef struct OpaqueTaskID *TaskID;
80  typedef struct OpaqueTimerID *TimerID;
82  typedef UInt32 ExecutionLevel;
83  enum
84  {
85  kTaskLevel = 0,
86  kSoftwareInterruptLevel = 1,
87  kAcceptFunctionLevel = 2,
88  kKernelLevel = 3,
89  kSIHAcceptFunctionLevel = 4,
90  kSecondaryInterruptLevel = 5,
91  kHardwareInterruptLevel = 6,
92  kMPTaskLevel = 7
93  };
94 
95  typedef CALLBACK_API_C(void, SoftwareInterruptHandler)(void *p1, void *p2);
96  typedef CALLBACK_API_C(OSStatus, SecondaryInterruptHandler2)(void *p1,
97  void *p2);
98 #define kCurrentAddressSpaceID ((AddressSpaceID)-1)
101  {
102  LogicalAddress address;
103  ByteCount count;
104  };
108  {
109  PhysicalAddress address;
110  ByteCount count;
111  };
115  typedef OptionBits IOPreparationOptions;
116  enum
117  {
118  kIOMultipleRanges = 0x00000001,
119  kIOLogicalRanges = 0x00000002,
120  kIOMinimalLogicalMapping = 0x00000004,
121  kIOShareMappingTables = 0x00000008,
122  kIOIsInput = 0x00000010,
123  kIOIsOutput = 0x00000020,
124  kIOCoherentDataPath = 0x00000040,
125  kIOTransferIsLogical = 0x00000080,
126  kIOClientIsUserMode = 0x00000080
127  };
128 
129  typedef OptionBits IOPreparationState;
130  enum
131  {
132  kIOStateDone = 0x00000001
133  };
134 
135  enum
136  {
137  kInvalidPageAddress = (-1)
138  };
139 
141  {
142  void *base;
143  ByteCount length;
144  };
145  typedef struct AddressRange AddressRange;
148  typedef LogicalAddress *LogicalMappingTablePtr;
149  typedef PhysicalAddress *PhysicalMappingTablePtr;
152  {
153  ItemCount entryCount;
154  AddressRangeTablePtr rangeTable;
155  };
162  {
163  IOPreparationOptions options;
164  IOPreparationState state;
165  IOPreparationID preparationID;
166  AddressSpaceID addressSpace;
167  ByteCount granularity;
168  ByteCount firstPrepared;
169  ByteCount lengthPrepared;
170  ItemCount mappingEntryCount;
171  LogicalMappingTablePtr logicalMapping;
172  PhysicalMappingTablePtr physicalMapping;
173  union
174  {
175  AddressRange range;
176  MultipleAddressRange multipleRanges;
177  } rangeInfo;
178  };
179  typedef struct IOPreparationTable IOPreparationTable;
180 
181  typedef OptionBits IOCheckpointOptions;
182  enum
183  {
184  kNextIOIsInput = 0x00000001,
185  kNextIOIsOutput = 0x00000002,
186  kMoreIOTransfers = 0x00000004
187  };
188 
191  typedef UInt32 ProcessorCacheMode;
192  enum
193  {
194  kProcessorCacheModeDefault = 0,
195  kProcessorCacheModeInhibited = 1,
196  kProcessorCacheModeWriteThrough = 2,
197  kProcessorCacheModeCopyBack = 3
198  };
199 
206  enum
207  {
208  kPageInformationVersion = 1
209  };
210 
211  typedef UInt32 PageStateInformation;
212  enum
213  {
214  kPageIsProtected = 0x00000001,
215  kPageIsProtectedPrivileged = 0x00000002,
216  kPageIsModified = 0x00000004,
217  kPageIsReferenced = 0x00000008,
218  kPageIsLockedResident = 0x00000010,
219  kPageIsInMemory = 0x00000020,
220  kPageIsShared = 0x00000040,
221  kPageIsWriteThroughCached = 0x00000080,
222  kPageIsCopyBackCached = 0x00000100,
223  kPageIsHeldResident =
224  0x00000200,
226  kPageIsLocked = kPageIsLockedResident,
228  };
229 
231  {
232  AreaID area;
233  ItemCount count;
234  PageStateInformation information[1];
235  };
236  typedef struct PageInformation PageInformation;
238 
240 #if CALL_NOT_IN_CARBON
251 
260  TaskID
262 
271  OSStatus
272  DelayFor(Duration delayDuration);
273 
282  Boolean
284 
294  OSStatus
295  CreateSoftwareInterrupt(SoftwareInterruptHandler handler, TaskID task, void *p1,
296  Boolean persistent,
297  SoftwareInterruptID *theSoftwareInterrupt);
298 
307  OSStatus
308  SendSoftwareInterrupt(SoftwareInterruptID theSoftwareInterrupt, void *p2);
309 
318  OSStatus
319  DeleteSoftwareInterrupt(SoftwareInterruptID theSoftwareInterrupt);
320 
321 #endif
323 #if TARGET_OS_MAC
325 #if CALL_NOT_IN_CARBON
334  OSStatus
335  CallSecondaryInterruptHandler2(SecondaryInterruptHandler2 theHandler,
336  ExceptionHandler exceptionHandler, void *p1,
337  void *p2);
338 
347  OSStatus
348  QueueSecondaryInterruptHandler(SecondaryInterruptHandler2 theHandler,
349  ExceptionHandler exceptionHandler, void *p1,
350  void *p2);
351 
352 #endif
354 #endif
357 #if CALL_NOT_IN_CARBON
366  OSStatus
367  SetInterruptTimer(const AbsoluteTime *expirationTime,
368  SecondaryInterruptHandler2 handler, void *p1,
369  TimerID *theTimer);
370 
379  OSStatus
380  SetPersistentTimer(Duration frequency, SecondaryInterruptHandler2 theHandler,
381  void *p1, TimerID *theTimer);
382 
391  OSStatus
392  CancelTimer(TimerID theTimer, AbsoluteTime *timeRemaining);
393 
403  OSStatus
404  PrepareMemoryForIO(IOPreparationTable *theIOPreparationTable);
405 
414  OSStatus
415  CheckpointIO(IOPreparationID theIOPreparation, IOCheckpointOptions options);
416 
426  OSStatus
427  GetPageInformation(AddressSpaceID addressSpace, ConstLogicalAddress base,
428  ByteCount length, PBVersion version,
429  PageInformation *thePageInfo);
430 
440  OSStatus
441  SetProcessorCacheMode(AddressSpaceID addressSpace, ConstLogicalAddress base,
442  ByteCount length, ProcessorCacheMode cacheMode);
443 
444 /*******************************************************************
445  *
446  * Was in DriverSupport.h or DriverServices.h
447  *
448  ******************************************************************/
449 #define kAAPLDeviceLogicalAddress "AAPL,address"
450 #endif
452  typedef LogicalAddress *DeviceLogicalAddressPtr;
453  enum
454  {
455  durationMicrosecond = -1L,
457  durationSecond = 1000L,
458  durationMinute = 60000L,
459  durationHour = 3600000L,
460  durationDay = 86400000L,
462  durationForever = 0x7FFFFFFF
463  };
464 
465  enum
466  {
467  k8BitAccess = 0,
469  k32BitAccess = 2
470  };
471 
472  typedef UnsignedWide Nanoseconds;
473 
474 #if CALL_NOT_IN_CARBON
483  OSErr
484  IOCommandIsComplete(IOCommandID theID, OSErr theResult);
485 
494  OSErr
495  GetIOCommandInfo(IOCommandID theID, IOCommandContents *theContents,
496  IOCommandCode *theCommand, IOCommandKind *theKind);
497 
506  void
508 
517  void
518  BlockCopy(const void *srcPtr, void *destPtr, Size byteCount);
519 
528  LogicalAddress
529  PoolAllocateResident(ByteCount byteSize, Boolean clear);
530 
539  OSStatus
540  PoolDeallocate(LogicalAddress address);
541 
550  ByteCount
552 
561  ByteCount
563 
572  OSStatus
573  FlushProcessorCache(AddressSpaceID spaceID, LogicalAddress base,
574  ByteCount length);
575 
584  LogicalAddress
585  MemAllocatePhysicallyContiguous(ByteCount byteSize, Boolean clear);
586 
595  OSStatus
596  MemDeallocatePhysicallyContiguous(LogicalAddress address);
597 
598 #endif
609  UpTime(void);
610 
611 #if CALL_NOT_IN_CARBON
620  void
621  GetTimeBaseInfo(UInt32 *minAbsoluteTimeDelta,
622  UInt32 *theAbsoluteTimeToNanosecondNumerator,
623  UInt32 *theAbsoluteTimeToNanosecondDenominator,
624  UInt32 *theProcessorToAbsoluteTimeNumerator,
625  UInt32 *theProcessorToAbsoluteTimeDenominator);
626 
627 #endif
639 
648  Duration
650 
661 
671  DurationToAbsolute(Duration duration);
672 
682  AddAbsoluteToAbsolute(AbsoluteTime absoluteTime1, AbsoluteTime absoluteTime2);
683 
694  AbsoluteTime rightAbsoluteTime);
695 
706 
716  AddDurationToAbsolute(Duration duration, AbsoluteTime absoluteTime);
717 
728 
738  SubDurationFromAbsolute(Duration duration, AbsoluteTime absoluteTime);
739 
750  AbsoluteTime rightAbsoluteTime);
751 
760  Duration
762  AbsoluteTime rightAbsoluteTime);
763 
773  DurationToNanoseconds(Duration theDuration);
774 
783  Duration
785 
786 #if CALL_NOT_IN_CARBON
795  OSErr
797 
806  OSErr
808 
817  OSErr
819 
828  void
829  PBEnqueue(QElemPtr qElement, QHdrPtr qHeader);
830 
839  OSErr
840  PBEnqueueLast(QElemPtr qElement, QHdrPtr qHeader);
841 
850  OSErr
851  PBDequeue(QElemPtr qElement, QHdrPtr qHeader);
852 
861  OSErr
862  PBDequeueFirst(QHdrPtr qHeader, QElemPtr *theFirstqElem);
863 
872  OSErr
873  PBDequeueLast(QHdrPtr qHeader, QElemPtr *theLastqElem);
874 
883  char *
884  CStrCopy(char *dst, const char *src);
885 
894  StringPtr
895  PStrCopy(StringPtr dst, ConstStr255Param src);
896 
905  char *
906  CStrNCopy(char *dst, const char *src, UInt32 max);
907 
916  StringPtr
917  PStrNCopy(StringPtr dst, ConstStr255Param src, UInt32 max);
918 
927  char *
928  CStrCat(char *dst, const char *src);
929 
938  StringPtr
939  PStrCat(StringPtr dst, ConstStr255Param src);
940 
949  char *
950  CStrNCat(char *dst, const char *src, UInt32 max);
951 
960  StringPtr
961  PStrNCat(StringPtr dst, ConstStr255Param src, UInt32 max);
962 
971  void
972  PStrToCStr(char *dst, ConstStr255Param src);
973 
982  void
983  CStrToPStr(Str255 dst, const char *src);
984 
993  SInt16
994  CStrCmp(const char *s1, const char *s2);
995 
1004  SInt16
1005  PStrCmp(ConstStr255Param str1, ConstStr255Param str2);
1006 
1015  SInt16
1016  CStrNCmp(const char *s1, const char *s2, UInt32 max);
1017 
1026  SInt16
1027  PStrNCmp(ConstStr255Param str1, ConstStr255Param str2, UInt32 max);
1028 
1037  UInt32
1038  CStrLen(const char *src);
1039 
1048  UInt32
1049  PStrLen(ConstStr255Param src);
1050 
1059  OSStatus
1060  DeviceProbe(void *theSrc, void *theDest, UInt32 AccessType);
1061 
1070  OSStatus
1072 
1073 /*******************************************************************
1074  *
1075  * Was in Interrupts.h
1076  *
1077  ******************************************************************/
1079 #endif
1081  typedef struct OpaqueInterruptSetID *InterruptSetID;
1082  typedef long InterruptMemberNumber;
1084  {
1085  InterruptSetID setID;
1086  InterruptMemberNumber member;
1087  };
1088  typedef struct InterruptSetMember InterruptSetMember;
1089  enum
1090  {
1091  kISTChipInterruptSource = 0,
1092  kISTOutputDMAInterruptSource = 1,
1093  kISTInputDMAInterruptSource = 2,
1094  kISTPropertyMemberCount = 3
1095  };
1096 
1097  typedef InterruptSetMember ISTProperty[3];
1098 #define kISTPropertyName "driver-ist"
1099 
1100  typedef long InterruptReturnValue;
1101  enum
1102  {
1103  kFirstMemberNumber = 1,
1104  kIsrIsComplete = 0,
1105  kIsrIsNotComplete = -1,
1106  kMemberNumberParent = -2
1107  };
1108 
1109  typedef Boolean InterruptSourceState;
1110  enum
1111  {
1112  kSourceWasEnabled = true,
1113  kSourceWasDisabled = false
1114  };
1115 
1116  typedef CALLBACK_API_C(InterruptMemberNumber,
1117  InterruptHandler)(InterruptSetMember ISTmember,
1118  void *refCon, UInt32 theIntCount);
1119  typedef CALLBACK_API_C(void, InterruptEnabler)(InterruptSetMember ISTmember,
1120  void *refCon);
1121  typedef CALLBACK_API_C(InterruptSourceState,
1122  InterruptDisabler)(InterruptSetMember ISTmember,
1123  void *refCon);
1124  enum
1125  {
1126  kReturnToParentWhenComplete = 0x00000001,
1127  kReturnToParentWhenNotComplete = 0x00000002
1128  };
1129 
1130  typedef OptionBits InterruptSetOptions;
1132 #if CALL_NOT_IN_CARBON
1141  OSStatus
1142  CreateInterruptSet(InterruptSetID parentSet, InterruptMemberNumber parentMember,
1143  InterruptMemberNumber setSize, InterruptSetID *setID,
1144  InterruptSetOptions options);
1145 
1154  OSStatus
1155  InstallInterruptFunctions(InterruptSetID setID, InterruptMemberNumber member,
1156  void *refCon, InterruptHandler handlerFunction,
1157  InterruptEnabler enableFunction,
1158  InterruptDisabler disableFunction);
1159 
1168  OSStatus
1169  GetInterruptFunctions(InterruptSetID setID, InterruptMemberNumber member,
1170  void **refCon, InterruptHandler *handlerFunction,
1171  InterruptEnabler *enableFunction,
1172  InterruptDisabler *disableFunction);
1173 
1182  OSStatus
1183  ChangeInterruptSetOptions(InterruptSetID setID, InterruptSetOptions options);
1184 
1193  OSStatus
1194  GetInterruptSetOptions(InterruptSetID setID, InterruptSetOptions *options);
1195 
1196 #endif
1198 #if PRAGMA_STRUCT_ALIGN
1199 #pragma options align = reset
1200 #elif PRAGMA_STRUCT_PACKPUSH
1201 #pragma pack(pop)
1202 #elif PRAGMA_STRUCT_PACK
1203 #pragma pack()
1204 #endif
1205 
1206 #ifdef PRAGMA_IMPORT_OFF
1207 #pragma import off
1208 #elif PRAGMA_IMPORT
1209 #pragma import reset
1210 #endif
1211 
1212 #ifdef __cplusplus
1213 }
1214 #endif
1215 
1216 #endif
Set up for compiler independent conditionals.
Device Manager Interfaces.
LogicalAddress * DeviceLogicalAddressPtr
Definition: DriverServices.h:452
OSStatus CancelTimer(TimerID theTimer, AbsoluteTime *timeRemaining)
OSStatus DeviceProbe(void *theSrc, void *theDest, UInt32 AccessType)
OSStatus SendSoftwareInterrupt(SoftwareInterruptID theSoftwareInterrupt, void *p2)
ExecutionLevel CurrentExecutionLevel(void)
AbsoluteTime NanosecondsToAbsolute(Nanoseconds nanoseconds)
SInt16 CStrCmp(const char *s1, const char *s2)
OSErr PBQueueInit(QHdrPtr qHeader)
AbsoluteTime SubAbsoluteFromAbsolute(AbsoluteTime leftAbsoluteTime, AbsoluteTime rightAbsoluteTime)
LogicalAddress MemAllocatePhysicallyContiguous(ByteCount byteSize, Boolean clear)
void CStrToPStr(Str255 dst, const char *src)
struct OpaqueIOPreparationID * IOPreparationID
Definition: DriverServices.h:77
Duration AbsoluteToDuration(AbsoluteTime absoluteTime)
OSStatus CheckpointIO(IOPreparationID theIOPreparation, IOCheckpointOptions options)
OSErr PBEnqueueLast(QElemPtr qElement, QHdrPtr qHeader)
OSStatus MemDeallocatePhysicallyContiguous(LogicalAddress address)
OSStatus CreateSoftwareInterrupt(SoftwareInterruptHandler handler, TaskID task, void *p1, Boolean persistent, SoftwareInterruptID *theSoftwareInterrupt)
OSStatus SetPersistentTimer(Duration frequency, SecondaryInterruptHandler2 theHandler, void *p1, TimerID *theTimer)
AbsoluteTime DurationToAbsolute(Duration duration)
ByteCount GetDataCacheLineSize(void)
OSErr PBQueueCreate(QHdrPtr *qHeader)
@ durationMillisecond
Definition: DriverServices.h:456
@ durationHour
Definition: DriverServices.h:459
@ durationNoWait
Definition: DriverServices.h:461
@ durationDay
Definition: DriverServices.h:460
@ durationMinute
Definition: DriverServices.h:458
@ durationSecond
Definition: DriverServices.h:457
@ durationForever
Definition: DriverServices.h:462
AbsoluteTime AddDurationToAbsolute(Duration duration, AbsoluteTime absoluteTime)
Nanoseconds AbsoluteDeltaToNanoseconds(AbsoluteTime leftAbsoluteTime, AbsoluteTime rightAbsoluteTime)
@ kPageIsLocked
Definition: DriverServices.h:226
@ kPageIsInMemory
Definition: DriverServices.h:219
@ kPageIsResident
Definition: DriverServices.h:227
OSStatus InstallInterruptFunctions(InterruptSetID setID, InterruptMemberNumber member, void *refCon, InterruptHandler handlerFunction, InterruptEnabler enableFunction, InterruptDisabler disableFunction)
OSErr PBDequeueFirst(QHdrPtr qHeader, QElemPtr *theFirstqElem)
OSStatus CreateInterruptSet(InterruptSetID parentSet, InterruptMemberNumber parentMember, InterruptMemberNumber setSize, InterruptSetID *setID, InterruptSetOptions options)
Nanoseconds AbsoluteToNanoseconds(AbsoluteTime absoluteTime)
OSStatus DelayForHardware(AbsoluteTime absoluteTime)
Duration NanosecondsToDuration(Nanoseconds theNanoseconds)
Nanoseconds DurationToNanoseconds(Duration theDuration)
UInt32 ExecutionLevel
Definition: DriverServices.h:82
OSStatus GetInterruptSetOptions(InterruptSetID setID, InterruptSetOptions *options)
ByteCount GetLogicalPageSize(void)
OSStatus PrepareMemoryForIO(IOPreparationTable *theIOPreparationTable)
@ k32BitAccess
Definition: DriverServices.h:469
@ k16BitAccess
Definition: DriverServices.h:468
OSErr PBQueueDelete(QHdrPtr qHeader)
void BlockCopy(const void *srcPtr, void *destPtr, Size byteCount)
void GetTimeBaseInfo(UInt32 *minAbsoluteTimeDelta, UInt32 *theAbsoluteTimeToNanosecondNumerator, UInt32 *theAbsoluteTimeToNanosecondDenominator, UInt32 *theProcessorToAbsoluteTimeNumerator, UInt32 *theProcessorToAbsoluteTimeDenominator)
AbsoluteTime SubDurationFromAbsolute(Duration duration, AbsoluteTime absoluteTime)
LogicalAddress PoolAllocateResident(ByteCount byteSize, Boolean clear)
UInt32 ProcessorCacheMode
Definition: DriverServices.h:191
StringPtr PStrNCat(StringPtr dst, ConstStr255Param src, UInt32 max)
TaskID CurrentTaskID(void)
SInt16 CStrNCmp(const char *s1, const char *s2, UInt32 max)
OSStatus SetInterruptTimer(const AbsoluteTime *expirationTime, SecondaryInterruptHandler2 handler, void *p1, TimerID *theTimer)
AbsoluteTime UpTime(void)
LogicalAddress * LogicalMappingTablePtr
Definition: DriverServices.h:148
OSStatus ChangeInterruptSetOptions(InterruptSetID setID, InterruptSetOptions options)
SInt16 PStrNCmp(ConstStr255Param str1, ConstStr255Param str2, UInt32 max)
SInt16 PStrCmp(ConstStr255Param str1, ConstStr255Param str2)
UInt32 CStrLen(const char *src)
OSStatus SetProcessorCacheMode(AddressSpaceID addressSpace, ConstLogicalAddress base, ByteCount length, ProcessorCacheMode cacheMode)
OSStatus FlushProcessorCache(AddressSpaceID spaceID, LogicalAddress base, ByteCount length)
OSStatus GetPageInformation(AddressSpaceID addressSpace, ConstLogicalAddress base, ByteCount length, PBVersion version, PageInformation *thePageInfo)
OSErr PBDequeue(QElemPtr qElement, QHdrPtr qHeader)
void PStrToCStr(char *dst, ConstStr255Param src)
OSStatus DeleteSoftwareInterrupt(SoftwareInterruptID theSoftwareInterrupt)
StringPtr PStrNCopy(StringPtr dst, ConstStr255Param src, UInt32 max)
OptionBits IOPreparationOptions
Definition: DriverServices.h:115
OSStatus GetInterruptFunctions(InterruptSetID setID, InterruptMemberNumber member, void **refCon, InterruptHandler *handlerFunction, InterruptEnabler *enableFunction, InterruptDisabler *disableFunction)
OSErr IOCommandIsComplete(IOCommandID theID, OSErr theResult)
OSStatus PoolDeallocate(LogicalAddress address)
StringPtr PStrCat(StringPtr dst, ConstStr255Param src)
UInt32 PStrLen(ConstStr255Param src)
char * CStrNCopy(char *dst, const char *src, UInt32 max)
Duration AbsoluteDeltaToDuration(AbsoluteTime leftAbsoluteTime, AbsoluteTime rightAbsoluteTime)
char * CStrCopy(char *dst, const char *src)
StringPtr PStrCopy(StringPtr dst, ConstStr255Param src)
char * CStrCat(char *dst, const char *src)
OSErr PBDequeueLast(QHdrPtr qHeader, QElemPtr *theLastqElem)
char * CStrNCat(char *dst, const char *src, UInt32 max)
struct OpaqueInterruptSetID * InterruptSetID
Definition: DriverServices.h:1081
OSErr GetIOCommandInfo(IOCommandID theID, IOCommandContents *theContents, IOCommandCode *theCommand, IOCommandKind *theKind)
Boolean InPrivilegedMode(void)
AbsoluteTime SubNanosecondsFromAbsolute(Nanoseconds nanoseconds, AbsoluteTime absoluteTime)
AbsoluteTime AddAbsoluteToAbsolute(AbsoluteTime absoluteTime1, AbsoluteTime absoluteTime2)
void UpdateDeviceActivity(RegEntryID *deviceEntry)
AbsoluteTime AddNanosecondsToAbsolute(Nanoseconds nanoseconds, AbsoluteTime absoluteTime)
OSStatus DelayFor(Duration delayDuration)
void PBEnqueue(QElemPtr qElement, QHdrPtr qHeader)
Driver Synchronization Interfaces.
OSErr codes.
Basic Macintosh data types.
unsigned char * StringPtr
Definition: MacTypes.h:477
unsigned char Boolean
Definition: MacTypes.h:318
Processor Exception Handling Interfaces.
struct OpaqueAreaID * AreaID
Definition: MachineExceptions.h:52
NameRegistry Interfaces.
Definition: DriverServices.h:141
Definition: DriverServices.h:162
Definition: DriverServices.h:1084
Definition: DriverServices.h:101
Definition: DriverServices.h:152
Definition: DriverServices.h:231
Definition: DriverServices.h:108
Definition: OSUtils.h:131
Definition: OSUtils.h:154
Definition: NameRegistry.h:62
Definition: MacTypes.h:110
Definition: Devices.h:303