Index Index for
Section 3
Index Alphabetical
listing for D
Bottom of page 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 Index for
Section 3
Index Alphabetical
listing for D
Top of page Top of
page