18 #ifndef __DRIVERFAMILYMATCHING__
19 #define __DRIVERFAMILYMATCHING__
25 #ifndef __NAMEREGISTRY__
29 #ifndef __CODEFRAGMENTS__
45 #if PRAGMA_STRUCT_ALIGN
46 #pragma options align = mac68k
47 #elif PRAGMA_STRUCT_PACKPUSH
49 #elif PRAGMA_STRUCT_PACK
59 #define kPropertyName "name"
60 #define kPropertyCompatible "compatible"
61 #define kPropertyDriverPtr "driver-ptr"
62 #define kPropertyDriverDesc "driver-description"
63 #define kPropertyReg "reg"
64 #define kPropertyAAPLAddress "AAPL,address"
65 #define kPropertyMatching "matching"
66 #define kPropertyAAPLDriverName "AAPL,driver-name"
91 typedef OptionBits RuntimeOptions;
93 kDriverIsLoadedUponDiscovery =
95 kDriverIsOpenedUponLoad = 0x00000002,
96 kDriverIsUnderExpertControl = 0x00000004,
97 kDriverIsConcurrent = 0x00000008,
98 kDriverQueuesIOPB = 0x00000010,
99 kDriverIsLoadedAtBoot = 0x00000020,
100 kDriverIsForVirtualDevice = 0x00000040,
101 kDriverSupportDMSuspendAndResume =
106 RuntimeOptions driverRuntime;
108 UInt32 driverDescReserved[8];
113 typedef UInt32 ServiceCount;
115 OSType serviceCategory;
122 ServiceCount nServices;
129 kServiceCategoryDisplay = FOUR_CHAR_CODE(
'disp'),
130 kServiceCategoryOpenTransport = FOUR_CHAR_CODE(
'otan'),
131 kServiceCategoryBlockStorage = FOUR_CHAR_CODE(
'blok'),
132 kServiceCategoryNdrvDriver =
133 FOUR_CHAR_CODE(
'ndrv'),
134 kServiceCategoryScsiSIM = FOUR_CHAR_CODE(
'scsi'),
135 kServiceCategoryFileManager = FOUR_CHAR_CODE(
'file'),
136 kServiceCategoryIDE = FOUR_CHAR_CODE(
'ide-'),
137 kServiceCategoryADB = FOUR_CHAR_CODE(
'adb-'),
138 kServiceCategoryPCI = FOUR_CHAR_CODE(
'pci-'),
140 kServiceCategoryDFM = FOUR_CHAR_CODE(
'dfm-'),
141 kServiceCategoryMotherBoard = FOUR_CHAR_CODE(
'mrbd'),
142 kServiceCategoryKeyboard = FOUR_CHAR_CODE(
'kybd'),
143 kServiceCategoryPointing = FOUR_CHAR_CODE(
'poit'),
144 kServiceCategoryRTC = FOUR_CHAR_CODE(
'rtc-'),
145 kServiceCategoryNVRAM = FOUR_CHAR_CODE(
'nram'),
146 kServiceCategorySound = FOUR_CHAR_CODE(
'sond'),
147 kServiceCategoryPowerMgt = FOUR_CHAR_CODE(
'pgmt'),
148 kServiceCategoryGeneric = FOUR_CHAR_CODE(
154 kNdrvTypeIsGeneric = FOUR_CHAR_CODE(
'genr'),
155 kNdrvTypeIsVideo = FOUR_CHAR_CODE(
'vido'),
156 kNdrvTypeIsBlockStorage = FOUR_CHAR_CODE(
'blok'),
157 kNdrvTypeIsNetworking = FOUR_CHAR_CODE(
'netw'),
158 kNdrvTypeIsSerial = FOUR_CHAR_CODE(
'serl'),
159 kNdrvTypeIsParallel = FOUR_CHAR_CODE(
'parl'),
160 kNdrvTypeIsSound = FOUR_CHAR_CODE(
'sond'),
161 kNdrvTypeIsBusBridge = FOUR_CHAR_CODE(
'brdg'),
162 kNdrvTypeIsFWConference =
163 FOUR_CHAR_CODE(
'crsh'),
165 FOUR_CHAR_CODE(
'avc ')
168 typedef UInt32 DriverDescVersion;
171 kTheDescriptionSignature = FOUR_CHAR_CODE(
'mtej'),
172 kDriverDescriptionSignature = FOUR_CHAR_CODE(
'pdes')
175 enum { kInitialDriverDescriptor = 0, kVersionOneDriverDescriptor = 1 };
178 OSType driverDescSignature;
179 DriverDescVersion driverDescVersion;
187 #if PRAGMA_STRUCT_ALIGN
188 #pragma options align = reset
189 #elif PRAGMA_STRUCT_PACKPUSH
191 #elif PRAGMA_STRUCT_PACK
195 #ifdef PRAGMA_IMPORT_OFF
Public Code Fragment Manager Interfaces.
Basic Macintosh data types.
Definition: DriverFamilyMatching.h:177
Definition: DriverFamilyMatching.h:105
Definition: DriverFamilyMatching.h:121
Definition: DriverFamilyMatching.h:114
Definition: DriverFamilyMatching.h:79
Definition: MacTypes.h:638