CommonLibSSE NG
BSStorage.h
Go to the documentation of this file.
1 #pragma once
2 
4 
5 namespace RE
6 {
7  namespace BSStorageDefs
8  {
9  enum class ErrorCode;
10  enum class SeekMode;
11  }
12 
14  {
15  public:
16  inline static constexpr auto RTTI = RTTI_BSStorage;
17 
18  struct UnkData
19  {
20  public:
21  // members
22  std::uint64_t unk00; // 00
23  std::uint64_t unk08; // 08
24  std::uint64_t unk10; // 10
25  };
26  static_assert(sizeof(UnkData) == 0x18);
27 
28  virtual ~BSStorage(); // 00
29 
30  // add
31  virtual std::size_t GetSize() const = 0; // 01
32  virtual std::size_t GetPosition() const = 0; // 02
33  virtual BSStorageDefs::ErrorCode Seek(std::size_t a_offset, BSStorageDefs::SeekMode a_seekMode) const = 0; // 03
34  virtual BSStorageDefs::ErrorCode Read(std::size_t a_numBytes, std::byte* a_bytes) const = 0; // 04
35  virtual BSStorageDefs::ErrorCode Write(std::size_t a_numBytes, const std::byte* a_bytes) = 0; // 05
36 
37  // members
38  bool swapBytes; // 0C
39  bool unk0D; // 0D
40  uint16_t unk0E; // 0E
41  UnkData* unk10; // 10
42  std::uint64_t unk18; // 18
43  };
44  static_assert(sizeof(BSStorage) == 0x20);
45 }
Definition: BSStorage.h:14
virtual ~BSStorage()
virtual std::size_t GetSize() const =0
virtual BSStorageDefs::ErrorCode Write(std::size_t a_numBytes, const std::byte *a_bytes)=0
std::uint64_t unk18
Definition: BSStorage.h:42
bool swapBytes
Definition: BSStorage.h:38
uint16_t unk0E
Definition: BSStorage.h:40
bool unk0D
Definition: BSStorage.h:39
UnkData * unk10
Definition: BSStorage.h:41
virtual BSStorageDefs::ErrorCode Read(std::size_t a_numBytes, std::byte *a_bytes) const =0
static constexpr auto RTTI
Definition: BSStorage.h:16
virtual BSStorageDefs::ErrorCode Seek(std::size_t a_offset, BSStorageDefs::SeekMode a_seekMode) const =0
virtual std::size_t GetPosition() const =0
ErrorCode
Definition: ErrorCodes.h:8
SeekMode
Definition: Stream.h:14
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_BSStorage(684870, 392600, 0x1edb790)
Definition: BSIntrusiveRefCounted.h:8
Definition: BSStorage.h:19
std::uint64_t unk00
Definition: BSStorage.h:22
std::uint64_t unk08
Definition: BSStorage.h:23
std::uint64_t unk10
Definition: BSStorage.h:24