1 2 /*---------------------------------------------------------------------------*/ 3 /* Distributed by VXIplug&play Systems Alliance */ 4 /* */ 5 /* Do not modify the contents of this file. */ 6 /*---------------------------------------------------------------------------*/ 7 /* */ 8 /* Title : VISATYPE.H */ 9 /* Date : 04-14-2006 */ 10 /* Purpose : Fundamental VISA data types and macro definitions */ 11 /* */ 12 /*---------------------------------------------------------------------------*/ 13 14 #ifndef __VISATYPE_HEADER__ 15 #define __VISATYPE_HEADER__ 16 17 #if defined(_WIN64) 18 #define _VI_FAR 19 #define _VI_FUNC __fastcall 20 #define _VI_FUNCC __fastcall 21 #define _VI_FUNCH __fastcall 22 #define _VI_SIGNED signed 23 #elif (defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)) && !defined(_NI_mswin16_) 24 #define _VI_FAR 25 #define _VI_FUNC __stdcall 26 #define _VI_FUNCC __cdecl 27 #define _VI_FUNCH __stdcall 28 #define _VI_SIGNED signed 29 #elif defined(_CVI_) && defined(_NI_i386_) 30 #define _VI_FAR 31 #define _VI_FUNC _pascal 32 #define _VI_FUNCC 33 #define _VI_FUNCH _pascal 34 #define _VI_SIGNED signed 35 #elif (defined(_WINDOWS) || defined(_Windows)) && !defined(_NI_mswin16_) 36 #define _VI_FAR _far 37 #define _VI_FUNC _far _pascal _export 38 #define _VI_FUNCC _far _cdecl _export 39 #define _VI_FUNCH _far _pascal 40 #define _VI_SIGNED signed 41 #elif (defined(hpux) || defined(__hpux)) && (defined(__cplusplus) || defined(__cplusplus__)) 42 #define _VI_FAR 43 #define _VI_FUNC 44 #define _VI_FUNCC 45 #define _VI_FUNCH 46 #define _VI_SIGNED 47 #else 48 #define _VI_FAR 49 #define _VI_FUNC 50 #define _VI_FUNCC 51 #define _VI_FUNCH 52 #define _VI_SIGNED signed 53 #endif 54 #define _VI_ERROR (-2147483647L-1) /* 0x80000000 */ 55 #define _VI_PTR _VI_FAR * 56 57 /*- VISA Types --------------------------------------------------------------*/ 58 59 #ifndef _VI_INT64_UINT64_DEFINED 60 #if defined(_WIN64) || ((defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)) && !defined(_NI_mswin16_)) 61 #if (defined(_MSC_VER) && (_MSC_VER >= 1200)) || (defined(_CVI_) && (_CVI_ >= 700)) ||(defined(__BORLANDC__) && (__BORLANDC__ >= 0x0520)) 62 typedef unsigned __int64 ViUInt64; 63 typedef _VI_SIGNED __int64 ViInt64; 64 #define _VI_INT64_UINT64_DEFINED 65 #if defined(_WIN64) 66 #define _VISA_ENV_IS_64_BIT 67 #else 68 /* This is a 32-bit OS, not a 64-bit OS */ 69 #endif 70 #endif 71 #elif defined(__GNUC__) && (__GNUC__ >= 3) 72 #include <limits.h> 73 #include <sys/types.h> 74 typedef u_int64_t ViUInt64; 75 typedef int64_t ViInt64; 76 #define _VI_INT64_UINT64_DEFINED 77 #if defined(LONG_MAX) && (LONG_MAX > 0x7FFFFFFFL) 78 #define _VISA_ENV_IS_64_BIT 79 #else 80 /* This is a 32-bit OS, not a 64-bit OS */ 81 #endif 82 #else 83 /* This platform does not support 64-bit types */ 84 #endif 85 #endif 86 #if defined(_VI_INT64_UINT64_DEFINED) 87 typedef ViUInt64 _VI_PTR ViPUInt64; 88 typedef ViUInt64 _VI_PTR ViAUInt64; 89 typedef ViInt64 _VI_PTR ViPInt64; 90 typedef ViInt64 _VI_PTR ViAInt64; 91 #endif 92 typedef unsigned long ViUInt32; 93 typedef ViUInt32 _VI_PTR ViPUInt32; 94 typedef ViUInt32 _VI_PTR ViAUInt32; 95 typedef _VI_SIGNED long ViInt32; 96 typedef ViInt32 _VI_PTR ViPInt32; 97 typedef ViInt32 _VI_PTR ViAInt32; 98 typedef unsigned short ViUInt16; 99 typedef ViUInt16 _VI_PTR ViPUInt16; 100 typedef ViUInt16 _VI_PTR ViAUInt16; 101 typedef _VI_SIGNED short ViInt16; 102 typedef ViInt16 _VI_PTR ViPInt16; 103 typedef ViInt16 _VI_PTR ViAInt16; 104 typedef unsigned char ViUInt8; 105 typedef ViUInt8 _VI_PTR ViPUInt8; 106 typedef ViUInt8 _VI_PTR ViAUInt8; 107 typedef _VI_SIGNED char ViInt8; 108 typedef ViInt8 _VI_PTR ViPInt8; 109 typedef ViInt8 _VI_PTR ViAInt8; 110 typedef char ViChar; 111 typedef ViChar _VI_PTR ViPChar; 112 typedef ViChar _VI_PTR ViAChar; 113 typedef unsigned char ViByte; 114 typedef ViByte _VI_PTR ViPByte; 115 typedef ViByte _VI_PTR ViAByte; 116 typedef void _VI_PTR ViAddr; 117 typedef ViAddr _VI_PTR ViPAddr; 118 typedef ViAddr _VI_PTR ViAAddr; 119 typedef float ViReal32; 120 typedef ViReal32 _VI_PTR ViPReal32; 121 typedef ViReal32 _VI_PTR ViAReal32; 122 typedef double ViReal64; 123 typedef ViReal64 _VI_PTR ViPReal64; 124 typedef ViReal64 _VI_PTR ViAReal64; 125 typedef ViPByte ViBuf; 126 typedef ViPByte ViPBuf; 127 typedef ViPByte _VI_PTR ViABuf; 128 typedef ViPChar ViString; 129 typedef ViPChar ViPString; 130 typedef ViPChar _VI_PTR ViAString; 131 typedef ViString ViRsrc; 132 typedef ViString ViPRsrc; 133 typedef ViString _VI_PTR ViARsrc; 134 typedef ViUInt16 ViBoolean; 135 typedef ViBoolean _VI_PTR ViPBoolean; 136 typedef ViBoolean _VI_PTR ViABoolean; 137 typedef ViInt32 ViStatus; 138 typedef ViStatus _VI_PTR ViPStatus; 139 typedef ViStatus _VI_PTR ViAStatus; 140 typedef ViUInt32 ViVersion; 141 typedef ViVersion _VI_PTR ViPVersion; 142 typedef ViVersion _VI_PTR ViAVersion; 143 typedef ViUInt32 ViObject; 144 typedef ViObject _VI_PTR ViPObject; 145 typedef ViObject _VI_PTR ViAObject; 146 typedef ViObject ViSession; 147 typedef ViSession _VI_PTR ViPSession; 148 typedef ViSession _VI_PTR ViASession; 149 typedef ViUInt32 ViAttr; 150 #ifndef _VI_CONST_STRING_DEFINED 151 typedef const ViChar * ViConstString; 152 #define _VI_CONST_STRING_DEFINED 153 #endif 154 /*- Completion and Error Codes ----------------------------------------------*/ 155 #define VI_SUCCESS (0L) 156 /*- Other VISA Definitions --------------------------------------------------*/ 157 #define VI_NULL (0) 158 #define VI_TRUE (1) 159 #define VI_FALSE (0) 160 /*- Backward Compatibility Macros -------------------------------------------*/ 161 #define VISAFN _VI_FUNC 162 #define ViPtr _VI_PTR 163 #endif 164 /*- The End -----------------------------------------------------------------*/ 165