#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>
#include <cerrno>
#include "XrdCks/XrdCksXAttr.hh"
#include "XrdOuc/XrdOucXAttr.hh"
Go to the source code of this file.
◆ Display()
Definition at line 56 of file XrdCks.cc.
63 if (
xCS.Attr.Cks.fmTime !=
Stat.st_mtime) stale =
" stale";
68 xCS.Attr.Cks.Get(csBuff,
sizeof(csBuff));
72 std::cout <<
xCS.Attr.Cks.Name<<
' '<<csBuff<<stale<<std::endl;
XrdOucXAttr< XrdCksXAttr > xCS
References Stat, and xCS.
Referenced by main().
◆ main()
int main |
( |
int |
argc, |
|
|
char * |
argv[] |
|
) |
| |
Definition at line 108 of file XrdCks.cc.
110 char *csName, *csPath, *csVal;
116 {
if (argc > 1 && !strcmp(argv[1],
"-h"))
Usage(0);
123 if (!
xCS.Attr.Cks.Set(csName))
124 {std::cerr <<
"xrdsetcks: checksum name '"<<csName<<
"' is invalid"<<std::endl;
130 if (argc < 3)
csCmd =
"query";
131 else {csVal = argv[3];
132 if (!strcmp(
"delete", csVal))
csCmd =
"delete";
134 if (strncmp(
"0x", csVal, 2)) csVal += 2;
135 if (!
xCS.Attr.Cks.Set(csVal, strlen(csVal)))
136 {std::cerr <<
"xrdcks: checksum value is invalid"
152 if (strcmp(
xCS.Attr.Cks.Name, csName))
Unable(EILSEQ);
166 xCS.Attr.Cks.fmTime =
static_cast<long long>(
Stat.st_mtime);
167 xCS.Attr.Cks.csTime = 0;
int stat(const char *path, struct stat *buf)
References csCmd, Display(), Stat, stat(), Unable(), Usage(), and xCS.
◆ Unable()
Definition at line 79 of file XrdCks.cc.
83 snprintf(eBuff,
sizeof(eBuff),
"%s", strerror(rc));
84 *eBuff = tolower(*eBuff);
85 std::cerr<<
"xrdcks: Unable to "<<
csCmd<<
" checksum; "<<eBuff<<std::endl;
References csCmd.
Referenced by main().
◆ Usage()
Definition at line 93 of file XrdCks.cc.
95 std::cerr <<
"Usage: xrdcks <path> <cksname> [<cksval>|delete]\n"
97 "Where: <path> - path to the target file\n"
98 " <cksname> - checksum name (e.g. adler32)\n"
99 " <cksval> - ASCII hex of value (even number of digits)"
Referenced by main().
◆ csCmd
◆ Stat
Definition at line 48 of file XrdCks.cc.
Referenced by XrdTlsContext::XrdTlsContext(), XrdXmlRdrTiny::XrdXmlRdrTiny(), XrdOfsPoscq::Add(), XrdFrmTSort::Add(), XrdDigAuth::Authorize(), XrdCksManOss::Calc(), XrdCksManager::Calc(), XrdOfs::chmod(), XrdDigConfig::Configure(), XrdOfsChkPnt::Create(), XrdOfsCPFile::Create(), Display(), XrdCmsBlackList::DoIt(), XrdW41Dirs::Expand(), XrdOssPath::Extract(), XrdOucUtils::findPgm(), XrdPssFile::Fstat(), XrdOfsHanOssErr::Fstat(), XrdOucUtils::getFile(), XrdOfsPoscq::Init(), XrdCmsBlackList::Init(), XrdOucN2NLoader::Load(), main(), XrdCksManager::ModTime(), XrdCksManOss::ModTime(), XrdDigDirectory::nextEntry(), XrdDigFile::open(), XrdOssDir::Readdir(), XrdCpFile::Resolve(), XrdOfsCPFile::RestoreInfo(), XrdOfsTPCProg::Run(), XrdOssDir::StatRet(), XrdOssWrapDF::StatRet(), XrdFrcUtils::updtCpy(), and XrdEc::Reader::VectorRead().
◆ xCS