package tar
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Module Tar.Header
Source
Process and create tar file headers.
tar format assumptions. Default is V7
(for compatibility with versions of ocaml-tar before this type was introduced).
Return the compatibility level, defaults to V7
.
type t = {
file_name : string;
file_mode : int;
user_id : int;
group_id : int;
file_size : int64;
mod_time : int64;
link_indicator : Link.t;
link_name : string;
uname : string;
gname : string;
devmajor : int;
devminor : int;
extended : Extended.t option;
}
Represents a standard archive (note checksum not stored).
Helper function to make a simple header.
val make :
?file_mode:int ->
?user_id:int ->
?group_id:int ->
?mod_time:int64 ->
?link_indicator:Link.t ->
?link_name:string ->
?uname:string ->
?gname:string ->
?devmajor:int ->
?devminor:int ->
string ->
int64 ->
t
make file_name file_size
creates a simple header. file_mode
defaults to 0o400
, user_id
, group_id
default to 0
, mod_time
defaults to 0L
(epoch), link_indicator
defaults to Normal
, link_name
, uname
and gname
default to ""
, and devmajor
and devminor
default to 0
.
Length of a header block.
A blank header block (two of these in series mark the end of the tar).
val unmarshal :
?extended:Extended.t ->
string ->
(t, [> `Zero_block | `Checksum_mismatch | `Unmarshal of string ]) result
Unmarshal a header block, returning None
if it's all zeroes. This header block may be preceded by an ?extended
block which will override some fields.
Marshal a header block, computing and inserting the checksum.
Compute the amount of zero-padding required to round up the file size to a whole number of blocks.