|
|
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: /* ! 23: * Copyright (c) 1999 Apple Computer, Inc. All rights reserved. ! 24: * ! 25: * HISTORY ! 26: * ! 27: */ ! 28: ! 29: #ifndef __OS_OSMESSAGENOTIFICATION_H ! 30: #define __OS_OSMESSAGENOTIFICATION_H ! 31: ! 32: #ifdef __cplusplus ! 33: extern "C" { ! 34: #endif ! 35: ! 36: #include <mach/mach_types.h> ! 37: #include <IOKit/IOReturn.h> ! 38: ! 39: enum { ! 40: kFirstIOKitNotificationType = 100, ! 41: kIOServicePublishNotificationType = 100, ! 42: kIOServiceMatchedNotificationType = 101, ! 43: kIOServiceTerminatedNotificationType = 102, ! 44: kIOAsyncCompletionNotificationType = 150, ! 45: kIOServiceMessageNotificationType = 160, ! 46: kLastIOKitNotificationType = 199 ! 47: }; ! 48: ! 49: enum { ! 50: kOSNotificationMessageID = 53, ! 51: kOSAsyncCompleteMessageID = 57, ! 52: kMaxAsyncArgs = 16 ! 53: }; ! 54: ! 55: enum { ! 56: kOSAsyncRefCount = 8, ! 57: kOSAsyncRefSize = 32 ! 58: }; ! 59: typedef natural_t OSAsyncReference[kOSAsyncRefCount]; ! 60: ! 61: struct OSNotificationHeader { ! 62: vm_size_t size; /* content size */ ! 63: natural_t type; ! 64: OSAsyncReference reference; ! 65: unsigned char content[0]; ! 66: }; ! 67: ! 68: struct IOServiceInterestContent { ! 69: natural_t messageType; ! 70: void * messageArgument[1]; ! 71: }; ! 72: ! 73: struct IOAsyncCompletionContent { ! 74: IOReturn result; ! 75: void * args[0]; ! 76: }; ! 77: ! 78: #ifndef __cplusplus ! 79: typedef struct OSNotificationHeader OSNotificationHeader; ! 80: typedef struct IOServiceInterestContent IOServiceInterestContent; ! 81: typedef struct IOAsyncCompletionContent IOAsyncCompletionContent; ! 82: #endif ! 83: ! 84: #ifdef __cplusplus ! 85: } ! 86: #endif ! 87: ! 88: #endif /* __OS_OSMESSAGENOTIFICATION_H */ ! 89:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.