Equalizer  1.2.1
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_BIT33 (0x0000000100000000ull)
00092 #define EQ_BIT34 (0x0000000200000000ull)
00093 #define EQ_BIT35 (0x0000000400000000ull)
00094 #define EQ_BIT36 (0x0000000800000000ull)
00095 #define EQ_BIT37 (0x0000001000000000ull)
00096 #define EQ_BIT38 (0x0000002000000000ull)
00097 #define EQ_BIT39 (0x0000004000000000ull)
00098 #define EQ_BIT40 (0x0000008000000000ull)
00099 
00100 #define EQ_BIT41 (0x0000010000000000ull)
00101 #define EQ_BIT42 (0x0000020000000000ull)
00102 #define EQ_BIT43 (0x0000040000000000ull)
00103 #define EQ_BIT44 (0x0000080000000000ull)
00104 #define EQ_BIT45 (0x0000100000000000ull)
00105 #define EQ_BIT46 (0x0000200000000000ull)
00106 #define EQ_BIT47 (0x0000400000000000ull)
00107 #define EQ_BIT48 (0x0000800000000000ull)
00108 
00109 #define EQ_BIT_ALL_32  (0xffffffffu)
00110 #define EQ_BIT_ALL_64  (0xffffffffffffffffull)
00111 #define EQ_BIT_NONE (0)
00112 
00113 #define EQ_1KB   (1024)
00114 #define EQ_10KB  (10240)
00115 #define EQ_100KB (102400)
00116 #define EQ_1MB   (1048576)
00117 #define EQ_10MB  (10485760)
00118 #define EQ_100MB (104857600)
00119 
00120 #define EQ_16KB  (16384)
00121 #define EQ_32KB  (32768)
00122 #define EQ_64KB  (65536)
00123 #define EQ_128KB (131072)
00124 #define EQ_48MB  (50331648)
00125 #define EQ_64MB  (67108864)
00126 
00127 namespace co
00128 {
00129 namespace base
00130 {
00132 typedef std::vector< std::string >   Strings;
00133 typedef Strings::const_iterator StringsCIter;
00134 
00135 class CPUCompressor; 
00136 class Plugin;        
00137 class ErrorRegistry;
00138 class PluginRegistry;
00139 class SpinLock;
00140 struct CompressorInfo; 
00141 
00143 typedef std::vector< CompressorInfo > CompressorInfos;
00144 
00146 typedef std::vector< const CompressorInfo* > CompressorInfoPtrs;
00147 
00149 typedef std::vector< Plugin* > Plugins;
00150 
00151 }
00152 }
00153 
00154 #endif //COBASE_TYPES_H
Generated on Fri Jun 8 2012 15:44:32 for Equalizer 1.2.1 by  doxygen 1.8.0