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, 5, 0, SecEntityPin )\
00090 XrdVERSIONPLUGIN_Rule(Required, 5, 0, TcpMonPin )\
00091 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdAccAuthorizeObject )\
00092 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdAccAuthorizeObjAdd )\
00093 XrdVERSIONPLUGIN_Rule(Optional, 5, 0, XrdBwmPolicyObject )\
00094 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdCksCalcInit )\
00095 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdCksInit )\
00096 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdCmsGetClient )\
00097 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdCmsgetVnId )\
00098 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdCmsPerfMonitor )\
00099 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdCryptosslFactoryObject )\
00100 XrdVERSIONPLUGIN_Rule(Optional, 5, 0, XrdPfcGetDecision )\
00101 XrdVERSIONPLUGIN_Rule(DoNotChk, 5, 0, XrdgetProtocol )\
00102 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdgetProtocolPort )\
00103 XrdVERSIONPLUGIN_Rule(Required, 4, 0, XrdHttpGetSecXtractor )\
00104 XrdVERSIONPLUGIN_Rule(Required, 4, 8, XrdHttpGetExtHandler )\
00105 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdSysLogPInit )\
00106 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdOfsAddPrepare )\
00107 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdOfsFSctl )\
00108 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdOfsgetPrepare )\
00109 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdOssGetStorageSystem )\
00110 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdOssAddStorageSystem2 )\
00111 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdOssGetStorageSystem2 )\
00112 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdOssStatInfoInit )\
00113 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdOssStatInfoInit2 )\
00114 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdOucGetCache )\
00115 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdOucGetCache2 )\
00116 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdOucCacheCMInit )\
00117 XrdVERSIONPLUGIN_Rule(Optional, 5, 0, XrdOucgetName2Name )\
00118 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdSecGetProtocol )\
00119 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdSecgetService )\
00120 XrdVERSIONPLUGIN_Rule(Optional, 5, 0, XrdSecgsiAuthzFun )\
00121 XrdVERSIONPLUGIN_Rule(DoNotChk, 5, 0, XrdSecgsiAuthzInit )\
00122 XrdVERSIONPLUGIN_Rule(DoNotChk, 5, 0, XrdSecgsiAuthzKey )\
00123 XrdVERSIONPLUGIN_Rule(Optional, 5, 0, XrdSecgsiGMAPFun )\
00124 XrdVERSIONPLUGIN_Rule(Optional, 5, 0, XrdSecgsiVOMSFun )\
00125 XrdVERSIONPLUGIN_Rule(DoNotChk, 5, 0, XrdSecgsiVOMSInit )\
00126 XrdVERSIONPLUGIN_Rule(DoNotChk, 5, 0, XrdSecProtocolgsiInit )\
00127 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdSecProtocolgsiObject )\
00128 XrdVERSIONPLUGIN_Rule(DoNotChk, 5, 0, XrdSecProtocolkrb5Init )\
00129 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdSecProtocolkrb5Object )\
00130 XrdVERSIONPLUGIN_Rule(DoNotChk, 5, 0, XrdSecProtocolpwdInit )\
00131 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdSecProtocolpwdObject )\
00132 XrdVERSIONPLUGIN_Rule(DoNotChk, 5, 0, XrdSecProtocolsssInit )\
00133 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdSecProtocolsssObject )\
00134 XrdVERSIONPLUGIN_Rule(DoNotChk, 5, 0, XrdSecProtocolunixInit )\
00135 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdSecProtocolunixObject )\
00136 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdSfsGetFileSystem )\
00137 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdSfsGetFileSystem2 )\
00138 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdSysAddXAttrObject )\
00139 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdSysGetXAttrObject )\
00140 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdClGetMonitor )\
00141 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdClGetPlugIn )\
00142 { 0, 0, 0, 0, 0, 0}
00143
00144 #define XrdVERSIONPLUGIN_Maxim(procMode, majorVer, minorVer, piPfx, piSfx)\
00145 {#piPfx #piSfx, static_cast<char>(strlen(#piPfx)),\
00146 static_cast<char>(strlen(#piSfx)),\
00147 XrdVERSIONPLUGIN_##procMode, majorVer, minorVer},
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166 #define XrdVERSIONPLUGINMAXIMS\
00167 XrdVERSIONPLUGIN_Maxim(DoNotChk, 4, 0, XrdSecProtocol, Init )\
00168 XrdVERSIONPLUGIN_Maxim(Required, 4, 0, XrdSecProtocol, Object )\
00169 XrdVERSIONPLUGIN_Maxim(Optional, 4, 0, XrdCrypto, FactoryObject)\
00170 { 0, 0, 0, 0, 0, 0}
00171
00172
00173
00174
00175
00176 #define XrdVERSIONPLUGINSTRICT \
00177 {"libXrdBlacklistDecision.so", \
00178 "libXrdBwm.so", \
00179 "libXrdCksCalczcrc32.so", \
00180 "libXrdClProxyPlugin.so", \
00181 "libXrdCmsRedirectLocal.so", \
00182 "libXrdCryptossl.so", \
00183 "libXrdHttp.so", \
00184 "libXrdHttpTPC.so", \
00185 "libXrdMacaroons.so", \
00186 "libXrdN2No2p.so", \
00187 "libXrdOssSIgpfsT.so", \
00188 "libXrdPfc.so", \
00189 "libXrdPss.so", \
00190 "libXrdSec.so", \
00191 "libXrdSecgsi.so", \
00192 "libXrdSecgsiAUTHZVO.so", \
00193 "libXrdSecgsiGMAPDN.so", \
00194 "libXrdSecgsiVOMS.so", \
00195 "libXrdSeckrb5.so", \
00196 "libXrdSecProt.so", \
00197 "libXrdSecpwd.so", \
00198 "libXrdSecsss.so", \
00199 "libXrdSecunix.so", \
00200 "libXrdSsi.so", \
00201 "libXrdSsiLog.so", \
00202 "libXrdThrottle.so", \
00203 "libXrdVoms.so", \
00204 "libXrdXrootd.so", \
00205 0}
00206
00207
00208
00209
00210 struct XrdVersionMapD2P
00211 {const char *dName;
00212 const char *pName;
00213 };
00214
00215 #define XrdVERSIONPLUGIN_Mapd(drctv, piSymbol)\
00216 {#drctv, #piSymbol},
00217
00218 #define XrdVERSIONPLUGINMAPD2P\
00219 XrdVERSIONPLUGIN_Mapd(ofs.authlib, XrdAccAuthorizeObject )\
00220 XrdVERSIONPLUGIN_Mapd(bwm.policy, XrdBwmPolicyObject )\
00221 XrdVERSIONPLUGIN_Mapd(ofs.ckslib, XrdCksInit )\
00222 XrdVERSIONPLUGIN_Mapd(ofs.cmslib, XrdCmsGetClient )\
00223 XrdVERSIONPLUGIN_Mapd(cms.vnid, XrdCmsgetVnId )\
00224 XrdVERSIONPLUGIN_Mapd(cms.perf, XrdCmsPerfMonitor )\
00225 XrdVERSIONPLUGIN_Mapd(pfc.decisionlib, XrdPfcGetDecision )\
00226 XrdVERSIONPLUGIN_Mapd(xrd.protocol, XrdgetProtocol )\
00227 XrdVERSIONPLUGIN_Mapd(http.secxtractor, XrdHttpGetSecXtractor )\
00228 XrdVERSIONPLUGIN_Mapd(http.exthandler, XrdHttpGetExtHandler )\
00229 XrdVERSIONPLUGIN_Mapd(@logging, XrdSysLogPInit )\
00230 XrdVERSIONPLUGIN_Mapd(ofs.ctllib, XrdOfsFSctl )\
00231 XrdVERSIONPLUGIN_Mapd(ofs.preplib, XrdOfsgetPrepare )\
00232 XrdVERSIONPLUGIN_Mapd(ofs.osslib, XrdOssGetStorageSystem2 )\
00233 XrdVERSIONPLUGIN_Mapd(oss.statlib, XrdOssStatInfoInit2 )\
00234 XrdVERSIONPLUGIN_Mapd(pss.cachelib, XrdOucGetCache2 )\
00235 XrdVERSIONPLUGIN_Mapd(pss.ccmlib, XrdOucCacheCMInit )\
00236 XrdVERSIONPLUGIN_Mapd(oss.namelib, XrdOucgetName2Name )\
00237 XrdVERSIONPLUGIN_Mapd(sec.protocol, XrdSecGetProtocol )\
00238 XrdVERSIONPLUGIN_Mapd(xrootd.seclib, XrdSecgetService )\
00239 XrdVERSIONPLUGIN_Mapd(gsi-authzfun, XrdSecgsiAuthzFun )\
00240 XrdVERSIONPLUGIN_Mapd(gsi-gmapfun, XrdSecgsiGMAPFun )\
00241 XrdVERSIONPLUGIN_Mapd(gsi-vomsfun, XrdSecgsiVOMSFun )\
00242 XrdVERSIONPLUGIN_Mapd(sec.protocol-gsi, XrdSecProtocolgsiObject )\
00243 XrdVERSIONPLUGIN_Mapd(sec.protocol-krb5,XrdSecProtocolkrb5Object )\
00244 XrdVERSIONPLUGIN_Mapd(sec.protocol-pwd, XrdSecProtocolpwdObject )\
00245 XrdVERSIONPLUGIN_Mapd(sec.protocol-sss, XrdSecProtocolsssObject )\
00246 XrdVERSIONPLUGIN_Mapd(sec.protocol-unix,XrdSecProtocolunixObject )\
00247 XrdVERSIONPLUGIN_Mapd(xrootd.fslib, XrdSfsGetFileSystem2 )\
00248 XrdVERSIONPLUGIN_Mapd(ofs.xattrlib, XrdSysGetXAttrObject )\
00249 XrdVERSIONPLUGIN_Mapd(xrdcl.monitor, XrdClGetMonitor )\
00250 XrdVERSIONPLUGIN_Mapd(xrdcl.plugin, XrdClGetPlugIn )\
00251 { 0, 0}
00252 #endif