1 /* Parsing of Suboptions Example
2 Copyright (C) 1991-2020 Free Software Foundation, Inc.
4 This program is free software; you can redistribute it and/or
5 modify it under the terms of the GNU General Public License
6 as published by the Free Software Foundation; either version 2
7 of the License, or (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, see <https://www.gnu.org/licenses/>.
37 const char *mount_opts
[] =
41 [READ_SIZE_OPTION
] = "rsize",
42 [WRITE_SIZE_OPTION
] = "wsize",
47 main (int argc
, char **argv
)
49 char *subopts
, *value
;
52 while ((opt
= getopt (argc
, argv
, "at:o:")) != -1)
63 while (*subopts
!= '\0')
64 switch (getsubopt (&subopts
, mount_opts
, &value
))
72 case READ_SIZE_OPTION
:
75 read_size
= atoi (value
);
77 case WRITE_SIZE_OPTION
:
80 write_size
= atoi (value
);
83 /* Unknown suboption. */
84 printf ("Unknown suboption `%s'\n", value
);
92 /* Do the real work. */