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/IOMessage.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 notificationused 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 #ifndef __IOKIT_IOMESSAGE_H
   30 #define __IOKIT_IOMESSAGE_H
   31 
   32 #include <IOKit/IOReturn.h>
   33 #include <IOKit/IOTypes.h>
   34 
   35 /*!
   36  * @header IOMessage.h
   37  *
   38  * Defines message type constants for several IOKit messaging API's.
   39  *
   40  */
   41 
   42 typedef UInt32 IOMessage;
   43 
   44 #define iokit_common_msg(message)          (UInt32)(sys_iokit|sub_iokit_common|message)
   45 #define iokit_family_msg(sub,message)      (UInt32)(sys_iokit|sub|message)
   46 
   47 /*! 
   48  * @defined         iokit_vendor_specific_msg
   49  * @discussion      iokit_vendor_specific_msg passes messages in the sub_iokit_vendor_specific
   50  *                  subsystem. It can be used to generate messages that are used for private 
   51  *                  communication between vendor specific code with the IOService::message() etc. APIs.
   52  */
   53 #define iokit_vendor_specific_msg(message) (UInt32)(sys_iokit|sub_iokit_vendor_specific|message)
   54 
   55 #define kIOMessageServiceIsTerminated      iokit_common_msg(0x010)
   56 #define kIOMessageServiceIsSuspended       iokit_common_msg(0x020)
   57 #define kIOMessageServiceIsResumed         iokit_common_msg(0x030)
   58 
   59 #define kIOMessageServiceIsRequestingClose iokit_common_msg(0x100)
   60 #define kIOMessageServiceIsAttemptingOpen  iokit_common_msg(0x101)
   61 #define kIOMessageServiceWasClosed         iokit_common_msg(0x110)
   62 
   63 #define kIOMessageServiceBusyStateChange   iokit_common_msg(0x120)
   64 
   65 #define kIOMessageConsoleSecurityChange    iokit_common_msg(0x128)
   66 
   67 #define kIOMessageServicePropertyChange    iokit_common_msg(0x130)
   68 
   69 #define kIOMessageCopyClientID             iokit_common_msg(0x330)
   70 
   71 #define kIOMessageSystemCapabilityChange   iokit_common_msg(0x340)
   72 #define kIOMessageDeviceSignaledWakeup     iokit_common_msg(0x350)
   73 
   74 
   75 /*!
   76  * @defined         kIOMessageDeviceWillPowerOff
   77  * @discussion      Indicates the device is about to move to a lower power state.
   78  *                  Sent to IOKit interest notification clients of type <code>kIOAppPowerStateInterest</code>
   79  *                  and <code>kIOGeneralInterest</code>.
   80  */
   81 #define kIOMessageDeviceWillPowerOff       iokit_common_msg(0x210)
   82 
   83 /*!
   84  * @defined         kIOMessageDeviceHasPoweredOn
   85  * @discussion      Indicates the device has just moved to a higher power state.
   86  *                  Sent to IOKit interest notification clients of type <code>kIOAppPowerStateInterest</code>
   87  *                  and <code>kIOGeneralInterest</code>.
   88  */
   89 #define kIOMessageDeviceHasPoweredOn       iokit_common_msg(0x230)
   90 
   91 /*! @group          In-kernel system shutdown and restart notifications
   92  */
   93 
   94 /*!
   95  * @defined         kIOMessageSystemWillPowerOff
   96  * @discussion      Indicates an imminent system shutdown. Recipients have a limited 
   97  *                  amount of time to respond, otherwise the system will timeout and 
   98  *                  shutdown even without a response.
   99  *                  Delivered to in-kernel IOKit drivers via <code>IOService::systemWillShutdown()</code>, 
  100  *                  and to clients of <code>registerPrioritySleepWakeInterest()</code>.
  101  *                  Never delivered to user space notification clients.
  102  */
  103 #define kIOMessageSystemWillPowerOff       iokit_common_msg(0x250)
  104 
  105 /*!
  106  * @defined         kIOMessageSystemWillRestart
  107  * @discussion      Indicates an imminent system restart. Recipients have a limited 
  108  *                  amount of time to respond, otherwise the system will timeout and 
  109  *                  restart even without a response.
  110  *                  Delivered to in-kernel IOKit drivers via <code>IOService::systemWillShutdown()</code>, 
  111  *                  and to clients of <code>registerPrioritySleepWakeInterest()</code>.
  112  *                  Never delivered to user space notification clients.
  113  */
  114 #define kIOMessageSystemWillRestart        iokit_common_msg(0x310)
  115 
  116 /*!
  117  * @defined         kIOMessageSystemPagingOff
  118  * @discussion      Indicates an imminent system shutdown, paging device now unavailable.
  119  *                                      Recipients have a limited amount of time to respond, otherwise the
  120  *                                      system will timeout and shutdown even without a response.
  121  *                  Delivered to clients of <code>registerPrioritySleepWakeInterest()</code>.
  122  *                  Never delivered to user space notification clients.
  123  */
  124 #define kIOMessageSystemPagingOff       iokit_common_msg(0x255)
  125 
  126 
  127 /*! @group          System sleep and wake notifications
  128  */
  129 
  130 /*!
  131  * @defined         kIOMessageCanSystemSleep
  132  * @discussion      Announces/Requests permission to proceed to system sleep.
  133  *                  Delivered to in-kernel IOKit drivers via <code>kIOGeneralInterest</code>
  134  *                  and <code>kIOPriorityPowerStateInterest</code>.
  135  *                  Delivered to user clients of <code>IORegisterForSystemPower</code>.
  136  */
  137 #define kIOMessageCanSystemSleep           iokit_common_msg(0x270)
  138 
  139 /*!
  140  * @defined         kIOMessageSystemWillNotSleep
  141  * @discussion      Announces that the system has retracted a previous attempt to sleep; 
  142  *                  it follows <code>kIOMessageCanSystemSleep</code>.
  143  *                  Delivered to in-kernel IOKit drivers via <code>kIOGeneralInterest</code>
  144  *                  and <code>kIOPriorityPowerStateInterest</code>.
  145  *                  Delivered to user clients of <code>IORegisterForSystemPower</code>.
  146  */
  147 #define kIOMessageSystemWillNotSleep       iokit_common_msg(0x290)
  148 
  149 /*!
  150  * @defined         kIOMessageSystemWillSleep
  151  * @discussion      Announces that sleep is beginning.
  152  *                  Delivered to in-kernel IOKit drivers via <code>kIOGeneralInterest</code>
  153  *                  and <code>kIOPriorityPowerStateInterest</code>.
  154  *                  Delivered to user clients of <code>IORegisterForSystemPower</code>.
  155  */
  156 #define kIOMessageSystemWillSleep          iokit_common_msg(0x280)
  157 
  158 /*!
  159  * @defined         kIOMessageSystemWillPowerOn
  160  * @discussion      Announces that the system is beginning to power the device tree; most 
  161  *                  devices are unavailable at this point..
  162  *                  Delivered to in-kernel IOKit drivers via <code>kIOGeneralInterest</code>
  163  *                  and <code>kIOPriorityPowerStateInterest</code>.
  164  *                  Delivered to user clients of <code>IORegisterForSystemPower</code>.
  165  */
  166 #define kIOMessageSystemWillPowerOn        iokit_common_msg(0x320)
  167 
  168 /*!
  169  * @defined         kIOMessageSystemHasPoweredOn
  170  * @discussion      Announces that the system and its devices have woken up.
  171  *                  Delivered to in-kernel IOKit drivers via <code>kIOGeneralInterest</code>
  172  *                  and <code>kIOPriorityPowerStateInterest</code>.
  173  *                  Delivered to user clients of <code>IORegisterForSystemPower</code>.
  174  */
  175 #define kIOMessageSystemHasPoweredOn       iokit_common_msg(0x300)
  176 
  177 /*! @group          Unused and deprecated notifications
  178  */
  179 
  180 /*! 
  181  * @defined         kIOMessageCanDevicePowerOff
  182  * @discussion      Delivered to <code>kIOAppPowerStateInterest</code> clients of 
  183  *                  devices that implement their own idle timeouts.
  184  *                  This message type is almost never used.
  185  */
  186 #define kIOMessageCanDevicePowerOff        iokit_common_msg(0x200)
  187 
  188 /*! 
  189  * @defined         kIOMessageDeviceWillNotPowerOff
  190  * @discussion      This IOKit interest notification is largely unused; 
  191  *                  it's not very interesting.
  192  */
  193 #define kIOMessageDeviceWillNotPowerOff    iokit_common_msg(0x220)
  194 
  195 /*! 
  196  * @defined         kIOMessageSystemWillNotPowerOff
  197  * @deprecated      This IOKit message is unused.
  198  */
  199 #define kIOMessageSystemWillNotPowerOff    iokit_common_msg(0x260)
  200 
  201 /*!
  202  * @defined         kIOMessageCanSystemPowerOff
  203  * @deprecated      This IOKit message is unused.
  204  */
  205 #define kIOMessageCanSystemPowerOff        iokit_common_msg(0x240)
  206 
  207 /*!
  208  * @defined         kIOMessageDeviceWillPowerOn
  209  * @discussion      IOService power mgt does not send kIOMessageDeviceWillPowerOn.
  210  */
  211 #define kIOMessageDeviceWillPowerOn        iokit_common_msg(0x215)
  212 
  213 /*!
  214  * @defined         kIOMessageDeviceHasPoweredOff
  215  * @discussion      IOService power mgt does not send kIOMessageDeviceHasPoweredOff.
  216  */
  217 #define kIOMessageDeviceHasPoweredOff      iokit_common_msg(0x225)
  218 
  219 
  220 #endif /* ! __IOKIT_IOMESSAGE_H */

Cache object: 6e1a7ba3c6364ddbb27db27bc8703715


[ 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.