xrootd
Loading...
Searching...
No Matches
XrdCephOssFile.hh
Go to the documentation of this file.
1//------------------------------------------------------------------------------
2// Copyright (c) 2014-2015 by European Organization for Nuclear Research (CERN)
3// Author: Sebastien Ponce <sebastien.ponce@cern.ch>
4//------------------------------------------------------------------------------
5// This file is part of the XRootD software suite.
6//
7// XRootD is free software: you can redistribute it and/or modify
8// it under the terms of the GNU Lesser General Public License as published by
9// the Free Software Foundation, either version 3 of the License, or
10// (at your option) any later version.
11//
12// XRootD is distributed in the hope that it will be useful,
13// but WITHOUT ANY WARRANTY; without even the implied warranty of
14// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15// GNU General Public License for more details.
16//
17// You should have received a copy of the GNU Lesser General Public License
18// along with XRootD. If not, see <http://www.gnu.org/licenses/>.
19//
20// In applying this licence, CERN does not waive the privileges and immunities
21// granted to it by virtue of its status as an Intergovernmental Organization
22// or submit itself to any jurisdiction.
23//------------------------------------------------------------------------------
24
25#ifndef __XRD_CEPH_OSS_FILE_HH__
26#define __XRD_CEPH_OSS_FILE_HH__
27
28#include "XrdOss/XrdOss.hh"
29#include "XrdCeph/XrdCephOss.hh"
30
31//------------------------------------------------------------------------------
50//------------------------------------------------------------------------------
51
52class XrdCephOssFile : public XrdOssDF {
53
54public:
55
57 virtual ~XrdCephOssFile() {};
58 virtual int Open(const char *path, int flags, mode_t mode, XrdOucEnv &env);
59 virtual int Close(long long *retsz=0);
60 virtual ssize_t Read(off_t offset, size_t blen);
61 virtual ssize_t Read(void *buff, off_t offset, size_t blen);
62 virtual int Read(XrdSfsAio *aiop);
63 virtual ssize_t ReadRaw(void *, off_t, size_t);
64 virtual int Fstat(struct stat *buff);
65 virtual ssize_t Write(const void *buff, off_t offset, size_t blen);
66 virtual int Write(XrdSfsAio *aiop);
67 virtual int Fsync(void);
68 virtual int Ftruncate(unsigned long long);
69
70private:
71
72 int m_fd;
74
75};
76
77#endif /* __XRD_CEPH_OSS_FILE_HH__ */
#define stat(a, b)
Definition XrdPosix.hh:96
Definition XrdCephOssFile.hh:52
virtual ~XrdCephOssFile()
Definition XrdCephOssFile.hh:57
virtual int Fstat(struct stat *buff)
virtual int Fsync(void)
virtual ssize_t Read(void *buff, off_t offset, size_t blen)
XrdCephOssFile(XrdCephOss *cephoss)
virtual int Close(long long *retsz=0)
virtual int Write(XrdSfsAio *aiop)
virtual ssize_t Read(off_t offset, size_t blen)
virtual ssize_t Write(const void *buff, off_t offset, size_t blen)
int m_fd
Definition XrdCephOssFile.hh:72
virtual ssize_t ReadRaw(void *, off_t, size_t)
virtual int Read(XrdSfsAio *aiop)
XrdCephOss * m_cephOss
Definition XrdCephOssFile.hh:73
virtual int Open(const char *path, int flags, mode_t mode, XrdOucEnv &env)
virtual int Ftruncate(unsigned long long)
Definition XrdCephOss.hh:53
Definition XrdOss.hh:63
Definition XrdOucEnv.hh:42
Definition XrdSfsAio.hh:59