]> 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 574c39a5bb44deab7301b3115007737e532def34..9e6be4003490d2cb3e9acfa4cb5ecb663159e01f 100644 (file)
@@ -1,14 +1,19 @@
 /*
  * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
  *
- * @APPLE_LICENSE_HEADER_START@
+ * @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
@@ -18,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. 
@@ -41,25 +46,50 @@ class RootDomainUserClient : public IOUserClient
 {
     OSDeclareDefaultStructors(RootDomainUserClient)
 
+    friend class IOPMrootDomain;
 private:
     IOPMrootDomain *   fOwner;
     task_t              fOwningTask;
 
-    IOReturn            secureSleepSystem( int *return_code );
-    IOReturn            secureSetAggressiveness( unsigned long type, unsigned long newLevel, int *return_code );
+    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);
+    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 */