1 /* Copyright (C) 2002, 2005, 2007 Free Software Foundation, Inc. 2 3 The GNU C Library is free software; you can redistribute it and/or 4 modify it under the terms of the GNU Lesser General Public 5 License as published by the Free Software Foundation; either 6 version 2.1 of the License, or (at your option) any later version. 7 8 The GNU C Library is distributed in the hope that it will be useful, 9 but WITHOUT ANY WARRANTY; without even the implied warranty of 10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 Lesser General Public License for more details. 12 13 You should have received a copy of the GNU Lesser General Public 14 License along with the GNU C Library. If not, see 15 <http://www.gnu.org/licenses/>. */ 16 17 #ifndef _SEMAPHORE_H 18 # error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead." 19 #endif 20 21 22 #define __SIZEOF_SEM_T (4 * __SIZEOF_POINTER__) 23 24 25 /* Value returned if `sem_open' failed. */ 26 #define SEM_FAILED ((sem_t *) 0) 27 28 29 typedef union 30 { 31 char __size[__SIZEOF_SEM_T]; 32 long int __align; 33 } sem_t; 34