package tar-unix
Decode and encode tar format files from Unix
Install
Dune Dependency
Authors
Maintainers
Sources
tar-v1.0.0.tbz
sha256=10d65e3c8967986d249b3177a2315354a144c6873ce2f28ea7147bf28d83c0ff
md5=160d445644541224aa6b8ee0da7df939
README.md.html
tar -- decode and encode tar files
tar is a simple library to read and write tar files with an emphasis on streaming.
This is pure OCaml code, no C bindings.
Installation
tar
can be installed with opam
:
opam install tar
opam install tar-unix # for use in Unix/Lwt
opam install tar-mirage # for use in MirageoS
If you don't use opam
consult the tar.opam
file for build instructions.
Example toplevel session
In utop:
utop # #require "tar";;
utop # #require "tar.lwt";;
utop # lwt f = Lwt_unix.openfile "/tmp/foo.tar" [ Unix.O_RDONLY ] 0 ;;
val f : Lwt_unix.file_descr = <abstr>
utop # Tar_lwt_unix.Archive.list f;;
[{Tar_lwt_unix.Header.file_name = "_build/lib/tar.mli.depends";
Tar_lwt_unix.Header.file_mode = 420; Tar_lwt_unix.Header.user_id = 1000;
Tar_lwt_unix.Header.group_id = 1000; Tar_lwt_unix.Header.file_size = 21L;
Tar_lwt_unix.Header.mod_time = 1381080315L;
Tar_lwt_unix.Header.link_indicator = Tar_lwt_unix.Header.Link.Normal;
Tar_lwt_unix.Header.link_name = ""};
{Tar_lwt_unix.Header.file_name = "_build/lib/tar_unix.mli.depends";
Tar_lwt_unix.Header.file_mode = 420; Tar_lwt_unix.Header.user_id = 1000;
Tar_lwt_unix.Header.group_id = 1000; Tar_lwt_unix.Header.file_size = 27L;
Tar_lwt_unix.Header.mod_time = 1381080318L;
Tar_lwt_unix.Header.link_indicator = Tar_lwt_unix.Header.Link.Normal;
Tar_lwt_unix.Header.link_name = ""};
{Tar_lwt_unix.Header.file_name = "_build/lib/tar.mllib";
Tar_lwt_unix.Header.file_mode = ...; Tar_lwt_unix.Header.user_id = ...;
Tar_lwt_unix.Header.group_id = ...; Tar_lwt_unix.Header.file_size = ...;
Tar_lwt_unix.Header.mod_time = ...; Tar_lwt_unix.Header.link_indicator = ...;
Tar_lwt_unix.Header.link_name = ...};
...]
Example users
This library is used by
xapi to read and write VM images
Documentation
The documentation and API reference is automatically generated by ocamldoc
from the interfaces. It can be consulted online.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>