00001 #ifndef _CTBtypes_HXX 00002 #define _CTBtypes_HXX 1 00003 00008 /*----------------------------------------------------------------------------*/ 00009 /* C Tool Box: Designed and implemented by: */ 00010 /* Walter F.J. Mueller Gesellschaft fuer Schwerionenforschung (GSI) */ 00011 /* Postfach 110552, D-64220 Darmstadt, Germany */ 00012 /* Email: W.F.J.Mueller@gsi.de */ 00013 /* WWW: http://www-kp3.gsi.de/www/kp3/people/mueller.html */ 00014 /*------------------------------------------+---------------------------------*/ 00015 // 00016 // Define generic types: 00017 // 00018 // a. capability macros: 00019 // CTB__64bit supports 64 bit integers 00020 // 00021 // b. abreviations: 00022 // CTBschar CTBuchar CTBushort CTBuint CTBulong 00023 // 00024 // c. fixed size integers: 00025 // CTBint8 CTBuint8 CTBint16 CTBuint16 CTBint32 CTBuint32 00026 // and for 64 bit systems also 00027 // CTBint64 CTBuint64 00028 // 00029 // d. dedicated types: 00030 // CTBsize CTBindex CTBdim 00031 // CTBrange 00032 // 00033 00034 #include <stddef.h> 00035 00036 // 00037 // First define abreviations for the signed and unsigned integer types: 00038 // 00039 typedef signed char CTBschar; 00040 typedef unsigned char CTBuchar; 00041 typedef unsigned short CTBushort; // ??? to be removed 00042 typedef unsigned int CTBuint; // ??? to be changed 00043 typedef unsigned long CTBulong; // ??? to be removed 00044 // 00045 // Check system identification macros, group systems into `equivalence classes' 00046 // 00047 #if defined(__VMS) || defined(__GNUG__) 00048 #define CTB__c8s16i32l32 00049 #endif 00050 // 00051 // Now give typedefs for the `equivalence classes': 00052 // 00053 #if defined(CTB__c8s16i32l32) 00054 typedef signed char CTBint8; 00055 typedef unsigned char CTBuint8; 00056 typedef short CTBint16; 00057 typedef unsigned short CTBuint16; 00058 typedef int CTBint32; 00059 typedef unsigned int CTBuint32; 00060 #endif 00061 00062 #if defined(__ALPHA) 00063 #define CTB__64bit 00064 typedef __int64 CTBint64; 00065 typedef unsigned __int64 CTBuint64; 00066 #endif 00067 // 00068 // Define dedicated types 00069 // 00070 // typedef size_t CTBsize; 00071 // typedef ptrdiff_t CTBindex; 00072 00073 typedef ptrdiff_t CTBint; 00074 00075 typedef CTBint CTBsize; // ??? temporary; to be removed 00076 typedef CTBint CTBindex; // ??? temporary; to be removed 00077 00078 typedef unsigned int CTBdim; // ??? to be removed 00079 00080 #endif