#include <IOKit/IOService.h>
extern "C" void BC_start(void);
extern "C" int BC_stop(void);
class com_apple_BootCache : public IOService
{
OSDeclareDefaultStructors(com_apple_BootCache);
public:
virtual bool start(IOService *provider);
virtual void stop(IOService *provider);
};
OSDefineMetaClassAndStructors(com_apple_BootCache, IOService);
bool
com_apple_BootCache::start(IOService *provider)
{
bool result;
result = IOService::start(provider);
if (result == true) {
BC_start();
provider->retain();
}
return(result);
}
void
com_apple_BootCache::stop(IOService *provider)
{
if (BC_stop())
return; provider->release();
IOService::stop(provider);
}