^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 1) /*
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 2) * Unloved program to convert a binary on stdin to a C include on stdout
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 3) *
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 4) * Jan 1999 Matt Mackall <mpm@selenic.com>
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 5) *
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 6) * This software may be used and distributed according to the terms
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 7) * of the GNU General Public License, incorporated herein by reference.
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 8) */
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 9)
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 10) #include <stdio.h>
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 11)
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 12) int main(int argc, char *argv[])
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 13) {
8370edea81e32 scripts/basic/bin2c.c (Vivek Goyal 2014-08-08 14:25:38 -0700 14) int ch, total = 0;
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 15)
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 16) if (argc > 1)
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 17) printf("const char %s[] %s=\n",
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 18) argv[1], argc > 2 ? argv[2] : "");
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 19)
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 20) do {
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 21) printf("\t\"");
8370edea81e32 scripts/basic/bin2c.c (Vivek Goyal 2014-08-08 14:25:38 -0700 22) while ((ch = getchar()) != EOF) {
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 23) total++;
8370edea81e32 scripts/basic/bin2c.c (Vivek Goyal 2014-08-08 14:25:38 -0700 24) printf("\\x%02x", ch);
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 25) if (total % 16 == 0)
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 26) break;
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 27) }
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 28) printf("\"\n");
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 29) } while (ch != EOF);
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 30)
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 31) if (argc > 1)
21532b9e5bd59 scripts/basic/bin2c.c (Tautschnig, Michael 2016-07-04 13:55:04 +0000 32) printf("\t;\n\n#include <linux/types.h>\n\nconst size_t %s_size = %d;\n",
21532b9e5bd59 scripts/basic/bin2c.c (Tautschnig, Michael 2016-07-04 13:55:04 +0000 33) argv[1], total);
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 34)
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 35) return 0;
^1da177e4c3f4 scripts/bin2c.c (Linus Torvalds 2005-04-16 15:20:36 -0700 36) }