]> git.saurik.com Git - apple/xnu.git/blobdiff - iokit/Kernel/RootDomainUserClient.h
xnu-1699.22.81.tar.gz
[apple/xnu.git] / iokit / Kernel / RootDomainUserClient.h
index 545d3b2cd74471555bdf306fbc26f3579371eaf3..9e6be4003490d2cb3e9acfa4cb5ecb663159e01f 100644 (file)
@@ -1,16 +1,19 @@
 /*
  * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
  *
- * @APPLE_LICENSE_HEADER_START@
- * 
- * Copyright (c) 1999-2003 Apple Computer, Inc.  All Rights Reserved.
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  * 
  * This file contains Original Code and/or Modifications of Original Code
  * as defined in and that are subject to the Apple Public Source License
  * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
+ * compliance with the License. The rights granted to you under the License
+ * may not be used to create, or enable the creation or redistribution of,
+ * unlawful or unlicensed copies of an Apple operating system, or to
+ * circumvent, violate, or enable the circumvention or violation of, any
+ * terms of an Apple operating system software license agreement.
+ * 
+ * Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this file.
  * 
  * The Original Code and all software distributed under the License are
  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
@@ -20,7 +23,7 @@
  * Please see the License for the specific language governing rights and
  * limitations under the License.
  * 
- * @APPLE_LICENSE_HEADER_END@
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  */
 /*
  * Copyright (c) 1999 Apple Computer, Inc.  All rights reserved. 
@@ -43,19 +46,50 @@ class RootDomainUserClient : public IOUserClient
 {
     OSDeclareDefaultStructors(RootDomainUserClient)
 
+    friend class IOPMrootDomain;
 private:
     IOPMrootDomain *   fOwner;
+    task_t              fOwningTask;
+
+    IOReturn            secureSleepSystem( uint32_t *return_code );
+    
+    IOReturn            secureSleepSystemOptions( const void  *inOptions, 
+                                                  IOByteCount  inOptionsSize,
+                                                  uint32_t  *returnCode);
+
+    IOReturn            secureSetAggressiveness( unsigned long type, 
+                                                 unsigned long newLevel, 
+                                                 int *return_code );
+
+    IOReturn            secureSetMaintenanceWakeCalendar(
+                                                IOPMCalendarStruct  *inCalendar,
+                                                uint32_t            *returnCode);
+                                                
+    IOReturn            secureSetUserAssertionLevels(uint32_t    assertionBitfield);
 
 public:
 
     virtual IOReturn clientClose( void );
     
-    virtual IOExternalMethod * getTargetAndMethodForIndex( IOService ** targetP, UInt32 index );
+    virtual IOReturn clientMemoryForType( UInt32 type, IOOptionBits *options, IOMemoryDescriptor **memory);
+    
+    virtual IOReturn externalMethod( uint32_t selector, 
+                    IOExternalMethodArguments * arguments,
+                                       IOExternalMethodDispatch * dispatch, 
+                                       OSObject * target, 
+                                       void * reference );
 
     virtual bool start( IOService * provider );
 
+    virtual bool initWithTask(task_t owningTask, void *security_id, 
+                                       UInt32 type, OSDictionary * properties);
+
+    // Unused - retained for symbol compatibility
     void setPreventative(UInt32 on_off, UInt32 types_of_sleep);
 
+    // Unused - retained for symbol compatibility
+    virtual IOExternalMethod * getTargetAndMethodForIndex( IOService ** targetP, UInt32 index );
+
 };
 
 #endif /* ! _IOKIT_ROOTDOMAINUSERCLIENT_H */