/ util / bincfg / bincfg.h
bincfg.h
 1  /* bincfg - Compiler/Decompiler for data blobs with specs */
 2  /* SPDX-License-Identifier: GPL-3.0-or-later */
 3  
 4  #ifndef __BINCFG_H
 5  #define __BINCFG_H
 6  
 7  #define VALID_BIT 0x80
 8  #define MAX_WIDTH 32
 9  #define CHECKSUM_SIZE 16
10  
11  struct field {
12  	char *name;
13  	unsigned int width;
14  	unsigned int value;
15  	struct field *next;
16  };
17  
18  /* Bit array intermediary representation */
19  struct blob {
20  	unsigned int bloblen;
21  	unsigned char *blb;
22  	unsigned short checksum;
23  	unsigned char *actualblob;
24  	unsigned int lenactualblob;
25  };
26  
27  static struct field *putsym (char const *, unsigned int);
28  static struct field *getsym (char const *);
29  static void yyerror (FILE* fp, char const *);
30  int yylex (void);
31  
32  static struct blob *binary;
33  static struct field *sym_table;
34  static struct field *sym_table_tail;
35  
36  #endif /* __BINCFG_H */