Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:15:43

0001 /******************************************************************************/
0002 /*                                                                            */
0003 /*                      X r d V e r s i o n . h h . i n                       */
0004 /*                                                                            */
0005 /* (c) 2012 by the Board of Trustees of the Leland Stanford, Jr., University  */
0006 /*                                                                            */
0007 /* This file is part of the XRootD software suite.                            */
0008 /*                                                                            */
0009 /* XRootD is free software: you can redistribute it and/or modify it under    */
0010 /* the terms of the GNU Lesser General Public License as published by the     */
0011 /* Free Software Foundation, either version 3 of the License, or (at your     */
0012 /* option) any later version.                                                 */
0013 /*                                                                            */
0014 /* XRootD is distributed in the hope that it will be useful, but WITHOUT      */
0015 /* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or      */
0016 /* FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public       */
0017 /* License for more details.                                                  */
0018 /*                                                                            */
0019 /* You should have received a copy of the GNU Lesser General Public License   */
0020 /* along with XRootD in a file called COPYING.LESSER (LGPL license) and file  */
0021 /* COPYING (GPL license).  If not, see <http://www.gnu.org/licenses/>.        */
0022 /*                                                                            */
0023 /* The copyright holder's institutional names and contributor's names may not */
0024 /* be used to endorse or promote products derived from this software without  */
0025 /* specific prior written permission of the institution or contributor.       */
0026 /******************************************************************************/
0027 
0028 #ifndef __XRD_VERSION_H__
0029 #define __XRD_VERSION_H__
0030 
0031 #define XrdVERSION  "v5.7.0"
0032 
0033 // Numeric representation of the version tag
0034 // The format for the released code is: xyyzz, where: x is the major version,
0035 // y is the minor version and zz is the bugfix revision number
0036 // For the non-released code the value is 1000000
0037 #define XrdVNUMUNK  1000000
0038 #define XrdVNUMBER  50700
0039 
0040 #if XrdDEBUG
0041 #define XrdVSTRING XrdVERSION "_dbg"
0042 #else
0043 #define XrdVSTRING XrdVERSION
0044 #endif
0045 
0046 // The following defines the shared library version number of any plug-in.
0047 // Generally, all plug-ins have a uniform version number releative to a
0048 // specific compilation. This version is appended to the so-name and for
0049 // dylibs becomes part of he actual filename (MacOS format).
0050 //
0051 #ifndef XRDPLUGIN_SOVERSION
0052 #define XRDPLUGIN_SOVERSION "5"
0053 #endif
0054 
0055 #define XrdDEFAULTPORT 1094;
0056 
0057 // The following macros extract version digits from a numeric version number
0058 #define XrdMajorVNUM(x) x/10000
0059 #define XrdMinorVNUM(x) x/100%100
0060 #define XrdPatchVNUM(x) x%100
0061 
0062 // The following structure defines the standard way to record a version. You can
0063 // determine component version numbers within an object file by simply executing
0064 // "strings <objectfile> | grep '@V:'".
0065 //
0066 struct XrdVersionInfo {int vNum; const char vOpt; const char vPfx[3];\
0067                                  const char vStr[64];};
0068 
0069 // Macro to define the suffix to use when generating the extern version symbol.
0070 // This is used by SysPlugin. We cannot use it here as cpp does not expand the
0071 // macro when catenating tokens togther and we want to avoid yet another macro.
0072 //
0073 #define XrdVERSIONINFOSFX "_"
0074 
0075 // The following macro defines a local copy of version information. Parameters:
0076 // x  -> The variable name of the version information structure
0077 // y  -> An unquoted 1- to 15-character component name (e.g. cmsd, seckrb5)
0078 // vn -> The integer version number to be used
0079 // vs -> The string  version number to be used
0080 //
0081 #define XrdVERSIONINFODEF(x,y,vn,vs) \
0082         XrdVersionInfo x = \
0083         {vn, (sizeof(#y)-1) & 0x0f,{'@','V',':'}, #y " " vs}
0084 
0085 // The following macro defines an externally referencable structure that records
0086 // the version used to compile code. It is used by the plugin loader. Parms:
0087 // x -> The variable name of the version information structure
0088 // y -> An unquoted 1- to 15-character component name (e.g. cmsd, seckrb5, etc).
0089 //
0090 #define XrdVERSIONINFO(x,y) \
0091         extern "C" {XrdVERSIONINFODEF(x##_,y,XrdVNUMBER,XrdVERSION);}
0092 
0093 // The following macro is an easy way to declare externally defined version
0094 // information. This macro must be used at file level.
0095 //
0096 #define XrdVERSIONINFOREF(x) extern "C" XrdVersionInfo x##_
0097 
0098 // The following macro can be used to reference externally defined version
0099 // information. As the composition of the symbolic name may change you should
0100 // use this macro to refer to the version information declaration.
0101 //
0102 #define XrdVERSIONINFOVAR(x) x##_
0103 #endif