xrootd
Loading...
Searching...
No Matches
XrdLinkMatch.hh
Go to the documentation of this file.
1#ifndef __LINK_MATCH__
2#define __LINK_MATCH__
3/******************************************************************************/
4/* */
5/* X r d L i n k M a t c h . h h */
6/* */
7/* (c) 2005 by the Board of Trustees of the Leland Stanford, Jr., University */
8/* Produced by Andrew Hanushevsky for Stanford University under contract */
9/* DE-AC02-76-SFO0515 with the Department of Energy */
10/* */
11/* This file is part of the XRootD software suite. */
12/* */
13/* XRootD is free software: you can redistribute it and/or modify it under */
14/* the terms of the GNU Lesser General Public License as published by the */
15/* Free Software Foundation, either version 3 of the License, or (at your */
16/* option) any later version. */
17/* */
18/* XRootD is distributed in the hope that it will be useful, but WITHOUT */
19/* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */
20/* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public */
21/* License for more details. */
22/* */
23/* You should have received a copy of the GNU Lesser General Public License */
24/* along with XRootD in a file called COPYING.LESSER (LGPL license) and file */
25/* COPYING (GPL license). If not, see <http://www.gnu.org/licenses/>. */
26/* */
27/* The copyright holder's institutional names and contributor's names may not */
28/* be used to endorse or promote products derived from this software without */
29/* specific prior written permission of the institution or contributor. */
30/******************************************************************************/
31
32#include <cstring>
33
35{
36public:
37
38
39int Match(const char *uname, int unlen,
40 const char *hname, int hnlen);
41inline int Match(const char *uname, int unlen,
42 const char *hname)
43 {return Match(uname, unlen, hname, strlen(hname));}
44
45// Target: [<user>][*][@[<hostpfx>][*][<hostsfx>]]
46//
47 void Set(const char *target);
48
49 XrdLinkMatch(const char *target=0)
50 {Uname = HnameL = HnameR = 0;
51 Unamelen = Hnamelen = 0;
52 if (target) Set(target);
53 }
54
56
57private:
58
59char Buff[256];
61char *Uname;
63char *HnameL;
65char *HnameR;
67};
68#endif
Definition XrdLinkMatch.hh:35
void Set(const char *target)
char * HnameL
Definition XrdLinkMatch.hh:63
int Hnamelen
Definition XrdLinkMatch.hh:66
int Match(const char *uname, int unlen, const char *hname)
Definition XrdLinkMatch.hh:41
char * HnameR
Definition XrdLinkMatch.hh:65
int HnamelenR
Definition XrdLinkMatch.hh:64
int Match(const char *uname, int unlen, const char *hname, int hnlen)
~XrdLinkMatch()
Definition XrdLinkMatch.hh:55
char * Uname
Definition XrdLinkMatch.hh:61
int Unamelen
Definition XrdLinkMatch.hh:60
XrdLinkMatch(const char *target=0)
Definition XrdLinkMatch.hh:49
char Buff[256]
Definition XrdLinkMatch.hh:59
int HnamelenL
Definition XrdLinkMatch.hh:62