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

名称

archive_entry_hardlink, archive_entry_hardlink_w, archive_entry_set_hardlink, archive_entry_copy_hardlink, archive_entry_copy_hardlink_w, archve_entry_update_hardlink_utf8, archive_entry_set_link, archive_entry_copy_link, archive_entry_copy_link_w, archve_entry_update_link_utf8, archive_entry_pathname, archive_entry_pathname_w, archive_entry_set_pathname, archive_entry_copy_pathname, archive_entry_copy_pathname_w, archve_entry_update_pathname_utf8, archive_entry_sourcepath, archive_entry_copy_sourcepath, archive_entry_symlink, archive_entry_symlink_w, archive_entry_set_symlink, archive_entry_copy_symlink, archive_entry_copy_symlink_w, archve_entry_update_symlink_utf8アーカイブエントリの記述でパス名を操作するための関数

ライブラリ

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

書式

#include < archive_entry.h>

const char *
archive_entry_hardlink( struct archive_entry *a);

const wchar_t *
archive_entry_hardlink_w( struct archive_entry *a);

void
archive_entry_set_hardlink( struct archive_entry *a, const char *path);

void
archive_entry_copy_hardlink( struct archive_entry *a, const char *path);

void
archive_entry_copy_hardlink_w( struct archive_entry *a , const, wchar_t, *path");

int
archive_entry_update_hardlink_utf8( struct archive_entry *a, const char *path);

void
archive_entry_set_link( struct archive_entry *a, const char *path);

void
archive_entry_copy_link( struct archive_entry *a, const char *path);

void
archive_entry_copy_link_w( struct archive_entry *a, const wchar_t *path);

int
archive_entry_update_link_utf8( struct archive_entry *a, const char *path);

const char *
archive_entry_pathname( struct archive_entry *a);

const wchar_t *
archive_entry_pathname_w( struct archive_entry *a);

void
archive_entry_set_pathname( struct archive_entry *a, const char *path);

void
archive_entry_copy_pathname( struct archive_entry *a, const char *path);

void
archive_entry_copy_pathname_w( struct archive_entry *a, const wchar_t *path);

int
archive_entry_update_pathname_utf8( struct archive_entry *a, const char *path);

const char *
archive_entry_sourcepath( struct archive_entry *a);

void
archive_entry_copy_sourcepath( struct archive_entry *a, const char *path);

const char *
archive_entry_symlink( struct archive_entry *a);

const wchar_t *
archive_entry_symlink_w( struct archive_entry *a);

void
archive_entry_set_symlink( struct archive_entry *a, const char *path);

void
archive_entry_copy_symlink( struct archive_entry *a, const char *path);

void
archive_entry_copy_symlink_w( struct archive_entry *a, const wchar_t *path);

int
archive_entry_update_symlink_utf8( struct archive_entry *a, const char *path);

解説

archive_entry(3) によってサポートされたパス名は、次の通りです:
hardlink
ハードリンクの宛先、
link
更新のみ。シンボリックリンクついては、宛先を更新します。そうでなければ、エントリをハードリンクにして、そのための宛先を変更します。
pathname
アーカイブのパス。
sourcepath
archive_read_disk(3) によって使用するのためのディスク上のパス。
symlink
シンボリックリンクの宛先。

次の 3 つの異なる方法のうちの 1 つでパス名を提供することができます:

char *
現在のロケールのマルチバイトの文字列。
wchar_t *
現在のロケールのワイド文字列。アクセサ関数は、 XXX_w() と名前が付けられています。
UTF-8
UTF-8 としてエンコードされた Unicode 文字列。これは、マルチバイトとワイド文字列の両方を同時に更新する便利な関数です。

sourcepath は、純粋なファイルシステムの概念で、決してアーカイブに直接格納されません。

そういう訳で、それは、マルチバイトもじれて鵜としてのみ利用可能です。リンクパスは、ハードリンクまたはシンボリックリンクの宛先を条件付きで設定するための便利な関数です。それは、一致する取得アクセサ関数がありません。

archive_entry_set_XXX() は、 archive_entry_copy_XXX() のための別名です。

February 2, 2012 FreeBSD