PcapPlusPlus  Next
PcapPlusPlusVersion.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 
6 
9 namespace pcpp
10 {
13 #define PCAPPLUSPLUS_VERSION_YEAR 26
14 
17 #define PCAPPLUSPLUS_VERSION_MONTH 7
18 
21 #define PCAPPLUSPLUS_VERSION_PATCH 0
22 
25 #define PCAPPLUSPLUS_VERSION_DEV 1
26 
29 #define PCAPPLUSPLUS_VERSION "26.07-dev"
30 
33 #if PCAPPLUSPLUS_VERSION_DEV
34 # define PCAPPLUSPLUS_VERSION_OFFICIAL "development build"
35 #else
36 # define PCAPPLUSPLUS_VERSION_OFFICIAL "official release"
37 #endif
38 
45 #define PCAPPLUSPLUS_MAKE_VERSION_FULL(year, month, patch, dev) ((year) * 100000 + (month) * 1000 + (patch) * 10 + dev)
46 
52 #define PCAPPLUSPLUS_MAKE_VERSION(year, month, patch) PCAPPLUSPLUS_MAKE_VERSION_FULL(year, month, patch, 0)
53 
56 #define PCAPPLUSPLUS_VERSION_NUM \
57  PCAPPLUSPLUS_MAKE_VERSION_FULL(PCAPPLUSPLUS_VERSION_YEAR, PCAPPLUSPLUS_VERSION_MONTH, PCAPPLUSPLUS_VERSION_PATCH, \
58  PCAPPLUSPLUS_VERSION_DEV)
59 
65 #define PCAPPLUSPLUS_VERSION_EQUALS(major, minor, patch) \
66  PCAPPLUSPLUS_VERSION_NUM == PCAPPLUSPLUS_MAKE_VERSION(major, minor, patch)
67 
73 #define PCAPPLUSPLUS_VERSION_LOWER_THAN(year, month, patch) \
74  PCAPPLUSPLUS_VERSION_NUM < PCAPPLUSPLUS_MAKE_VERSION(year, month, patch)
75 
81 #define PCAPPLUSPLUS_VERSION_LOWER_OR_EQUAL_THAN(year, month, patch) \
82  PCAPPLUSPLUS_VERSION_NUM <= PCAPPLUSPLUS_MAKE_VERSION(year, month, patch)
83 
89 #define PCAPPLUSPLUS_VERSION_HIGHER_THAN(year, month, patch) \
90  PCAPPLUSPLUS_VERSION_NUM > PCAPPLUSPLUS_MAKE_VERSION(year, month, patch)
91 
97 #define PCAPPLUSPLUS_VERSION_HIGHER_OR_EQUAL_THAN(year, month, patch) \
98  PCAPPLUSPLUS_VERSION_NUM >= PCAPPLUSPLUS_MAKE_VERSION(year, month, patch)
99 
102 #define PCAPPLUSPLUS_VERSION_FULL "v" PCAPPLUSPLUS_VERSION " (" PCAPPLUSPLUS_VERSION_OFFICIAL ")"
103 
107  inline std::string getPcapPlusPlusVersion()
108  {
109  return PCAPPLUSPLUS_VERSION;
110  }
111 
114  inline std::string getPcapPlusPlusVersionFull()
115  {
117  }
118 
120 #ifdef PCAPPP_BUILD_REPRODUCIBLE
121  inline std::string getBuildDateTime()
122  {
123  return " ";
124  }
125 #else
126  inline std::string getBuildDateTime()
127  {
128  return __DATE__ " " __TIME__;
129  }
130 #endif
131 
133  std::string getGitCommit();
134 
136  std::string getGitBranch();
137 
140  std::string getGitInfo();
141 
142 } // namespace pcpp
#define PCAPPLUSPLUS_VERSION_FULL
Full version string including version and release type (e.g., "v26.07-dev (development build)")
Definition: PcapPlusPlusVersion.h:102
#define PCAPPLUSPLUS_VERSION
Short version string (e.g., "26.07" for official release or "26.07-dev" for development build)
Definition: PcapPlusPlusVersion.h:29
The main namespace for the PcapPlusPlus lib.
Definition: AssertionUtils.h:19
std::string getPcapPlusPlusVersionFull()
Definition: PcapPlusPlusVersion.h:114
std::string getGitBranch()
std::string getGitInfo()
std::string getBuildDateTime()
Definition: PcapPlusPlusVersion.h:126
std::string getPcapPlusPlusVersion()
Definition: PcapPlusPlusVersion.h:107
std::string getGitCommit()