IOMediaBSDClient.h [plain text]
#ifndef _IOMEDIABSDCLIENT_H
#define _IOMEDIABSDCLIENT_H
#include <sys/ioctl.h>
#include <sys/types.h>
typedef struct
{
char path[128];
} dk_firmware_path_t;
#define DKIOCEJECT _IO('d', 21)
#define DKIOCSYNCHRONIZECACHE _IO('d', 22)
#define DKIOCGETBLOCKSIZE _IOR('d', 24, u_int32_t)
#define DKIOCGETBLOCKCOUNT _IOR('d', 25, u_int64_t)
#define DKIOCGETBLOCKCOUNT32 _IOR('d', 25, u_int32_t)
#define DKIOCGETFIRMWAREPATH _IOR('d', 28, dk_firmware_path_t)
#define DKIOCISFORMATTED _IOR('d', 23, u_int32_t)
#define DKIOCISWRITABLE _IOR('d', 29, u_int32_t)
#define DKIOCGETMAXBLOCKCOUNTREAD _IOR('d', 64, u_int64_t)
#define DKIOCGETMAXBLOCKCOUNTWRITE _IOR('d', 65, u_int64_t)
#define DKIOCGETMAXBYTECOUNTREAD _IOR('d', 70, u_int64_t)
#define DKIOCGETMAXBYTECOUNTWRITE _IOR('d', 71, u_int64_t)
#define DKIOCGETMAXSEGMENTCOUNTREAD _IOR('d', 66, u_int64_t)
#define DKIOCGETMAXSEGMENTCOUNTWRITE _IOR('d', 67, u_int64_t)
#define DKIOCGETMAXSEGMENTBYTECOUNTREAD _IOR('d', 68, u_int64_t)
#define DKIOCGETMAXSEGMENTBYTECOUNTWRITE _IOR('d', 69, u_int64_t)
#ifdef KERNEL
#define DKIOCSETBLOCKSIZE _IOW('d', 24, u_int32_t)
#endif
#ifdef KERNEL
#ifdef __cplusplus
#include <IOKit/storage/IOMedia.h>
class AnchorTable;
class MinorTable;
struct MinorSlot;
class IOMediaBSDClient : public IOService
{
OSDeclareDefaultStructors(IOMediaBSDClient)
protected:
struct ExpansionData { };
ExpansionData * _expansionData;
private:
AnchorTable * _anchors;
UInt32 _reserved0064;
UInt32 _reserved0096;
MinorTable * _minors;
UInt32 _reserved0160;
protected:
virtual IOMedia * getWholeMedia( IOMedia * media,
UInt32 * slicePathSize = 0,
char * slicePath = 0 );
virtual bool createNodes(IOMedia * media);
virtual void free();
public:
virtual IOMedia * getProvider() const;
virtual bool init(OSDictionary * properties = 0);
virtual bool start(IOService * provider);
virtual void stop(IOService * provider);
virtual AnchorTable * getAnchors();
virtual MinorTable * getMinors();
virtual MinorSlot * getMinor(UInt32 minorID);
virtual int ioctl(dev_t, u_long cmd, caddr_t data, int, struct proc *);
OSMetaClassDeclareReservedUsed(IOMediaBSDClient, 0);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 1);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 2);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 3);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 4);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 5);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 6);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 7);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 8);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 9);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 10);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 11);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 12);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 13);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 14);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 15);
};
#endif
#endif
#endif