|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
"http://www.w3.org/TR/html4/loose.dtd">
|
|
Packit Service |
1d0348 |
<html>
|
|
Packit Service |
1d0348 |
<head>
|
|
Packit Service |
1d0348 |
<meta name="generator" content="groff -Thtml, see www.gnu.org">
|
|
Packit Service |
1d0348 |
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
|
Packit Service |
1d0348 |
<meta name="Content-Style" content="text/css">
|
|
Packit Service |
1d0348 |
<style type="text/css">
|
|
Packit Service |
1d0348 |
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
|
Packit Service |
1d0348 |
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
|
Packit Service |
1d0348 |
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
|
Packit Service |
1d0348 |
h1 { text-align: center }
|
|
Packit Service |
1d0348 |
</style>
|
|
Packit Service |
1d0348 |
<title></title>
|
|
Packit Service |
1d0348 |
</head>
|
|
Packit Service |
1d0348 |
<body>
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
ARCHIVE_READ_OPEN(3) BSD Library Functions Manual
|
|
Packit Service |
1d0348 |
ARCHIVE_READ_OPEN(3)
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
NAME
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
archive_read_open,
|
|
Packit Service |
1d0348 |
archive_read_open2, archive_read_open_fd,
|
|
Packit Service |
1d0348 |
archive_read_open_FILE,
|
|
Packit Service |
1d0348 |
archive_read_open_filename,
|
|
Packit Service |
1d0348 |
archive_read_open_memory — functions for
|
|
Packit Service |
1d0348 |
reading streaming archives
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
LIBRARY
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
Streaming Archive Library
|
|
Packit Service |
1d0348 |
(libarchive, -larchive)
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
SYNOPSIS
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
#include
|
|
Packit Service |
1d0348 |
<archive.h>
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
int
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
archive_read_open(struct archive *,
|
|
Packit Service |
1d0348 |
void *client_data,
|
|
Packit Service |
1d0348 |
archive_open_callback *,
|
|
Packit Service |
1d0348 |
archive_read_callback *,
|
|
Packit Service |
1d0348 |
archive_close_callback *);
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
int
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
archive_read_open2(struct archive *,
|
|
Packit Service |
1d0348 |
void *client_data,
|
|
Packit Service |
1d0348 |
archive_open_callback *,
|
|
Packit Service |
1d0348 |
archive_read_callback *,
|
|
Packit Service |
1d0348 |
archive_skip_callback *,
|
|
Packit Service |
1d0348 |
archive_close_callback *);
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
int
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
archive_read_open_FILE(struct archive *,
|
|
Packit Service |
1d0348 |
FILE *file);
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
int
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
archive_read_open_fd(struct archive *,
|
|
Packit Service |
1d0348 |
int fd, size_t block_size);
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
int
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
archive_read_open_filename(struct archive *,
|
|
Packit Service |
1d0348 |
const char *filename,
|
|
Packit Service |
1d0348 |
size_t block_size);
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
int
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
archive_read_open_memory(struct archive *,
|
|
Packit Service |
1d0348 |
const void *buff,
|
|
Packit Service |
1d0348 |
size_t size);
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
DESCRIPTION
|
|
Packit Service |
1d0348 |
archive_read_open()
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
The same as
|
|
Packit Service |
1d0348 |
archive_read_open2(), except that the skip callback
|
|
Packit Service |
1d0348 |
is assumed to be NULL.
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
archive_read_open2()
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
Freeze the settings, open the
|
|
Packit Service |
1d0348 |
archive, and prepare for reading entries. This is the most
|
|
Packit Service |
1d0348 |
generic version of this call, which accepts four callback
|
|
Packit Service |
1d0348 |
functions. Most clients will want to use
|
|
Packit Service |
1d0348 |
archive_read_open_filename(),
|
|
Packit Service |
1d0348 |
archive_read_open_FILE(),
|
|
Packit Service |
1d0348 |
archive_read_open_fd(), or
|
|
Packit Service |
1d0348 |
archive_read_open_memory() instead. The library
|
|
Packit Service |
1d0348 |
invokes the client-provided functions to obtain raw bytes
|
|
Packit Service |
1d0348 |
from the archive.
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
archive_read_open_FILE()
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
Like
|
|
Packit Service |
1d0348 |
archive_read_open(), except that it accepts a FILE
|
|
Packit Service |
1d0348 |
* pointer. This function should not be used with tape
|
|
Packit Service |
1d0348 |
drives or other devices that require strict I/O
|
|
Packit Service |
1d0348 |
blocking.
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
archive_read_open_fd()
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
Like
|
|
Packit Service |
1d0348 |
archive_read_open(), except that it accepts a file
|
|
Packit Service |
1d0348 |
descriptor and block size rather than a set of function
|
|
Packit Service |
1d0348 |
pointers. Note that the file descriptor will not be
|
|
Packit Service |
1d0348 |
automatically closed at end-of-archive. This function is
|
|
Packit Service |
1d0348 |
safe for use with tape drives or other blocked devices.
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
archive_read_open_file()
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
This is a deprecated synonym
|
|
Packit Service |
1d0348 |
for archive_read_open_filename().
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
archive_read_open_filename()
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
Like
|
|
Packit Service |
1d0348 |
archive_read_open(), except that it accepts a simple
|
|
Packit Service |
1d0348 |
filename and a block size. A NULL filename represents
|
|
Packit Service |
1d0348 |
standard input. This function is safe for use with tape
|
|
Packit Service |
1d0348 |
drives or other blocked devices.
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
archive_read_open_memory()
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
Like
|
|
Packit Service |
1d0348 |
archive_read_open(), except that it accepts a pointer
|
|
Packit Service |
1d0348 |
and size of a block of memory containing the archive
|
|
Packit Service |
1d0348 |
data.
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
A complete
|
|
Packit Service |
1d0348 |
description of the struct archive and struct archive_entry
|
|
Packit Service |
1d0348 |
objects can be found in the overview manual page for
|
|
Packit Service |
1d0348 |
libarchive(3).
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
CLIENT CALLBACKS
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
The callback functions must
|
|
Packit Service |
1d0348 |
match the following prototypes:
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
typedef
|
|
Packit Service |
1d0348 |
la_ssize_t
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
archive_read_callback(struct archive *,
|
|
Packit Service |
1d0348 |
void *client_data,
|
|
Packit Service |
1d0348 |
const void **buffer)
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
typedef
|
|
Packit Service |
1d0348 |
la_int64_t
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
archive_skip_callback(struct archive *,
|
|
Packit Service |
1d0348 |
void *client_data,
|
|
Packit Service |
1d0348 |
off_t request)
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
typedef
|
|
Packit Service |
1d0348 |
int archive_open_callback(struct archive
|
|
Packit Service |
1d0348 |
*, void *client_data)
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
typedef
|
|
Packit Service |
1d0348 |
int archive_close_callback(struct archive
|
|
Packit Service |
1d0348 |
*, void *client_data)
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
The open
|
|
Packit Service |
1d0348 |
callback is invoked by archive_open(). It should
|
|
Packit Service |
1d0348 |
return ARCHIVE_OK if the underlying file or data
|
|
Packit Service |
1d0348 |
source is successfully opened. If the open fails, it should
|
|
Packit Service |
1d0348 |
call archive_set_error() to register an error code
|
|
Packit Service |
1d0348 |
and message and return ARCHIVE_FATAL.
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
The read
|
|
Packit Service |
1d0348 |
callback is invoked whenever the library requires raw bytes
|
|
Packit Service |
1d0348 |
from the archive. The read callback should read data into a
|
|
Packit Service |
1d0348 |
buffer, set the const void **buffer argument to point to the
|
|
Packit Service |
1d0348 |
available data, and return a count of the number of bytes
|
|
Packit Service |
1d0348 |
available. The library will invoke the read callback again
|
|
Packit Service |
1d0348 |
only after it has consumed this data. The library imposes no
|
|
Packit Service |
1d0348 |
constraints on the size of the data blocks returned. On
|
|
Packit Service |
1d0348 |
end-of-file, the read callback should return zero. On error,
|
|
Packit Service |
1d0348 |
the read callback should invoke archive_set_error()
|
|
Packit Service |
1d0348 |
to register an error code and message and return -1.
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
The skip
|
|
Packit Service |
1d0348 |
callback is invoked when the library wants to ignore a block
|
|
Packit Service |
1d0348 |
of data. The return value is the number of bytes actually
|
|
Packit Service |
1d0348 |
skipped, which may differ from the request. If the callback
|
|
Packit Service |
1d0348 |
cannot skip data, it should return zero. If the skip
|
|
Packit Service |
1d0348 |
callback is not provided (the function pointer is NULL ),
|
|
Packit Service |
1d0348 |
the library will invoke the read function instead and simply
|
|
Packit Service |
1d0348 |
discard the result. A skip callback can provide significant
|
|
Packit Service |
1d0348 |
performance gains when reading uncompressed archives from
|
|
Packit Service |
1d0348 |
slow disk drives or other media that can skip quickly.
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
The close
|
|
Packit Service |
1d0348 |
callback is invoked by archive_close when the archive
|
|
Packit Service |
1d0348 |
processing is complete. The callback should return
|
|
Packit Service |
1d0348 |
ARCHIVE_OK on success. On failure, the callback
|
|
Packit Service |
1d0348 |
should invoke archive_set_error() to register an
|
|
Packit Service |
1d0348 |
error code and message and return ARCHIVE_FATAL.
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
RETURN VALUES
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
These functions return
|
|
Packit Service |
1d0348 |
ARCHIVE_OK on success, or ARCHIVE_FATAL.
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
ERRORS
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
Detailed error codes and textual
|
|
Packit Service |
1d0348 |
descriptions are available from the archive_errno()
|
|
Packit Service |
1d0348 |
and archive_error_string() functions.
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
SEE ALSO
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
tar(1), libarchive(3),
|
|
Packit Service |
1d0348 |
archive_read(3), archive_read_data(3),
|
|
Packit Service |
1d0348 |
archive_read_filter(3), archive_read_format(3),
|
|
Packit Service |
1d0348 |
archive_read_set_options(3), archive_util(3), tar(5)
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
BSD
|
|
Packit Service |
1d0348 |
February 2, 2012 BSD
|
|
Packit Service |
1d0348 |
|
|
Packit Service |
1d0348 |
</body>
|
|
Packit Service |
1d0348 |
</html>
|