GME
13
|
00001 00027 #ifndef SVN_VERSION_H 00028 #define SVN_VERSION_H 00029 00030 /* Hack to prevent the resource compiler from including 00031 apr_general.h. It doesn't resolve the include paths 00032 correctly and blows up without this. 00033 */ 00034 #ifndef APR_STRINGIFY 00035 #include <apr_general.h> 00036 #endif 00037 #include <apr_tables.h> 00038 00039 #include "svn_types.h" 00040 00041 #ifdef __cplusplus 00042 extern "C" { 00043 #endif /* __cplusplus */ 00044 00045 00046 /* Symbols that define the version number. */ 00047 00048 /* Version numbers: <major>.<minor>.<micro> 00049 * 00050 * The version numbers in this file follow the rules established by: 00051 * 00052 * http://apr.apache.org/versioning.html 00053 */ 00054 00059 #define SVN_VER_MAJOR 1 00060 00066 #define SVN_VER_MINOR 8 00067 00075 #define SVN_VER_PATCH 3 00076 00077 00079 #define SVN_VER_MICRO SVN_VER_PATCH 00080 00082 #define SVN_VER_LIBRARY SVN_VER_MAJOR 00083 00084 00098 #define SVN_VER_TAG " (r1516576)" 00099 00100 00113 #define SVN_VER_NUMTAG "" 00114 00115 00124 #define SVN_VER_REVISION 1516576 00125 00126 00127 /* Version strings composed from the above definitions. */ 00128 00130 #define SVN_VER_NUM APR_STRINGIFY(SVN_VER_MAJOR) \ 00131 "." APR_STRINGIFY(SVN_VER_MINOR) \ 00132 "." APR_STRINGIFY(SVN_VER_PATCH) 00133 00135 #define SVN_VER_NUMBER SVN_VER_NUM SVN_VER_NUMTAG 00136 00138 #define SVN_VERSION SVN_VER_NUMBER SVN_VER_TAG 00139 00140 00141 00142 /* Version queries and compatibility checks */ 00143 00151 struct svn_version_t 00152 { 00153 int major; 00154 int minor; 00155 int patch; 00161 const char *tag; 00162 }; 00163 00169 #define SVN_VERSION_DEFINE(name) \ 00170 static const svn_version_t name = \ 00171 { \ 00172 SVN_VER_MAJOR, \ 00173 SVN_VER_MINOR, \ 00174 SVN_VER_PATCH, \ 00175 SVN_VER_NUMTAG \ 00176 } \ 00177 00178 00183 #define SVN_VERSION_BODY \ 00184 SVN_VERSION_DEFINE(versioninfo); \ 00185 return &versioninfo 00186 00199 svn_boolean_t 00200 svn_ver_compatible(const svn_version_t *my_version, 00201 const svn_version_t *lib_version); 00202 00208 svn_boolean_t 00209 svn_ver_equal(const svn_version_t *my_version, 00210 const svn_version_t *lib_version); 00211 00212 00219 typedef struct svn_version_checklist_t 00220 { 00221 const char *label; 00224 const svn_version_t *(*version_query)(void); 00225 } svn_version_checklist_t; 00226 00227 00237 svn_error_t * 00238 svn_ver_check_list(const svn_version_t *my_version, 00239 const svn_version_checklist_t *checklist); 00240 00241 00247 typedef const svn_version_t *(*svn_version_func_t)(void); 00248 00249 00250 /* libsvn_subr doesn't have an svn_subr header, so put the prototype here. */ 00256 const svn_version_t * 00257 svn_subr_version(void); 00258 00259 00265 typedef struct svn_version_extended_t svn_version_extended_t; 00266 00275 const svn_version_extended_t * 00276 svn_version_extended(svn_boolean_t verbose, 00277 apr_pool_t *pool); 00278 00279 00288 const char * 00289 svn_version_ext_build_date(const svn_version_extended_t *ext_info); 00290 00299 const char * 00300 svn_version_ext_build_time(const svn_version_extended_t *ext_info); 00301 00313 const char * 00314 svn_version_ext_build_host(const svn_version_extended_t *ext_info); 00315 00323 const char * 00324 svn_version_ext_copyright(const svn_version_extended_t *ext_info); 00325 00337 const char * 00338 svn_version_ext_runtime_host(const svn_version_extended_t *ext_info); 00339 00349 const char * 00350 svn_version_ext_runtime_osname(const svn_version_extended_t *ext_info); 00351 00359 typedef struct svn_version_ext_linked_lib_t 00360 { 00361 const char *name; 00362 const char *compiled_version; 00363 const char *runtime_version; 00364 } svn_version_ext_linked_lib_t; 00365 00374 const apr_array_header_t * 00375 svn_version_ext_linked_libs(const svn_version_extended_t *ext_info); 00376 00377 00385 typedef struct svn_version_ext_loaded_lib_t 00386 { 00387 const char *name; 00388 const char *version; 00389 } svn_version_ext_loaded_lib_t; 00390 00391 00403 const apr_array_header_t * 00404 svn_version_ext_loaded_libs(const svn_version_extended_t *ext_info); 00405 00406 00407 #ifdef __cplusplus 00408 } 00409 #endif /* __cplusplus */ 00410 00411 #endif /* SVN_VERSION_H */