File indexing completed on 2025-11-04 10:26:41
0001 
0002 
0003 
0004 
0005 
0006 
0007 
0008 
0009 
0010 
0011 
0012 #ifndef ROOT_RRawFileUnix
0013 #define ROOT_RRawFileUnix
0014 
0015 #include <ROOT/RRawFile.hxx>
0016 #include <string_view>
0017 
0018 #include <cstddef>
0019 #include <cstdint>
0020 
0021 namespace ROOT {
0022 namespace Internal {
0023 
0024 
0025 
0026 
0027 
0028 
0029 
0030 
0031 class RRawFileUnix : public RRawFile {
0032 private:
0033    int fFileDes = -1;
0034 
0035 protected:
0036    void OpenImpl() final;
0037    size_t ReadAtImpl(void *buffer, size_t nbytes, std::uint64_t offset) final;
0038    void ReadVImpl(RIOVec *ioVec, unsigned int nReq) final;
0039    std::uint64_t GetSizeImpl() final;
0040 
0041 public:
0042    RRawFileUnix(std::string_view url, RRawFile::ROptions options);
0043    ~RRawFileUnix() override;
0044    std::unique_ptr<RRawFile> Clone() const final;
0045    int GetFd() const { return fFileDes; }
0046 };
0047 
0048 } 
0049 } 
0050 
0051 #endif