Wire Sysio Wire Sysion 1.0.0
|
Utility for including binary files. More...
#include <limits.h>
Go to the source code of this file.
Macros | |
#define | INCBIN_ALIGNMENT_INDEX 3 |
#define | INCBIN_ALIGN_SHIFT_0 1 |
#define | INCBIN_ALIGN_SHIFT_1 2 |
#define | INCBIN_ALIGN_SHIFT_2 4 |
#define | INCBIN_ALIGN_SHIFT_3 8 |
#define | INCBIN_ALIGN_SHIFT_4 16 |
#define | INCBIN_ALIGN_SHIFT_5 32 |
#define | INCBIN_ALIGN_SHIFT_6 64 |
#define | INCBIN_ALIGNMENT |
#define | INCBIN_STR(X) |
#define | INCBIN_STRINGIZE(X) |
#define | INCBIN_CAT(X, Y) |
#define | INCBIN_CONCATENATE(X, Y) |
#define | INCBIN_EVAL(X) |
#define | INCBIN_INVOKE(N, ...) |
#define | INCBIN_VA_ARG_COUNTER(_1, _2, _3, N, ...) |
#define | INCBIN_VA_ARGC(...) |
#define | INCBIN_MACRO ".incbin" |
#define | INCBIN_ALIGN __attribute__((aligned(INCBIN_ALIGNMENT))) |
#define | INCBIN_ALIGN_HOST ".align " INCBIN_STRINGIZE(INCBIN_ALIGNMENT) "\n" |
#define | INCBIN_ALIGN_BYTE ".align 1\n" |
#define | INCBIN_EXTERNAL extern |
#define | INCBIN_CONST const |
#define | INCBIN_OUTPUT_SECTION ".rodata" |
Optionally override the linker section into which size and data is emitted. | |
#define | INCBIN_OUTPUT_DATA_SECTION INCBIN_OUTPUT_SECTION |
Optionally override the linker section into which data is emitted. | |
#define | INCBIN_OUTPUT_SIZE_SECTION INCBIN_OUTPUT_SECTION |
Optionally override the linker section into which size is emitted. | |
#define | INCBIN_SECTION ".section " INCBIN_OUTPUT_SECTION "\n" |
#define | INCBIN_GLOBAL(NAME) |
#define | INCBIN_INT ".int " |
#define | INCBIN_MANGLE "" |
#define | INCBIN_TYPE(NAME) |
#define | INCBIN_BYTE ".byte " |
#define | INCBIN_STYLE_CAMEL 0 |
#define | INCBIN_STYLE_SNAKE 1 |
#define | INCBIN_PREFIX g |
Specify the prefix to use for symbol names. | |
#define | INCBIN_STYLE INCBIN_STYLE_CAMEL |
Specify the style used for symbol names. | |
#define | INCBIN_STYLE_0_DATA Data |
#define | INCBIN_STYLE_0_END End |
#define | INCBIN_STYLE_0_SIZE Size |
#define | INCBIN_STYLE_1_DATA _data |
#define | INCBIN_STYLE_1_END _end |
#define | INCBIN_STYLE_1_SIZE _size |
#define | INCBIN_STYLE_IDENT(TYPE) |
#define | INCBIN_STYLE_STRING(TYPE) |
#define | INCBIN_GLOBAL_LABELS(NAME, TYPE) |
#define | INCBIN_EXTERN(...) |
Externally reference binary data included in another translation unit. | |
#define | INCBIN_EXTERN_1(NAME, ...) |
#define | INCBIN_EXTERN_2(TYPE, NAME) |
#define | INCTXT_EXTERN(NAME) |
Externally reference textual data included in another translation unit. | |
#define | INCBIN(...) |
Include a binary file into the current translation unit. | |
#define | INCBIN_1(...) |
#define | INCBIN_2(NAME, FILENAME) |
#define | INCBIN_3(TYPE, NAME, FILENAME) |
#define | INCBIN_COMMON(TYPE, NAME, FILENAME, TERMINATOR) |
#define | INCTXT(NAME, FILENAME) |
Include a textual file into the current translation unit. | |
Facilities for including binary files into the current translation unit and making use from them externally in other translation units.
From https://github.com/graphitemaster/incbin licenced in public domain
Definition in file incbin.h.
#define INCBIN | ( | ... | ) |
Includes a binary file into the current translation unit, producing three symbols for objects that encode the data and size respectively.
The symbol names are a concatenation of ‘INCBIN_PREFIX’ before NAME; with "Data", as well as "End" and "Size" after. An example is provided below.
TYPE | Optional array type. Omitting this picks a default of unsigned char . |
NAME | The name to associate with this binary data (as an identifier.) |
FILENAME | The file to include (as a string literal.) |
You may specify a custom optional data type as well as the first argument. These macros are specialized by arity.
To externally reference the data included by this in another translation unit please
Definition at line 405 of file incbin.h.
#define INCBIN_1 | ( | ... | ) |
#define INCBIN_2 | ( | NAME, | |
FILENAME ) |
#define INCBIN_3 | ( | TYPE, | |
NAME, | |||
FILENAME ) |
#define INCBIN_ALIGN __attribute__((aligned(INCBIN_ALIGNMENT))) |
#define INCBIN_ALIGN_HOST ".align " INCBIN_STRINGIZE(INCBIN_ALIGNMENT) "\n" |
#define INCBIN_ALIGNMENT |
Definition at line 51 of file incbin.h.
#define INCBIN_CAT | ( | X, | |
Y ) |
#define INCBIN_COMMON | ( | TYPE, | |
NAME, | |||
FILENAME, | |||
TERMINATOR ) |
Definition at line 417 of file incbin.h.
#define INCBIN_CONCATENATE | ( | X, | |
Y ) |
Definition at line 64 of file incbin.h.
#define INCBIN_EVAL | ( | X | ) |
#define INCBIN_EXTERN | ( | ... | ) |
Produces three external symbols that reference the binary data included in another translation unit.
The symbol names are a concatenation of ‘INCBIN_PREFIX’ before NAME; with "Data", as well as "End" and "Size" after. An example is provided below.
TYPE | Optional array type. Omitting this picks a default of unsigned char . |
NAME | The name given for the binary data |
You may specify a custom optional data type as well as the first argument.
Definition at line 321 of file incbin.h.
#define INCBIN_EXTERN_1 | ( | NAME, | |
... ) |
#define INCBIN_EXTERN_2 | ( | TYPE, | |
NAME ) |
Definition at line 325 of file incbin.h.
#define INCBIN_GLOBAL | ( | NAME | ) |
#define INCBIN_GLOBAL_LABELS | ( | NAME, | |
TYPE ) |
Definition at line 274 of file incbin.h.
#define INCBIN_INVOKE | ( | N, | |
... ) |
Definition at line 69 of file incbin.h.
#define INCBIN_OUTPUT_DATA_SECTION INCBIN_OUTPUT_SECTION |
#define INCBIN_OUTPUT_SECTION ".rodata" |
#define INCBIN_OUTPUT_SIZE_SECTION INCBIN_OUTPUT_SECTION |
#define INCBIN_PREFIX g |
#define INCBIN_SECTION ".section " INCBIN_OUTPUT_SECTION "\n" |
#define INCBIN_STR | ( | X | ) |
#define INCBIN_STRINGIZE | ( | X | ) |
#define INCBIN_STYLE INCBIN_STYLE_CAMEL |
Possible options are
#define INCBIN_STYLE_IDENT | ( | TYPE | ) |
Definition at line 260 of file incbin.h.
#define INCBIN_STYLE_STRING | ( | TYPE | ) |
Definition at line 268 of file incbin.h.
#define INCBIN_TYPE | ( | NAME | ) |
#define INCBIN_VA_ARG_COUNTER | ( | _1, | |
_2, | |||
_3, | |||
N, | |||
... ) |
#define INCBIN_VA_ARGC | ( | ... | ) |
#define INCTXT | ( | NAME, | |
FILENAME ) |
This behaves the same as INCBIN except it produces char compatible arrays and implicitly adds a null-terminator byte, thus the size of data included by this is one byte larger than that of INCBIN.
Includes a textual file into the current translation unit, producing three symbols for objects that encode the data and size respectively.
The symbol names are a concatenation of ‘INCBIN_PREFIX’ before NAME; with "Data", as well as "End" and "Size" after. An example is provided below.
NAME | The name to associate with this binary data (as an identifier.) |
FILENAME | The file to include (as a string literal.) |
To externally reference the data included by this in another translation unit please
Definition at line 474 of file incbin.h.
#define INCTXT_EXTERN | ( | NAME | ) |
Produces three external symbols that reference the textual data included in another translation unit.
The symbol names are a concatenation of ‘INCBIN_PREFIX’ before NAME; with "Data", as well as "End" and "Size" after. An example is provided below.
NAME | The name given for the textual data |
Definition at line 359 of file incbin.h.