5 #include <IOKit/kext/KEXTManager.h>
7 #if defined(__cplusplus)
11 typedef struct __KEXTD
* KEXTDRef
;
14 kKEXTBootlevelNormal
= 0x00,
15 kKEXTBootlevelExempt
= 0x01,
16 kKEXTBootlevelRecovery
= 0x02,
17 kKEXTBootlevelSingleUser
= 0x04,
18 kKEXTBootlevelFlexible
= 0x08,
19 kKEXTBootlevelRequired
= 0x10,
24 kKEXTEventModuleRequest
,
25 kKEXTEventPersonalityRequest
,
26 kKEXTEventBundleAuthenticationFailed
,
31 void * (*HelperInitialize
)(KEXTDRef kextd
);
32 void (*HelperFinalize
)(void * context
);
33 void (*DaemonDidFinishLaunching
)(void * context
);
34 void (*DaemonWillTerminate
)(void * context
);
35 Boolean (*BundleAdd
)(KEXTBundleRef bundle
, void * context
);
36 Boolean (*BundleRemove
)(KEXTBundleRef bundle
, void * context
);
37 void (*EventOccurred
)(KEXTEvent event
, CFTypeRef data
, void * context
);
38 Boolean (*ModuleWillLoad
)(KEXTModuleRef
module, void * context
);
39 void (*ModuleWasLoaded
)(KEXTModuleRef
module, void * context
);
40 KEXTReturn (*ModuleLoadError
)(KEXTModuleRef
module, KEXTReturn error
, void * context
);
41 } KEXTDHelperCallbacks
;
44 KEXTDRef
KEXTDCreate(CFArrayRef scanPaths
, KEXTReturn
* error
);
45 void KEXTDFree(KEXTDRef kextd
);
47 void KEXTDHangup(KEXTDRef kextd
);
48 void KEXTDReset(KEXTDRef kextd
);
50 KEXTReturn
KEXTDStartMain(KEXTDRef kextd
, Boolean beVerbose
, Boolean safeBoot
, Boolean debug
, Boolean poll
, CFIndex period
, KEXTBootlevel bootlevel
, Boolean cdMKextBoot
);
52 KEXTReturn
KEXTDStartMain(KEXTDRef kextd
, Boolean beVerbose
, Boolean safeBoot
, Boolean debug
, KEXTBootlevel bootlevel
, Boolean cdMKextBoot
);
54 void KEXTDScanPaths(KEXTDRef kextd
, Boolean cdMKextBoot
);
55 void KEXTDAddScanPath(KEXTDRef kextd
, CFURLRef path
);
56 void KEXTDRegisterHelperCallbacks(KEXTDRef kextd
, KEXTDHelperCallbacks
* callbacks
);
57 KEXTReturn
KEXTDKernelRequest(KEXTDRef kextd
, CFStringRef moduleName
);
58 KEXTReturn
KEXTDLoadModule(KEXTDRef kextd
, CFStringRef moduleName
);
60 #if defined(__cplusplus)