 |
Index for Section 3 |
|
 |
Alphabetical listing for D |
|
 |
Bottom of page |
|
delproplist(3)
NAME
delproplist, fdelproplist - removes Extended File Attributes from a file
SYNOPSIS
#include <sys/proplist.h>
int delproplist(
char *path,
int follow,
struct proplistname_args *args );
int fdelproplist(
int fd,
struct proplistname_args *args );
PARAMETERS
path
Points to a file whose Extended File Attributes are to be removed from
its Property List.
follow
If non-zero, specifies that if the last component in path is a symbolic
link, then the link should be traversed.
args
Points to the proplistname_args structure, defined in sys/proplist.h,
that contains the following members:
· pl_mask -- Contains system-wide Extended File Attributes.
Note that if you are deleting all the Extended File Attributes of
a file, pl_mask must equal PLE_FLAG_ALL defined in sys/proplist.h.
Also, if you are deleting Extended File Attribute options that
match certain system-wide Extended File Attributes, the value of
pl_mask should be formed by ORing the desired values of the
system-wide Extended File Attributes.
· pl_numnames -- Contains the number of Extended File Attributes
names held in the names array, pl_names.
· pl_names -- Contains a counted array of Extended File Attribute
names.
Note that the Extended File Attribute names are null terminated
ASCII strings and that the last element of the array must be a
null pointer. Also, a null array pointer indicates all Extended
File Attributes.
fd Specifies a file descriptor that points to a file whose Extended File
Attributes are to be removed from its Property List. This parameter is
used with the fdelproplist() function.
DESCRIPTION
The delproplist() function removes one or more Extended File Attributes,
whose names are specified in the structure pointed to by args, from the
Property List of the file pointed to by path. An Extended File Attribute is
a name and value pair that is contained in a variable-sized structure
called a Property List. A Property List is part of a file's metadata and
can contain abstract name and value pairs (Extended File Attributes) that
can be set either by the operating system (for example, ACLs and
privileges) or by a user-level application (for example, PC File
Attributes). Note that if you specify a non-existent Extended File
Attribute name, the function will return successfully.
The fdelproplist() function behaves the same as delproplist(), except that
it operates on a file descriptor rather than a pointer to a file.
RESTRICTIONS
If a system failure occurs when the Extended File Attributes are being
removed from disk, one of the three following conditions may apply to each
Extended File Attribute because there are no ordering guarantees when
several Extended File Attributes are being updated:
· The Extended File Attribute was not removed from the disk.
· The Extended File Attribute was removed from the disk.
RETURN VALUES
If successful, zero is returned, the specified Extended File Attribute is
deleted from disk, and the change time of the file pointed to by path is
marked for update.
If unsuccessful, the integer -1 is returned and errno is set to indicate
the error.
ERRORS
In addition to errors associated with open(2), the function will fail if:
[EACCESS]
Search permission was denied for a directory in path.
The calling program was not the owner of the file and the process does
not have the appropriate system privilege.
[EFAULT]
A problem was encountered with the Extended File Attribute name.
[EINVAL]
A problem was encountered with the Extended File Attribute name.
[EIO]
An error occurred while reading or writing some portion of the Property
List.
[EOPNOTSUPP]
The Extended File Attribute could not be associated with the file
pointed to by path.
[EPERM]
The calling program did not have the appropriate system privilege to
access the requested Extended File Attribute, for example,
DEC_AUDIT_PROPLISTFLAG.
[EROFS]
The file system is mounted read-only.
EXAMPLES
#include <sys/proplist.h>
main()
{
char *ptr, *buf, *name, *value;
int *value_len, *options, buffer_size, min_buffer_size, ret, nbytes;
struct proplistname_args entry_names;
static char *names[] = {
"primary_name",
"secondary_name",
};
.
.
.
/*
* Delete the property list entries
*/
if (delproplist("/tmp/foo", 1, entry_names))
perror("delproplist");
free(buf);
}
SEE ALSO
Functions: open(2), add_proplist_entry(3), delproplist(3), fdelproplist(3),
fgetproplist(3), fsetproplist(3), get_proplist_entry(3), getproplist(3),
setproplist(3), sizeof_proplist_entry(3).
Files: proplist(4), sys/proplist.h.
 |
Index for Section 3 |
|
 |
Alphabetical listing for D |
|
 |
Top of page |
|