#summary ARCHIVE_ENTRY_PATHS 3 manual page
== NAME ==
*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*
- functions for manipulating path names in archive entry descriptions
== SYNOPSIS ==
*#include <archive_entry.h>*
<br>
*const char `*`*
<br>
*archive_entry_hardlink*(_struct archive_entry `*`a_);
<br>
*const wchar_t `*`*
<br>
*archive_entry_hardlink_w*(_struct archive_entry `*`a_);
<br>
*void*
<br>
*archive_entry_set_hardlink*(_struct archive_entry `*`a_, _const char `*`path_);
<br>
*void*
<br>
*archive_entry_copy_hardlink*(_struct archive_entry `*`a_, _const char `*`path_);
<br>
*void*
<br>
*archive_entry_copy_hardlink_w*(_struct archive_entry `*`a _, _const_, _wchar_t_, _`*`path"_);
<br>
*int*
<br>
*archive_entry_update_hardlink_utf8*(_struct archive_entry `*`a_, _const char `*`path_);
<br>
*void*
<br>
*archive_entry_set_link*(_struct archive_entry `*`a_, _const char `*`path_);
<br>
*void*
<br>
*archive_entry_copy_link*(_struct archive_entry `*`a_, _ const char `*`path_);
<br>
*void*
<br>
*archive_entry_copy_link_w*(_struct archive_entry `*`a_, _ const wchar_t `*`path_);
<br>
*int*
<br>
*archive_entry_update_link_utf8*(_struct archive_entry `*`a_, _ const char `*`path_);
<br>
*const char `*`*
<br>
*archive_entry_pathname*(_struct archive_entry `*`a_);
<br>
*const wchar_t `*`*
<br>
*archive_entry_pathname_w*(_struct archive_entry `*`a_);
<br>
*void*
<br>
*archive_entry_set_pathname*(_struct archive_entry `*`a_, _const char `*`path_);
<br>
*void*
<br>
*archive_entry_copy_pathname*(_struct archive_entry `*`a_, _const char `*`path_);
<br>
*void*
<br>
*archive_entry_copy_pathname_w*(_struct archive_entry `*`a_, _const wchar_t `*`path_);
<br>
*int*
<br>
*archive_entry_update_pathname_utf8*(_struct archive_entry `*`a_, _const char `*`path_);
<br>
*const char `*`*
<br>
*archive_entry_sourcepath*(_struct archive_entry `*`a_);
<br>
*void*
<br>
*archive_entry_copy_sourcepath*(_struct archive_entry `*`a_, _const char `*`path_);
<br>
*const char `*`*
<br>
*archive_entry_symlink*(_struct archive_entry `*`a_);
<br>
*const wchar_t `*`*
<br>
*archive_entry_symlink_w*(_struct archive_entry `*`a_);
<br>
*void*
<br>
*archive_entry_set_symlink*(_struct archive_entry `*`a_, _const char `*`path_);
<br>
*void*
<br>
*archive_entry_copy_symlink*(_struct archive_entry `*`a_, _const char `*`path_);
<br>
*void*
<br>
*archive_entry_copy_symlink_w*(_struct archive_entry `*`a_, _const wchar_t `*`path_);
<br>
*int*
<br>
*archive_entry_update_symlink_utf8*(_struct archive_entry `*`a_, _const char `*`path_);
== DESCRIPTION ==
Path names supported by
*archive_entry*(3):
<dl>
<dt>hardlink</dt><dd>
Destination of the hardlink.
</dd><dt>link</dt><dd>
Update only.
For a symlink, update the destination.
Otherwise, make the entry a hardlink and alter
the destination for that.
</dd><dt>pathname</dt><dd>
Path in the archive
</dd><dt>sourcepath</dt><dd>
Path on the disk for use by
*archive_read_disk*(3).
</dd><dt>symlink</dt><dd>
Destination of the symbolic link.
</dd></dl>

Path names can be provided in one of three different ways:
<dl>
<dt>char *</dt><dd>
Multibyte strings in the current locale.
</dd><dt>wchar_t *</dt><dd>
Wide character strings in the current locale.
The accessor functions are named
*XXX_w*().
</dd><dt>UTF-8</dt><dd>
Unicode strings encoded as UTF-8.
This are convience functions to update both the multibyte and wide
character strings at the same time.
</dd></dl>

The sourcepath is a pure filesystem concept and never stored in an
archive directly.

For that reason, it is only available as multibyte string.
The link path is a convience function for conditionally setting
hardlink or symlink destination.
It doesn't have a corresponding get accessor function.

*archive_entry_set_XXX*()
is an alias for 
*archive_entry_copy_XXX*().
== SEE ALSO ==
*archive*(3),
*archive_entry*(3)
