reparse_add(3reparse) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

reparse_add(3reparse)

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_un‐
       parse, reparse_validate, rp_plugin_init - reparse point operations

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 al‐
       ready 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/er‐
       rno.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 re‐
       turned  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 un‐
       successful.


       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 un‐
       successful.

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_unparse(nvp, &text);
         rc = reparse_create(path, text);
         reparse_free(nvp);
         free(text);


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

       tab()  box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
       TRIBUTE VALUE _ Interface StabilityCommitted _ MT-LevelSafe


SEE ALSO
       libreparse(3LIB), attributes(7), reparsed(8)

Oracle Solaris 11.4               28 Jul 2020            reparse_add(3REPARSE)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3