/* ** GNU Pth - The GNU Portable Threads ** Copyright (c) 1999-2001 Ralf S. Engelschall ** ** This file is part of GNU Pth, a non-preemptive thread scheduling ** library which can be found at http://www.gnu.org/software/pth/. ** ** This library is free software; you can redistribute it and/or ** modify it under the terms of the GNU Lesser General Public ** License as published by the Free Software Foundation; either ** version 2.1 of the License, or (at your option) any later version. ** ** This library is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ** Lesser General Public License for more details. ** ** You should have received a copy of the GNU Lesser General Public ** License along with this library; if not, write to the Free Software ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 ** USA, or contact Ralf S. Engelschall . ** ** pth.h: Pth public API definitions */ /* ``What you see is all you get.'' -- Brian Kernighan */ /* hacked, needs updated docs - wingo */ #ifndef _PTH_H_ #define _PTH_H_ /* the library version */ #ifndef PTH_VERSION_STR #define PTH_VERSION_STR "@PTH_VERSION_STR@" #endif #ifndef PTH_VERSION_HEX #define PTH_VERSION_HEX @PTH_VERSION_HEX@ #endif #ifndef PTH_VERSION #define PTH_VERSION PTH_VERSION_HEX #endif /* essential headers */ #include /* for ssize_t, off_t */ #include /* for sigset_t */ @EXTRA_INCLUDE_SYS_SELECT_H@ /* essential values */ #ifndef FALSE #define FALSE (0) #endif #ifndef TRUE #define TRUE (!FALSE) #endif #ifndef NUL #define NUL '\0' #endif #ifndef NULL #define NULL (void *)0 #endif /* bitmask generation */ #define _BIT(n) (1<<(n)) /* C++ support */ #ifdef __cplusplus #define BEGIN_DECLARATION extern "C" { #define END_DECLARATION } #else #define BEGIN_DECLARATION /*nop*/ #define END_DECLARATION /*nop*/ #endif #endif /* _PTH_H_ */