X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/ecc0ceb4089d506a0b8d16686a95817b331af9cb..7e41aa883dd258f888d0470250eead40a53ef1f5:/iokit/IOKit/IOUserClient.h diff --git a/iokit/IOKit/IOUserClient.h b/iokit/IOKit/IOUserClient.h index d6a149317..81adfefb9 100644 --- a/iokit/IOKit/IOUserClient.h +++ b/iokit/IOKit/IOUserClient.h @@ -173,7 +173,6 @@ enum { @abstract Provides a basis for communication between client applications and I/O Kit objects. */ - class IOUserClient : public IOService { OSDeclareAbstractStructors(IOUserClient) @@ -201,22 +200,26 @@ protected: bool reserve(); #ifdef XNU_KERNEL_PRIVATE + public: -#else -private: -#endif OSSet * mappings; UInt8 sharedInstance; UInt8 closed; UInt8 __ipcFinal; UInt8 __reservedA[1]; volatile SInt32 __ipc; + queue_head_t owners; #if __LP64__ - void * __reserved[7]; + void * __reserved[5]; #else - void * __reserved[6]; + void * __reserved[4]; #endif +#else /* XNU_KERNEL_PRIVATE */ +private: + void * __reserved[9]; +#endif /* XNU_KERNEL_PRIVATE */ + public: virtual IOReturn externalMethod( uint32_t selector, IOExternalMethodArguments * arguments, IOExternalMethodDispatch * dispatch = 0, OSObject * target = 0, void * reference = 0 ); @@ -248,6 +251,7 @@ private: OSMetaClassDeclareReservedUnused(IOUserClient, 15); #ifdef XNU_KERNEL_PRIVATE + /* Available within xnu source only */ public: static void initialize( void ); @@ -257,7 +261,10 @@ public: task_t task, IOOptionBits mapFlags = kIOMapAnywhere, mach_vm_address_t atAddress = 0 ); -#endif + IOReturn registerOwner(task_t task); + void noMoreSenders(void); + +#endif /* XNU_KERNEL_PRIVATE */ protected: static IOReturn sendAsyncResult(OSAsyncReference reference,