1 #ifndef __XRDCKSDATA_HH__
2 #define __XRDCKSDATA_HH__
52 {
return (!strncmp(Name, oth.
Name, NameSize)
54 && !memcmp(Value, oth.
Value, Length));
59 {
return (strncmp(Name, oth.
Name, NameSize)
61 || memcmp(Value, oth.
Value, Length));
64 int Get(
char *Buff,
int Blen)
65 {
const char *hv =
"0123456789abcdef";
67 if (Blen < Length*2+1)
return 0;
68 for (i = 0; i <
Length; i++)
69 {Buff[j++] = hv[(Value[i] >> 4) & 0x0f];
70 Buff[j++] = hv[ Value[i] & 0x0f];
76 int Set(
const char *csName)
77 {
if (strlen(csName) >=
sizeof(Name))
return 0;
78 strncpy(Name, csName,
sizeof(Name));
82 int Set(
const void *csVal,
int csLen)
83 {
if (csLen > ValuSize || csLen < 1)
return 0;
84 memcpy(Value, csVal, csLen);
89 int Set(
const char *csVal,
int csLen)
90 {
int n, i = 0, Odd = 0;
91 if (csLen > (
int)
sizeof(Value)*2 || (csLen & 1))
return 0;
94 {
if (*csVal >=
'0' && *csVal <=
'9') n = *csVal-48;
95 else if (*csVal >=
'a' && *csVal <=
'f') n = *csVal-87;
96 else if (*csVal >=
'A' && *csVal <=
'F') n = *csVal-55;
98 if (Odd) Value[i++] |= n;
99 else Value[i ] = n << 4;
106 {memset(Name, 0,
sizeof(Name));
107 memset(Value,0,
sizeof(Value));
int operator!=(const XrdCksData &oth)
Definition: XrdCksData.hh:58
char Rsvd2
Definition: XrdCksData.hh:46
int Get(char *Buff, int Blen)
Definition: XrdCksData.hh:64
int operator==(const XrdCksData &oth)
Definition: XrdCksData.hh:51
int csTime
Definition: XrdCksData.hh:44
char Length
Definition: XrdCksData.hh:47
int Set(const void *csVal, int csLen)
Definition: XrdCksData.hh:82
short Rsvd1
Definition: XrdCksData.hh:45
Definition: XrdCksData.hh:35
char Name[NameSize]
Definition: XrdCksData.hh:42
int Set(const char *csName)
Definition: XrdCksData.hh:76
char Value[ValuSize]
Definition: XrdCksData.hh:48
long long fmTime
Definition: XrdCksData.hh:43
static const int NameSize
Definition: XrdCksData.hh:39
static const int ValuSize
Definition: XrdCksData.hh:40
int Set(const char *csVal, int csLen)
Definition: XrdCksData.hh:89
XrdCksData()
Definition: XrdCksData.hh:105