123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- .\" Copyright (c) 2010 Joerg Sonnenberger
- .\" All rights reserved.
- .\"
- .\" Redistribution and use in source and binary forms, with or without
- .\" modification, are permitted provided that the following conditions
- .\" are met:
- .\" 1. Redistributions of source code must retain the above copyright
- .\" notice, this list of conditions and the following disclaimer.
- .\" 2. Redistributions in binary form must reproduce the above copyright
- .\" notice, this list of conditions and the following disclaimer in the
- .\" documentation and/or other materials provided with the distribution.
- .\"
- .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- .\" SUCH DAMAGE.
- .\"
- .Dd February 2, 2012
- .Dt ARCHIVE_ENTRY_PATHS 3
- .Os
- .Sh NAME
- .Nm archive_entry_hardlink ,
- .Nm archive_entry_hardlink_w ,
- .Nm archive_entry_set_hardlink ,
- .Nm archive_entry_copy_hardlink ,
- .Nm archive_entry_copy_hardlink_w ,
- .Nm archive_entry_update_hardlink_utf8 ,
- .Nm archive_entry_set_link ,
- .Nm archive_entry_copy_link ,
- .Nm archive_entry_copy_link_w ,
- .Nm archive_entry_update_link_utf8 ,
- .Nm archive_entry_pathname ,
- .Nm archive_entry_pathname_w ,
- .Nm archive_entry_set_pathname ,
- .Nm archive_entry_copy_pathname ,
- .Nm archive_entry_copy_pathname_w ,
- .Nm archive_entry_update_pathname_utf8 ,
- .Nm archive_entry_sourcepath ,
- .Nm archive_entry_copy_sourcepath ,
- .Nm archive_entry_symlink ,
- .Nm archive_entry_symlink_w ,
- .Nm archive_entry_set_symlink ,
- .Nm archive_entry_copy_symlink ,
- .Nm archive_entry_copy_symlink_w ,
- .Nm archive_entry_update_symlink_utf8
- .Nd functions for manipulating path names in archive entry descriptions
- .Sh LIBRARY
- Streaming Archive Library (libarchive, -larchive)
- .Sh SYNOPSIS
- .In archive_entry.h
- .Ft const char *
- .Fn archive_entry_hardlink "struct archive_entry *a"
- .Ft const wchar_t *
- .Fn archive_entry_hardlink_w "struct archive_entry *a"
- .Ft void
- .Fn archive_entry_set_hardlink "struct archive_entry *a" "const char *path"
- .Ft void
- .Fn archive_entry_copy_hardlink "struct archive_entry *a" "const char *path"
- .Ft void
- .Fn archive_entry_copy_hardlink_w "struct archive_entry *a "const wchar_t *path"
- .Ft int
- .Fn archive_entry_update_hardlink_utf8 "struct archive_entry *a" "const char *path"
- .Ft void
- .Fn archive_entry_set_link "struct archive_entry *a" "const char *path"
- .Ft void
- .Fn archive_entry_copy_link "struct archive_entry *a" " const char *path"
- .Ft void
- .Fn archive_entry_copy_link_w "struct archive_entry *a" " const wchar_t *path"
- .Ft int
- .Fn archive_entry_update_link_utf8 "struct archive_entry *a" " const char *path"
- .Ft const char *
- .Fn archive_entry_pathname "struct archive_entry *a"
- .Ft const wchar_t *
- .Fn archive_entry_pathname_w "struct archive_entry *a"
- .Ft void
- .Fn archive_entry_set_pathname "struct archive_entry *a" "const char *path"
- .Ft void
- .Fn archive_entry_copy_pathname "struct archive_entry *a" "const char *path"
- .Ft void
- .Fn archive_entry_copy_pathname_w "struct archive_entry *a" "const wchar_t *path"
- .Ft int
- .Fn archive_entry_update_pathname_utf8 "struct archive_entry *a" "const char *path"
- .Ft const char *
- .Fn archive_entry_sourcepath "struct archive_entry *a"
- .Ft void
- .Fn archive_entry_copy_sourcepath "struct archive_entry *a" "const char *path"
- .Ft const char *
- .Fn archive_entry_symlink "struct archive_entry *a"
- .Ft const wchar_t *
- .Fn archive_entry_symlink_w "struct archive_entry *a"
- .Ft void
- .Fn archive_entry_set_symlink "struct archive_entry *a" "const char *path"
- .Ft void
- .Fn archive_entry_copy_symlink "struct archive_entry *a" "const char *path"
- .Ft void
- .Fn archive_entry_copy_symlink_w "struct archive_entry *a" "const wchar_t *path"
- .Ft int
- .Fn archive_entry_update_symlink_utf8 "struct archive_entry *a" "const char *path"
- .Sh DESCRIPTION
- Path names supported by
- .Xr archive_entry 3 :
- .Bl -tag -width "sourcepath" -compact
- .It hardlink
- Destination of the hardlink.
- .It link
- Update only.
- For a symlink, update the destination.
- Otherwise, make the entry a hardlink and alter
- the destination for that.
- .It pathname
- Path in the archive
- .It sourcepath
- Path on the disk for use by
- .Xr archive_read_disk 3 .
- .It symlink
- Destination of the symbolic link.
- .El
- .Pp
- Path names can be provided in one of three different ways:
- .Bl -tag -width "wchar_t *"
- .It char *
- Multibyte strings in the current locale.
- .It wchar_t *
- Wide character strings in the current locale.
- The accessor functions are named
- .Fn XXX_w .
- .It UTF-8
- Unicode strings encoded as UTF-8.
- This are convience functions to update both the multibyte and wide
- character strings at the same time.
- .El
- .Pp
- The sourcepath is a pure filesystem concept and never stored in an
- archive directly.
- .Pp
- 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.
- .Pp
- .Fn archive_entry_set_XXX
- is an alias for
- .Fn archive_entry_copy_XXX .
- .Sh SEE ALSO
- .Xr archive_entry 3
- .Xr libarchive 3 ,
|