home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 November / CMCD1104.ISO / Software / Complet / Apache / apache_2.0.52-win32-x86-no_ssl.msi / Data.Cab / F277250_apu_version.h < prev    next >
C/C++ Source or Header  |  2004-02-13  |  3KB  |  105 lines

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