summaryrefslogtreecommitdiff
path: root/man/man3/attr_list.3
diff options
context:
space:
mode:
Diffstat (limited to 'man/man3/attr_list.3')
-rw-r--r--man/man3/attr_list.3269
1 files changed, 0 insertions, 269 deletions
diff --git a/man/man3/attr_list.3 b/man/man3/attr_list.3
index cffe16d..e69de29 100644
--- a/man/man3/attr_list.3
+++ b/man/man3/attr_list.3
@@ -1,269 +0,0 @@
-.TH ATTR_LIST 3
-.SH NAME
-attr_list, attr_listf \- list the names of the user attributes of a filesystem object
-.SH C SYNOPSIS
-.PP
-.sp
-.nf
-.B #include <attr/attributes.h>
-.sp
-.B "int attr_list (const char \(**path, char \(**buffer, "
-.B " const int buffersize, int flags,"
-.B " attrlist_cursor_t \(**cursor);"
-.PP
-.B "int attr_listf (int fd, char \(**buffer, "
-.B " const int buffersize, int flags,"
-.B " attrlist_cursor_t \(**cursor);"
-.Op
-.SH DESCRIPTION
-The
-.I attr_list
-and
-.I attr_listf
-functions provide a way to list the existing attributes of a
-filesystem object.
-.P
-.I Path\^
-points to a path name for a filesystem object, and
-.I fd\^
-refers to the file descriptor associated with a file.
-The
-.I buffer
-will be filled with a structure describing at least a portion of the
-attributes associated with the given filesystem object.
-.I Buffer
-will be overwritten with an \f4attrlist_t\fP structure
-containing a list of the attributes associated with
-that filesystem object, up to a maximum of
-.I buffersize
-bytes.
-The
-.I buffer
-must be sufficiently large to hold the appropriate data structures
-plus at least one maximally sized attribute name,
-but cannot be more than ATTR_MAX_VALUELEN (currently 64KB) bytes in length.
-.PP
-.Op c p a
-The contents of an \f4attrlist_t\fP structure include the following members:
-.P
-.RS 3
-.nf
-.ft 4
-.ta 9n 22n
-__int32_t al_count; /\(** number of entries in attrlist \(**/
-__int32_t al_more; /\(** T/F: more attrs (do syscall again) \(**/
-__int32_t al_offset[1]; /\(** byte offsets of attrs [var-sized] \(**/
-.ft 1
-.fi
-.RE
-.PP
-The
-.I al_count
-field shows the number of attributes represented in this buffer,
-which is also the number of elements in the
-.I al_offset
-array.
-The
-.I al_more
-field will be non-zero if another
-.I attr_list
-call would result in more attributes.
-The
-.I al_offset
-array contains the byte offset within the
-.I buffer
-of the structure describing each of the attributes,
-an \f4attrlist_ent_t\fP structure.
-The \f4ATTR_ENTRY(buffer, index)\fP macro will help with decoding the list.
-It takes a pointer to the
-.I buffer
-and an
-.I index
-into the
-.I al_offset
-array and returns a pointer to the corresponding
-\f4attrlist_ent_t\fP structure.
-.PP
-The contents of an \f4attrlist_ent_t\fP structure
-include the following members:
-.P
-.RS 3
-.nf
-.ft 4
-.ta 9n 22n
-u_int32_t a_valuelen; /\(** number bytes in value of attr \(**/
-char a_name[]; /\(** attr name (NULL terminated) \(**/
-.ft 1
-.fi
-.Op
-.RE
-.PP
-The
-.I a_valuelen
-field shows the size in bytes of the value
-associated with the attribute whose name is stored in the
-.I a_name
-field.
-The name is a NULL terminated string.
-.PP
-Note that the value of the attribute cannot be obtained through
-this interface, the
-.I attr_get
-call should be used to get the value.
-The
-.I attr_list
-interface tells the calling process how large of a buffer
-it must have in order to get the attribute\'s value.
-.PP
-The
-.I flags
-argument can contain the following symbols bitwise OR\'ed together:
-.TP
-.SM
-\%ATTR_ROOT
-List the attributes that are in the
-.B root
-address space, not in the
-.B user
-address space.
-(limited to use by super-user only)
-.TP
-.SM
-\%ATTR_DONTFOLLOW
-Do not follow symbolic links when resolving a
-.I path
-on an
-.I attr_list
-function call.
-The default is to follow symbolic links.
-.PP
-The
-.I cursor
-argument is a pointer to an opaque data structure that the kernel uses
-to track the calling process\'s position in the attribute list.
-The only valid operations on a
-.I cursor
-are to pass it into an
-.I attr_list
-function call or to zero it out.
-It should be zero\'ed out before the first
-.I attr_list
-call.
-Note that multi-threaded applications may keep more than one
-.I cursor
-in order to serve multiple contexts, ie: the
-.I attr_list
-call is "thread-safe".
-.PP
-.I attr_list
-will fail if one or more of the following are true:
-.TP 17
-.SM
-\%[ENOENT]
-The named file does not exist.
-.TP
-.SM
-\%[EPERM]
-The effective user
-.SM ID
-does not match the owner of the file
-and the effective user
-.SM ID
-is not super-user.
-.TP
-.SM
-\%[ENOTDIR]
-A component of the
-path prefix
-is not a directory.
-.TP
-.SM
-\%[EACCES]
-Search permission is denied on a
-component of the
-path prefix.
-.TP
-.SM
-\%[EINVAL]
-A bit was set in the
-.I flag
-argument that is not defined for this system call,
-or the buffer was too small or too large.
-.TP
-.SM
-\%[EFAULT]
-Either
-.I Path
-or
-.I buffer
-points outside the allocated address space of the process, or
-.I buffer
-or
-.I bufsize
-are not 32bit aligned.
-.TP
-.SM
-\%[ELOOP]
-A path name lookup involved too many symbolic links.
-.TP
-.SM
-\%[ENAMETOOLONG]
-The length of
-.I path
-exceeds
-.SM
-.RI { MAXPATHLEN },
-or a pathname component is longer than
-.SM
-.RI { MAXNAMELEN }.
-.TP
-.SM
-\%[ENOATTR]
-.I attribute\^
-does not exist for this file.
-.PP
-.I attr_listf\^
-will fail if:
-.TP 15
-.SM
-\%[EINVAL]
-A bit was set in the
-.I flag
-argument that is not defined for this system call, or
-.I fd\^
-refers to a socket, not a file,
-or the buffer was too small or too large.
-.TP
-.SM
-\%[EFAULT]
-Either
-.I Path
-or
-.I buffer
-points outside the allocated address space of the process, or
-.I buffer
-or
-.I bufsize
-are not 32bit aligned.
-.TP
-.SM
-\%[EBADF]
-.I Fd\^
-does not refer to a valid descriptor.
-.SH "SEE ALSO"
-attr(1),
-.br
-attrctl(2),
-.br
-attr_get(3), attr_getf(3),
-.br
-attr_multi(3), attr_multif(3)
-.br
-attr_remove(3), attr_removef(3),
-.br
-attr_set(3), attr_set(3)
-.SH "DIAGNOSTICS"
-Upon successful completion, a value of 0 is returned.
-Otherwise, a value of \-1 is returned and
-.I errno\^
-is set to indicate the error.