Go to the documentation of this file. 1 #ifndef __XRDVERSIONPLUGIN_HH__
2 #define __XRDVERSIONPLUGIN_HH__
54 #define XrdVERSIONPLUGIN_DoNotChk -1
55 #define XrdVERSIONPLUGIN_Optional 0
56 #define XrdVERSIONPLUGIN_Required 1
58 #define XrdVERSIONPLUGIN_Rule(procMode, majorVer, minorVer, piSymbol)\
59 {#piSymbol, 0, 0, XrdVERSIONPLUGIN_##procMode, majorVer, minorVer},
87 #define XrdVERSIONPLUGINRULES \
88 XrdVERSIONPLUGIN_Rule(Required, 5, 0, SecEntityPin )\
89 XrdVERSIONPLUGIN_Rule(Required, 4, 8, TcpMonPin )\
90 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdAccAuthorizeObject )\
91 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdAccAuthorizeObjAdd )\
92 XrdVERSIONPLUGIN_Rule(Optional, 5, 0, XrdBwmPolicyObject )\
93 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdCksCalcInit )\
94 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdCksInit )\
95 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdCmsGetClient )\
96 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdCmsgetVnId )\
97 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdCmsPerfMonitor )\
98 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdCryptosslFactoryObject )\
99 XrdVERSIONPLUGIN_Rule(Optional, 5, 0, XrdPfcGetDecision )\
100 XrdVERSIONPLUGIN_Rule(DoNotChk, 5, 0, XrdgetProtocol )\
101 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdgetProtocolPort )\
102 XrdVERSIONPLUGIN_Rule(Required, 4, 0, XrdHttpGetSecXtractor )\
103 XrdVERSIONPLUGIN_Rule(Required, 4, 8, XrdHttpGetExtHandler )\
104 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdSysLogPInit )\
105 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdOfsAddPrepare )\
106 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdOfsFSctl )\
107 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdOfsgetPrepare )\
108 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdOssGetStorageSystem )\
109 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdOssAddStorageSystem2 )\
110 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdOssGetStorageSystem2 )\
111 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdOssStatInfoInit )\
112 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdOssStatInfoInit2 )\
113 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdOucGetCache )\
114 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdOucGetCache2 )\
115 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdOucCacheCMInit )\
116 XrdVERSIONPLUGIN_Rule(Optional, 5, 0, XrdOucgetName2Name )\
117 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdSecGetProtocol )\
118 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdSecgetService )\
119 XrdVERSIONPLUGIN_Rule(Optional, 5, 0, XrdSecgsiAuthzFun )\
120 XrdVERSIONPLUGIN_Rule(DoNotChk, 5, 0, XrdSecgsiAuthzInit )\
121 XrdVERSIONPLUGIN_Rule(DoNotChk, 5, 0, XrdSecgsiAuthzKey )\
122 XrdVERSIONPLUGIN_Rule(Optional, 5, 0, XrdSecgsiGMAPFun )\
123 XrdVERSIONPLUGIN_Rule(Optional, 5, 0, XrdSecgsiVOMSFun )\
124 XrdVERSIONPLUGIN_Rule(DoNotChk, 5, 0, XrdSecgsiVOMSInit )\
125 XrdVERSIONPLUGIN_Rule(DoNotChk, 5, 0, XrdSecProtocolgsiInit )\
126 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdSecProtocolgsiObject )\
127 XrdVERSIONPLUGIN_Rule(DoNotChk, 5, 0, XrdSecProtocolkrb5Init )\
128 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdSecProtocolkrb5Object )\
129 XrdVERSIONPLUGIN_Rule(DoNotChk, 5, 0, XrdSecProtocolpwdInit )\
130 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdSecProtocolpwdObject )\
131 XrdVERSIONPLUGIN_Rule(DoNotChk, 5, 0, XrdSecProtocolsssInit )\
132 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdSecProtocolsssObject )\
133 XrdVERSIONPLUGIN_Rule(DoNotChk, 5, 0, XrdSecProtocolunixInit )\
134 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdSecProtocolunixObject )\
135 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdSfsGetFileSystem )\
136 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdSfsGetFileSystem2 )\
137 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdSysAddXAttrObject )\
138 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdSysGetXAttrObject )\
139 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdClGetMonitor )\
140 XrdVERSIONPLUGIN_Rule(Required, 5, 0, XrdClGetPlugIn )\
143 #define XrdVERSIONPLUGIN_Maxim(procMode, majorVer, minorVer, piPfx, piSfx)\
144 {#piPfx #piSfx, static_cast<char>(strlen(#piPfx)),\
145 static_cast<char>(strlen(#piSfx)),\
146 XrdVERSIONPLUGIN_##procMode, majorVer, minorVer},
165 #define XrdVERSIONPLUGINMAXIMS\
166 XrdVERSIONPLUGIN_Maxim(DoNotChk, 4, 0, XrdSecProtocol, Init )\
167 XrdVERSIONPLUGIN_Maxim(Required, 4, 0, XrdSecProtocol, Object )\
168 XrdVERSIONPLUGIN_Maxim(Optional, 4, 0, XrdCrypto, FactoryObject)\
175 #define XrdVERSIONPLUGINSTRICT \
176 {"libXrdAccSciTokens.so", \
177 "libXrdBlacklistDecision.so", \
179 "libXrdCksCalczcrc32.so", \
180 "libXrdClProxyPlugin.so", \
181 "libXrdCmsRedirectLocal.so", \
182 "libXrdCryptossl.so", \
184 "libXrdHttpTPC.so", \
185 "libXrdMacaroons.so", \
187 "libXrdOssSIgpfsT.so", \
192 "libXrdSecgsiAUTHZVO.so", \
193 "libXrdSecgsiGMAPDN.so", \
194 "libXrdSecgsiVOMS.so", \
195 "libXrdSeckrb5.so", \
196 "libXrdSecProt.so", \
199 "libXrdSecunix.so", \
202 "libXrdThrottle.so", \
215 #define XrdVERSIONPLUGIN_Mapd(drctv, piSymbol)\
218 #define XrdVERSIONPLUGINMAPD2P\
219 XrdVERSIONPLUGIN_Mapd(ofs.authlib, XrdAccAuthorizeObject )\
220 XrdVERSIONPLUGIN_Mapd(bwm.policy, XrdBwmPolicyObject )\
221 XrdVERSIONPLUGIN_Mapd(ofs.ckslib, XrdCksInit )\
222 XrdVERSIONPLUGIN_Mapd(ofs.cmslib, XrdCmsGetClient )\
223 XrdVERSIONPLUGIN_Mapd(cms.vnid, XrdCmsgetVnId )\
224 XrdVERSIONPLUGIN_Mapd(cms.perf, XrdCmsPerfMonitor )\
225 XrdVERSIONPLUGIN_Mapd(pfc.decisionlib, XrdPfcGetDecision )\
226 XrdVERSIONPLUGIN_Mapd(xrd.protocol, XrdgetProtocol )\
227 XrdVERSIONPLUGIN_Mapd(http.secxtractor, XrdHttpGetSecXtractor )\
228 XrdVERSIONPLUGIN_Mapd(http.exthandler, XrdHttpGetExtHandler )\
229 XrdVERSIONPLUGIN_Mapd(@logging, XrdSysLogPInit )\
230 XrdVERSIONPLUGIN_Mapd(ofs.ctllib, XrdOfsFSctl )\
231 XrdVERSIONPLUGIN_Mapd(ofs.preplib, XrdOfsgetPrepare )\
232 XrdVERSIONPLUGIN_Mapd(ofs.osslib, XrdOssGetStorageSystem2 )\
233 XrdVERSIONPLUGIN_Mapd(oss.statlib, XrdOssStatInfoInit2 )\
234 XrdVERSIONPLUGIN_Mapd(pss.cachelib, XrdOucGetCache2 )\
235 XrdVERSIONPLUGIN_Mapd(pss.ccmlib, XrdOucCacheCMInit )\
236 XrdVERSIONPLUGIN_Mapd(oss.namelib, XrdOucgetName2Name )\
237 XrdVERSIONPLUGIN_Mapd(sec.protocol, XrdSecGetProtocol )\
238 XrdVERSIONPLUGIN_Mapd(xrootd.seclib, XrdSecgetService )\
239 XrdVERSIONPLUGIN_Mapd(gsi-authzfun, XrdSecgsiAuthzFun )\
240 XrdVERSIONPLUGIN_Mapd(gsi-gmapfun, XrdSecgsiGMAPFun )\
241 XrdVERSIONPLUGIN_Mapd(gsi-vomsfun, XrdSecgsiVOMSFun )\
242 XrdVERSIONPLUGIN_Mapd(sec.protocol-gsi, XrdSecProtocolgsiObject )\
243 XrdVERSIONPLUGIN_Mapd(sec.protocol-krb5,XrdSecProtocolkrb5Object )\
244 XrdVERSIONPLUGIN_Mapd(sec.protocol-pwd, XrdSecProtocolpwdObject )\
245 XrdVERSIONPLUGIN_Mapd(sec.protocol-sss, XrdSecProtocolsssObject )\
246 XrdVERSIONPLUGIN_Mapd(sec.protocol-unix,XrdSecProtocolunixObject )\
247 XrdVERSIONPLUGIN_Mapd(xrootd.fslib, XrdSfsGetFileSystem2 )\
248 XrdVERSIONPLUGIN_Mapd(ofs.xattrlib, XrdSysGetXAttrObject )\
249 XrdVERSIONPLUGIN_Mapd(xrdcl.monitor, XrdClGetMonitor )\
250 XrdVERSIONPLUGIN_Mapd(xrdcl.plugin, XrdClGetPlugIn )\
char vPfxLen
Generic rule prefix length.
Definition: XrdVersionPlugin.hh:39
char vSfxLen
Generic rule suffix length for preceeding.
Definition: XrdVersionPlugin.hh:40
Definition: XrdVersionPlugin.hh:211
short vMinLow
Lowest compatible minor (< 0 don't check).
Definition: XrdVersionPlugin.hh:43
short vMajLow
Lowest compatible major version number.
Definition: XrdVersionPlugin.hh:42
const char * pName
-> plugin object creator function name
Definition: XrdVersionPlugin.hh:38
const char * dName
-> plugin directive name
Definition: XrdVersionPlugin.hh:211
Definition: XrdVersionPlugin.hh:38
int vProcess
version: <0 skip, =0 optional, >0 required
Definition: XrdVersionPlugin.hh:41
const char * pName
-> plugin object creator function name
Definition: XrdVersionPlugin.hh:212