xref: /dpdk/lib/eal/include/rte_version.h (revision 719834a6849e1daf4a70ff7742bbcc3ae7e25607)
199a2dd95SBruce Richardson /* SPDX-License-Identifier: BSD-3-Clause
299a2dd95SBruce Richardson  * Copyright(c) 2010-2014 Intel Corporation
399a2dd95SBruce Richardson  */
499a2dd95SBruce Richardson 
599a2dd95SBruce Richardson /**
699a2dd95SBruce Richardson  * @file
799a2dd95SBruce Richardson  * Definitions of DPDK version numbers
899a2dd95SBruce Richardson  */
999a2dd95SBruce Richardson 
1099a2dd95SBruce Richardson #ifndef _RTE_VERSION_H_
1199a2dd95SBruce Richardson #define _RTE_VERSION_H_
1299a2dd95SBruce Richardson 
13*719834a6SMattias Rönnblom #include <string.h>
14*719834a6SMattias Rönnblom #include <stdio.h>
15*719834a6SMattias Rönnblom 
1699a2dd95SBruce Richardson #ifdef __cplusplus
1799a2dd95SBruce Richardson extern "C" {
1899a2dd95SBruce Richardson #endif
1999a2dd95SBruce Richardson 
2099a2dd95SBruce Richardson /**
2199a2dd95SBruce Richardson  * Macro to compute a version number usable for comparisons
2299a2dd95SBruce Richardson  */
2399a2dd95SBruce Richardson #define RTE_VERSION_NUM(a,b,c,d) ((a) << 24 | (b) << 16 | (c) << 8 | (d))
2499a2dd95SBruce Richardson 
2599a2dd95SBruce Richardson /**
2699a2dd95SBruce Richardson  * All version numbers in one to compare with RTE_VERSION_NUM()
2799a2dd95SBruce Richardson  */
2899a2dd95SBruce Richardson #define RTE_VERSION RTE_VERSION_NUM( \
2999a2dd95SBruce Richardson 			RTE_VER_YEAR, \
3099a2dd95SBruce Richardson 			RTE_VER_MONTH, \
3199a2dd95SBruce Richardson 			RTE_VER_MINOR, \
3299a2dd95SBruce Richardson 			RTE_VER_RELEASE)
3399a2dd95SBruce Richardson 
3499a2dd95SBruce Richardson /**
3599a2dd95SBruce Richardson  * Function to return DPDK version prefix string
3699a2dd95SBruce Richardson  */
3799a2dd95SBruce Richardson const char *rte_version_prefix(void);
3899a2dd95SBruce Richardson 
3999a2dd95SBruce Richardson /**
4099a2dd95SBruce Richardson  * Function to return DPDK version year
4199a2dd95SBruce Richardson  */
4299a2dd95SBruce Richardson unsigned int rte_version_year(void);
4399a2dd95SBruce Richardson 
4499a2dd95SBruce Richardson /**
4599a2dd95SBruce Richardson  * Function to return DPDK version month
4699a2dd95SBruce Richardson  */
4799a2dd95SBruce Richardson unsigned int rte_version_month(void);
4899a2dd95SBruce Richardson 
4999a2dd95SBruce Richardson /**
5099a2dd95SBruce Richardson  * Function to return DPDK minor version number
5199a2dd95SBruce Richardson  */
5299a2dd95SBruce Richardson unsigned int rte_version_minor(void);
5399a2dd95SBruce Richardson 
5499a2dd95SBruce Richardson /**
5599a2dd95SBruce Richardson  * Function to return DPDK version suffix for any release candidates
5699a2dd95SBruce Richardson  */
5799a2dd95SBruce Richardson const char *rte_version_suffix(void);
5899a2dd95SBruce Richardson 
5999a2dd95SBruce Richardson /**
6099a2dd95SBruce Richardson  * Function to return DPDK version release candidate value
6199a2dd95SBruce Richardson  */
6299a2dd95SBruce Richardson unsigned int rte_version_release(void);
6399a2dd95SBruce Richardson 
6499a2dd95SBruce Richardson /**
6599a2dd95SBruce Richardson  * Function returning version string
6699a2dd95SBruce Richardson  * @return
6799a2dd95SBruce Richardson  *     DPDK version string
6899a2dd95SBruce Richardson  */
6999a2dd95SBruce Richardson const char *rte_version(void);
7099a2dd95SBruce Richardson 
7199a2dd95SBruce Richardson #ifdef __cplusplus
7299a2dd95SBruce Richardson }
7399a2dd95SBruce Richardson #endif
7499a2dd95SBruce Richardson 
7599a2dd95SBruce Richardson #endif /* RTE_VERSION_H */
76