1<!-- Creator     : groff version 1.22.4 -->
2<!-- CreationDate: Sun Aug 22 23:03:24 2021 -->
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
24ARCHIVE_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
31archive 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
44archive_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
50archive_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
61archive_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
69manipulate data objects that represent entries within an
70archive. You can think of a struct archive_entry as a
71heavy-duty version of struct stat: it includes everything
72from struct stat plus associated pathname, textual group and
73user names, etc. These objects are used by libarchive(3) to
74represent the metadata associated with a particular entry in
75an archive.</p>
76
77<p style="margin-left:6%; margin-top: 1em"><b>Create and
78Destroy</b> <br>
79There 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
85all internal fields to the same state as a newly-created
86object. This is provided to allow you to quickly recycle
87objects 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
92fields are duplicated.</p>
93
94<p><b>archive_entry_free</b>()</p>
95
96<p style="margin-left:17%;">Releases the struct
97archive_entry object.</p>
98
99<p><b>archive_entry_new</b>()</p>
100
101<p style="margin-left:17%;">Allocate and return a blank
102struct archive_entry object.</p>
103
104<p style="margin-left:6%; margin-top: 1em"><b>Function
105groups</b> <br>
106Due to high number of functions, the accessor functions can
107be 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
112List 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
117manipulation</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
122mode 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
127in the other groups and copying to/from <i>struct
128stat</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
133manipulation</p>
134
135<p style="margin-left:6%; margin-top: 1em">Most of the
136functions set or read entries in an object. Such functions
137have 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
142object. In particular, for strings, the pointer is stored,
143not 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
148referenced 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
153the case of strings, a const-qualified pointer to the string
154is returned.</p>
155
156<p style="margin-left:6%;">String data can be set or
157accessed as wide character strings or normal <i>char</i>
158strings. The functions that use wide character strings are
159suffixed with <b>_w</b>. Note that these are different
160representations of the same data: For example, if you store
161a narrow string and read the corresponding wide string, the
162object will transparently convert formats using the current
163locale. Similarly, if you store a wide string and then store
164a narrow string for the same data, the previously-set wide
165string 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),
170archive_entry_paths(3), archive_entry_perms(3),
171archive_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
176first 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
181was written by Tim Kientzle &lt;kientzle@acm.org&gt;.</p>
182
183<p style="margin-left:6%; margin-top: 1em">BSD
184February&nbsp;2, 2012 BSD</p>
185<hr>
186</body>
187</html>
188