#include <IOKit/IOLocks.h>
#include <kern/queue.h>
-typedef void (*IOPMPowerStateQueueAction)(OSObject *, uint32_t event, void *, void *);
+typedef void (*IOPMPowerStateQueueAction)(OSObject *, uint32_t event, void *, uint64_t);
class IOPMPowerStateQueue : public IOEventSource
{
struct PowerEventEntry {
queue_chain_t chain;
uint32_t eventType;
- void * args[2];
+ void * arg0;
+ uint64_t arg1;
};
queue_head_t queueHead;
IOLock * queueLock;
protected:
- virtual bool checkForWork( void );
- virtual bool init( OSObject * owner, Action action );
+ virtual bool checkForWork( void ) APPLE_KEXT_OVERRIDE;
+ virtual bool init( OSObject * owner, Action action ) APPLE_KEXT_OVERRIDE;
public:
static IOPMPowerStateQueue * PMPowerStateQueue( OSObject * owner, Action action );
- bool submitPowerEvent( uint32_t eventType, void * arg0 = 0, void * arg1 = 0 );
+ bool submitPowerEvent( uint32_t eventType, void * arg0 = 0, uint64_t arg1 = 0 );
};
#endif /* _IOPMPOWERSTATEQUEUE_H_ */