4 /* Support for the standard Posix "ustar" format. See the
5 documentation of the "pax" utility in [SUSv3] for the the
6 "ustar" format specification. */
10 /* Type of a file entry in an archive.
11 The values here are the bytes that appear in the file format.
12 Only types of interest to Pintos are listed here. */
15 USTAR_REGULAR = '0', /* Ordinary file. */
16 USTAR_DIRECTORY = '5', /* Directory. */
17 USTAR_EOF = -1 /* End of archive (not an official value). */
20 /* Size of a ustar archive header, in bytes. */
21 #define USTAR_HEADER_SIZE 512
23 bool ustar_make_header (const char *file_name, enum ustar_type,
24 int size, char header[USTAR_HEADER_SIZE]);
25 const char *ustar_parse_header (const char header[USTAR_HEADER_SIZE],
26 const char **file_name,
27 enum ustar_type *, int *size);
29 #endif /* lib/ustar.h */