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 47