The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/iokit/IOKit/OSMessageNotification.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
    3  *
    4  * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
    5  * 
    6  * This file contains Original Code and/or Modifications of Original Code
    7  * as defined in and that are subject to the Apple Public Source License
    8  * Version 2.0 (the 'License'). You may not use this file except in
    9  * compliance with the License. The rights granted to you under the License
   10  * may not be used to create, or enable the creation or redistribution of,
   11  * unlawful or unlicensed copies of an Apple operating system, or to
   12  * circumvent, violate, or enable the circumvention or violation of, any
   13  * terms of an Apple operating system software license agreement.
   14  * 
   15  * Please obtain a copy of the License at
   16  * http://www.opensource.apple.com/apsl/ and read it before using this file.
   17  * 
   18  * The Original Code and all software distributed under the License are
   19  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   20  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   21  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   22  * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   23  * Please see the License for the specific language governing rights and
   24  * limitations under the License.
   25  * 
   26  * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
   27  */
   28 /*
   29  * Copyright (c) 1999 Apple Computer, Inc.  All rights reserved. 
   30  *
   31  * HISTORY
   32  *
   33  */
   34 
   35 #ifndef __OS_OSMESSAGENOTIFICATION_H
   36 #define __OS_OSMESSAGENOTIFICATION_H
   37 
   38 #ifdef __cplusplus
   39 extern "C" {
   40 #endif
   41 
   42 #include <mach/mach_types.h>
   43 #include <device/device_types.h>
   44 #include <IOKit/IOReturn.h>
   45 
   46 enum {
   47     kFirstIOKitNotificationType                 = 100,
   48     kIOServicePublishNotificationType           = 100,
   49     kIOServiceMatchedNotificationType           = 101,
   50     kIOServiceTerminatedNotificationType        = 102,
   51     kIOAsyncCompletionNotificationType          = 150,
   52     kIOServiceMessageNotificationType           = 160,
   53     kLastIOKitNotificationType                  = 199
   54 };
   55 
   56 enum {
   57     kOSNotificationMessageID            = 53,
   58     kOSAsyncCompleteMessageID           = 57,
   59     kMaxAsyncArgs                       = 16
   60 };
   61 
   62 enum {
   63     kIOAsyncReservedIndex       = 0,
   64     kIOAsyncReservedCount,
   65 
   66     kIOAsyncCalloutFuncIndex    = kIOAsyncReservedCount,
   67     kIOAsyncCalloutRefconIndex,
   68     kIOAsyncCalloutCount,
   69 
   70     kIOMatchingCalloutFuncIndex = kIOAsyncReservedCount,
   71     kIOMatchingCalloutRefconIndex,
   72     kIOMatchingCalloutCount,
   73     
   74     kIOInterestCalloutFuncIndex = kIOAsyncReservedCount,
   75     kIOInterestCalloutRefconIndex,
   76     kIOInterestCalloutServiceIndex,
   77     kIOInterestCalloutCount
   78 };
   79 
   80 
   81 
   82 // --------------
   83 enum {
   84     kOSAsyncRef64Count  = 8,
   85     kOSAsyncRef64Size   = kOSAsyncRef64Count * sizeof(io_user_reference_t)
   86 };
   87 typedef io_user_reference_t OSAsyncReference64[kOSAsyncRef64Count];
   88 
   89 struct OSNotificationHeader64 {
   90     mach_msg_size_t     size;           /* content size */
   91     natural_t           type;
   92     OSAsyncReference64  reference;
   93 
   94 #if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
   95     unsigned char       content[];
   96 #else
   97     unsigned char       content[0];
   98 #endif
   99 };
  100 
  101 struct IOServiceInterestContent64 {
  102     natural_t           messageType;
  103     io_user_reference_t messageArgument[1];
  104 };
  105 // --------------
  106 
  107 #if !KERNEL_USER32
  108 
  109 enum {
  110     kOSAsyncRefCount    = 8,
  111     kOSAsyncRefSize     = 32
  112 };
  113 typedef natural_t OSAsyncReference[kOSAsyncRefCount];
  114 
  115 struct OSNotificationHeader {
  116     mach_msg_size_t     size;           /* content size */
  117     natural_t           type;
  118     OSAsyncReference    reference;
  119 
  120 #if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
  121     unsigned char       content[];
  122 #else
  123     unsigned char       content[0];
  124 #endif
  125 };
  126 
  127 #pragma pack(4)
  128 struct IOServiceInterestContent {
  129     natural_t   messageType;
  130     void *      messageArgument[1];
  131 };
  132 #pragma pack()
  133 
  134 #endif /* KERNEL_USER32  */
  135 
  136 struct IOAsyncCompletionContent {
  137     IOReturn result;
  138 #if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
  139     void * args[];
  140 #else
  141     void * args[0];
  142 #endif
  143 };
  144 
  145 #ifndef __cplusplus
  146 typedef struct OSNotificationHeader OSNotificationHeader;
  147 typedef struct IOServiceInterestContent IOServiceInterestContent;
  148 typedef struct IOAsyncCompletionContent IOAsyncCompletionContent;
  149 #endif
  150 
  151 #ifdef __cplusplus
  152 }
  153 #endif
  154 
  155 #endif /*  __OS_OSMESSAGENOTIFICATION_H */
  156 

Cache object: dec7187660f831cf0fe812dbd35b2bc1


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.