libreparse man page on OpenIndiana

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

libreparse(3LIB)	      Interface Libraries	      libreparse(3LIB)

NAME
       libreparse - reparse point library

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

DESCRIPTION
       The  functions  in this library perform operations related  to "reparse
       points",	 which	are  the  basis	 of Microsoft DFS  referrals  and  NFS
       referrals  support  on  Solaris	CIFS and  NFS file  servers. A service
       which offers namespace redirection  can	provide	 "plugins",  libraries
       which provide creation  and interpretation services for reparse points.

INTERFACES
       The  shared object libdl.so.1 provides the following public interfaces.
       See Intro(3) for additional information on shared object interfaces.

       reparse_add		     reparse_create
       reparse_delete		     reparse_deref
       reparse_free		     reparse_init
       reparse_parse		     reparse_remove
       reparse_unparse		     reparse_validate
       rp_plugin_init

       The shared object "plugins" must each  provide  a  versioned ops	 table
       of the form:

	 typedef struct reparse_plugin_ops {
	     int       rpo_version;	    /* version number */
	     int       (*rpo_init)(void);
	     void      (*rpo_fini)(void);
	     char      *(*rpo_svc_types)(void);
	     boolean_t (*rpo_supports_svc)(const char *);
	     char      *(*rpo_form)(const char *, const char *, char *,
			   size_t *);
	     int       (*rpo_deref)(const char *, const char *, char *,
			   size_t *);
	 } reparse_plugin_ops_t

       For example,

	 reparse_plugin_ops_t reparse_plugin_ops = {
	      REPARSE_PLUGIN_V1,
	      nfs_init,
	      nfs_fini,
	      nfs_svc_types,
	      nfs_supports_svc,
	      nfs_form,
	      nfs_deref
	 };

       The version 1 ops table supports the following operations:

       int (*rpo_init)(void);

	   This	 is  a one-time initialization function that will be called by
	   libreparse.so upon loading the plugin prior	to  any	 other	opera‐
	   tions. This provides the plugin with an opportunity to perform ser‐
	   vice specific initialization. This function	must  return  zero  on
	   success or non-zero errno values to indicate an error.

       void (*rpo_fini)(void);

	   This	 is  a	one-time  termination  function that will be called by
	   libreparse.so prior closing the plugin. Once called,	 libreparse.so
	   will not call any other operations on the plugin.

       char *(*rpo_svc_types)(void);

	    Returns a pointer to a string containing a list of comma separated
	   svc_types. svc_type names are case-insensitive and white  space  in
	   the returned string is irrelevant and must be ignored by parsers.

       boolean_t (*rpo_supports_svc)(const char *svc_type);

	   This function will return true if the plugin supports the specified
	   service type, otherwise it must return false.

       int *(*rpo_form)(const char *svc_type, const char *string, char *buf,
       size_t *bufsize);

	   Formats  a  string  with the appropriate service-specific syntax to
	   create a reparse point of the given svc_type, using the string from
	   the	reparse_add(3REPARSE)  call  as part of the string. 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.

       int (*rpo_deref)(const char *svc_type, const char *svc_data, char *buf,
       size_t *bufsize);

	   Accepts the	service-specific  item	from  the  reparse  point  and
	   returns  the	 service-specific data requested. 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.

FILES
       /usr/lib/libreparse.so.1

	   shared object

       /usr/lib/64/libreparse.so.1

	   64-bit shared object

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

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Availability		     │system/library (32-bit)	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │			     │SUNWcslx (64-bit)		   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Interface Stability	     │Committed			   │
       ├─────────────────────────────┼─────────────────────────────┤
       │MT-Level		     │Safe			   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       Intro(3), reparse_add(3REPARSE), attributes(5)

SunOS 5.11			  14 Oct 2009		      libreparse(3LIB)
[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