reparse_parse man page on OpenIndiana

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

reparse_add(3REPARSE)	Reparse Point Library Functions	 reparse_add(3REPARSE)

NAME
       reparse_add,	reparse_create,	    reparse_delete,	reparse_deref,
       reparse_free,	 reparse_init,	   reparse_parse,      reparse_remove,
       reparse_unparse, reparse_validate, rp_plugin_init - reparse point oper‐
       ations

SYNOPSIS
       cc [ flag ... ] file... -lreparse [ library ... ]
       #include <sys/fs_reparse.h>
       #include <rp_plugin.h>

       int reparse_add(nvlist_t *list, const char *svc_type,
	    const char *string);

       int reparse_create(const char *path, const char *string);

       int reparse_delete(const char *path);

       int reparse_deref(const char *svc_type, const char *svc_data,
	    const char *svc_data);

       void reparse_free(nvlist_t *list);

       nvlist_t *reparse_init(void);

       int reparse_parse(const char *string, nvlist *list);

       int reparse_remove(nvlist_t *list, const char *svc_type);

       int reparse_unparse(const nvlist_t *list, char **stringp);

       int reparse_validate(const char *string);

       int rp_plugin_init(void);

DESCRIPTION
       The reparse_add() function adds a service type entry to an nvlist  with
       a  copy	of  string, replacing one of the same type if already present.
       This routine will allocate and free memory as needed. It will fail with
       a non-zero value from </usr/include/sys/errno.h> if it is unsuccessful.

       The  reparse_create()  function create a reparse point at a given path‐
       name; the string format is validated. This function will fail  if  path
       refers  to  an  existing	 file  system object or an object named string
       already exists at the given path. It will fail with  a  non-zero	 value
       from </usr/include/sys/errno.h> if it is unsuccessful.

       The  reparse_delete()  function delete a reparse point at a given path‐
       name. It will fail if the pathname is not a symlink. It will fail  with
       a non-zero value from </usr/include/sys/errno.h> if it is unsuccessful.

       The  reparse_deref()  function accepts and parses the symlink data, and
       returns a type-specific piece of data in buf. The caller specifies  the
       size  of	 the  buffer provided via *bufsize; the routine will fail with
       EOVERFLOW if the results will not fit in the  buffer,  in  which	 case,
       *bufsize	 will  contain the number of bytes needed to hold the results.
       It can fail with other non-zero values from  </usr/include/sys/errno.h>
       if it is unsuccessful.

       The reparse_free() function frees all of the resources in the nvlist.

       The  reparse_init()  function  allocates an empty nvlist_t suitable for
       libreparse.so routines to manipulate. This routine will	allocate  mem‐
       ory,  which  must  be  freed  by reparse_free(). It will return NULL on
       failure.

       The reparse_parse() function parses the specified string and  populates
       the  nvlist  with  the  svc_types  and data from the string. The string
       could be read from the reparse point symlink body. Existing  or	dupli‐
       cate svc_type entries in the nvlist will be replaced. This routine will
       allocate memory that must be freed by reparse_free(). It will fail with
       a non-zero value from </usr/include/sys/errno.h> if it is unsuccessful.

       The  reparse_remove()  function	removes	 a service type entry from the
       nvlist, if present. This routine will free memory  that	is  no	longer
       needed.	  It	will	fail	with	a    non-zero	 value	  from
       </usr/include/sys/errno.h> if it is unsuccessful.

       The reparse_unparse() function converts an nvlist back to a string for‐
       mat  suitable  to  write	 to the reparse point symlink body. The string
       returned is in allocated memory and must be freed  by  the  caller.  It
       will  fail  with a non-zero value from </usr/include/sys/errno.h> if it
       is unsuccessful.

       The reparse_validate() function checks the syntax of a reparse point as
       it would be read from or written to the symlink body. It will fail with
       a non-zero value from </usr/include/sys/errno.h> if it is unsuccessful.

       The  rp_plugin_init()  function	loads  reparse	point  "plugins"  from
       /usr/lib/reparse to permit reparse point manipulation to start. It will
       fail with a non-zero value from	</usr/include/sys/errno.h>  if	it  is
       unsuccessful.

EXAMPLES
       Example 1 Set up a reparse point.

       A service would set up a reparse point this way:

	 nvlist_t	 *nvp;
	 char		 *text;
	 int		 rc;

	 nvp = reparse_init();
	 rc = reparse_add(nvp, "smb-ad", smb_ad_data);
	 rc = reparse_add(nvp, "nfs-fedfs", nfs_fedfs_data);
	 rc = reparse_unparse(nvp, &text);
	 rc = reparse_create(path, text);
	 reparse_free(nvp);
	 free(text);

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Interface Stability	     │Committed			   │
       ├─────────────────────────────┼─────────────────────────────┤
       │MT-Level		     │Safe			   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       reparsed(1M), libreparse(3LIB), attributes(5)

SunOS 5.11			  14 Oct 2009		 reparse_add(3REPARSE)
[top]

List of man pages available for OpenIndiana

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]
Tweet
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