1 #ifndef EXEC_SEMAPHORES_H
2 #define EXEC_SEMAPHORES_H
5 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
8 Desc: Semaphore handling
13 # include <exec/lists.h>
17 # include <exec/nodes.h>
21 # include <exec/ports.h>
25 # include <exec/tasks.h>
29 /* Signal Semaphores */
31 /* Private structure for use in ObtainSemaphore */
32 struct SemaphoreRequest
34 struct MinNode sr_Link
;
35 struct Task
* sr_Waiter
;
38 struct SignalSemaphore
42 struct MinList ss_WaitQueue
;
43 struct SemaphoreRequest ss_MultipleLink
;
44 struct Task
* ss_Owner
;
48 /* For use in Procure()/Vacate() */
49 struct SemaphoreMessage
51 struct Message ssm_Message
;
52 struct SignalSemaphore
* ssm_Semaphore
;
55 #define SM_EXCLUSIVE (0L)
56 #define SM_SHARED (1L)
58 #endif /* EXEC_SEMAPHORES_H */