lib3ddevil1/include/devil1pld.h

37 lines
979 B
C

#ifndef DEVIL1PLD_H
#define DEVIL1PLD_H
#include <stdint.h>
#include <stdbool.h>
#pragma pack(push, 1)
struct PldHeader {
int32_t numOffset;
// array of numOffset elements
uint32_t *offsets; // <format=hex>
};
#pragma pack(pop)
typedef struct {
bool (* const getheader) (struct PldHeader*, const char*);
int (* const sizeofsector)(struct PldHeader*, unsigned int, unsigned int);
void (* const printheader) (struct PldHeader*);
} fn_devil1pld;
extern fn_devil1pld const DEVIL1PLD;
// input: pointer to a struct, contents of the .pld file.
// * = pass by reference of a struct PldHeader
static bool getpldh(struct PldHeader*, const char*);
// input: pointer to header, index of offset, filesize
// * = pass by reference of a struct PldHeader
static int sizeofpldstruct(struct PldHeader*, unsigned int, unsigned int);
// input: a pld header struct.
// * = pass by reference of a struct PldHeader
static void printpldh(struct PldHeader*);
#endif