summaryrefslogtreecommitdiffstats
path: root/src/c4groupheader.h
blob: 1faa912fbc8a80803dc72da5b403aae0d85264d4 (plain)
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
#pragma once
#include <stdint.h>
#include <stdbool.h>

#define C4GroupMaxMaker 30
#define C4GroupMaxPassword 30

#define C4GroupId "RedWolf Design GrpFolder"
#define C4GroupOfficial 1234567

typedef struct {
	char id[25];
	uint8_t Reserved1[3];
	int32_t Ver1, Ver2;
	int32_t Entries;
	char Maker[C4GroupMaxMaker + 2];
	char Password[C4GroupMaxPassword + 2]; // also reserved
	int32_t Creation;
	int32_t Official;
	uint8_t Reserved2[92];
} __attribute__((__packed__)) C4GroupHeader;

void C4GroupHeader_init(C4GroupHeader* const this);
void C4GroupHeader_setMaker(C4GroupHeader* const this, const char* const maker);
bool C4GroupHeader_isOfficial(const C4GroupHeader* const this);
void C4GroupHeader_setOfficial(C4GroupHeader* const this, bool const official);
void C4GroupHeader_setCreation(C4GroupHeader* const this, int32_t const creation);