PVCAM  3.9.x
Programmable Virtual Camera Access Method library
master.h
Go to the documentation of this file.
1 /******************************************************************************/
2 /* Copyright (C) Teledyne Photometrics. All rights reserved. */
3 /******************************************************************************/
4 
5 #ifndef _MASTER_H
6 #define _MASTER_H
7 
8 /*
9 This allows us to insert the proper compiler flags, in pvcam.h for example,
10 to cope properly with C++ definitions.
11 */
12 #if defined(__cplusplus)
13  /* BORLAND C++ and GCC */
14  #define PV_C_PLUS_PLUS
15 #elif defined(__cplusplus__)
16  /* MICROSOFT C++ */
17  #define PV_C_PLUS_PLUS
18 #endif
19 
20 /******************************************************************************/
21 /* Platform-specific defined like calling conventions, etc. */
22 /******************************************************************************/
23 
24 #if defined(_WIN32) || defined(_WIN64)
25  #define PV_DECL __stdcall
26  #define DEPRECATED __declspec(deprecated)
27 #elif defined(__linux__)
28  #define PV_DECL
29  #define DEPRECATED __attribute__((deprecated))
30 #elif defined(__APPLE__)
31  #define PV_DECL
32  #define DEPRECATED __attribute__((deprecated))
33 #endif
34 
35 /******************************************************************************/
36 /* PVCAM types */
37 /******************************************************************************/
38 
40 enum
41 {
42  PV_FAIL = 0,
44 };
45 
46 typedef unsigned short rs_bool;
47 typedef signed char int8;
48 typedef unsigned char uns8;
49 typedef short int16;
50 typedef unsigned short uns16;
51 typedef int int32;
52 typedef unsigned int uns32;
53 typedef float flt32;
54 typedef double flt64;
55 
56 #if defined(_MSC_VER)
57  typedef unsigned __int64 ulong64;
58  typedef signed __int64 long64;
59 #else
60  typedef unsigned long long ulong64;
61  typedef signed long long long64;
62 #endif
63 
75 #define PV_PTR_DECL *
76 
77 typedef void* void_ptr;
78 typedef void** void_ptr_ptr;
79 
81 typedef char* char_ptr;
82 typedef int8* int8_ptr;
83 typedef uns8* uns8_ptr;
84 typedef int16* int16_ptr;
85 typedef uns16* uns16_ptr;
86 typedef int32* int32_ptr;
87 typedef uns32* uns32_ptr;
88 typedef flt32* flt32_ptr;
89 typedef flt64* flt64_ptr;
91 typedef long64* long64_ptr;
92 
93 typedef const rs_bool* rs_bool_const_ptr;
94 typedef const char* char_const_ptr;
95 typedef const int8* int8_const_ptr;
96 typedef const uns8* uns8_const_ptr;
97 typedef const int16* int16_const_ptr;
98 typedef const uns16* uns16_const_ptr;
99 typedef const int32* int32_const_ptr;
100 typedef const uns32* uns32_const_ptr;
101 typedef const flt32* flt32_const_ptr;
102 typedef const flt64* flt64_const_ptr;
103 typedef const ulong64* ulong64_const_ptr;
104 typedef const long64* long64_const_ptr;
105  /* grp_pm_deprecated_typedefs */
107 
108 /******************************************************************************/
109 /* PVCAM constants */
110 /******************************************************************************/
111 
112 #ifndef FALSE
113  #define FALSE PV_FAIL /* FALSE == 0 */
114 #endif
115 
116 #ifndef TRUE
117  #define TRUE PV_OK /* TRUE == 1 */
118 #endif
119 
120 #endif /* _MASTER_H */
uns16 * uns16_ptr
Definition: master.h:85
int int32
Definition: master.h:51
flt32 * flt32_ptr
Definition: master.h:88
uns32 * uns32_ptr
Definition: master.h:87
void ** void_ptr_ptr
Definition: master.h:78
const int32 * int32_const_ptr
Definition: master.h:99
signed char int8
Definition: master.h:47
double flt64
Definition: master.h:54
int32 * int32_ptr
Definition: master.h:86
Definition: master.h:42
int16 * int16_ptr
Definition: master.h:84
const uns8 * uns8_const_ptr
Definition: master.h:96
const flt32 * flt32_const_ptr
Definition: master.h:101
const int16 * int16_const_ptr
Definition: master.h:97
rs_bool * rs_bool_ptr
Definition: master.h:80
flt64 * flt64_ptr
Definition: master.h:89
const flt64 * flt64_const_ptr
Definition: master.h:102
const uns16 * uns16_const_ptr
Definition: master.h:98
Definition: master.h:43
int8 * int8_ptr
Definition: master.h:82
long64 * long64_ptr
Definition: master.h:91
short int16
Definition: master.h:49
const char * char_const_ptr
Definition: master.h:94
float flt32
Definition: master.h:53
unsigned short uns16
Definition: master.h:50
const long64 * long64_const_ptr
Definition: master.h:104
unsigned int uns32
Definition: master.h:52
const rs_bool * rs_bool_const_ptr
Definition: master.h:93
signed long long long64
Definition: master.h:61
const uns32 * uns32_const_ptr
Definition: master.h:100
const int8 * int8_const_ptr
Definition: master.h:95
unsigned short rs_bool
Definition: master.h:46
unsigned char uns8
Definition: master.h:48
const ulong64 * ulong64_const_ptr
Definition: master.h:103
ulong64 * ulong64_ptr
Definition: master.h:90
char * char_ptr
Definition: master.h:81
unsigned long long ulong64
Definition: master.h:60
void * void_ptr
Definition: master.h:77
uns8 * uns8_ptr
Definition: master.h:83