#include "extensions.h"
#include <assert.h>
#include <string.h>
const extension_t extensions[] = {
{ "RGCN", "NCGR", 4 },
{ "RLCN", "NCLR", 4 },
{ "RECN", "NCER", 4 },
{ "RNAN", "NANR", 4 },
{ "RCSN", "NSCR", 4 },
{ "BMD0", "BMD0", 4 },
{ "BCA0", "BCA0", 4 },
{ "BTA0", "BTA0", 4 },
{ "BTP0", "BTP0", 4 },
{ "BTX0", "BTX0", 4 },
{ "BMA0", "BMA0", 4 },
{ "BVA0", "BVA0", 4 },
{ " APS", "spa", 4 },
{ NULL, "bin", 0 }, };
const extension_t* guess_extension(const void *_data) {
assert(_data);
const unsigned char *data = _data;
if (data[0] == 0x10 && data[4] == 0x00) {
return guess_extension(data + 5);
}
const extension_t *c = &extensions[0];
while (c->magic != NULL && memcmp(data, c->magic, c->size) != 0) c++;
return c;
}