get_proplist_entry man page on DigitalUNIX

Man page or keyword search:  
man Server   12896 pages
apropos Keyword Search (all sections)
Output format
DigitalUNIX logo
[printable version]

get_proplist_entry(3)					 get_proplist_entry(3)

       get_proplist_entry  - initializes pointers to the corresponding entries
       in an Extended File Attribute buffer

       #include <sys/proplist.h>

       int get_proplist_entry(
	       char **name,
	       int **flags,
	       int **value_size,
	       char **value,
	       char **bufptr );

       Points to the Extended File Attribute name.  Points to the  system-wide
       file  attributes	 for  Extended	File Attribute entries in the Property
       List.  Points to the size in  bytes  of	the  Extended  File  Attribute
       value.	Points	to  the	 Extended File Attribute value.	 Points to the
       Extended File Attribute buffer.

       The get_proplist_entry() function initializes the **name, **value_size,
       and  **value  parameters	 with the corresponding values in the Extended
       File Attribute buffer pointed to	 by  **bufptr.	The  function  can  be
       called  repeatedly because it advances the Extended File Attribute buf‐
       fer pointer **bufptr to the end of the current entry. 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 exam‐
       ple, PC File Attributes).

       This function should be used to parse the Extended File Attribute  buf‐
       fer returned by the getproplist(3) function.

       If  successful,	the  function returns the size of the current Extended
       File Attribute in the Property List.

       #include <sys/proplist.h> main() { char *ptr, *buf, *name, *value;  int
       *value_len,  *flags,  buffer_size, min_buffer_size, ret, nbytes; struct
       proplistname_args;  static  char	 *names[]  =  {	       "primary_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);  buf‐
       fer_size += sizeof_proplist_entry("secondary_name", 13);

	* Malloc the buffer
	*/ buf = ptr = (char *)malloc(buffer_size);
	     .	again: /*
	* Call the system call to load buffer with property list
	* entries.
	*/  ret	 =   getproplist("/tmp/foo",   &getargs,   buffer_size,	  buf,
		    &min_buffer_size);	if  (ret  <  0) {      perror("getpro‐
       plist");	     free(buf);	     exit(1); } /*
	* If buffer_size is not sufficient to store the name and value
	* pairs, malloc a bigger buffer and try again.
	*/ if (ret == 0 && min_buffer_size) {
		       buf = (char *)malloc(min_buffer_size);
		       buffer_size = min_buffer_size;
		       goto again; } /*
	* Buffer contains ret bytes of name and value pairs
	*/ ptr = buf; while (ret > 0) {	     /*	      * Call getproplist_entry
       to  initialize  name  and  value		* pointers to entries position
       within buffer.	     */	     ret -= get_proplist_entry(&name,  &flags,
       &value_len,  &value,			   &ptr);      printf("name %s
       value len %d value %s\n",	   name, *value_len, value); }

       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.


List of man pages available for DigitalUNIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net