IOLocalConfigDirectory.h [plain text]
#ifndef __IOLOCALCONFIGDIRECTORY_H__
#define __IOLOCALCONFIGDIRECTORY_H__
#include <libkern/c++/OSObject.h>
#include <IOKit/IOReturn.h>
#include <IOKit/firewire/IOFWRegs.h>
#include <IOKit/firewire/IOConfigDirectory.h>
class OSArray;
class OSData;
class IOLocalConfigDirectory : public IOConfigDirectory
{
OSDeclareDefaultStructors(IOLocalConfigDirectory);
protected:
OSArray *fEntries; OSData *fROM; UInt32 fHeader;
struct ExpansionData { };
ExpansionData *reserved;
virtual bool init();
virtual void free();
virtual const UInt32 *getBase();
virtual IOConfigDirectory *getSubDir(int start, int type);
public:
static IOLocalConfigDirectory *create();
virtual IOReturn update(UInt32 offset, const UInt32 *&romBase);
virtual IOReturn compile(OSData *rom);
virtual IOReturn addEntry(int key, UInt32 value, OSString *desc = NULL);
virtual IOReturn addEntry(int key, IOLocalConfigDirectory *value,
OSString *desc = NULL);
virtual IOReturn addEntry(int key, OSData *value, OSString *desc = NULL);
virtual IOReturn addEntry(int key, FWAddress value, OSString *desc = NULL);
virtual IOReturn removeSubDir(IOLocalConfigDirectory *value);
const OSArray *getEntries() const;
protected:
virtual const UInt32 * lockData( void );
virtual void unlockData( void );
virtual IOReturn updateROMCache( UInt32 offset, UInt32 length );
virtual IOReturn checkROMState( void );
private:
OSMetaClassDeclareReservedUnused(IOLocalConfigDirectory, 0);
OSMetaClassDeclareReservedUnused(IOLocalConfigDirectory, 1);
OSMetaClassDeclareReservedUnused(IOLocalConfigDirectory, 2);
};
#endif