Apache HTTPD
Classes | Macros | Functions
apr_version.h File Reference

APR Versioning Interface. More...

#include "apr.h"

Go to the source code of this file.

Classes

struct  apr_version_t
 

Macros

#define APR_COPYRIGHT   "Copyright 2025 The Apache Software Foundation."
 
#define APR_MAJOR_VERSION   1
 
#define APR_MINOR_VERSION   7
 
#define APR_PATCH_VERSION   6
 
#define APR_VERSION_AT_LEAST(major, minor, patch)
 
#define APR_IS_DEV_STRING   ""
 
#define APR_STRINGIFY(n)   APR_STRINGIFY_HELPER(n)
 
#define APR_STRINGIFY_HELPER(n)   #n
 
#define APR_VERSION_STRING
 
#define APR_VERSION_STRING_CSV
 

Functions

 APR_DECLARE (void) apr_version(apr_version_t *pvsn)
 
 APR_DECLARE (const char *) apr_version_string(void)
 

Detailed Description

APR Versioning Interface.

APR'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 APR by use of the compile-time constants and the use of the run-time query function.

APR version numbering follows the guidelines specified in:

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

Definition in file apr_version.h.

Macro Definition Documentation

◆ APR_COPYRIGHT

#define APR_COPYRIGHT   "Copyright 2025 The Apache Software Foundation."

Definition at line 41 of file apr_version.h.

◆ APR_IS_DEV_STRING

#define APR_IS_DEV_STRING   ""

Definition at line 96 of file apr_version.h.

◆ APR_MAJOR_VERSION

#define APR_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.

Definition at line 52 of file apr_version.h.

◆ APR_MINOR_VERSION

#define APR_MINOR_VERSION   7

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

Definition at line 58 of file apr_version.h.

◆ APR_PATCH_VERSION

#define APR_PATCH_VERSION   6

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

Definition at line 64 of file apr_version.h.

◆ APR_STRINGIFY

#define APR_STRINGIFY (   n)    APR_STRINGIFY_HELPER(n)

Properly quote a value as a string in the C preprocessor

Definition at line 102 of file apr_version.h.

◆ APR_STRINGIFY_HELPER

#define APR_STRINGIFY_HELPER (   n)    #n

Helper macro for APR_STRINGIFY

Definition at line 104 of file apr_version.h.

◆ APR_VERSION_AT_LEAST

#define APR_VERSION_AT_LEAST (   major,
  minor,
  patch 
)
Value:
(((major) < APR_MAJOR_VERSION) \
|| ((major) == APR_MAJOR_VERSION && (minor) < APR_MINOR_VERSION) \
|| ((major) == APR_MAJOR_VERSION && (minor) == APR_MINOR_VERSION && (patch) <= APR_PATCH_VERSION))
#define APR_MAJOR_VERSION
Definition apr_version.h:52
#define APR_PATCH_VERSION
Definition apr_version.h:64
#define APR_MINOR_VERSION
Definition apr_version.h:58

The symbol APR_IS_DEV_VERSION is only defined for internal, "development" copies of APR. It is undefined for released versions of APR. Check at compile time if the APR version is at least a certain level.

Parameters
majorThe major version component of the version checked for (e.g., the "1" of "1.3.0").
minorThe minor version component of the version checked for (e.g., the "3" of "1.3.0").
patchThe patch level component of the version checked for (e.g., the "0" of "1.3.0").
Remarks
This macro is available with APR versions starting with 1.3.0.

Definition at line 85 of file apr_version.h.

◆ APR_VERSION_STRING

#define APR_VERSION_STRING
Value:

The formatted string of APR's version

Definition at line 108 of file apr_version.h.

◆ APR_VERSION_STRING_CSV

#define APR_VERSION_STRING_CSV
Value:
##APR_MINOR_VERSION ##, \
##APR_PATCH_VERSION

An alternative formatted string of APR's version

Definition at line 116 of file apr_version.h.