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