IOBDMediaBSDClient.h [plain text]
#ifndef _IOBDMEDIABSDCLIENT_H
#define _IOBDMEDIABSDCLIENT_H
#include <sys/ioctl.h>
#include <sys/types.h>
#include <IOKit/storage/IOBDTypes.h>
typedef struct
{
uint8_t format;
uint8_t reserved0008[3];
uint32_t address;
uint8_t grantID;
uint8_t layer;
uint8_t reserved0080[4];
uint16_t bufferLength;
void * buffer;
} dk_bd_read_structure_t;
typedef struct
{
uint8_t format;
uint8_t keyClass;
uint8_t reserved0016[2];
uint32_t address;
uint8_t grantID;
uint8_t reserved0072[5];
uint16_t bufferLength;
void * buffer;
} dk_bd_report_key_t;
typedef struct
{
uint8_t format;
uint8_t keyClass;
uint8_t reserved0016[6];
uint8_t grantID;
uint8_t reserved0072[5];
uint16_t bufferLength;
void * buffer;
} dk_bd_send_key_t;
typedef struct
{
uint8_t reserved0000[14];
uint16_t bufferLength;
void * buffer;
} dk_bd_read_disc_info_t;
typedef struct
{
uint8_t reserved0000[4];
uint32_t address;
uint8_t addressType;
uint8_t reserved0072[5];
uint16_t bufferLength;
void * buffer;
} dk_bd_read_track_info_t;
#define DKIOCBDREADSTRUCTURE _IOW('d', 160, dk_bd_read_structure_t)
#define DKIOCBDREPORTKEY _IOW('d', 161, dk_bd_report_key_t)
#define DKIOCBDSENDKEY _IOW('d', 162, dk_bd_send_key_t)
#define DKIOCBDGETSPEED _IOR('d', 163, uint16_t)
#define DKIOCBDSETSPEED _IOW('d', 163, uint16_t)
#define DKIOCBDREADDISCINFO _IOWR('d', 164, dk_bd_read_disc_info_t)
#define DKIOCBDREADTRACKINFO _IOWR('d', 165, dk_bd_read_track_info_t)
#define DKIOCBDSPLITTRACK _IOW('d', 166, uint32_t)
#ifdef KERNEL
#ifdef __cplusplus
#include <IOKit/storage/IOBDMedia.h>
#include <IOKit/storage/IOMediaBSDClient.h>
class IOBDMediaBSDClient : public IOMediaBSDClient
{
OSDeclareDefaultStructors(IOBDMediaBSDClient)
protected:
struct ExpansionData { };
ExpansionData * _expansionData;
public:
virtual IOBDMedia * getProvider() const;
virtual int ioctl(dev_t dev, u_long cmd, caddr_t data, int flags, proc_t proc);
OSMetaClassDeclareReservedUnused(IOBDMediaBSDClient, 0);
OSMetaClassDeclareReservedUnused(IOBDMediaBSDClient, 1);
OSMetaClassDeclareReservedUnused(IOBDMediaBSDClient, 2);
OSMetaClassDeclareReservedUnused(IOBDMediaBSDClient, 3);
OSMetaClassDeclareReservedUnused(IOBDMediaBSDClient, 4);
OSMetaClassDeclareReservedUnused(IOBDMediaBSDClient, 5);
OSMetaClassDeclareReservedUnused(IOBDMediaBSDClient, 6);
OSMetaClassDeclareReservedUnused(IOBDMediaBSDClient, 7);
};
#endif
#endif
#endif