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