Apache Portable Runtime Utility Library
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
apu_version.h File Reference

APR-util Versioning Interface. More...

#include "apr_version.h"
#include "apu.h"

Go to the source code of this file.

Macros

#define APU_MAJOR_VERSION   1
#define APU_MINOR_VERSION   5
#define APU_PATCH_VERSION   3
#define APU_IS_DEV_VERSION
#define APU_IS_DEV_STRING   "-dev"
#define APU_STRINGIFY(n)   APU_STRINGIFY_HELPER(n)
#define APU_STRINGIFY_HELPER(n)   #n
#define APU_VERSION_STRING
#define APU_VERSION_STRING_CSV

Functions

void apu_version (apr_version_t *pvsn)
const char * apu_version_string (void)

Detailed Description

APR-util Versioning Interface.

APR-util's Version

There are several different mechanisms for accessing the version. There is a string form, and a set of numbers; in addition, there are constants which can be compiled into your application, and you can query the library being used for its actual version.

Note that it is possible for an application to detect that it has been compiled against a different version of APU by use of the compile-time constants and the use of the run-time query function.

APU version numbering follows the guidelines specified in:

http://apr.apache.org/versioning.html

Macro Definition Documentation

#define APU_IS_DEV_STRING   "-dev"

Internal: string form of the "is dev" flag

#define APU_IS_DEV_VERSION

The symbol APU_IS_DEV_VERSION is only defined for internal, "development" copies of APU. It is undefined for released versions of APU.

#define APU_MAJOR_VERSION   1

major version Major API changes that could cause compatibility problems for older programs such as structure size changes. No binary compatibility is possible across a change in the major version.

#define APU_MINOR_VERSION   5

minor version Minor API changes that do not cause binary compatibility problems. Reset to 0 when upgrading APU_MAJOR_VERSION

#define APU_PATCH_VERSION   3

patch level The Patch Level never includes API changes, simply bug fixes. Reset to 0 when upgrading APR_MINOR_VERSION

#define APU_STRINGIFY (   n)    APU_STRINGIFY_HELPER(n)

Properly quote a value as a string in the C preprocessor

#define APU_STRINGIFY_HELPER (   n)    #n

Helper macro for APU_STRINGIFY

#define APU_VERSION_STRING
Value:
APU_STRINGIFY(APU_MINOR_VERSION) "." \
APU_STRINGIFY(APU_PATCH_VERSION) \
APU_IS_DEV_STRING

The formatted string of APU's version

#define APU_VERSION_STRING_CSV
Value:
##APU_MINOR_VERSION ##, \
##APU_PATCH_VERSION

An alternative formatted string of APR's version

Function Documentation

void apu_version ( apr_version_t *  pvsn)

Return APR-util's version information information in a numeric form.

Parameters
pvsnPointer to a version structure for returning the version information.
const char* apu_version_string ( void  )

Return APU's version information as a string.