Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

getmntopts(3) [bsd man page]

GETMNTOPTS(3)						     Library Functions Manual						     GETMNTOPTS(3)

getmntopts - scan mount options SYNOPSIS
#include <mntopts.h> void getmntopts(options, mopts, flagp) char *options; struct mntopt *mopts; int *flagp DESCRIPTION
The getmntopts() function takes a comma separated option list and a list of valid option names, and computes the bitmask corresponding to the requested set of options. The string options is broken down into a sequence of comma separated tokens. Each token is looked up in the table described by mopts and the bits in the word referenced by flagp are updated. The flag word is not initialized by getmntopt. The table, mopts, has the following format: struct mntopt { char *m_option; /* option name */ int m_inverse; /* is this a negative option, eg "dev" */ int m_flag; /* bit to set, eg MNT_RDONLY */ }; The members of this structure are: m_option the option name, for example ``suid''. m_inverse tells getmntopts that the name has the inverse meaning of the bit. For example, ``suid'' is the string, whereas the mount flag is MNT_NOSUID. In this case, the sense of the string and the flag are inverted, so the m_inverse flag should be set. m_flag the value of the bit to be set or cleared in the flag word when the option is recognized. The bit is set when the option is dis- covered, but cleared if the option name was preceded by the letters ``no''. The m_inverse flag causes these two operations to be reversed. Each of the user visible MNT_ flags has a corresponding MOPT_ macro which defines an appropriate struct mntopt entry. To simplify the pro- gram interface and ensure consistency across all programs, a general purpose macro, MOPT_STDOPTS, is defined which contains an entry for all the generic VFS options. In addition, the macros MOPT_FORCE and MOPT_UPDATE exist to enable the MNT_FORCE and MNT_UPDATE flags to be set. Finally, the table must be terminated by an entry with a NULL first element. EXAMPLES
Most commands will use the standard option set. Local filesystems which support the MNT_UPDATE flag, would also have an MOPT_UPDATE entry. This can be declared and used as follows: #include "mntopts.h" struct mntopt mopts[] = { MOPT_STDOPTS, MOPT_UPDATE, { NULL } }; ... mntflags = 0; ... getmntopts(options, mopts, &mntflags) ... DIAGNOSTICS
The getmntopts function displays an error message and exits if an unrecognized option is encountered. SEE ALSO
err(3), mount(8) HISTORY
The getmntopts function appeared in 4.4BSD. 4.4 Berkeley Distribution January 16, 1996 GETMNTOPTS(3)

Check Out this Related Man Page

GETSUBOPT(3)						     Library Functions Manual						      GETSUBOPT(3)

getsubopt - get sub options from an argument SYNOPSIS
#include <stdlib.h> extern char *suboptarg int getsubopt(optionp, tokens, valuep) char **optionp; char **tokens; char **valuep; DESCRIPTION
The getsubopt() function parses a string containing tokens delimited by one or more tab, space or comma (`,') characters. It is intended for use in parsing groups of option arguments provided as part of a utility command line. The argument optionp is a pointer to a pointer to the string. The argument tokens is a pointer to a NULL-terminated array of pointers to strings. The getsubopt() function returns the zero-based offset of the pointer in the tokens array referencing a string which matches the first token in the string, or, -1 if the string contains no tokens or tokens does not contain a matching string. If the token is of the form ``name=value'', the location referenced by valuep will be set to point to the start of the ``value'' portion of the token. On return from getsubopt(), optionp will be set to point to the start of the next token in the string, or the null at the end of the string if no more tokens are present. The external variable suboptarg will be set to point to the start of the current token, or NULL if no tokens were present. The argument valuep will be set to point to the ``value'' portion of the token, or NULL if no ``value'' portion was present. EXAMPLE
char *tokens[] = { #define ONE 0 "one", #define TWO 1 "two", NULL }; ... extern char *optarg, *suboptarg; char *options, *value; while ((ch = getopt(argc, argv, "ab:")) != -1) { switch(ch) { case 'a': /* process ``a'' option */ break; case 'b': options = optarg; while (*options) { switch(getsubopt(&options, tokens, &value)) { case ONE: /* process ``one'' sub option */ break; case TWO: /* process ``two'' sub option */ if (!value) error("no value for two"); i = atoi(value); break; case -1: if (suboptarg) error("illegal sub option %s", suboptarg); else error("missing sub option"); break; } break; } SEE ALSO
getopt(3), strsep(3) HISTORY
The getsubopt() function first appeared in 4.4BSD. 4.4 Berkeley Distribution January 12, 1996 GETSUBOPT(3)
Man Page

Featured Tech Videos