#include <mach/boolean.h>
#include <mach/message.h>
#include <mach/kern_return.h>
#include <mach/mach_traps.h>
#include <mach/mach_types.h>
#include <mach/clock_types.h>
#include <mach/mach_eventlink_types.h>
uint64_t
__mach_eventlink_signal(
mach_port_t eventlink_port,
uint64_t signal_count);
uint64_t
__mach_eventlink_wait_until(
mach_port_t eventlink_port,
uint64_t wait_signal_count,
uint64_t deadline,
kern_clock_id_t clock_id,
mach_eventlink_signal_wait_option_t option);
uint64_t
__mach_eventlink_signal_wait_until(
mach_port_t eventlink_port,
uint64_t wait_count,
uint64_t signal_count,
uint64_t deadline,
kern_clock_id_t clock_id,
mach_eventlink_signal_wait_option_t option);
kern_return_t
mach_eventlink_signal(
mach_port_t eventlink_port,
uint64_t signal_count)
{
uint64_t retval = __mach_eventlink_signal(eventlink_port, signal_count);
return decode_eventlink_error_from_retval(retval);
}
kern_return_t
mach_eventlink_wait_until(
mach_port_t eventlink_port,
uint64_t *wait_count_ptr,
mach_eventlink_signal_wait_option_t option,
kern_clock_id_t clock_id,
uint64_t deadline)
{
uint64_t retval;
retval = __mach_eventlink_wait_until(eventlink_port, *wait_count_ptr,
deadline, clock_id, option);
*wait_count_ptr = decode_eventlink_count_from_retval(retval);
return decode_eventlink_error_from_retval(retval);
}
kern_return_t
mach_eventlink_signal_wait_until(
mach_port_t eventlink_port,
uint64_t *wait_count_ptr,
uint64_t signal_count,
mach_eventlink_signal_wait_option_t option,
kern_clock_id_t clock_id,
uint64_t deadline)
{
uint64_t retval;
retval = __mach_eventlink_signal_wait_until(eventlink_port, *wait_count_ptr,
signal_count, deadline, clock_id, option);
*wait_count_ptr = decode_eventlink_count_from_retval(retval);
return decode_eventlink_error_from_retval(retval);
}