hex_erl_tar (hex_core v0.20.0)
View SourceSummary
Types
-type add_opt() :: dereference | verbose | {chunks, pos_integer()} | {atime, non_neg_integer()} | {mtime, non_neg_integer()} | {ctime, non_neg_integer()} | {mode, non_neg_integer()} | {uid, non_neg_integer()} | {gid, non_neg_integer()}.
-type create_opt() :: compressed | cooked | dereference | verbose.
-type extract_opt() :: {cwd, string()} | {files, [name_in_archive()]} | {chunks, pos_integer()} | {max_size, pos_integer() | infinity} | compressed | cooked | memory | keep_old_files | verbose.
-type file_op() :: fun((close, file:io_device()) -> ok | {error, term()}) | fun((position, {file:io_device(), file:location()}) -> {ok, integer()} | {error, term()}) | fun((read2, {file:io_device(), non_neg_integer()}) -> {ok, string() | binary()} | eof | {error, term()}) | fun((write, {file:io_device(), iodata()}) -> ok | {error, term()}).
-type filelist() :: [file:filename() | {name_in_archive(), file:filename_all()}].
-type gid() :: non_neg_integer().
-type mode() :: non_neg_integer().
-type name_in_archive() :: string().
-type open_type() :: file:filename_all() | {binary, binary()} | {file, file:io_device()}.
-opaque tar_descriptor()
-type tar_entry() :: {Name :: name_in_archive(), Type :: typeflag(), Size :: non_neg_integer(), MTime :: tar_time(), Mode :: mode(), Uid :: uid(), Gid :: gid()}.
-type tar_time() :: non_neg_integer().
-type typeflag() :: regular | link | symlink | char | block | directory | fifo | reserved | unknown.
-type uid() :: non_neg_integer().
-type user_data() :: term().
Functions
-spec add(TarDescriptor, Name, Options) -> ok | {error, term()} when TarDescriptor :: tar_descriptor(), Name :: name_in_archive() | {name_in_archive(), file:filename_all()}, Options :: [add_opt()].
-spec add(TarDescriptor, Filename, NameInArchive, Options) -> ok | {error, term()} when TarDescriptor :: tar_descriptor(), Filename :: file:filename_all() | {symlink, string()} | directory, NameInArchive :: name_in_archive(), Options :: [add_opt()].
-spec close(TarDescriptor :: tar_descriptor()) -> ok | {error, term()}.
-spec create(file:filename_all(), filelist()) -> ok | {error, {string(), term()}}.
-spec create(file:filename_all(), filelist(), [create_opt()]) -> ok | {error, term()} | {error, {string(), term()}}.
-spec init(UserData :: user_data(), write | read, file_op()) -> {ok, tar_descriptor()} | {error, badarg}.
-spec open(Open :: open_type(), [write | compressed | cooked]) -> {ok, tar_descriptor()} | {error, term()}.
-spec t(file:filename()) -> ok | {error, term()}.
-spec table(Open :: open_type()) -> {ok, [name_in_archive()]} | {error, term()}.
-spec table(Open :: open_type(), [compressed | verbose | cooked]) -> {ok, [name_in_archive() | tar_entry()]} | {error, term()}.