blob: 462722e1c7cccb3cec77c84962c7ed84f4fae7ae (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#pragma once
#include "foundation/types.h"
#include "nu/ByteWriter.h"
class nstest;
namespace APEv2
{
class Header
{
friend class ::nstest;
public:
Header();
Header(const void *data);
void SetSize(uint32_t size) { this->size = size; }
void SetFlags(uint32_t flags) { this->flags = flags; }
void SetItems(uint32_t items) { this->items = items; }
bool Valid() const;
uint32_t TagSize() const;
bool HasHeader() const;
bool HasFooter() const;
bool IsFooter() const;
bool IsHeader() const;
int Encode(bytewriter_t byte_writer) const;
uint32_t GetFlags() const;
enum
{
SIZE=32,
};
private:
uint8_t preamble[8];
uint32_t version;
uint32_t size;
uint32_t items;
uint32_t flags;
uint64_t reserved;
};
}
|