From 24c8bcfe7f76b20124e2862ea050f815c0f768e7 Mon Sep 17 00:00:00 2001 From: tlatorre Date: Tue, 14 Aug 2018 10:08:27 -0500 Subject: move everything to src directory --- src/zebra.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/zebra.h (limited to 'src/zebra.h') diff --git a/src/zebra.h b/src/zebra.h new file mode 100644 index 0000000..2f24939 --- /dev/null +++ b/src/zebra.h @@ -0,0 +1,48 @@ +#ifndef ZEBRA_H +#define ZEBRA_H + +#include /* for FILE */ +#include /* for size_t */ +#include /* for uint8_t, etc. */ + +extern char zebra_err[256]; + +#define ZEBRA_SIG0 0x0123cdefUL +#define ZEBRA_SIG1 0x80708070UL +#define ZEBRA_SIG2 0x4321abcdUL +#define ZEBRA_SIG3 0x80618061UL + +#define ZEBRA_BLOCK_SIZE_MASK 0x00ffffffUL +#define ZEBRA_EMERGENCY_STOP 0x80000000UL +#define ZEBRA_END_OF_RUN 0x20000000UL +#define ZEBRA_START_OF_RUN 0x40000000UL + +typedef struct bank { + uint32_t next; + uint32_t up; + uint32_t orig; + uint32_t number; + uint32_t name; + uint32_t num_links; + uint32_t num_structural_links; + uint32_t num_data_words; + uint32_t status; + uint32_t *data; +} bank; + +typedef struct zebraFile { + FILE *f; + size_t offset; + size_t lr_size; + uint8_t *buf; + size_t buf_size; +} zebraFile; + +zebraFile *zebra_open(const char *filename); +int read_next_physical_record(zebraFile *z); +int get_bytes(zebraFile *z, size_t size); +int read_next_logical_record(zebraFile *z); +int next_bank(zebraFile *z, bank *b); +void zebra_close(zebraFile *z); + +#endif -- cgit