/*
* 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
* 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.
// options for getExistingServices()
enum {
- kIONotifyOnce = 0x00000001
+ kIONotifyOnce = 0x00000001,
+ kIOServiceExistingSet = 0x00000002,
+ kIOServiceChangesOK = 0x00000004,
+ kIOServiceInternalDone = 0x00000008,
+ kIOServiceClassDone = 0x00000010,
};
// masks for __state[1]
enum {
- kIOServiceBusyStateMask = 0x000000ff,
- kIOServiceBusyMax = 255,
+ kIOServiceBusyStateMask = 0x000003ff,
+ kIOServiceBusyMax = 1023,
kIOServiceNeedConfigState = 0x80000000,
kIOServiceSynchronousState = 0x40000000,
kIOServiceModuleStallState = 0x20000000,
kIOServiceSyncPubState = 0x08000000,
kIOServiceConfigState = 0x04000000,
+ kIOServiceStartState = 0x02000000,
kIOServiceTermPhase2State = 0x01000000,
kIOServiceTermPhase3State = 0x00800000,
-};
-
-// options for terminate()
-enum {
+ kIOServiceTermPhase1State = 0x00400000,
+ kIOServiceTerm1WaiterState = 0x00200000,
kIOServiceRecursing = 0x00100000,
+ kIOServiceNeedWillTerminate = 0x00080000,
+ kIOServiceWaitDetachState = 0x00040000,
};
// notify state
OSOrderedSet * whence;
OSDictionary * matching;
- IOServiceNotificationHandler handler;
+ IOServiceMatchingNotificationHandler handler;
+ IOServiceNotificationHandler compatHandler;
void * target;
void * ref;
SInt32 priority;
queue_head_t handlerInvocations;
IOOptionBits state;
- virtual void free();
- virtual void remove();
- virtual bool disable();
- virtual void enable( bool was );
+ virtual void free() APPLE_KEXT_OVERRIDE;
+ virtual void remove() APPLE_KEXT_OVERRIDE;
+ virtual bool disable() APPLE_KEXT_OVERRIDE;
+ virtual void enable( bool was ) APPLE_KEXT_OVERRIDE;
virtual void wait();
};
OSDeclareDefaultStructors(_IOServiceInterestNotifier)
public:
- OSArray * whence;
+ queue_chain_t chain;
IOServiceInterestHandler handler;
void * target;
queue_head_t handlerInvocations;
IOOptionBits state;
- virtual void free();
- virtual void remove();
- virtual bool disable();
- virtual void enable( bool was );
+ virtual void free() APPLE_KEXT_OVERRIDE;
+ virtual void remove() APPLE_KEXT_OVERRIDE;
+ virtual bool disable() APPLE_KEXT_OVERRIDE;
+ virtual void enable( bool was ) APPLE_KEXT_OVERRIDE;
+ virtual void wait();
+ virtual bool init() APPLE_KEXT_OVERRIDE;
+};
+
+class _IOServiceNullNotifier : public IONotifier
+{
+ OSDeclareDefaultStructors(_IOServiceNullNotifier)
+
+public:
+ virtual void taggedRetain(const void *tag) const APPLE_KEXT_OVERRIDE;
+ virtual void taggedRelease(const void *tag, const int when) const APPLE_KEXT_OVERRIDE;
+ virtual void free() APPLE_KEXT_OVERRIDE;
+ virtual void remove() APPLE_KEXT_OVERRIDE;
+ virtual bool disable() APPLE_KEXT_OVERRIDE;
+ virtual void enable( bool was ) APPLE_KEXT_OVERRIDE;
virtual void wait();
};
OSDeclareDefaultStructors(_IOConfigThread)
public:
- IOThread thread;
-
- virtual void free();
+ virtual void free() APPLE_KEXT_OVERRIDE;
- static _IOConfigThread * configThread( void );
- static void main( _IOConfigThread * self );
+ static void configThread( void );
+ static void main( void * arg, wait_result_t result );
};
enum {
-#ifdef LESS_THREAD_CREATE
- kMaxConfigThreads = 4,
-#else
- kMaxConfigThreads = 32,
-#endif
+ kMaxConfigThreads = CONFIG_MAX_THREADS,
};
enum {
public:
static IOService * resources( void );
- virtual IOWorkLoop * getWorkLoop( ) const;
- virtual bool matchPropertyTable( OSDictionary * table );
- virtual IOReturn setProperties( OSObject * properties );
+ virtual bool init( OSDictionary * dictionary = 0 ) APPLE_KEXT_OVERRIDE;
+ virtual IOReturn newUserClient(task_t owningTask, void * securityID,
+ UInt32 type, OSDictionary * properties,
+ IOUserClient ** handler) APPLE_KEXT_OVERRIDE;
+ virtual IOWorkLoop * getWorkLoop( ) const APPLE_KEXT_OVERRIDE;
+ virtual bool matchPropertyTable( OSDictionary * table ) APPLE_KEXT_OVERRIDE;
+ virtual IOReturn setProperties( OSObject * properties ) APPLE_KEXT_OVERRIDE;
};
class _IOOpenServiceIterator : public OSIterator
static OSIterator * iterator( OSIterator * _iter,
const IOService * client,
const IOService * provider );
- virtual void free();
- virtual void reset();
- virtual bool isValid();
- virtual OSObject * getNextObject();
+ virtual void free() APPLE_KEXT_OVERRIDE;
+ virtual void reset() APPLE_KEXT_OVERRIDE;
+ virtual bool isValid() APPLE_KEXT_OVERRIDE;
+ virtual OSObject * getNextObject() APPLE_KEXT_OVERRIDE;
};
+extern const OSSymbol * gIOConsoleUsersKey;
+extern const OSSymbol * gIOConsoleSessionUIDKey;
+extern const OSSymbol * gIOConsoleSessionAuditIDKey;
+extern const OSSymbol * gIOConsoleSessionOnConsoleKey;
+extern const OSSymbol * gIOConsoleSessionSecureInputPIDKey;
+
#endif /* ! _IOKIT_IOSERVICEPRIVATE_H */