xref: /aosp_15_r20/external/coreboot/util/nvramtool/common.h (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef COMMON_H
4 #define COMMON_H
5 
6 #include <sys/types.h>
7 #include <sys/stat.h>
8 #include <assert.h>
9 #include <errno.h>
10 #include <unistd.h>
11 #include <fcntl.h>
12 #include <stdint.h>
13 #include <stdlib.h>
14 #include <stdio.h>
15 #include <string.h>
16 #include <ctype.h>
17 
18 #define FALSE 0
19 #define TRUE 1
20 
21 #define BUG() assert(0)
22 
23 #define COMMON_RESULT_START 0x10000
24 #define LAYOUT_RESULT_START 0x20000
25 #define CMOS_RESULT_START 0x30000
26 #define CMOS_OP_RESULT_START 0x40000
27 
28 #define OK 0			/* 0 is used universally to indicate success. */
29 
30 #define LINE_EOF (COMMON_RESULT_START + 0)
31 #define LINE_TOO_LONG (COMMON_RESULT_START + 1)
32 
33 #ifdef __MINGW32__
34 #define PROT_READ 1
35 #define PROT_WRITE 2
36 #define MAP_PRIVATE 1
37 
38 void *win32_mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset);
39 int win32_munmap(void *start, size_t length);
40 
41 #define mmap win32_mmap
42 #define munmap win32_munmap
43 
44 #define MAP_FAILED ((void *)-1)
45 #define MAP_SHARED 1
46 #endif
47 
48 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
49 #define noreturn _Noreturn
50 #else
51 #define noreturn
52 #endif
53 
54 /* basename of this program, as reported by argv[0] */
55 extern const char prog_name[];
56 
57 /* version of this program */
58 extern const char prog_version[];
59 
60 int get_line_from_file(FILE * f, char line[], int line_buf_size);
61 noreturn void out_of_memory(void);
62 void usage(FILE * outfile);
63 
64 #endif				/* COMMON_H */
65