OpenClovis Logo

clVersion.h
1 #ifndef _CL_VERSION_H_
2 #define _CL_VERSION_H_
3 
4 #define CL_VERSION_SHIFT (24)
5 #define CL_VERSION_MASK ( (1 << CL_VERSION_SHIFT) - 1)
6 
7 /*
8  * Min. or the base version of ASP.
9  */
10 #define CL_RELEASE_VERSION_BASE 4
11 #define CL_MAJOR_VERSION_BASE 0
12 #define CL_MINOR_VERSION_BASE 0
13 
14 #define CL_RELEASE_VERSION 4
15 #define CL_MAJOR_VERSION 0
16 #define CL_MINOR_VERSION 0
17 
18 #define CL_RELEASE_VERSION_CURRENT 6
19 #define CL_MAJOR_VERSION_CURRENT 0
20 #define CL_MINOR_VERSION_CURRENT 0
21 
22 #define CL_VERSION_CODE(rel, major, minor) ( ( ( (rel) << 16) ) | ( ( (major) << 8 ) ) | ( (minor) ) )
23 #define CL_VERSION_CURRENT CL_VERSION_CODE(CL_RELEASE_VERSION_CURRENT, \
24  CL_MAJOR_VERSION_CURRENT, \
25  CL_MINOR_VERSION_CURRENT)
26 
27 #define CL_VERSION_RELEASE(version) ( ((version) >> 16) & 0xff )
28 #define CL_VERSION_MAJOR(version) ( ((version) >> 8 ) & 0xff )
29 #define CL_VERSION_MINOR(version) ( ((version) & 0xff ) )
30 
31 #define __VDECL(sym, rel, major, minor) sym##_##rel##_##major##_##minor
32 #define VDECL_VER(sym, rel, major, minor) __VDECL(sym, rel, major, minor)
33 #define VDECL(sym) VDECL_VER(sym, CL_RELEASE_VERSION, CL_MAJOR_VERSION, CL_MINOR_VERSION)
34 
35 #if defined (__SERVER__)
36 
37 #define VSYM(sym, id) { VDECL(sym), id, CL_VERSION_CODE(CL_RELEASE_VERSION, CL_MAJOR_VERSION, CL_MINOR_VERSION) }
38 #define VSYM_VER(sym, rel, major, minor, id) { VDECL_VER(sym, rel, major, minor), id, \
39  CL_VERSION_CODE(rel, major, minor)}
40 #define VSYM_EMPTY(sym, id) { NULL, id, CL_VERSION_CODE(CL_RELEASE_VERSION, CL_MAJOR_VERSION, CL_MINOR_VERSION) }
41 #define VSYM_NULL { NULL, 0, 0 }
42 
43 #elif defined (__CLIENT__)
44 
45 #define VSYM(sym, id) {id, CL_VERSION_CODE(CL_RELEASE_VERSION, CL_MAJOR_VERSION, CL_MINOR_VERSION)}
46 #define VSYM_VER(sym, rel, major, minor, id) {id, CL_VERSION_CODE(rel, major, minor) }
47 #define VSYM_EMPTY(sym, id) {0, CL_VERSION_CODE(CL_RELEASE_VERSION, CL_MAJOR_VERSION, CL_MINOR_VERSION)}
48 #define VSYM_NULL {0, 0}
49 
50 #else
51 
52 #define VSYM(sym, id) { sym, id }
53 #define VSYM_VER(sym, rel, major, minor, id) VSYM(sym, id)
54 #define VSYM_EMPTY(sym, id) VSYM(sym, id)
55 #endif
56 
57 #define VTAB(sym) { sym, CL_VERSION_CODE(CL_RELEASE_VERSION, CL_MAJOR_VERSION, CL_MINOR_VERSION) }
58 #define VTAB_VER(sym, rel, major, minor) { sym, CL_VERSION_CODE(rel, major, minor) }
59 
60 #endif

Generated on Tue Jan 10 10:29:15 PST 2012 for OpenClovis SDK using Doxygen