| 1 | /* |
| 2 | * (c) Copyright 1990-1996 OPEN SOFTWARE FOUNDATION, INC. |
| 3 | * (c) Copyright 1990-1996 HEWLETT-PACKARD COMPANY |
| 4 | * (c) Copyright 1990-1996 DIGITAL EQUIPMENT CORPORATION |
| 5 | * (c) Copyright 1991, 1992 Siemens-Nixdorf Information Systems |
| 6 | * To anyone who acknowledges that this file is provided "AS IS" without |
| 7 | * any express or implied warranty: permission to use, copy, modify, and |
| 8 | * distribute this file for any purpose is hereby granted without fee, |
| 9 | * provided that the above copyright notices and this notice appears in |
| 10 | * all source code copies, and that none of the names listed above be used |
| 11 | * in advertising or publicity pertaining to distribution of the software |
| 12 | * without specific, written prior permission. None of these organizations |
| 13 | * makes any representations about the suitability of this software for |
| 14 | * any purpose. |
| 15 | */ |
| 16 | /* |
| 17 | * Header file for semaphore structure definition. |
| 18 | */ |
| 19 | #ifndef CMA_SEMAPHORE_DEFS |
| 20 | #define CMA_SEMAPHORE_DEFS |
| 21 | |
| 22 | /* |
| 23 | * INCLUDE FILES |
| 24 | */ |
| 25 | #include <cma.h> |
| 26 | #include <cma_queue.h> |
| 27 | #include <cma_defs.h> |
| 28 | |
| 29 | /* |
| 30 | * CONSTANTS AND MACROS |
| 31 | */ |
| 32 | |
| 33 | #define cma__c_semaphore_timeout 1 |
| 34 | #define cma__c_semaphore_event 0 |
| 35 | #define cma__c_select_timeout 2 |
| 36 | |
| 37 | /* |
| 38 | * TYPEDEFS |
| 39 | */ |
| 40 | |
| 41 | typedef struct CMA__T_SEMAPHORE { |
| 42 | cma__t_queue queue; |
| 43 | cma__t_atomic_bit nopending; |
| 44 | } cma__t_semaphore; |
| 45 | |
| 46 | #endif |