Equalizer 1.0

co/base/types.h

Go to the documentation of this file.
00001 
00002 /* Copyright (c) 2007-2011, Stefan Eilemann <eile@equalizergraphics.com> 
00003  *
00004  * This library is free software; you can redistribute it and/or modify it under
00005  * the terms of the GNU Lesser General Public License version 2.1 as published
00006  * by the Free Software Foundation.
00007  *  
00008  * This library is distributed in the hope that it will be useful, but WITHOUT
00009  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
00010  * FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
00011  * details.
00012  * 
00013  * You should have received a copy of the GNU Lesser General Public License
00014  * along with this library; if not, write to the Free Software Foundation, Inc.,
00015  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
00016  */
00017 
00024 #ifndef COBASE_TYPES_H
00025 #define COBASE_TYPES_H
00026 
00027 #include <string>
00028 #include <vector>
00029 #include <sys/types.h>
00030 
00031 #ifndef _MSC_VER
00032 #  include <stdint.h>
00033 #endif
00034 
00035 #ifdef _WIN32
00036 #  include <basetsd.h>
00037 
00038 typedef int        socklen_t;
00039 
00040 #  ifdef _MSC_VER
00041 typedef UINT64     uint64_t;
00042 typedef INT64      int64_t;
00043 typedef UINT32     uint32_t;
00044 typedef INT32      int32_t;
00045 typedef UINT16     uint16_t;
00046 typedef INT16      int16_t;
00047 typedef UINT8      uint8_t;
00048 typedef INT8       int8_t;
00049 #    ifndef HAVE_SSIZE_T
00050 typedef SSIZE_T    ssize_t;
00051 #    endif
00052 #  endif // Win32, Visual C++
00053 #endif // Win32
00054 
00055 #define EQ_BIT1  (0x00000001u)
00056 #define EQ_BIT2  (0x00000002u)
00057 #define EQ_BIT3  (0x00000004u)
00058 #define EQ_BIT4  (0x00000008u)
00059 #define EQ_BIT5  (0x00000010u)
00060 #define EQ_BIT6  (0x00000020u)
00061 #define EQ_BIT7  (0x00000040u)
00062 #define EQ_BIT8  (0x00000080u)
00063 
00064 #define EQ_BIT9  (0x00000100u)
00065 #define EQ_BIT10 (0x00000200u)
00066 #define EQ_BIT11 (0x00000400u)
00067 #define EQ_BIT12 (0x00000800u)
00068 #define EQ_BIT13 (0x00001000u)
00069 #define EQ_BIT14 (0x00002000u)
00070 #define EQ_BIT15 (0x00004000u)
00071 #define EQ_BIT16 (0x00008000u)
00072 
00073 #define EQ_BIT17 (0x00010000u)
00074 #define EQ_BIT18 (0x00020000u)
00075 #define EQ_BIT19 (0x00040000u)
00076 #define EQ_BIT20 (0x00080000u)
00077 #define EQ_BIT21 (0x00100000u)
00078 #define EQ_BIT22 (0x00200000u)
00079 #define EQ_BIT23 (0x00400000u)
00080 #define EQ_BIT24 (0x00800000u)
00081 
00082 #define EQ_BIT25 (0x01000000u)
00083 #define EQ_BIT26 (0x02000000u)
00084 #define EQ_BIT27 (0x04000000u)
00085 #define EQ_BIT28 (0x08000000u)
00086 #define EQ_BIT29 (0x10000000u)
00087 #define EQ_BIT30 (0x20000000u)
00088 #define EQ_BIT31 (0x40000000u)
00089 #define EQ_BIT32 (0x80000000u)
00090 
00091 #define EQ_BIT_ALL  (0xffffffffu)
00092 #define EQ_BIT_ALL_64  (0xffffffffffffffffull)
00093 #define EQ_BIT_NONE (0)
00094 
00095 #define EQ_1KB   (1024)
00096 #define EQ_10KB  (10240)
00097 #define EQ_100KB (102400)
00098 #define EQ_1MB   (1048576)
00099 #define EQ_10MB  (10485760)
00100 #define EQ_100MB (104857600)
00101 
00102 #define EQ_32KB  (32768)
00103 #define EQ_64KB  (65536)
00104 #define EQ_128KB (131072)
00105 #define EQ_48MB  (50331648)
00106 #define EQ_64MB  (67108864)
00107 
00108 namespace co
00109 {
00110 namespace base
00111 {
00113 typedef std::vector< std::string >   Strings;
00114 
00115 class CPUCompressor; 
00116 class Plugin;        
00117 class ErrorRegistry;
00118 class PluginRegistry;
00119 struct CompressorInfo; 
00120 
00122 typedef std::vector< CompressorInfo > CompressorInfos;
00123 
00125 typedef std::vector< const CompressorInfo* > CompressorInfoPtrs;
00126 
00128 typedef std::vector< Plugin* > Plugins;
00129 
00130 }
00131 }
00132 
00133 #endif //COBASE_TYPES_H
Generated on Sun May 8 2011 19:11:07 for Equalizer 1.0 by  doxygen 1.7.3