blob: b589362964b264b09ca399f4db9866cef03aa164 (
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
|
#ifndef CDUMP_H
#define CDUMP_H
#ifdef __cplusplus
extern "C" {
#endif
#include <stdio.h>
/* Generates a constant a C byte array. */
static void cdump(const char *name, void *addr, size_t len, FILE *fp) {
unsigned int i;
unsigned char *pc = (unsigned char*)addr;
// Output description if given.
name = name ? name : "dump";
fprintf(fp, "const unsigned char %s[] = {", name);
// Process every byte in the data.
for (i = 0; i < (unsigned int)len; i++) {
// Multiple of 16 means new line (with line offset).
if ((i % 16) == 0) {
fprintf(fp, "\n ");
} else if ((i % 8) == 0) {
fprintf(fp, " ");
}
fprintf(fp, " 0x%02x,", pc[i]);
}
fprintf(fp, "\n};\n");
}
#ifdef __cplusplus
}
#endif
#endif /* CDUMP_H */
|