XRootD
Loading...
Searching...
No Matches
XrdPosixAdmin.hh
Go to the documentation of this file.
1
#ifndef __XRDPOSIXADMIN_HH__
2
#define __XRDPOSIXADMIN_HH__
3
/******************************************************************************/
4
/* */
5
/* X r d P o s i x A d m i n . h h */
6
/* */
7
/* (c) 2013 by the Board of Trustees of the Leland Stanford, Jr., University */
8
/* All Rights Reserved */
9
/* Produced by Andrew Hanushevsky for Stanford University under contract */
10
/* DE-AC02-76-SFO0515 with the Department of Energy */
11
/* */
12
/* This file is part of the XRootD software suite. */
13
/* */
14
/* XRootD is free software: you can redistribute it and/or modify it under */
15
/* the terms of the GNU Lesser General Public License as published by the */
16
/* Free Software Foundation, either version 3 of the License, or (at your */
17
/* option) any later version. */
18
/* */
19
/* XRootD is distributed in the hope that it will be useful, but WITHOUT */
20
/* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */
21
/* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public */
22
/* License for more details. */
23
/* */
24
/* You should have received a copy of the GNU Lesser General Public License */
25
/* along with XRootD in a file called COPYING.LESSER (LGPL license) and file */
26
/* COPYING (GPL license). If not, see <http://www.gnu.org/licenses/>. */
27
/* */
28
/* The copyright holder's institutional names and contributor's names may not */
29
/* be used to endorse or promote products derived from this software without */
30
/* specific prior written permission of the institution or contributor. */
31
/******************************************************************************/
32
33
#include <sys/types.h>
34
35
#include "
XrdCl/XrdClFile.hh
"
36
#include "
XrdCl/XrdClFileSystem.hh
"
37
#include "
XrdCl/XrdClURL.hh
"
38
#include "
XrdCl/XrdClXRootDResponses.hh
"
39
#include "
XrdOuc/XrdOucECMsg.hh
"
40
41
/******************************************************************************/
42
/* X r d P o s i x A d m i n */
43
/******************************************************************************/
44
45
struct
stat
;
46
47
class
XrdPosixAdmin
48
{
49
public
:
50
51
XrdCl::URL
Url
;
52
XrdCl::FileSystem
Xrd
;
53
XrdOucECMsg
&
ecMsg
;
54
55
bool
isOK
() {
if
(
Url
.IsValid())
return
true
;
56
ecMsg
.Set(EINVAL, 0);
57
ecMsg
.Msgf(
"PosixAdmin"
,
"url '%s' is invalid"
,
58
Url
.GetObfuscatedURL().c_str());
59
errno = EINVAL;
return
false
;
60
}
61
62
XrdCl::URL
*
FanOut
(
int
&num);
63
64
int
Query
(
XrdCl::QueryCode::Code
reqCode,
void
*buff,
int
bsz);
65
66
bool
Stat
(mode_t *flags=0, time_t *mtime=0);
67
68
bool
Stat
(
struct
stat
&
Stat
);
69
70
XrdPosixAdmin
(
const
char
*path,
XrdOucECMsg
&ecm)
71
:
Url
((std::string)path),
Xrd
(
Url
),
ecMsg
(ecm) {}
72
~XrdPosixAdmin
() {}
73
};
74
#endif
Stat
struct stat Stat
Definition
XrdCks.cc:49
XrdClFileSystem.hh
XrdClFile.hh
XrdClURL.hh
XrdClXRootDResponses.hh
XrdOucECMsg.hh
stat
#define stat(a, b)
Definition
XrdPosix.hh:101
XrdCl::FileSystem
Send file/filesystem queries to an XRootD cluster.
Definition
XrdClFileSystem.hh:203
XrdCl::URL
URL representation.
Definition
XrdClURL.hh:31
XrdOucECMsg
Definition
XrdOucECMsg.hh:39
XrdPosixAdmin::~XrdPosixAdmin
~XrdPosixAdmin()
Definition
XrdPosixAdmin.hh:72
XrdPosixAdmin::XrdPosixAdmin
XrdPosixAdmin(const char *path, XrdOucECMsg &ecm)
Definition
XrdPosixAdmin.hh:70
XrdPosixAdmin::FanOut
XrdCl::URL * FanOut(int &num)
Definition
XrdPosixAdmin.cc:46
XrdPosixAdmin::isOK
bool isOK()
Definition
XrdPosixAdmin.hh:55
XrdPosixAdmin::ecMsg
XrdOucECMsg & ecMsg
Definition
XrdPosixAdmin.hh:53
XrdPosixAdmin::Query
int Query(XrdCl::QueryCode::Code reqCode, void *buff, int bsz)
Definition
XrdPosixAdmin.cc:99
XrdPosixAdmin::Url
XrdCl::URL Url
Definition
XrdPosixAdmin.hh:51
Xrd
Definition
XrdSysTrace.hh:41
XrdCl::QueryCode::Code
Code
XRootD query request codes.
Definition
XrdClFileSystem.hh:53
XrdPosix
XrdPosixAdmin.hh
Generated by
1.13.2