EM-ODP  3.7.0
Event Machine on ODP
Version

EM version information for the API and implementation. More...

Macros

#define EM_ODP   1
 
#define EM_TARGET_STR   "em-odp"
 
#define EM_BUILD_INFO_STR   "d31ee7c 2024-08-22 11:50"
 
#define EM_VERSION_API_MAJOR   3
 
#define EM_API_VERSION_MAJOR   EM_VERSION_API_MAJOR
 
#define EM_VERSION_API_MINOR   7
 
#define EM_API_VERSION_MINOR   EM_VERSION_API_MINOR
 
#define EM_VERSION_IMPLEMENTATION   0
 
#define EM_VERSION_FIX   0
 
#define EM_VERSION_API_STR   "3.7"
 
#define EM_VERSION_STR   "3.7.0"
 
#define EM_VERSION_API_NUM(api_maj, api_min)
 
#define EM_VERSION_NUM(api_maj, api_min, impl, fix)
 
#define EM_VERSION_API
 
#define EM_VERSION
 

Functions

const char * em_version_api_str (void)
 
unsigned int em_version_api_num (void)
 
const char * em_version_str (void)
 
unsigned int em_version_num (void)
 

Detailed Description

EM version information for the API and implementation.

The EM version numbering scheme reflects the used EM API version:

* maj.min.impl(-fix)
*     maj.min = EM API version supported
*               maj = major API version number, reserved for big changes
*              .min = minor API version, incremented when the API changes
*       .impl = Implementation number supporting EM API version maj.min
*               Updated for implementations with no API changes, starts at .0
*        -fix = Fix number, added for bugfixes on a certain implementation
*               version maj.min.impl (-0 is not added, first fix is -1)
* Examples:
*  1) EM version 2.7.0
*     maj.min = 2.7: supports EM API v2.7
*       .impl =  .0: first implementation supporting API 2.7 (starts at .0)
*        -fix = n/a, no fix
*  2) EM version 2.7.1-3
*     maj.min = 2.7: supports EM API v2.7
*       .impl =  .1: second implementation supporting API 2.7 (starts at .0)
*        -fix =  -3: third bugfix for 2.7.1
* 

Compile time version information can be obtained via the EM_VERSION_... macros and defines. The EM API version is identified by EM_VERSION_API_... preprocessor defines while the EM implementation version is identified by using EM_VERSION_...

In addition to these compile time defines, EM API calls can be used to identify the implementation and API version at run time.

Macro Definition Documentation

◆ EM_BUILD_INFO_STR

#define EM_BUILD_INFO_STR   "d31ee7c 2024-08-22 11:50"

EM build string (obtained from git)

Definition at line 93 of file event_machine_version.h.

◆ EM_ODP

#define EM_ODP   1

Event Machine for Open Data Plane

Definition at line 83 of file event_machine_version.h.

◆ EM_TARGET_STR

#define EM_TARGET_STR   "em-odp"

EM target string: EM-on-ODP

Definition at line 88 of file event_machine_version.h.

◆ EM_VERSION

#define EM_VERSION
Value:

EM full version number

EM version number for comparisons against the EM_VERSION_NUM() macro output.

#if EM_VERSION > EM_VERSION_NUM(2, 7, 1, 3)
...code...
#endif

Definition at line 199 of file event_machine_version.h.

◆ EM_VERSION_API

#define EM_VERSION_API
Value:

EM API version number

EM API version number for comparisons against the EM_VERSION_API_NUM() macro output.

#if EM_VERSION_API > EM_VERSION_API_NUM(2, 7)
...code...
#endif

Definition at line 185 of file event_machine_version.h.

◆ EM_VERSION_API_MAJOR

#define EM_VERSION_API_MAJOR   3

Major EM API version number.

MAJ.min.impl-fix 

(e.g. 2.7.1-3, major API version is 2)

Definition at line 101 of file event_machine_version.h.

◆ EM_VERSION_API_MINOR

#define EM_VERSION_API_MINOR   7

Minor EM API version number.

maj.MIN.impl-fix 

maj.MIN.impl-fix (e.g. 2.7.1-3: minor API version is 7)

