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