upload http
[bottlenecks.git] / rubbos / app / httpd-2.0.64 / srclib / apr-util / include / apu_version.h
1 /* Copyright 2000-2005 The Apache Software Foundation or its licensors, as
2  * applicable.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * 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 #include "apr_version.h"
21
22 #include "apu.h"
23
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27
28 /**
29  * @file apu_version.h
30  * @brief 
31  * 
32  * APR-util's Version
33  *
34  * There are several different mechanisms for accessing the version. There
35  * is a string form, and a set of numbers; in addition, there are constants
36  * which can be compiled into your application, and you can query the library
37  * being used for its actual version.
38  *
39  * Note that it is possible for an application to detect that it has been
40  * compiled against a different version of APU by use of the compile-time
41  * constants and the use of the run-time query function.
42  *
43  * APU version numbering follows the guidelines specified in:
44  *
45  *     http://apr.apache.org/versioning.html
46  */
47
48 /* The numeric compile-time version constants. These constants are the
49  * authoritative version numbers for APU. 
50  */
51
52 /** major version 
53  * Major API changes that could cause compatibility problems for older
54  * programs such as structure size changes.  No binary compatibility is
55  * possible across a change in the major version.
56  */
57 #define APU_MAJOR_VERSION       0
58
59 /** 
60  * Minor API changes that do not cause binary compatibility problems.
61  * Should be reset to 0 when upgrading APU_MAJOR_VERSION
62  */
63 #define APU_MINOR_VERSION       9
64
65 /** patch level */
66 #define APU_PATCH_VERSION      19
67
68 /** 
69  *  This symbol is defined for internal, "development" copies of APU. This
70  *  symbol will be #undef'd for releases. 
71  */
72 /* #define APU_IS_DEV_VERSION */
73
74
75 /** The formatted string of APU's version */
76 #define APU_VERSION_STRING \
77      APR_STRINGIFY(APU_MAJOR_VERSION) "." \
78      APR_STRINGIFY(APU_MINOR_VERSION) "." \
79      APR_STRINGIFY(APU_PATCH_VERSION) \
80      APU_IS_DEV_STRING
81
82 /**
83  * Return APR-util's version information information in a numeric form.
84  *
85  *  @param pvsn Pointer to a version structure for returning the version
86  *              information.
87  */
88 APU_DECLARE(void) apu_version(apr_version_t *pvsn);
89
90 /** Return APU's version information as a string. */
91 APU_DECLARE(const char *) apu_version_string(void);
92
93
94 /** Internal: string form of the "is dev" flag */
95 #ifdef APU_IS_DEV_VERSION
96 #define APU_IS_DEV_STRING "-dev"
97 #else
98 #define APU_IS_DEV_STRING ""
99 #endif
100
101 #ifdef __cplusplus
102 }
103 #endif
104
105 #endif /* APU_VERSION_H */