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> — 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<archive_entry.h></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 archive_entry *</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 archive_entry *</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 archive_entry *</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 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 <kientzle@acm.org>.</p> 182 183<p style="margin-left:6%; margin-top: 1em">BSD 184February 2, 2012 BSD</p> 185<hr> 186</body> 187</html> 188