Skip to content

main #

fn C.archive_entry_clear #

unsafe
fn C.archive_entry_clear(&C.archive_entry)

Clears out an entry struct

fn C.archive_entry_new #

unsafe
fn C.archive_entry_new() &C.archive_entry

Create a new archive_entry struct

fn C.archive_entry_set_perm #

unsafe
fn C.archive_entry_set_perm(&C.archive_entry, int)

Sets the file permissions for an entry

fn C.archive_entry_copy_stat #

unsafe
fn C.archive_entry_copy_stat(entry &C.archive_entry, const_stat &C.stat)

Copy over a stat struct to the archive entry

fn C.archive_read_free #

unsafe
fn C.archive_read_free(&C.archive) int

Free an archive

fn C.archive_entry_pathname #

unsafe
fn C.archive_entry_pathname(&C.archive_entry) &char

Get the filename of the given entry

fn C.archive_entry_set_filetype #

unsafe
fn C.archive_entry_set_filetype(&C.archive_entry, u32)

Sets the file type for an entry

fn C.archive_entry_set_pathname #

unsafe
fn C.archive_entry_set_pathname(&C.archive_entry, &char)

Set the pathname for the entry

fn C.archive_write_data #

unsafe
fn C.archive_write_data(&C.archive, voidptr, int)

Write the data in the buffer to the archive

fn C.archive_entry_set_size #

unsafe
fn C.archive_entry_set_size(&C.archive_entry, i64)

Sets the file size of the entry

fn C.archive_entry_size #

unsafe
fn C.archive_entry_size(&C.archive_entry) int

Get an entry's file size Note: this function actually returns an i64, but as this can't be used as an arugment to malloc, we'll just roll with it & assume an entry is never bigger than 4 gigs

fn C.archive_filter_code #

unsafe
fn C.archive_filter_code(&C.archive, int) int

Returns the name of the filter

fn C.archive_read_data #

unsafe
fn C.archive_read_data(&C.archive, voidptr, int)

Read an archive entry's contents into a pointer

fn C.archive_read_data_skip #

unsafe
fn C.archive_read_data_skip(&C.archive)

Skip reading the current entry

fn C.archive_write_set_format_pax_restricted #

unsafe
fn C.archive_write_set_format_pax_restricted(&C.archive)

Sets to archive to "pax restricted" mode. Libarchive's "pax restricted" format is a tar format that uses pax extensions only when absolutely necessary. Most of the time, it will write plain ustar entries. This is the recommended tar format for most uses. You should explicitly use ustar format only when you have to create archives that will be readable on older systems; you should explicitly request pax format only when you need to preserve as many attributes as possible.

fn C.archive_read_new #

unsafe
fn C.archive_read_new() &C.archive

Create a new archive struct for reading

fn C.archive_read_next_header #

unsafe
fn C.archive_read_next_header(&C.archive, &&C.archive_entry) int

Go to next entry header in archive

fn C.archive_read_open_filename #

unsafe
fn C.archive_read_open_filename(&C.archive, &char, int) int

Open an archive for reading

fn C.archive_read_support_filter_gzip #

unsafe
fn C.archive_read_support_filter_gzip(&C.archive)

Configure the archive to work with gzip compression

fn C.archive_read_support_filter_xz #

unsafe
fn C.archive_read_support_filter_xz(&C.archive)

Configure the archive to work with xz compression

fn C.archive_read_support_filter_zstd #

unsafe
fn C.archive_read_support_filter_zstd(&C.archive)

Configure the archive to work with zstd compression

fn C.archive_read_support_format_tar #

unsafe
fn C.archive_read_support_format_tar(&C.archive)

Configure the archive to work with a tarball content

fn C.archive_write_add_filter_gzip #

unsafe
fn C.archive_write_add_filter_gzip(&C.archive)

Sets the filter for the archive to gzip

fn C.archive_write_close #

unsafe
fn C.archive_write_close(&C.archive)

Close an archive for writing

fn C.strcmp #

unsafe
fn C.strcmp(&char, &char) int

Compare two C strings; 0 means they're equal

fn C.archive_write_free #

unsafe
fn C.archive_write_free(&C.archive)

Free the write archive

fn C.archive_write_header #

unsafe
fn C.archive_write_header(&C.archive, &C.archive_entry)

Write an entry to the archive file

fn C.archive_write_new #

unsafe
fn C.archive_write_new() &C.archive

Create a new archive struct for writing

fn C.archive_write_open_filename #

unsafe
fn C.archive_write_open_filename(&C.archive, &char)

Opens up the filename for writing

fn main #

fn main()

struct C.archive_entry #

pub struct C.archive_entry {}

struct C.archive #

pub struct C.archive {}