X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/2d21ac55c334faf3a56e5634905ed6987fc787d4..2dced7af2b695f87fe26496a3e73c219b7880cbc:/osfmk/mach/semaphore.h diff --git a/osfmk/mach/semaphore.h b/osfmk/mach/semaphore.h index f90bbcd24..36ba3d00f 100644 --- a/osfmk/mach/semaphore.h +++ b/osfmk/mach/semaphore.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000-2005 Apple Computer, Inc. All rights reserved. + * Copyright (c) 2000-2008 Apple Inc. All rights reserved. * * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ * @@ -54,19 +54,62 @@ __BEGIN_DECLS extern kern_return_t semaphore_signal (semaphore_t semaphore); extern kern_return_t semaphore_signal_all (semaphore_t semaphore); + +extern kern_return_t semaphore_wait (semaphore_t semaphore); + +#ifdef KERNEL + +#ifdef __LP64__ + +#ifdef KERNEL_PRIVATE + +extern kern_return_t semaphore_timedwait (semaphore_t semaphore, + mach_timespec_t wait_time); + +#endif /* KERNEL_PRIVATE */ + +#else /* __LP64__ */ + +extern kern_return_t semaphore_timedwait (semaphore_t semaphore, + mach_timespec_t wait_time); + +#endif /* __LP64__ */ + +extern kern_return_t semaphore_wait_deadline (semaphore_t semaphore, + uint64_t deadline); +extern kern_return_t semaphore_wait_noblock (semaphore_t semaphore); + +#ifdef XNU_KERNEL_PRIVATE + +extern kern_return_t semaphore_wait_signal (semaphore_t wait_semaphore, + semaphore_t signal_semaphore); + +extern kern_return_t semaphore_timedwait_signal(semaphore_t wait_semaphore, + semaphore_t signal_semaphore, + mach_timespec_t wait_time); + extern kern_return_t semaphore_signal_thread (semaphore_t semaphore, thread_t thread); -extern kern_return_t semaphore_wait (semaphore_t semaphore); +#endif /* XNU_KERNEL_PRIVATE */ + +#else /* KERNEL */ + extern kern_return_t semaphore_timedwait (semaphore_t semaphore, - mach_timespec_t wait_time); + mach_timespec_t wait_time); + +extern kern_return_t semaphore_timedwait_signal(semaphore_t wait_semaphore, + semaphore_t signal_semaphore, + mach_timespec_t wait_time); extern kern_return_t semaphore_wait_signal (semaphore_t wait_semaphore, semaphore_t signal_semaphore); -extern kern_return_t semaphore_timedwait_signal(semaphore_t wait_semaphore, - semaphore_t signal_semaphore, - mach_timespec_t wait_time); +extern kern_return_t semaphore_signal_thread (semaphore_t semaphore, + thread_t thread); + +#endif /* KERNEL */ + __END_DECLS #ifdef PRIVATE