56 bool operator()(
char const *a,
char const *b)
const
58 return strcmp(a, b) < 0;
69 const char *vType =
"Unknown";
80 if (vP->
vMinLow < 0) snprintf(buff,
sizeof(buff),
"%2d.x ", vP->
vMajLow);
81 else snprintf(buff,
sizeof(buff),
"%2d.%-2d", vP->
vMajLow, vP->
vMinLow);
85 std::cout <<vType <<
" >= "<<buff <<
' ' <<drctv <<std::endl;
92 int main(
int argc,
char *argv[])
96 std::map<const char *, XrdVersionPlugin*, cmp_str> vRules;
97 std::map<const char *, XrdVersionPlugin*, cmp_str> dRules;
98 std::map<const char *, XrdVersionPlugin*, cmp_str>::iterator itD, itV;
104 while(vInfo[i].pName)
105 {vRules[vInfo[i].
pName] = &vInfo[i];
112 while(dInfo[i].dName)
113 {itV = vRules.find(dInfo[i].pName);
114 dRules[dInfo[i].
dName] = (itV != dRules.end() ? itV->second : 0);
120 for (itD = dRules.begin(); itD != dRules.end(); itD++)
121 {
if (itD->second)
Display(itD->first, itD->second);
122 else std::cout <<
"No version rule present for " <<itD->first
int main(int argc, char *argv[])
void Display(const char *drctv, XrdVersionPlugin *vP)
#define XrdVERSIONPLUGIN_Optional
#define XrdVERSIONPLUGINRULES
int vProcess
version: <0 skip, =0 optional, >0 required
const char * dName
-> plugin directive name
#define XrdVERSIONPLUGIN_DoNotChk
const char * pName
-> plugin object creator function name
#define XrdVERSIONPLUGINMAPD2P
#define XrdVERSIONPLUGIN_Required
short vMajLow
Lowest compatible major version number.
short vMinLow
Lowest compatible minor (< 0 don't check).