EN JA
ARCHIVE_READ_EXTRACT(3)
ARCHIVE_READ_EXTRACT(3) FreeBSD Library Functions Manual ARCHIVE_READ_EXTRACT(3)

名称

archive_read_extract, archive_read_extract2, archive_read_extract_set_progress_callbackストリーミングアーカイブを読み込むための関数

ライブラリ

ストリーミングアーカイブライブラリ (libarchive, -larchive)

書式

#include < archive.h>

int
archive_read_extract( struct archive *, struct archive_entry *, int flags);

int
archive_read_extract2( struct archive *src, struct archive_entry *, struct archive *dest);

void
archive_read_extract_set_progress_callback( struct archive *, void (*func)(void *), void *user_data);

解説

archive_read_extract(), archive_read_extract_set_skip_file()
対応する archive_write_disk(3) インタフェースをラップする便利な関数。 archive_read_extract() への最初の呼び出しは、 archive_write_disk_new(3)archive_write_disk_set_standard_lookup(3) を使用して、復元するオブジェクトを作成し、次に、ディスク上のエントリを作成し、それにデータをコピーするために archive_write_disk_set_options(3), archive_write_header(3), archive_write_data(3)archive_write_finish_entry(3) を透過的に呼び出します。 flags 引数は、 archive_write_disk_set_options(3) に修正せずに渡されます。
archive_read_extract2()
これは、利用者が利用者自身の復旧オブジェクトを提供することができる archive_read_extract() の別のバージョンです。特に、これによって、利用者は、 archive_write_disk_set_group_lookup(3)archive_write_disk_set_user_lookup(3) を使用して標準の検索関数を上書きすることができます。 archive_read_extract2() は、 flags 引数を受け付けないことに注意してください。復旧オプションを利用者自身で設定するために archive_write_disk_set_options() を使用するべきです。
archive_read_extract_set_progress_callback()
ポインタを抽出中に表示する進捗状況を更新するために使用することができる、ユーザ定義のコールバックに設定します。進捗状況の関数は、大きな通常ファイルの抽出中に呼び出されます。進捗状況の関数は、この呼び出しで提供されるポインタで呼び出されます。通常、指されているデータは、進捗状況の表示のために様々な統計を検索することができるように、アーカイブオブジェクトと archive_entry オブジェクトへの参照を含んでいるべきです。

戻り値

ほとんどの関数は、成功すれば、0 を返し、エラーのとき 0 以外を返します。あり得る返りコードは、次の通りです: ARCHIVE_OK (操作は、成功しました)、 ARCHIVE_WARN (操作は、成功しましたが、クリティカルでないエラーに遭遇しました)、 ARCHIVE_EOF (アーカイブの終了に遭遇しました)、 ARCHIVE_RETRY (操作は、失敗しましたが、再び試みることができます) と ARCHIVE_FATAL (致命的なエラーがありました;アーカイブは、直ちにクローズされなければなりません)。

エラー

詳細なエラーコードとテキスト形式の記述は、 archive_errno() と archive_error_string() 関数から利用可能です。
February 2, 2012 FreeBSD