/* bincfg - Compiler/Decompiler for data blobs with specs */ /* SPDX-License-Identifier: GPL-3.0-or-later */ #ifndef __BINCFG_H #define __BINCFG_H #define VALID_BIT 0x80 #define MAX_WIDTH 32 #define CHECKSUM_SIZE 16 struct field { char *name; unsigned int width; unsigned int value; struct field *next; }; /* Bit array intermediary representation */ struct blob { unsigned int bloblen; unsigned char *blb; unsigned short checksum; unsigned char *actualblob; unsigned int lenactualblob; }; static struct field *putsym (char const *, unsigned int); static struct field *getsym (char const *); static void yyerror (FILE* fp, char const *); int yylex (void); static struct blob *binary; static struct field *sym_table; static struct field *sym_table_tail; #endif /* __BINCFG_H */