~alinuxninja/nginx-edge/trunk

« back to all changes in this revision

Viewing changes to debian/modules/ngx_pagespeed/psol/include/third_party/apr/src/include/apr_version.h

  • Committer: Vivian
  • Date: 2015-12-04 18:20:11 UTC
  • Revision ID: git-v1:a36f2bc32e884f7473b3a47040e5411306144d7d
* Do not extract psol.tar.gz

Show diffs side-by-side

added added

removed removed

Lines of Context:
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 APR_VERSION_H
18
 
#define APR_VERSION_H
19
 
 
20
 
/**
21
 
 * @file apr_version.h
22
 
 * @brief APR Versioning Interface
23
 
 * 
24
 
 * APR'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 APR by use of the compile-time
33
 
 * constants and the use of the run-time query function.
34
 
 *
35
 
 * APR version numbering follows the guidelines specified in:
36
 
 *
37
 
 *     http://apr.apache.org/versioning.html
38
 
 */
39
 
 
40
 
 
41
 
/* The numeric compile-time version constants. These constants are the
42
 
 * authoritative version numbers for APR. 
43
 
 */
44
 
 
45
 
/** major version 
46
 
 * Major API changes that could cause compatibility problems for older
47
 
 * programs such as structure size changes.  No binary compatibility is
48
 
 * possible across a change in the major version.
49
 
 */
50
 
#define APR_MAJOR_VERSION       1
51
 
 
52
 
/** minor version
53
 
 * Minor API changes that do not cause binary compatibility problems.
54
 
 * Reset to 0 when upgrading APR_MAJOR_VERSION
55
 
 */
56
 
#define APR_MINOR_VERSION       4
57
 
 
58
 
/** patch level 
59
 
 * The Patch Level never includes API changes, simply bug fixes.
60
 
 * Reset to 0 when upgrading APR_MINOR_VERSION
61
 
 */
62
 
#define APR_PATCH_VERSION       2
63
 
 
64
 
/** 
65
 
 * The symbol APR_IS_DEV_VERSION is only defined for internal,
66
 
 * "development" copies of APR.  It is undefined for released versions
67
 
 * of APR.
68
 
 */
69
 
/* #undef APR_IS_DEV_VERSION */
70
 
 
71
 
/**
72
 
 * Check at compile time if the APR version is at least a certain
73
 
 * level.
74
 
 * @param major The major version component of the version checked
75
 
 * for (e.g., the "1" of "1.3.0").
76
 
 * @param minor The minor version component of the version checked
77
 
 * for (e.g., the "3" of "1.3.0").
78
 
 * @param patch The patch level component of the version checked
79
 
 * for (e.g., the "0" of "1.3.0").
80
 
 * @remark This macro is available with APR versions starting with
81
 
 * 1.3.0.
82
 
 */
83
 
#define APR_VERSION_AT_LEAST(major,minor,patch)                    \
84
 
(((major) < APR_MAJOR_VERSION)                                     \
85
 
 || ((major) == APR_MAJOR_VERSION && (minor) < APR_MINOR_VERSION) \
86
 
 || ((major) == APR_MAJOR_VERSION && (minor) == APR_MINOR_VERSION && (patch) <= APR_PATCH_VERSION))
87
 
 
88
 
#if defined(APR_IS_DEV_VERSION) || defined(DOXYGEN)
89
 
/** Internal: string form of the "is dev" flag */
90
 
#define APR_IS_DEV_STRING "-dev"
91
 
#else
92
 
#define APR_IS_DEV_STRING ""
93
 
#endif
94
 
 
95
 
/* APR_STRINGIFY is defined here, and also in apr_general.h, so wrap it */
96
 
#ifndef APR_STRINGIFY
97
 
/** Properly quote a value as a string in the C preprocessor */
98
 
#define APR_STRINGIFY(n) APR_STRINGIFY_HELPER(n)
99
 
/** Helper macro for APR_STRINGIFY */
100
 
#define APR_STRINGIFY_HELPER(n) #n
101
 
#endif
102
 
 
103
 
/** The formatted string of APR's version */
104
 
#define APR_VERSION_STRING \
105
 
     APR_STRINGIFY(APR_MAJOR_VERSION) "." \
106
 
     APR_STRINGIFY(APR_MINOR_VERSION) "." \
107
 
     APR_STRINGIFY(APR_PATCH_VERSION) \
108
 
     APR_IS_DEV_STRING
109
 
 
110
 
/** An alternative formatted string of APR's version */
111
 
/* macro for Win32 .rc files using numeric csv representation */
112
 
#define APR_VERSION_STRING_CSV APR_MAJOR_VERSION ##, \
113
 
                             ##APR_MINOR_VERSION ##, \
114
 
                             ##APR_PATCH_VERSION
115
 
 
116
 
 
117
 
#ifndef APR_VERSION_ONLY
118
 
 
119
 
/* The C language API to access the version at run time, 
120
 
 * as opposed to compile time.  APR_VERSION_ONLY may be defined 
121
 
 * externally when preprocessing apr_version.h to obtain strictly 
122
 
 * the C Preprocessor macro declarations.
123
 
 */
124
 
 
125
 
#include "apr.h"
126
 
 
127
 
#ifdef __cplusplus
128
 
extern "C" {
129
 
#endif
130
 
 
131
 
/** 
132
 
 * The numeric version information is broken out into fields within this 
133
 
 * structure. 
134
 
 */
135
 
typedef struct {
136
 
    int major;      /**< major number */
137
 
    int minor;      /**< minor number */
138
 
    int patch;      /**< patch number */
139
 
    int is_dev;     /**< is development (1 or 0) */
140
 
} apr_version_t;
141
 
 
142
 
/**
143
 
 * Return APR's version information information in a numeric form.
144
 
 *
145
 
 *  @param pvsn Pointer to a version structure for returning the version
146
 
 *              information.
147
 
 */
148
 
APR_DECLARE(void) apr_version(apr_version_t *pvsn);
149
 
 
150
 
/** Return APR's version information as a string. */
151
 
APR_DECLARE(const char *) apr_version_string(void);
152
 
 
153
 
#ifdef __cplusplus
154
 
}
155
 
#endif
156
 
 
157
 
#endif /* ndef APR_VERSION_ONLY */
158
 
 
159
 
#endif /* ndef APR_VERSION_H */