BeeCrypt 4.2.1
include/beecrypt/gnu.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2003, 2009 Bob Deblier
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00017  *
00018  */
00019 
00020 #ifndef _BEECRYPT_GNU_H
00021 #define _BEECRYPT_GNU_H
00022 
00023 #if __MINGW32__
00024 # define _REENTRANT
00025 # if !defined(_WIN32_WINNT)
00026 #  define _WIN32_WINNT 0x0400
00027 # endif
00028 # include <windows.h>
00029 #endif
00030 
00031 #include <inttypes.h>
00032 #include <stdint.h>
00033 
00034 
00035 #include <pthread.h>
00036 #include <semaphore.h>
00037 #include <sched.h>
00038 #include <stdio.h>
00039 #include <stdlib.h>
00040 
00041 #include <string.h>
00042 #include <unistd.h>
00043 #include <dlfcn.h>
00044 
00045 typedef pthread_cond_t bc_cond_t;
00046 typedef pthread_mutex_t bc_mutex_t;
00047 typedef pthread_t bc_thread_t;
00048 typedef pthread_t bc_threadid_t;
00049 
00050 
00051 
00052 
00053 
00054 
00055 
00056 
00057 
00058 
00059 
00060 
00061 
00062 #if defined(__GNUC__)
00063 # if !defined(__GNUC_PREREQ__)
00064 #  define __GNUC_PREREQ__(maj, min) (__GNUC__ > (maj) || __GNUC__ == (maj) && __GNUC_MINOR__ >= (min))
00065 # endif
00066 #else
00067 # define __GNUC__ 0
00068 # define __GNUC_PREREQ__(maj, min) 0
00069 #endif
00070 
00071 /* WARNING: overriding this value is dangerous; some assembler routines
00072  * make assumptions about the size set by the configure script
00073  */
00074 #if !defined(MP_WBITS)
00075 # include <bits/wordsize.h>
00076 #if __WORDSIZE == 32
00077 # define MP_WBITS   32U
00078 #elif __WORDSIZE == 64
00079 # define MP_WBITS   64U
00080 #endif
00081 #endif
00082 
00083 #endif