*** UNIX MANUAL PAGE BROWSER ***

A Nergahak database for man pages research.

Navigation

Directory Browser

1Browse 4.4BSD4.4BSD
1Browse Digital UNIXDigital UNIX 4.0e
1Browse FreeBSDFreeBSD 14.3
1Browse MINIXMINIX 3.4.0rc6-d5e4fc0
1Browse NetBSDNetBSD 10.1
1Browse OpenBSDOpenBSD 7.7
1Browse UNIX v7Version 7 UNIX
1Browse UNIX v10Version 10 UNIX

Manual Page Search

Manual Page Result

0 Command: add_proplist_entry | Section: 3 | Source: Digital UNIX | File: add_proplist_entry.3.gz
add_proplist_entry(3) Library Functions Manual add_proplist_entry(3) NAME add_proplist_entry - Adds an Extended File Attribute to the Extended File Attribute buffer SYNOPSIS #include <sys/proplist.h> int add_proplist_entry ( char *name, int flags, int value_size, char *value, char **buf- ptr ); PARAMETERS Points to the Extended File Attribute name, a null terminated ASCII string. Specifies system-wide attributes for Extended File Attribute en- tries. These system-wide attributes are defined in sys/pro- plist.h. Specifies the size in bytes of the Extended File Attribute value. Points to the value of the Extended File Attribute. Points to the Extended File Attribute buffer. DESCRIPTION The add_proplist_entry function initializes an Extended File Attribute buffer, pointed to by **bufptr, with the Extended File Attribute speci- fied by the *name and *value parameters. The function can be called repeatedly, because it advances the Extended File Attribute buffer pointer **bufptr to the end of the current entry. An Extended File At- tribute 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 exam- ple, ACLs and privileges) or by a user-level application (for example, PC File Attributes). Although not a requirement, Digital recommends that you use the sizeof_proplist_entry(3) and add_proplist_entry(3) functions to ini- tialize the Extended File Attribute buffer passed to setproplist(3) and fsetproplist(3). EXAMPLES #include <sys/proplist.h> main() { char *ptr, *buf, *name, *value; int *value_len, *flags, buffer_size, min_buffer_size, ret, nbytes; struct pro- plistname_args; static char *names[] = { "primary_name", "sec- ondary_name", "" }; /* * How big a buffer do I need to store my name and value * pair in a property list ? */ buffer_size = sizeof_proplist_entry("primary_name", 18); buffer_size += sizeof_proplist_entry("secondary_name", 13); /* * Malloc the buffer */ buf = ptr = (char *)malloc(buffer_size); /* * Call add_proplist_entry to initialize the buffer with * the first name and value pair. */ ret = add_proplist_entry("primary_name", 0, 18, "Primary Name Value", &ptr); /* * Call add_proplist_entry to initialize the buffer with * the second name and value pair. */ ret += add_proplist_entry("secondary_name", 0, 13, "An- other Value", &ptr); if (ret != buffer_size) { printf("ret %d != buffer_size %d0, ret, buffer_size); free(buf, buffer_size); exit(1); } /* * Buffer now contains both name and value pairs. Call setproplist * system call to actually associate name and value pairs to * file. */ nbytes = setproplist("/tmp/foo", 1, buffer_size, buf); if (nbytes < 0 || nbytes != buffer_size) { perror("setproplist"); free(buf); exit(1); } . . . RETURN VALUES If successful, the function returns the number of bytes copied into the Extended File Attribute buffer. RELATED INFORMATION Functions: add_proplist_entry(3), delproplist(3), fdelproplist(3), fgetproplist(3), fsetproplist(3), get_proplist_entry(3), getpro- plist(3), setproplist(3), sizeof_proplist_entry(3). Files: proplist(4), sys/proplist.h. delim off add_proplist_entry(3)

Navigation Options