+/* Forward declarations */
+
+
+kern_return_t
+semaphore_wait_trap_internal(
+ mach_port_name_t name,
+ void (*caller_cont)(kern_return_t));
+
+kern_return_t
+semaphore_wait_signal_trap_internal(
+ mach_port_name_t wait_name,
+ mach_port_name_t signal_name,
+ void (*caller_cont)(kern_return_t));
+
+kern_return_t
+semaphore_timedwait_trap_internal(
+ mach_port_name_t name,
+ unsigned int sec,
+ clock_res_t nsec,
+ void (*caller_cont)(kern_return_t));
+
+kern_return_t
+semaphore_timedwait_signal_trap_internal(
+ mach_port_name_t wait_name,
+ mach_port_name_t signal_name,
+ unsigned int sec,
+ clock_res_t nsec,
+ void (*caller_cont)(kern_return_t));
+
+
+kern_return_t
+semaphore_signal_internal(
+ semaphore_t semaphore,
+ thread_t thread,
+ int options);
+
+kern_return_t
+semaphore_convert_wait_result(
+ int wait_result);
+
+void
+semaphore_wait_continue(void);
+
+kern_return_t
+semaphore_wait_internal(
+ semaphore_t wait_semaphore,
+ semaphore_t signal_semaphore,
+ mach_timespec_t *wait_timep,
+ void (*caller_cont)(kern_return_t));
+