2  * Copyright (c) 2000-2019 Apple Inc. All rights reserved. 
   4  * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 
   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. 
  15  * Please obtain a copy of the License at 
  16  * http://www.opensource.apple.com/apsl/ and read it before using this file. 
  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. 
  26  * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 
  29 #include <sys/param.h> 
  30 #include <sys/kernel.h> 
  31 #include <sys/kernel_types.h> 
  32 #include <sys/sysproto.h> 
  33 #include <mach/mach_types.h> 
  34 #include <mach/mach_eventlink_types.h> 
  37 mach_eventlink_signal_trap( 
  38         mach_port_name_t port
, 
  39         uint64_t         signal_count __unused
); 
  42 mach_eventlink_wait_until_trap( 
  43         mach_port_name_t                    eventlink_port
, 
  45         mach_eventlink_signal_wait_option_t option
, 
  46         kern_clock_id_t                     clock_id
, 
  50 mach_eventlink_signal_wait_until_trap( 
  51         mach_port_name_t                    eventlink_port
, 
  53         uint64_t                            signal_count __unused
, 
  54         mach_eventlink_signal_wait_option_t option
, 
  55         kern_clock_id_t                     clock_id
, 
  59 mach_eventlink_signal( 
  61         struct mach_eventlink_signal_args 
*uap
, 
  64         *retval 
= mach_eventlink_signal_trap(uap
->eventlink_port
, uap
->signal_count
); 
  69 mach_eventlink_wait_until( 
  71         struct mach_eventlink_wait_until_args 
*uap
, 
  74         *retval 
= mach_eventlink_wait_until_trap(uap
->eventlink_port
, uap
->wait_count
, 
  75             uap
->option
, uap
->clock_id
, uap
->deadline
); 
  80 mach_eventlink_signal_wait_until( 
  82         struct mach_eventlink_signal_wait_until_args 
*uap
, 
  85         *retval 
= mach_eventlink_signal_wait_until_trap(uap
->eventlink_port
, uap
->wait_count
, 
  86             uap
->signal_count
, uap
->option
, uap
->clock_id
, uap
->deadline
);