PVData C++  8.0.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
pvdVersion.h
1 /*
2  * Copyright information and license terms for this software can be
3  * found in the file LICENSE that is included with the distribution
4  */
5 /* pvdVersion.h did not exist prior to 7.0.0
6  * from which time it is included by pv/pvIntrospect.h
7  */
8 #ifndef PVDVERSION_H
9 #define PVDVERSION_H
10 
11 #include <epicsVersion.h>
12 #include <shareLib.h>
13 
14 #ifndef VERSION_INT
15 # define VERSION_INT(V,R,M,P) ( ((V)<<24) | ((R)<<16) | ((M)<<8) | (P))
16 #endif
17 
18 #ifndef EPICS_VERSION_INT
19 # define EPICS_VERSION_INT VERSION_INT(EPICS_VERSION, EPICS_REVISION, EPICS_MODIFICATION, EPICS_PATCH_LEVEL)
20 #endif
21 
22 /* include generated headers with:
23  * EPICS_PVD_MAJOR_VERSION
24  * EPICS_PVD_MINOR_VERSION
25  * EPICS_PVD_MAINTENANCE_VERSION
26  * EPICS_PVD_DEVELOPMENT_FLAG
27  */
28 #include <pv/pvdVersionNum.h>
29 
30 #define PVDATA_VERSION_INT VERSION_INT(EPICS_PVD_MAJOR_VERSION, EPICS_PVD_MINOR_VERSION, EPICS_PVD_MAINTENANCE_VERSION, 0)
31 
32 namespace epics{namespace pvData{
33 
34 struct PVDataVersion {
35  unsigned major;
36  unsigned minor;
37  unsigned maint;
38  unsigned devel;
39 };
40 
41 epicsShareExtern void getVersion(PVDataVersion *ptr);
42 
43 }} // namespace epics::pvData
44 
45 
46 #endif // PVDVERSION_H