1 #ifndef __OOUC_STREAM__
2 #define __OOUC_STREAM__
32 #include <sys/types.h>
36 #include "XrdSys/XrdWin32.hh"
58 if (varVal)
delete [] varVal;
59 if (llBuff) free(llBuff);
66 int Attach(
int FileDescriptor,
int bsz=2047);
67 int AttachIO(
int infd,
int outfd,
int bsz=2047);
71 void Close(
int hold=0);
76 int Detach() {
int oldFD = FD; FD = FE = -1;
return oldFD;}
88 void Echo(
bool capture);
105 int Exec(
const char *,
int inrd=0,
int efd=0);
106 int Exec(
char **,
int inrd=0,
int efd=0);
134 char *
GetToken(
char **rest,
int lowcase=0);
150 int GetRest(
char *theBuf,
int Blen,
int lowcase=0);
156 inline int isAlive() {
return (child ? kill(child,0) == 0 : 0);}
158 inline int isAlive() {
return (child ? 1 : 0);}
163 inline int LastError() {
int n = ecode; ecode = 0;
return n;}
176 int Put(
const char *data,
const int dlen);
177 inline int Put(
const char *data) {
return Put(data, strlen(data));}
182 int Put(
const char *data[],
const int dlen[]);
186 int PutLine(
const char *data,
int dlen=0);
192 {
XrdOucEnv *oldEnv = myEnv; myEnv = newEnv;
return oldEnv;}
201 void Tabs(
int x=1) {notabs = !x;}
219 static void Capture(
const char** cVec=0,
bool linefeed=
true);
235 void add2CFG(
const char *data,
bool isCMT=
false);
236 char *add2llB(
char *tok,
int reset=0);
240 bool docontF(
const char *path,
bool noentok=
false);
243 bool Echo(
int ec,
const char *t1,
const char *t2=0,
const char *t3=0);
244 int getValue(
const char *path,
char *vbuff,
int vbsz);
245 int isSet(
char *var);
246 char *vSubs(
char *Var);
247 int xMsg(
const char *txt1,
const char *txt2=0,
const char *txt3=0);
249 static const int maxVLen = 512;
250 static const int llBsz = 1024;
273 const char *llPrefix;
XrdOucStream(XrdSysError *erobj=0, const char *ifname=0, XrdOucEnv *anEnv=0, const char *Pfx=0)
char * GetMyFirstWord(int lowcase=0)
int PutLine(const char *data, int dlen=0)
static XrdOucString * Capture()
char * GetFirstWord(int lowcase=0)
char * GetWord(int lowcase=0)
int Put(const char *data)
int Attach(int FileDescriptor, int bsz=2047)
int AttachIO(int infd, int outfd, int bsz=2047)
int Put(const char *data, const int dlen)
int Exec(const char *, int inrd=0, int efd=0)
int Wait4Data(int msMax=-1)
void SetEroute(XrdSysError *eroute)
XrdOucEnv * SetEnv(XrdOucEnv *newEnv)
char * GetToken(int lowcase=0)
int GetRest(char *theBuf, int Blen, int lowcase=0)