Apache Portable Runtime
usr
include
apr-1
apu_version.h
Go to the documentation of this file.
1
/* Licensed to the Apache Software Foundation (ASF) under one or more
2
* contributor license agreements. See the NOTICE file distributed with
3
* this work for additional information regarding copyright ownership.
4
* The ASF licenses this file to You under the Apache License, Version 2.0
5
* (the "License"); you may not use this file except in compliance with
6
* the License. You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
16
17
#ifndef APU_VERSION_H
18
#define APU_VERSION_H
19
20
/**
21
* @file apu_version.h
22
* @brief APR-util Versioning Interface
23
*
24
* APR-util's Version
25
*
26
* There are several different mechanisms for accessing the version. There
27
* is a string form, and a set of numbers; in addition, there are constants
28
* which can be compiled into your application, and you can query the library
29
* being used for its actual version.
30
*
31
* Note that it is possible for an application to detect that it has been
32
* compiled against a different version of APU by use of the compile-time
33
* constants and the use of the run-time query function.
34
*
35
* APU version numbering follows the guidelines specified in:
36
*
37
* http://apr.apache.org/versioning.html
38
*/
39
40
41
#define APU_COPYRIGHT "Copyright (c) 2000-2016 The Apache Software " \
42
"Foundation or its licensors, as applicable."
43
44
/* The numeric compile-time version constants. These constants are the
45
* authoritative version numbers for APU.
46
*/
47
48
/** major version
49
* Major API changes that could cause compatibility problems for older
50
* programs such as structure size changes. No binary compatibility is
51
* possible across a change in the major version.
52
*/
53
#define APU_MAJOR_VERSION 1
54
55
/** minor version
56
* Minor API changes that do not cause binary compatibility problems.
57
* Reset to 0 when upgrading APU_MAJOR_VERSION
58
*/
59
#define APU_MINOR_VERSION 6
60
61
/** patch level
62
* The Patch Level never includes API changes, simply bug fixes.
63
* Reset to 0 when upgrading APR_MINOR_VERSION
64
*/
65
#define APU_PATCH_VERSION 1
66
67
/**
68
* The symbol APU_IS_DEV_VERSION is only defined for internal,
69
* "development" copies of APU. It is undefined for released versions
70
* of APU.
71
*/
72
/* #undef APU_IS_DEV_VERSION */
73
74
75
#if defined(APU_IS_DEV_VERSION) || defined(DOXYGEN)
76
/** Internal: string form of the "is dev" flag */
77
#ifndef APU_IS_DEV_STRING
78
#define APU_IS_DEV_STRING "-dev"
79
#endif
80
#else
81
#define APU_IS_DEV_STRING ""
82
#endif
83
84
85
#ifndef APU_STRINGIFY
86
/** Properly quote a value as a string in the C preprocessor */
87
#define APU_STRINGIFY(n) APU_STRINGIFY_HELPER(n)
88
/** Helper macro for APU_STRINGIFY */
89
#define APU_STRINGIFY_HELPER(n) #n
90
#endif
91
92
/** The formatted string of APU's version */
93
#define APU_VERSION_STRING \
94
APU_STRINGIFY(APU_MAJOR_VERSION) "." \
95
APU_STRINGIFY(APU_MINOR_VERSION) "." \
96
APU_STRINGIFY(APU_PATCH_VERSION) \
97
APU_IS_DEV_STRING
98
99
/** An alternative formatted string of APR's version */
100
/* macro for Win32 .rc files using numeric csv representation */
101
#define APU_VERSION_STRING_CSV APU_MAJOR_VERSION ##, \
102
##APU_MINOR_VERSION ##, \
103
##APU_PATCH_VERSION
104
105
106
#ifndef APU_VERSION_ONLY
107
108
/* The C language API to access the version at run time,
109
* as opposed to compile time. APU_VERSION_ONLY may be defined
110
* externally when preprocessing apr_version.h to obtain strictly
111
* the C Preprocessor macro declarations.
112
*/
113
114
#include "
apr_version.h
"
115
116
#include "apu.h"
117
118
#ifdef __cplusplus
119
extern
"C"
{
120
#endif
121
122
/**
123
* Return APR-util's version information information in a numeric form.
124
*
125
* @param pvsn Pointer to a version structure for returning the version
126
* information.
127
*/
128
APU_DECLARE(
void
)
apu_version
(
apr_version_t
*pvsn);
129
130
/** Return APU's version information as a string. */
131
APU_DECLARE(
const
char
*)
apu_version_string
(
void
);
132
133
#ifdef __cplusplus
134
}
135
#endif
136
137
#endif
/* ndef APU_VERSION_ONLY */
138
139
#endif
/* ndef APU_VERSION_H */
apu_version_string
const char * apu_version_string(void)
apr_version.h
APR Versioning Interface.
apr_version_t
Definition:
apr_version.h:140
apu_version
void apu_version(apr_version_t *pvsn)
Generated by
1.8.18