1#ifndef __IrDAUser__ 2#define __IrDAUser__ 3 4#include <IOKit/IOUserClient.h> 5#include <IOKit/IOLib.h> 6 7class AppleIrDASerial; 8 9class IrDAUserClient : public IOUserClient 10{ 11 OSDeclareDefaultStructors(IrDAUserClient) 12 13public: 14 static IrDAUserClient *withTask(task_t owningTask); // factory create 15 virtual IOReturn clientClose(void); 16 virtual IOReturn clientDied(void); 17 18 virtual IOReturn registerNotificationPort(mach_port_t port, UInt32 type); // not impl 19 virtual IOReturn connectClient(IOUserClient *client); 20 virtual IOExternalMethod *getExternalMethodForIndex(UInt32 index); 21 virtual bool start(IOService *provider); 22 23 IOReturn userPostCommand(void *pIn, void *pOut, IOByteCount inputSize, IOByteCount *outPutSize); 24 IOReturn getIrDALog(void *pIn, void *pOut, IOByteCount inputSize, IOByteCount *outPutSize); 25 IOReturn getIrDAStatus(void *pIn, void *pOut, IOByteCount inputSize, IOByteCount *outPutSize); 26 IOReturn setIrDAState(bool state); 27 28private: 29 AppleIrDASerial *fDriver; 30 task_t fTask; 31 32 IOExternalMethod fMethods[1]; // just one method 33 34}; 35 36#endif // __IrDAUser__