XRootD
Loading...
Searching...
No Matches
XrdConfig.hh
Go to the documentation of this file.
1
#ifndef _XRD_CONFIG_H
2
#define _XRD_CONFIG_H
3
/******************************************************************************/
4
/* */
5
/* X r d C o n f i g . h h */
6
/* */
7
/* (C) 2004 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 Deprtment 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 <vector>
33
34
#include "
Xrd/XrdProtLoad.hh
"
35
#include "
Xrd/XrdProtocol.hh
"
36
37
#include <sys/types.h>
38
39
class
XrdSysError
;
40
class
XrdTcpMonInfo
;
41
class
XrdNetSecurity
;
42
class
XrdOucStream
;
43
class
XrdInet
;
44
class
XrdConfigProt
;
45
46
class
XrdConfig
47
{
48
public
:
49
50
int
Configure
(
int
argc,
char
**argv);
51
52
int
ConfigXeq
(
char
*var,
XrdOucStream
&Config,
XrdSysError
*
eDest
=0);
53
54
XrdConfig
();
55
~XrdConfig
() {}
56
57
XrdProtocol_Config
ProtInfo
;
58
XrdInet
*
NetADM
;
59
std::vector<XrdInet*>
NetTCP
;
60
61
private
:
62
63
int
ASocket(
const
char
*path,
const
char
*fname, mode_t mode);
64
int
ConfigProc(
void
);
65
XrdInet
*getNet(
int
port,
bool
isTLS);
66
int
getUG(
char
*parm, uid_t &theUid, gid_t &theGid);
67
void
Manifest(
const
char
*pidfn);
68
bool
PidFile(
const
char
*clpFN,
bool
optbg);
69
void
setCFG(
bool
start);
70
int
setFDL();
71
int
Setup(
char
*dfltp,
char
*libProt);
72
int
SetupAPath();
73
bool
SetupTLS();
74
void
Usage(
int
rc);
75
int
xallow(
XrdSysError
*edest,
XrdOucStream
&Config);
76
int
xapath(
XrdSysError
*edest,
XrdOucStream
&Config);
77
int
xhpath(
XrdSysError
*edest,
XrdOucStream
&Config);
78
int
xbuf(
XrdSysError
*edest,
XrdOucStream
&Config);
79
int
xmaxfd(
XrdSysError
*edest,
XrdOucStream
&Config);
80
int
xnet(
XrdSysError
*edest,
XrdOucStream
&Config);
81
int
xnkap(
XrdSysError
*edest,
char
*val);
82
int
xlog(
XrdSysError
*edest,
XrdOucStream
&Config);
83
int
xpidf(
XrdSysError
*edest,
XrdOucStream
&Config);
84
int
xport(
XrdSysError
*edest,
XrdOucStream
&Config);
85
int
xprot(
XrdSysError
*edest,
XrdOucStream
&Config);
86
int
xrep(
XrdSysError
*edest,
XrdOucStream
&Config);
87
int
xsched(
XrdSysError
*edest,
XrdOucStream
&Config);
88
int
xsit(
XrdSysError
*edest,
XrdOucStream
&Config);
89
int
xtcpmon(
XrdSysError
*edest,
XrdOucStream
&Config);
90
int
xtls(
XrdSysError
*edest,
XrdOucStream
&Config);
91
int
xtlsca(
XrdSysError
*edest,
XrdOucStream
&Config);
92
int
xtlsci(
XrdSysError
*edest,
XrdOucStream
&Config);
93
int
xtrace(
XrdSysError
*edest,
XrdOucStream
&Config);
94
int
xtmo(
XrdSysError
*edest,
XrdOucStream
&Config);
95
96
static
const
char
*TraceID;
97
XrdNetSecurity
*Police;
98
XrdTcpMonInfo
*tmoInfo;
99
const
char
*myProg;
100
const
char
*myName;
101
const
char
*myDomain;
102
const
char
*mySitName;
103
const
char
*myInsName;
104
char
*myInstance;
105
char
*AdminPath;
106
char
*HomePath;
107
char
*PidPath;
108
char
*tlsCert;
109
char
*tlsKey;
110
char
*caDir;
111
char
*caFile;
112
char
*ConfigFN;
113
char
*repDest[2];
114
XrdConfigProt
*Firstcp;
115
XrdConfigProt
*Lastcp;
116
int
Net_Blen;
117
int
Net_Opts;
118
int
TLS_Blen;
119
int
TLS_Opts;
120
121
int
PortTCP;
// TCP Port to listen on
122
int
PortUDP;
// UDP Port to listen on (currently unsupported)
123
int
PortTLS;
// TCP port to listen on for TLS connections
124
125
int
AdminMode;
126
int
HomeMode;
127
int
repInt;
128
129
uint64_t tlsOpts;
130
bool
tlsNoVer;
131
bool
tlsNoCAD;
132
133
char
repOpts;
134
char
ppNet;
135
signed
char
coreV;
136
char
Specs;
137
static
const
int
hpSpec = 0x01;
138
139
bool
isStrict;
140
unsigned
int
maxFD;
141
};
142
#endif
eDest
static XrdSysError eDest(0,"crypto_")
XrdProtLoad.hh
XrdProtocol.hh
XrdConfigProt
Definition
XrdConfig.cc:170
XrdConfig
Definition
XrdConfig.hh:47
XrdConfig::~XrdConfig
~XrdConfig()
Definition
XrdConfig.hh:55
XrdConfig::ProtInfo
XrdProtocol_Config ProtInfo
Definition
XrdConfig.hh:57
XrdConfig::NetADM
XrdInet * NetADM
Definition
XrdConfig.hh:58
XrdConfig::XrdConfig
XrdConfig()
Definition
XrdConfig.cc:245
XrdConfig::NetTCP
std::vector< XrdInet * > NetTCP
Definition
XrdConfig.hh:59
XrdConfig::ConfigXeq
int ConfigXeq(char *var, XrdOucStream &Config, XrdSysError *eDest=0)
Definition
XrdConfig.cc:794
XrdConfig::Configure
int Configure(int argc, char **argv)
Definition
XrdConfig.cc:318
XrdInet
Definition
XrdInet.hh:48
XrdNetSecurity
Definition
XrdNetSecurity.hh:44
XrdOucStream
Definition
XrdOucStream.hh:47
XrdProtocol_Config
Definition
XrdProtocol.hh:56
XrdSysError
Definition
XrdSysError.hh:90
XrdTcpMonInfo
Definition
XrdConfig.cc:227
Xrd
XrdConfig.hh
Generated by
1.9.8