#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 >aboutsummaryrefslogtreecommitdiff
path: root/src/pdg.c
blob: 17a364748eaed96f22baa80b9100964accf9e516 (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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43