|
|
1.1 root 1: /*
2: * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
3: *
4: * @APPLE_LICENSE_HEADER_START@
5: *
6: * The contents of this file constitute Original Code as defined in and
7: * are subject to the Apple Public Source License Version 1.1 (the
8: * "License"). You may not use this file except in compliance with the
9: * License. Please obtain a copy of the License at
10: * http://www.apple.com/publicsource and read it before using this file.
11: *
12: * This Original Code and all software distributed under the License are
13: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
14: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
15: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
16: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
17: * License for the specific language governing rights and limitations
18: * under the License.
19: *
20: * @APPLE_LICENSE_HEADER_END@
21: */
22: #ifndef _IOKIT_ROOTDOMAIN_H
23: #define _IOKIT_ROOTDOMAIN_H
24:
25: #include <IOKit/IOService.h>
26: #include <IOKit/pwr_mgt/IOPM.h>
27:
28: class RootDomainUserClient;
29:
30: class IOPMrootDomain: public IOService
31: {
32: OSDeclareDefaultStructors(IOPMrootDomain)
33:
34: public:
35:
36: virtual bool start( IOService * provider );
37: virtual IOReturn newUserClient ( task_t, void *, UInt32, IOUserClient ** );
38: virtual IOReturn setAggressiveness ( unsigned long, unsigned long );
39: virtual IOReturn getAggressiveness ( unsigned long, unsigned long * );
40: virtual IOReturn youAreRoot ( void );
41: virtual IOReturn sleepSystem ( void );
42: virtual IOReturn wakeSystem ( void );
43:
44:
45: private:
46:
47: unsigned long current_values[kMaxType+1]; // current values of aggressiveness factors
48:
49: virtual unsigned long initialPowerStateForDomainState ( IOPMPowerFlags );
50: virtual IOReturn setPowerState ( unsigned long, IOService* );
51: void command_received ( void *, void * , void * , void *);
52:
53: };
54:
55: #endif /* _IOKIT_ROOTDOMAIN_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.