1 <!-- Creator : groff version 1.22.3 -->
2 <!-- CreationDate: Sun Jun 19 19:54:05 2016 -->
3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
4 "http://www.w3.org/TR/html4/loose.dtd">
7 <meta name="generator" content="groff -Thtml, see www.gnu.org">
8 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
9 <meta name="Content-Style" content="text/css">
10 <style type="text/css">
11 p { margin-top: 0; margin-bottom: 0; vertical-align: top }
12 pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
13 table { margin-top: 0; margin-bottom: 0; vertical-align: top }
14 h1 { text-align: center }
23 <p>ARCHIVE_ENTRY(3) BSD Library Functions Manual
26 <p style="margin-top: 1em"><b>NAME</b></p>
28 <p style="margin-left:6%;"><b>archive_entry_clear</b>,
29 <b>archive_entry_clone</b>, <b>archive_entry_free</b>,
30 <b>archive_entry_new</b>, — functions for managing
31 archive entry descriptions</p>
33 <p style="margin-top: 1em"><b>LIBRARY</b></p>
35 <p style="margin-left:6%;">Streaming Archive Library
36 (libarchive, -larchive)</p>
38 <p style="margin-top: 1em"><b>SYNOPSIS</b></p>
40 <p style="margin-left:6%;"><b>#include
41 <archive_entry.h></b></p>
43 <p style="margin-left:6%; margin-top: 1em"><i>struct
44 archive_entry *</i></p>
47 <p style="margin-left:12%;"><b>archive_entry_clear</b>(<i>struct archive_entry *</i>);</p>
49 <p style="margin-left:6%; margin-top: 1em"><i>struct
50 archive_entry *</i></p>
53 <p style="margin-left:12%;"><b>archive_entry_clone</b>(<i>struct archive_entry *</i>);</p>
55 <p style="margin-left:6%; margin-top: 1em"><i>void</i></p>
58 <p style="margin-left:12%;"><b>archive_entry_free</b>(<i>struct archive_entry *</i>);</p>
60 <p style="margin-left:6%; margin-top: 1em"><i>struct
61 archive_entry *</i></p>
64 <p style="margin-left:12%;"><b>archive_entry_new</b>(<i>void</i>);</p>
66 <p style="margin-top: 1em"><b>DESCRIPTION</b></p>
68 <p style="margin-left:6%;">These functions create and
69 manipulate data objects that represent entries within an
70 archive. You can think of a struct archive_entry as a
71 heavy-duty version of struct stat: it includes everything
72 from struct stat plus associated pathname, textual group and
73 user names, etc. These objects are used by libarchive(3) to
74 represent the metadata associated with a particular entry in
77 <p style="margin-left:6%; margin-top: 1em"><b>Create and
79 There are functions to allocate, destroy, clear, and copy
80 <i>archive_entry</i> objects:</p>
82 <p><b>archive_entry_clear</b>()</p>
84 <p style="margin-left:17%;">Erases the object, resetting
85 all internal fields to the same state as a newly-created
86 object. This is provided to allow you to quickly recycle
87 objects without thrashing the heap.</p>
89 <p><b>archive_entry_clone</b>()</p>
91 <p style="margin-left:17%;">A deep copy operation; all text
92 fields are duplicated.</p>
94 <p><b>archive_entry_free</b>()</p>
96 <p style="margin-left:17%;">Releases the struct
97 archive_entry object.</p>
99 <p><b>archive_entry_new</b>()</p>
101 <p style="margin-left:17%;">Allocate and return a blank
102 struct archive_entry object.</p>
104 <p style="margin-left:6%; margin-top: 1em"><b>Function
106 Due to high number of functions, the accessor functions can
107 be found in man pages grouped by the purpose.</p>
109 <p style="margin-top: 1em">archive_entry_acl(3)</p>
111 <p style="margin-left:37%; margin-top: 1em">Access Control
112 List manipulation</p>
114 <p style="margin-top: 1em">archive_entry_paths(3)</p>
116 <p style="margin-left:37%; margin-top: 1em">Path name
119 <p style="margin-top: 1em">archive_entry_perms(3)</p>
121 <p style="margin-left:37%; margin-top: 1em">User, group and
122 mode manipulation</p>
124 <p style="margin-top: 1em">archive_entry_stat(3)</p>
126 <p style="margin-left:37%; margin-top: 1em">Functions not
127 in the other groups and copying to/from <i>struct
130 <p style="margin-top: 1em">archive_entry_time(3)</p>
132 <p style="margin-left:37%; margin-top: 1em">Time field
135 <p style="margin-left:6%; margin-top: 1em">Most of the
136 functions set or read entries in an object. Such functions
137 have one of the following forms:</p>
139 <p><b>archive_entry_set_XXXX</b>()</p>
141 <p style="margin-left:17%;">Stores the provided data in the
142 object. In particular, for strings, the pointer is stored,
143 not the referenced string.</p>
145 <p><b>archive_entry_copy_XXXX</b>()</p>
147 <p style="margin-left:17%;">As above, except that the
148 referenced data is copied into the object.</p>
150 <p><b>archive_entry_XXXX</b>()</p>
152 <p style="margin-left:17%;">Returns the specified data. In
153 the case of strings, a const-qualified pointer to the string
156 <p style="margin-left:6%;">String data can be set or
157 accessed as wide character strings or normal <i>char</i>
158 strings. The functions that use wide character strings are
159 suffixed with <b>_w</b>. Note that these are different
160 representations of the same data: For example, if you store
161 a narrow string and read the corresponding wide string, the
162 object will transparently convert formats using the current
163 locale. Similarly, if you store a wide string and then store
164 a narrow string for the same data, the previously-set wide
165 string will be discarded in favor of the new data.</p>
167 <p style="margin-top: 1em"><b>SEE ALSO</b></p>
169 <p style="margin-left:6%;">archive_entry_acl(3),
170 archive_entry_paths(3), archive_entry_perms(3),
171 archive_entry_time(3) libarchive(3),</p>
173 <p style="margin-top: 1em"><b>HISTORY</b></p>
175 <p style="margin-left:6%;">The <b>libarchive</b> library
176 first appeared in FreeBSD 5.3.</p>
178 <p style="margin-top: 1em"><b>AUTHORS</b></p>
180 <p style="margin-left:6%;">The <b>libarchive</b> library
181 was written by Tim Kientzle <kientzle@acm.org>.</p>
183 <p style="margin-left:6%; margin-top: 1em">BSD
184 Feburary 2, 2012 BSD</p>