36 #include "XrdSys/XrdWin32.hh"
40 #include <netinet/in.h>
41 #include <sys/types.h>
56 int eNow =
static_cast<int>(time(0)), myPid =
static_cast<int>(getpid());
60 snprintf(xbuff,
sizeof(xbuff)-1,
"%08X:%08x.%%d", myPid, eNow);
61 reqFMT = strdup(xbuff);
63 reqPFX = strdup(xbuff);
73 char ybuff[256], xbuff[512];
75 int n, eNow =
static_cast<unsigned int>(time(0));
80 n = sprintf(ybuff,
"%04X%08X", myPort, eNow);
81 reqPFX = strdup(ybuff);
91 snprintf(xbuff,
sizeof(xbuff)-1,
"%s:%08x.%08x:%%d", ybuff, pHash, eNow);
92 reqFMT = strdup(xbuff);
110 if (!strncmp(reqPFX,reqid,reqPFXlen) && (cp = index(reqid,
':')))
return cp+1;
120 if (thePort <= 0)
return 0;
125 || !(theHost = theAddr.
Name())
126 || strlen(theHost) >= (
unsigned int)hlen)
return 0;
130 strcpy(hname, theHost);
146 myNum = (reqNum += 1);
151 snprintf(buff, blen-1, reqFMT, myNum);
152 return buff+reqIntern;
166 (KeyLen ? KeyLen : strlen(KeyVal)));
167 return (
int)(pHash % KeyMax);
const char * Name(const char *eName=0, const char **eText=0)
const char * Set(const char *hSpec, int pNum=PortInSpec)
static int Encode(const XrdNetSockAddr *sadr, char *buff, int blen, int port=-1)
static int Decode(XrdNetSockAddr *sadr, const char *buff, int blen)
static uint32_t CRC32(const unsigned char *data, int count)
static int Index(int KeyMax, const char *KeyVal, int KeyLen=0)
char * ID(char *buff, int blen)
char * isMine(char *reqid, int &hport, char *hname, int hlen)