From 933cf4f0a47306ee4b0c1ac728173a576cc2ebe1 Mon Sep 17 00:00:00 2001 From: Tomasz Kramkowski Date: Wed, 28 Mar 2018 00:09:21 +0100 Subject: bie: initial commit and version 0.1 --- README | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 README (limited to 'README') diff --git a/README b/README new file mode 100644 index 0000000..9135648 --- /dev/null +++ b/README @@ -0,0 +1,56 @@ + _ _ + | | (_) + | |__ _ ___ + | '_ \| |/ _ \ + | |_) | | __/ + |_.__/|_|\___| + +--------------------------------------------------------------------- + +bie is a tool for generating a simple indexed flat archive. + +Example: +======== + +$ echo "foo" >a +$ dd if=/dev/urandom of=b bs=30 count=1 +$ zlib-flate -compress c +$ bie archive.bie archive.idx a b c +$ hexdump -C archive.bie +00000000 66 6f 6f 0a 00 00 00 00 00 00 00 00 00 00 00 00 |foo.............| +00000010 1b c9 01 82 4f df 1a ec 01 2a dc 0e 3e f1 e7 52 |....O....*..>..R| +00000020 ed e3 99 3e 70 b0 eb 6f f8 20 49 ba b9 8d 00 00 |...>p..o. I.....| +00000030 78 9c 95 54 6d 6f d3 30 10 fe 9c fc 8a a3 a8 6b |x..Tmo.0.......k| +00000040 d2 76 5d 37 10 42 7d 19 2f a5 43 15 65 a0 ad 93 |.v]7.B}./.C.e...| +00000050 40 6c 1a 21 71 5a ab 89 1d c5 4e c7 c6 fa df b9 |@l.!qZ....N.....| +... SNIP ... +$ cat archive.idx +BIE_ENTRY(a, 0, 4) +BIE_ENTRY(b, 16, 30) +BIE_ENTRY(c, 48, 750) + +Use: +==== + +Create an archive and index from a list of files you wish to access +from your program. + +Use the CPP or another macro processor to expand BIE_ENTRY to some +code which stores this information in your program. + +Read the archive into memory (or link it in) and use the offset and +size data from the index to read from the archive. + +Dependencies: +============= + +eprintf - https://the-tk.com/cgit/eprintf/ +Place in a directory adjacent to the location of the bie sources or +override EPRINTF_PATH in config.mk + +Compilation and Installation: +============================= + +$ echo prefix=/usr >config.mk +$ make +# make install -- cgit v1.2.3-54-g00ecf