Definition at line 111 of file event_machine_version.h.

◆ EM_VERSION_API_NUM

#define EM_VERSION_API_NUM (   api_maj,
  api_min 
)
Value:
(((api_maj) & 0xffU) << 24 | \
((api_min) & 0xffU) << 16)

EM API version number macro

Macro to build a version number for API version number comparisons

#if EM_VERSION_API > EM_VERSION_API_NUM(2, 7)
...code...
#endif
See also
EM_VERSION_NUM() for full version number macro

Definition at line 154 of file event_machine_version.h.

◆ EM_VERSION_API_STR

#define EM_VERSION_API_STR   "3.7"

EM API version string "maj.min"

Definition at line 134 of file event_machine_version.h.

◆ EM_VERSION_FIX

#define EM_VERSION_FIX   0

Fix version of the implementation

maj.min.impl-FIX 

(e.g. 2.7.1-3: fix version of implementation 2.7.1 is 3)

Definition at line 129 of file event_machine_version.h.

◆ EM_VERSION_IMPLEMENTATION

#define EM_VERSION_IMPLEMENTATION   0

Implementation version of the API

maj.min.IMPL-fix 

(e.g. 2.7.1-3: implementation version of API 2.7 is 1)

Definition at line 121 of file event_machine_version.h.

◆ EM_VERSION_NUM

#define EM_VERSION_NUM (   api_maj,
  api_min,
  impl,
  fix 
)
Value:
(((api_maj) & 0xffU) << 24 | \
((api_min) & 0xffU) << 16 | \
((impl) & 0xffU) << 8 | \
((fix) & 0xffU))

EM full version number macro

Macro to build a version number for version number comparisons

#if EM_VERSION > EM_VERSION_NUM(2, 7, 1, 3)
...code...
#endif
See also
EM_VERSION_API_NUM() for API version number macro

Definition at line 169 of file event_machine_version.h.

◆ EM_VERSION_STR

#define EM_VERSION_STR   "3.7.0"

EM version string "maj.min.impl(-fix)"

Definition at line 139 of file event_machine_version.h.

Function Documentation

◆ em_version_api_num()

unsigned int em_version_api_num ( void  )

EM API version number

Runtime EM API version number. Runtime and build-time versions might differ if the EM library has been updated after the application build.

Returns
EM API version packed into an unsigned int

Definition at line 38 of file em_version.c.

◆ em_version_api_str()

const char* em_version_api_str ( void  )

EM API version string

Runtime EM API version string. Runtime and build-time versions might differ if the EM library has been updated after the application build.

The API version string defines the EM API version in this format:

maj.min 

The string is null terminated.

Returns
Pointer to the API version string

Definition at line 33 of file em_version.c.

◆ em_version_num()

unsigned int em_version_num ( void  )

EM full version number

Runtime EM version number. Runtime and build-time versions might differ if the EM library has been updated after the application build.

Returns
EM full version packed into an unsigned int

Definition at line 48 of file em_version.c.

◆ em_version_str()

const char* em_version_str ( void  )

EM full version string

Runtime EM version string. Runtime and build-time versions might differ if the EM library has been updated after the application build.

The version string defines the EM full version in this format:

maj.min.impl(-fix) 

where -fix is only added for bugfix versions (i.e. -fix > 0)

The string is null terminated.

Returns
Pointer to the version string

Definition at line 43 of file em_version.c.

EM_VERSION_API_MINOR
#define EM_VERSION_API_MINOR
Definition: event_machine_version.h:111
EM_VERSION_IMPLEMENTATION
#define EM_VERSION_IMPLEMENTATION
Definition: event_machine_version.h:121
EM_VERSION_API_NUM
#define EM_VERSION_API_NUM(api_maj, api_min)
Definition: event_machine_version.h:154
EM_VERSION_API_MAJOR
#define EM_VERSION_API_MAJOR
Definition: event_machine_version.h:101
EM_VERSION_NUM
#define EM_VERSION_NUM(api_maj, api_min, impl, fix)
Definition: event_machine_version.h:169
EM_VERSION_FIX
#define EM_VERSION_FIX
Definition: event_machine_version.h:129