Imported Upstream version 3.3.0
[platform/upstream/libarchive.git] / doc / html / archive_entry.3.html
1 <!-- Creator     : groff version 1.22.3 -->
2 <!-- CreationDate: Sun Feb 19 09:11:15 2017 -->
3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
4 "http://www.w3.org/TR/html4/loose.dtd">
5 <html>
6 <head>
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 }
15 </style>
16 <title></title>
17 </head>
18 <body>
19
20 <hr>
21
22
23 <p>ARCHIVE_ENTRY(3) BSD Library Functions Manual
24 ARCHIVE_ENTRY(3)</p>
25
26 <p style="margin-top: 1em"><b>NAME</b></p>
27
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>, &mdash; functions for managing
31 archive entry descriptions</p>
32
33 <p style="margin-top: 1em"><b>LIBRARY</b></p>
34
35 <p style="margin-left:6%;">Streaming Archive Library
36 (libarchive, -larchive)</p>
37
38 <p style="margin-top: 1em"><b>SYNOPSIS</b></p>
39
40 <p style="margin-left:6%;"><b>#include
41 &lt;archive_entry.h&gt;</b></p>
42
43 <p style="margin-left:6%; margin-top: 1em"><i>struct
44 archive_entry *</i></p>
45
46
47 <p style="margin-left:12%;"><b>archive_entry_clear</b>(<i>struct&nbsp;archive_entry&nbsp;*</i>);</p>
48
49 <p style="margin-left:6%; margin-top: 1em"><i>struct
50 archive_entry *</i></p>
51
52
53 <p style="margin-left:12%;"><b>archive_entry_clone</b>(<i>struct&nbsp;archive_entry&nbsp;*</i>);</p>
54
55 <p style="margin-left:6%; margin-top: 1em"><i>void</i></p>
56
57
58 <p style="margin-left:12%;"><b>archive_entry_free</b>(<i>struct&nbsp;archive_entry&nbsp;*</i>);</p>
59
60 <p style="margin-left:6%; margin-top: 1em"><i>struct
61 archive_entry *</i></p>
62
63
64 <p style="margin-left:12%;"><b>archive_entry_new</b>(<i>void</i>);</p>
65
66 <p style="margin-top: 1em"><b>DESCRIPTION</b></p>
67
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
75 an archive.</p>
76
77 <p style="margin-left:6%; margin-top: 1em"><b>Create and
78 Destroy</b> <br>
79 There are functions to allocate, destroy, clear, and copy
80 <i>archive_entry</i> objects:</p>
81
82 <p><b>archive_entry_clear</b>()</p>
83
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>
88
89 <p><b>archive_entry_clone</b>()</p>
90
91 <p style="margin-left:17%;">A deep copy operation; all text
92 fields are duplicated.</p>
93
94 <p><b>archive_entry_free</b>()</p>
95
96 <p style="margin-left:17%;">Releases the struct
97 archive_entry object.</p>
98
99 <p><b>archive_entry_new</b>()</p>
100
101 <p style="margin-left:17%;">Allocate and return a blank
102 struct archive_entry object.</p>
103
104 <p style="margin-left:6%; margin-top: 1em"><b>Function
105 groups</b> <br>
106 Due to high number of functions, the accessor functions can
107 be found in man pages grouped by the purpose.</p>
108
109 <p style="margin-top: 1em">archive_entry_acl(3)</p>
110
111 <p style="margin-left:37%; margin-top: 1em">Access Control
112 List manipulation</p>
113
114 <p style="margin-top: 1em">archive_entry_paths(3)</p>
115
116 <p style="margin-left:37%; margin-top: 1em">Path name
117 manipulation</p>
118
119 <p style="margin-top: 1em">archive_entry_perms(3)</p>
120
121 <p style="margin-left:37%; margin-top: 1em">User, group and
122 mode manipulation</p>
123
124 <p style="margin-top: 1em">archive_entry_stat(3)</p>
125
126 <p style="margin-left:37%; margin-top: 1em">Functions not
127 in the other groups and copying to/from <i>struct
128 stat</i>.</p>
129
130 <p style="margin-top: 1em">archive_entry_time(3)</p>
131
132 <p style="margin-left:37%; margin-top: 1em">Time field
133 manipulation</p>
134
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>
138
139 <p><b>archive_entry_set_XXXX</b>()</p>
140
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>
144
145 <p><b>archive_entry_copy_XXXX</b>()</p>
146
147 <p style="margin-left:17%;">As above, except that the
148 referenced data is copied into the object.</p>
149
150 <p><b>archive_entry_XXXX</b>()</p>
151
152 <p style="margin-left:17%;">Returns the specified data. In
153 the case of strings, a const-qualified pointer to the string
154 is returned.</p>
155
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>
166
167 <p style="margin-top: 1em"><b>SEE ALSO</b></p>
168
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>
172
173 <p style="margin-top: 1em"><b>HISTORY</b></p>
174
175 <p style="margin-left:6%;">The <b>libarchive</b> library
176 first appeared in FreeBSD&nbsp;5.3.</p>
177
178 <p style="margin-top: 1em"><b>AUTHORS</b></p>
179
180 <p style="margin-left:6%;">The <b>libarchive</b> library
181 was written by Tim Kientzle &lt;kientzle@acm.org&gt;.</p>
182
183 <p style="margin-left:6%; margin-top: 1em">BSD
184 Feburary&nbsp;2, 2012 BSD</p>
185 <hr>
186 </body>
187 </html>