xrootd
|
00001 #ifndef _XRD_CONFIG_H 00002 #define _XRD_CONFIG_H 00003 /******************************************************************************/ 00004 /* */ 00005 /* X r d C o n f i g . h h */ 00006 /* */ 00007 /* (C) 2004 by the Board of Trustees of the Leland Stanford, Jr., University */ 00008 /* All Rights Reserved. See XrdInfo.cc for complete License Terms */ 00009 /* Produced by Andrew Hanushevsky for Stanford University under contract */ 00010 /* DE-AC03-76-SFO0515 with the Deprtment of Energy */ 00011 /******************************************************************************/ 00012 00013 // $Id$ 00014 00015 #include "Xrd/XrdProtocol.hh" 00016 00017 class XrdNetSecurity; 00018 class XrdOucStream; 00019 class XrdConfigProt; 00020 00021 class XrdConfig 00022 { 00023 public: 00024 00025 int Configure(int argc, char **argv); 00026 00027 int ConfigXeq(char *var, XrdOucStream &Config, XrdSysError *eDest=0); 00028 00029 XrdConfig(); 00030 ~XrdConfig() {} 00031 00032 private: 00033 00034 int ASocket(const char *path, const char *fname, mode_t mode); 00035 int ConfigProc(void); 00036 int getUG(char *parm, uid_t &theUid, gid_t &theGid); 00037 int setFDL(); 00038 int Setup(char *dfltp); 00039 void Usage(int rc); 00040 int xallow(XrdSysError *edest, XrdOucStream &Config); 00041 int xapath(XrdSysError *edest, XrdOucStream &Config); 00042 int xbuf(XrdSysError *edest, XrdOucStream &Config); 00043 int xnet(XrdSysError *edest, XrdOucStream &Config); 00044 int xlog(XrdSysError *edest, XrdOucStream &Config); 00045 int xport(XrdSysError *edest, XrdOucStream &Config); 00046 int xprot(XrdSysError *edest, XrdOucStream &Config); 00047 int xrep(XrdSysError *edest, XrdOucStream &Config); 00048 int xsched(XrdSysError *edest, XrdOucStream &Config); 00049 int xtrace(XrdSysError *edest, XrdOucStream &Config); 00050 int xtmo(XrdSysError *edest, XrdOucStream &Config); 00051 int yport(XrdSysError *edest, const char *ptyp, const char *pval); 00052 00053 static const char *TraceID; 00054 00055 XrdProtocol_Config ProtInfo; 00056 XrdNetSecurity *Police; 00057 const char *myProg; 00058 const char *myName; 00059 const char *myDomain; 00060 const char *myInsName; 00061 char *myInstance; 00062 char *AdminPath; 00063 char *ConfigFN; 00064 char *repDest[2]; 00065 XrdConfigProt *Firstcp; 00066 XrdConfigProt *Lastcp; 00067 int Net_Blen; 00068 int Net_Opts; 00069 int Wan_Blen; 00070 int Wan_Opts; 00071 00072 int PortTCP; // TCP Port to listen on 00073 int PortUDP; // UDP Port to listen on (currently unsupported) 00074 int PortWAN; // TCP port to listen on for WAN connections 00075 int AdminMode; 00076 int repInt; 00077 char repOpts; 00078 char isProxy; 00079 char setSched; 00080 }; 00081 #endif