00001 #ifndef __XRDVERSIONPLUGIN_HH__
00002 #define __XRDVERSIONPLUGIN_HH__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 struct XrdVersionPlugin
00038 {const char *pName;
00039 char vPfxLen;
00040 char vSfxLen;
00041 int vProcess;
00042 short vMajLow;
00043 short vMinLow;
00044 };
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054 #define XrdVERSIONPLUGIN_DoNotChk -1
00055 #define XrdVERSIONPLUGIN_Optional 0
00056 #define XrdVERSIONPLUGIN_Required 1
00057
00058 #define XrdVERSIONPLUGIN_Rule(procMode, majorVer, minorVer, piSymbol)\
00059 {#piSymbol, 0, 0, XrdVERSIONPLUGIN_##procMode, majorVer, minorVer},
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088 #define XrdVERSIONPLUGINRULES \
00089 XrdVERSIONPLUGIN_Rule(Required, 4, 0, XrdAccAuthorizeObject )\
00090 XrdVERSIONPLUGIN_Rule(Optional, 4, 0, XrdBwmPolicyObject )\
00091 XrdVERSIONPLUGIN_Rule(Required, 4, 0, XrdCksCalcInit )\
00092 XrdVERSIONPLUGIN_Rule(Required, 4, 0, XrdCksInit )\
00093 XrdVERSIONPLUGIN_Rule(Required, 4, 0, XrdCmsGetClient )\
00094 XrdVERSIONPLUGIN_Rule(Required, 4, 0, XrdCryptosslFactoryObject )\
00095 XrdVERSIONPLUGIN_Rule(Optional, 4, 0, XrdFileCacheGetDecision )\
00096 XrdVERSIONPLUGIN_Rule(DoNotChk, 4, 0, XrdgetProtocol )\
00097 XrdVERSIONPLUGIN_Rule(Required, 4, 0, XrdgetProtocolPort )\
00098 XrdVERSIONPLUGIN_Rule(Optional, 4, 0, XrdHttpGetSecXtractor )\
00099 XrdVERSIONPLUGIN_Rule(Required, 4, 0, XrdSysLogPInit )\
00100 XrdVERSIONPLUGIN_Rule(Required, 4, 0, XrdOssGetStorageSystem )\
00101 XrdVERSIONPLUGIN_Rule(Required, 4, 0, XrdOssStatInfoInit )\
00102 XrdVERSIONPLUGIN_Rule(Required, 4, 0, XrdOucGetCache )\
00103 XrdVERSIONPLUGIN_Rule(Optional, 4, 0, XrdOucgetName2Name )\
00104 XrdVERSIONPLUGIN_Rule(Required, 4, 0, XrdSecGetProtocol )\
00105 XrdVERSIONPLUGIN_Rule(Required, 4, 0, XrdSecgetService )\
00106 XrdVERSIONPLUGIN_Rule(Optional, 4, 0, XrdSecgsiAuthzFun )\
00107 XrdVERSIONPLUGIN_Rule(DoNotChk, 4, 0, XrdSecgsiAuthzInit )\
00108 XrdVERSIONPLUGIN_Rule(DoNotChk, 4, 0, XrdSecgsiAuthzKey )\
00109 XrdVERSIONPLUGIN_Rule(Optional, 4, 0, XrdSecgsiGMAPFun )\
00110 XrdVERSIONPLUGIN_Rule(Optional, 4, 0, XrdSecgsiVOMSFun )\
00111 XrdVERSIONPLUGIN_Rule(DoNotChk, 4, 0, XrdSecgsiVOMSInit )\
00112 XrdVERSIONPLUGIN_Rule(DoNotChk, 4, 0, XrdSecProtocolgsiInit )\
00113 XrdVERSIONPLUGIN_Rule(Required, 4, 0, XrdSecProtocolgsiObject )\
00114 XrdVERSIONPLUGIN_Rule(DoNotChk, 4, 0, XrdSecProtocolkrb5Init )\
00115 XrdVERSIONPLUGIN_Rule(Required, 4, 0, XrdSecProtocolkrb5Object )\
00116 XrdVERSIONPLUGIN_Rule(DoNotChk, 4, 0, XrdSecProtocolpwdInit )\
00117 XrdVERSIONPLUGIN_Rule(Required, 4, 0, XrdSecProtocolpwdObject )\
00118 XrdVERSIONPLUGIN_Rule(DoNotChk, 4, 0, XrdSecProtocolsssInit )\
00119 XrdVERSIONPLUGIN_Rule(Required, 4, 0, XrdSecProtocolsssObject )\
00120 XrdVERSIONPLUGIN_Rule(DoNotChk, 4, 0, XrdSecProtocolunixInit )\
00121 XrdVERSIONPLUGIN_Rule(Required, 4, 0, XrdSecProtocolunixObject )\
00122 XrdVERSIONPLUGIN_Rule(Required, 4, 0, XrdSfsGetFileSystem )\
00123 XrdVERSIONPLUGIN_Rule(Required, 4, 0, XrdSfsGetFileSystem2 )\
00124 XrdVERSIONPLUGIN_Rule(Required, 4, 0, XrdSysGetXAttrObject )\
00125 XrdVERSIONPLUGIN_Rule(Required, 4, 0, XrdClGetMonitor )\
00126 XrdVERSIONPLUGIN_Rule(Required, 4, 0, XrdClGetPlugIn )\
00127 XrdVERSIONPLUGIN_Rule(Required, 4, 4, secxtractorlib )\
00128 { 0, 0, 0, 0, 0, 0}
00129
00130 #define XrdVERSIONPLUGIN_Maxim(procMode, majorVer, minorVer, piPfx, piSfx)\
00131 {#piPfx #piSfx, static_cast<char>(strlen(#piPfx)),\
00132 static_cast<char>(strlen(#piSfx)),\
00133 XrdVERSIONPLUGIN_##procMode, majorVer, minorVer},
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152 #define XrdVERSIONPLUGINMAXIMS\
00153 XrdVERSIONPLUGIN_Maxim(DoNotChk, 4, 0, XrdSecProtocol, Init )\
00154 XrdVERSIONPLUGIN_Maxim(Required, 4, 0, XrdSecProtocol, Object )\
00155 XrdVERSIONPLUGIN_Maxim(Optional, 4, 0, XrdCrypto, FactoryObject)\
00156 { 0, 0, 0, 0, 0, 0}
00157
00158
00159
00160
00161
00162 #define XrdVERSIONPLUGINSTRICT \
00163 {"libXrdBwm.so", \
00164 "libXrdCksCalczcrc32.so", \
00165 "libXrdCryptossl.so", \
00166 "libXrdFileCache.so", \
00167 "libXrdHttp.so", \
00168 "libXrdOssSIgpfsT.so", \
00169 "libXrdPss.so", \
00170 "libXrdSec.so", \
00171 "libXrdSecgsi.so", \
00172 "libXrdSecgsiAUTHZVO.so", \
00173 "libXrdSecgsiGMAPDLAP.so", \
00174 "libXrdSecgsiGMAPLDAP.so", \
00175 "libXrdSeckrb5.so", \
00176 "libXrdSecpwd.so", \
00177 "libXrdSecsss.so", \
00178 "libXrdSecunix.so", \
00179 "libXrdXrootd.so", \
00180 0}
00181 #endif