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 : virtual public XrdOssDF {
53
54public:
55
56 explicit XrdCephOssFile(XrdCephOss *cephoss);
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 *aoip);
63 virtual ssize_t ReadV(XrdOucIOVec *readV, int n);
64 virtual ssize_t ReadRaw(void *, off_t, size_t);
65 virtual int Fstat(struct stat *buff);
66 virtual ssize_t Write(const void *buff, off_t offset, size_t blen);
67 virtual int Write(XrdSfsAio *aiop);
68 virtual int Fsync(void);
69 virtual int Ftruncate(unsigned long long);
70
71 inline virtual int getFileDescriptor() const {return m_fd;}
72protected:
73
74 int m_fd;
76
77};
78
79#endif /* __XRD_CEPH_OSS_FILE_HH__ */
#define stat(a, b)
Definition XrdPosix.hh:101
virtual ssize_t Read(off_t offset, size_t blen)
virtual ~XrdCephOssFile()
virtual int Open(const char *path, int flags, mode_t mode, XrdOucEnv &env)
XrdCephOssFile(XrdCephOss *cephoss)
virtual ssize_t Write(const void *buff, off_t offset, size_t blen)
virtual int Fstat(struct stat *buff)
virtual int Ftruncate(unsigned long long)
virtual int Fsync(void)
virtual ssize_t ReadRaw(void *, off_t, size_t)
virtual ssize_t ReadV(XrdOucIOVec *readV, int n)
virtual int Close(long long *retsz=0)
XrdCephOss * m_cephOss
virtual int getFileDescriptor() const
XrdOssDF(const char *tid="", uint16_t dftype=0, int fdnum=-1)
Definition XrdOss.hh:444