/usr.bin/file2c/file2c.1

https://bitbucket.org/freebsd/freebsd-head/ · Unknown · 75 lines · 75 code · 0 blank · 0 comment · 0 complexity · 5ca90cab3d1f093ea1b1cd6c664a014f MD5 · raw file

  1. .\"----------------------------------------------------------------------------
  2. .\" "THE BEER-WARE LICENSE" (Revision 42):
  3. .\" <phk@FreeBSD.org> wrote this file. As long as you retain this notice, you
  4. .\" can do whatever you want with this file. If we meet some day, and you think
  5. .\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
  6. .\" ---------------------------------------------------------------------------
  7. .\"
  8. .\" $FreeBSD$
  9. .\"
  10. .Dd March 22, 2007
  11. .Dt FILE2C 1
  12. .Os
  13. .Sh NAME
  14. .Nm file2c
  15. .Nd convert file to c-source
  16. .Sh SYNOPSIS
  17. .Nm
  18. .Op Fl sx
  19. .Op Fl n Ar count
  20. .Op Ar prefix Op Ar suffix
  21. .Sh DESCRIPTION
  22. The
  23. .Nm
  24. utility reads a file from stdin and writes it to stdout, converting each
  25. byte to its decimal or hexadecimal representation on the fly.
  26. The byte values are separated by a comma.
  27. This also means that the last byte value is not followed by a comma.
  28. By default the byte values are printed in decimal, but when the
  29. .Fl x
  30. option is given, the values will be printed in hexadecimal.
  31. When
  32. .Fl s
  33. option is given, each line is printed with a leading tab and each comma is
  34. followed by a space except for the last one on the line.
  35. .Pp
  36. If more than 70 characters are printed on the same line, that line is
  37. ended and the output continues on the next line.
  38. With the
  39. .Fl n
  40. option this can be made to happen after the specified number of
  41. byte values have been printed.
  42. The length of the line will not be considered anymore.
  43. To have all the byte values printed on the same line, give the
  44. .Fl n
  45. option a negative number.
  46. .Pp
  47. A prefix and suffix strings can be printed before and after the byte values
  48. (resp.)
  49. If a suffix is to be printed, a prefix must also be specified.
  50. The first non-option word is the prefix, which may optionally be followed
  51. by a word that is to be used as the suffix.
  52. .Pp
  53. This program is typically used to embed binary files into C source files.
  54. The prefix is used to define an array type and the suffix is used to end
  55. the C statement.
  56. The
  57. .Fl n , s
  58. and
  59. .Fl x
  60. options are useful when the binary data represents a bitmap and the output
  61. needs to remain readable and/or editable.
  62. Fonts, for example, are a good example of this.
  63. .Sh EXAMPLES
  64. The command:
  65. .Bd -literal -offset indent
  66. date | file2c 'const char date[] = {' ',0};'
  67. .Ed
  68. .Pp
  69. will produce:
  70. .Bd -literal -offset indent
  71. const char date[] = {
  72. 83,97,116,32,74,97,110,32,50,56,32,49,54,58,50,56,58,48,53,
  73. 32,80,83,84,32,49,57,57,53,10
  74. ,0};
  75. .Ed