Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
VFS_GETOPT(9)		   Kernel Developer's Manual		 VFS_GETOPT(9)

NAME
       vfs_getopt,   vfs_getopts,   vfs_flagopt,   vfs_scanopt,	  vfs_copyopt,
       vfs_filteropt, vfs_setopt, vfs_setopt_part, vfs_setopts	--  manipulate
       mount options and their values

SYNOPSIS
       #include	<sys/param.h>
       #include	<sys/mount.h>

       int
       vfs_getopt(struct vfsoptlist *opts,    const char *name,	   void	**buf,
	   int *len);

       char *
       vfs_getops(struct vfsoptlist *opts, const char *name, int *error);

       int
       vfs_flagopt(struct vfsoptlist *opts, const char *name, uint64_t *flags,
	   uint64_t flag);

       int
       vfs_scanopt(struct vfsoptlist *opts, const char *name, const char *fmt,
	   ...);

       int
       vfs_copyopt(struct vfsoptlist *opts,   const char *name,	   void	*dest,
	   int len);

       int
       vfs_filteropt(struct vfsoptlist *opts, const char **legal);

       int
       vfs_setopt(struct vfsoptlist *opts,    const char *name,	  void *value,
	   int len);

       int
       vfs_setopt_part(struct vfsoptlist *opts,	const char *name, void *value,
	   int len);

       int
       vfs_setopts(struct vfsoptlist *opts,		     const char	*name,
	   const char *value);

DESCRIPTION
       The  vfs_getopt()  function sets	buf to point to	the value of the named
       mount option, and sets len to the length	of the	value  if  it  is  not
       NULL.   The  buf	 argument will point to	the actual value, and does not
       need to be freed	or released (and probably should not be	modified).

       The vfs_getopts() function returns the value of the specified option if
       it is a string (i.e., NUL terminated).

       The vfs_flagopt() function determines if	an option exists.  If the  op-
       tion  does exist, and flags is not NULL,	flag is	added to those already
       set in flags.  If the option does not exist, and	 flags	is  not	 NULL,
       flag is removed from those already set in flags.	 An example of typical
       usage is:

       if (vfs_flagopt(mp->mnt_optnew, "wormlike", NULL, 0))
	       vfs_flagopt(mp->mnt_optnew, "appendok", &(mp->flags), F_APPENDOK);

       The  vfs_scanopt()  function  performs  a  vsscanf(3) with the option's
       value, using the	given format, into the specified  variable  arguments.
       The value must be a string (i.e., NUL terminated).

       The  vfs_copyopt()  function creates a copy of the option's value.  The
       len argument must match the length of the option's value	exactly	(i.e.,
       a larger	buffer will still cause	vfs_copyout() to fail with EINVAL).

       The vfs_filteropt() function ensures that no unknown options were spec-
       ified.  A option	is valid if its	name matches one of the	names  in  the
       list of legal names.  An	option may be prefixed with 'no', and still be
       considered valid.

       The vfs_setopt()	and vfs_setopt_part() functions	copy new data into the
       option's	 value.	  In  vfs_setopt(),  the  len  argument	must match the
       length of the option's value exactly (i.e., a larger buffer will	 still
       cause vfs_copyout() to fail with	EINVAL).

       The vfs_setopts() function copies a new string into the option's	value.
       The  string,  including	NUL  byte, must	be no longer than the option's
       length.

RETURN VALUES
       The vfs_getopt()	function returns 0 if the option was found; otherwise,
       ENOENT is returned.

       The vfs_getops()	function returns the specified option if it is	found,
       and  is NUL terminated.	If the option was found, but is	not NUL	termi-
       nated, error is set to EINVAL and NULL is returned.  If the option  was
       not found, error	is set to 0, and NULL is returned.

       The  vfs_flagopt() function returns 1 if	the option was found, and 0 if
       it was not.

       The vfs_scanopt() function returns 0 if the option was  not  found,  or
       was  not	 NUL  terminated; otherwise, the return	value of vsscanf(3) is
       returned.  If vsscanf(3)	returns	0,  it	will  be  returned  unchanged;
       therefore, a return value of 0 does not always mean the option does not
       exist, or is not	a valid	string.

       The  vfs_copyopt()  and vfs_setopt() functions return 0 if the copy was
       successful, EINVAL if the option	was found  but	the  lengths  did  not
       match, and ENOENT if the	option was not found.

       The vfs_filteropt() function returns 0 if all of	the options are	legal;
       otherwise, EINVAL is returned.

       The vfs_setopts() function returns 0 if the copy	was successful,	EINVAL
       if  the option was found	but the	string was too long, and ENOENT	if the
       option was not found.

AUTHORS
       This manual page	was written by	Chad  David  <davidc@FreeBSD.org>  and
       Ruslan Ermilov <ru@FreeBSD.org>.

FreeBSD	13.2			 July 31, 2011			 VFS_GETOPT(9)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | AUTHORS

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=vfs_getopt&sektion=9&manpath=FreeBSD+14.1-RELEASE+and+Ports>

home | help