~ubuntu-branches/ubuntu/quantal/gengetopt/quantal

« back to all changes in this revision

Viewing changes to doc/gengetopt.info

  • Committer: Package Import Robot
  • Author(s): Alessio Treglia
  • Date: 2011-09-26 10:27:31 UTC
  • mfrom: (1.1.9 upstream)
  • Revision ID: package-import@ubuntu.com-20110926102731-vh42p0vriqz4kp3h
Tags: 2.22.5-1
* New upstream release:
  - correctly wraps and preprocess the specified usage string
  - handle escaped newline chars in the .ggo file correctly
  - initialize enum variables with a generated null value (makes
    the parser compilable in C++)
  - removed warnings in generated parser when only flags are used
* Fix gbp config file.
* Bump Standards.
* Drop unneeded dependency on dpkg (>= 1.15.4), stable has a newer version.
* Refresh patches.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
This is ../../doc/gengetopt.info, produced by makeinfo version 4.13
2
2
from ../../doc/gengetopt.texinfo.
3
3
 
4
 
This manual is for GNU Gengetopt (version 2.22.4, 23 December 2009), a
 
4
This manual is for GNU Gengetopt (version 2.22.5, 25 September 2011), a
5
5
tool to write command line option parsers for C programs.
6
6
 
7
 
   Copyright (C) 2001 - 2009 Free Software Foundation, Inc.
 
7
   Copyright (C) 2001 - 2011 Free Software Foundation, Inc.
8
8
 
9
9
     Permission is granted to copy, distribute and/or modify this
10
10
     document under the terms of the GNU Free Documentation License,
32
32
Gengetopt is a tool to write command line option parsing code for C
33
33
programs.
34
34
 
35
 
   This is Edition 2.22.4 of the Gengetopt manual.
36
 
 
37
 
   This file documents GNU Gengetopt version 2.22.4.
38
 
 
39
 
   This manual is for GNU Gengetopt (version 2.22.4, 23 December 2009),
 
35
   This is Edition 2.22.5 of the Gengetopt manual.
 
36
 
 
37
   This file documents GNU Gengetopt version 2.22.5.
 
38
 
 
39
   This manual is for GNU Gengetopt (version 2.22.5, 25 September 2011),
40
40
a tool to write command line option parsers for C programs.
41
41
 
42
 
   Copyright (C) 2001 - 2009 Free Software Foundation, Inc.
 
42
   Copyright (C) 2001 - 2011 Free Software Foundation, Inc.
43
43
 
44
44
     Permission is granted to copy, distribute and/or modify this
45
45
     document under the terms of the GNU Free Documentation License,
69
69
* Multiple Options::            Multiple options
70
70
* String Parsers and Multiple Parsers::  Using multiple parsers in the same program
71
71
* No getopt_long::              What if getopt_long is not available?
72
 
* Bugs::                        What is lame and/or buggy in Gengetopt 2.22.4
 
72
* Bugs::                        What is lame and/or buggy in Gengetopt 2.22.5
73
73
* Mailing Lists::               For discussions and announces
74
74
* Index::                       Index.
75
75
 
614
614
 
615
615
     /** @file cmdline1.h
616
616
      *  @brief The header file for the command line option parser
617
 
      *  generated by GNU Gengetopt version 2.22.4
 
617
      *  generated by GNU Gengetopt version 2.22.5
618
618
      *  http://www.gnu.org/software/gengetopt.
619
619
      *  DO NOT modify this file, since it can be overwritten
620
620
      *  @author GNU Gengetopt by Lorenzo Bettini */
658
658
       char * str_opt_arg;       /**< @brief A string option, for a filename.  */
659
659
       char * str_opt_orig;       /**< @brief A string option, for a filename original value given at command line.  */
660
660
       const char *str_opt_help; /**< @brief A string option, for a filename help description.  */
661
 
       int my_opt_arg;       /**< @brief Another integer option, this time the description of the option should be \"quite\" long to require wrapping... possibly more than one wrapping :-) especially if I\nrequire a line break.  */
662
 
       char * my_opt_orig;       /**< @brief Another integer option, this time the description of the option should be \"quite\" long to require wrapping... possibly more than one wrapping :-) especially if I\nrequire a line break original value given at command line.  */
663
 
       const char *my_opt_help; /**< @brief Another integer option, this time the description of the option should be \"quite\" long to require wrapping... possibly more than one wrapping :-) especially if I\nrequire a line break help description.  */
 
661
       int my_opt_arg;       /**< @brief Another integer option, this time the description of the option should be \"quite\" long to require wrapping... possibly more than one wrapping :-) especially if I
 
662
       require a line break.  */
 
663
       char * my_opt_orig;       /**< @brief Another integer option, this time the description of the option should be \"quite\" long to require wrapping... possibly more than one wrapping :-) especially if I
 
664
       require a line break original value given at command line.  */
 
665
       const char *my_opt_help; /**< @brief Another integer option, this time the description of the option should be \"quite\" long to require wrapping... possibly more than one wrapping :-) especially if I
 
666
       require a line break help description.  */
664
667
       int int_opt_arg;       /**< @brief A int option.  */
665
668
       char * int_opt_orig;       /**< @brief A int option original value given at command line.  */
666
669
       const char *int_opt_help; /**< @brief A int option help description.  */
938
941
 
939
942
   And here's how these functions can be used inside the main program:
940
943
 
 
944
     /* main1.cc */
 
945
     /* we try to use gengetopt generated file in a C++ program */
 
946
     /* we don't use autoconf and automake vars */
 
947
 
 
948
     #include <iostream>
 
949
     #include "stdlib.h"
 
950
 
 
951
     #include "cmdline1.h"
 
952
 
 
953
     using std::cout;
 
954
     using std::endl;
 
955
 
 
956
     int
 
957
     main (int argc, char **argv)
 
958
     {
 
959
       gengetopt_args_info args_info;
 
960
 
 
961
       cout << "This one is from a C++ program" << endl ;
 
962
       cout << "Try to launch me with some options" << endl ;
 
963
       cout << "(type sample1 --help for the complete list)" << endl ;
 
964
       cout << "For example: ./sample1 *.* --funct-opt" << endl ;
 
965
 
 
966
       /* let's call our cmdline parser */
 
967
       if (cmdline_parser (argc, argv, &args_info) != 0)
 
968
         exit(1) ;
 
969
 
 
970
       cout << "Here are the options you passed..." << endl;
 
971
 
 
972
       for ( unsigned i = 0 ; i < args_info.inputs_num ; ++i )
 
973
         cout << "file: " << args_info.inputs[i] << endl ;
 
974
 
 
975
       if ( args_info.funct_opt_given )
 
976
         cout << "You chose --funct-opt or -F." << endl ;
 
977
 
 
978
       if ( args_info.str_opt_given )
 
979
         cout << "You inserted " << args_info.str_opt_arg << " for " <<
 
980
           "--str-opt option." << endl ;
 
981
 
 
982
       if ( args_info.int_opt_given )
 
983
         cout << "This is the integer you input: " <<
 
984
           args_info.int_opt_arg << "." << endl;
 
985
 
 
986
       if (args_info.flag_opt_given)
 
987
         cout << "The flag option was given!" << endl;
 
988
 
 
989
       cout << "The flag is " << ( args_info.flag_opt_flag ? "on" : "off" ) <<
 
990
         "." << endl ;
 
991
 
 
992
       if (args_info.enum_opt_given) {
 
993
         cout << "enum-opt value: " << args_info.enum_opt_arg << endl;
 
994
         cout << "enum-opt (original specified) value: "
 
995
             << args_info.enum_opt_orig << endl;
 
996
       }
 
997
 
 
998
       if (args_info.secret_given)
 
999
         cout << "Secret option was specified: " << args_info.secret_arg
 
1000
             << endl;
 
1001
 
 
1002
       cout << args_info.def_opt_arg << "! ";
 
1003
 
 
1004
       cout << "Have a nice day! :-)" << endl ;
 
1005
 
 
1006
       cmdline_parser_free (&args_info); /* release allocated memory */
 
1007
 
 
1008
       return 0;
 
1009
     }
 
1010
 
941
1011
   Now you can compile `main1.cc' and the `cmdline1.c' generated by
942
1012
gengetopt and link all together to obtain `sample1' executable:
943
1013
 
1037
1107
                                 require a line break
1038
1108
       -i, --int-opt=INT       A int option (mandatory)
1039
1109
 
 
1110
 
1040
1111
     more involved options:
1041
1112
       the following options
1042
1113
       are more complex
1043
 
 
1044
1114
           --flag-opt          A flag option  (default=off)
1045
1115
       -F, --funct-opt         A function option
1046
1116
 
1100
1170
                                 require a line break
1101
1171
       -i, --int-opt=INT       A int option (mandatory)
1102
1172
 
 
1173
 
1103
1174
     more involved options:
1104
1175
       the following options
1105
1176
       are more complex
1106
 
 
1107
1177
           --flag-opt          A flag option  (default=off)
1108
1178
       -F, --funct-opt         A function option
1109
1179
 
1231
1301
       -S, --string-parser           generate a string parser (the string contains
1232
1302
                                       the command line)
1233
1303
 
 
1304
 
1234
1305
     Additional options:
1235
 
 
1236
1306
       -G, --include-getopt          adds the code for getopt_long in the generated
1237
1307
                                       C file
1238
1308
       -n, --no-handle-help          do not handle --help|-h automatically
1567
1637
in that case, a C `enum' type is also generated with name
1568
1638
`enum_<option>'; the values of such C enum will be generated according
1569
1639
this pattern: `<option>_arg_<value>', where `value' is the value
1570
 
specified in the input file, and the starting value is always 0.  For
1571
 
instance, if we specify in the input file the following option
 
1640
specified in the input file, and the starting value is always 0.  An
 
1641
additional value is generated to represent the null/empty value, with
 
1642
the pattern `<option>__NULL' (note the double underscore) with integer
 
1643
value -1.  For instance, if we specify in the input file the following
 
1644
option
1572
1645
 
1573
1646
     option "myopt" ... ... values="FOO","180","BAR" enum ...
1574
1647
 
1575
1648
then the following C enum will be generated:
1576
1649
 
1577
 
     enum enum_myopt { myopt_arg_FOO = 0, myopt_arg_180, myopt_arg_BAR };
 
1650
     enum enum_myopt {
 
1651
     myopt__NULL = -1, myopt_arg_FOO = 0, myopt_arg_180, myopt_arg_BAR };
1578
1652
 
1579
1653
   If you use the symbols `+' and `-', these will be translated into
1580
1654
`PLUS_' and `MINUS_', respectively, in the the C enum.  Thus, if we
1584
1658
 
1585
1659
then the following C enum will be generated:
1586
1660
 
1587
 
     enum enum_myopt { myopt_arg_PLUS_foo = 0,
 
1661
     enum enum_myopt { myopt__NULL = -1,
 
1662
                       myopt_arg_PLUS_foo = 0,
1588
1663
                       myopt_arg_MINUS_all, myopt_arg_MINUS_foo };
1589
1664
 
1590
1665
   An example using options with values (and enum options) is
1671
1746
 
1672
1747
   For instance, let us consider the file `test_modes_cmd.ggo':
1673
1748
 
 
1749
     package "test_modes"
 
1750
     version "1.0"
 
1751
 
 
1752
     section "some non mode options"
 
1753
 
 
1754
     option "no-mode" N "a generic option not beloging to any mode" optional
 
1755
     option "no-mode2" - "another generic option not beloging to any mode" string optional
 
1756
 
 
1757
     section "some modes just for testing"
 
1758
 
 
1759
     defmode "mode 2"
 
1760
     defmode "my mode"
 
1761
     defmode "mode1" modedesc="any option of this mode is in contrast with any \
 
1762
     option of the other mode\nNotice that this description is quite long so \
 
1763
     it may spawn many lines...              \
 
1764
     fortunately gengetopt will wrap it for you :-)"
 
1765
 
 
1766
     modeoption "opta" a "string a" multiple mode="mode1" optional
 
1767
     modeoption "optA" A "string A" string argoptional mode="mode1" required
 
1768
     modeoption "optAmul" M "string M"
 
1769
             argoptional string mode="mode1" multiple optional
 
1770
     modeoption "optb" b "string b" mode="mode1" optional
 
1771
 
 
1772
     modeoption "optc" - "string c" mode="mode 2" optional
 
1773
     modeoption "optd" d "string d" mode="mode 2" required
 
1774
 
 
1775
     modeoption "mopt" m "option of my mode" int optional mode="my mode" optional
 
1776
 
1674
1777
Now, we use the program `test_modes' (that uses the generated parser
1675
1778
for the input file above) to demonstrate how the parser generated by
1676
1779
gengetopt perform checks on mode options.
1905
2008
   For instance here's a program that uses this feature (this is the
1906
2009
test `test_conf_parser'):
1907
2010
 
 
2011
     /* test_conf_parser.c test */
 
2012
 
 
2013
     /* test all kinds of options and the conf file parser */
 
2014
 
 
2015
     #include <stdlib.h>
 
2016
     #include <stdio.h>
 
2017
 
 
2018
     #include "test_conf_parser_cmd.h"
 
2019
 
 
2020
     static struct my_args_info args_info;
 
2021
 
 
2022
     int
 
2023
     main (int argc, char **argv)
 
2024
     {
 
2025
       unsigned int i;
 
2026
       int result = 0;
 
2027
 
 
2028
       struct test_conf_parser_cmd_parser_params *params;
 
2029
 
 
2030
       /* initialize the parameters structure */
 
2031
       params = test_conf_parser_cmd_parser_params_create();
 
2032
 
 
2033
       /* call the command line parser */
 
2034
       if (test_conf_parser_cmd_parser (argc, argv, &args_info) != 0) {
 
2035
         result = 1;
 
2036
         goto stop;
 
2037
       }
 
2038
 
 
2039
       /*
 
2040
          override command line options,
 
2041
          but do not initialize args_info, check for required options.
 
2042
          NOTICE: we must NOT skip the 0 assignment to initialize,
 
2043
          since its default value is 1 and override defaults to 0
 
2044
          while check_required is already set to its default value, 1
 
2045
       */
 
2046
       params->initialize = 0;
 
2047
       params->override = 1;
 
2048
 
 
2049
       /* call the config file parser */
 
2050
       if (test_conf_parser_cmd_parser_config_file
 
2051
           (args_info.conf_file_arg, &args_info, params) != 0)
 
2052
         {
 
2053
           result = 1;
 
2054
           goto stop;
 
2055
         }
 
2056
 
 
2057
       printf ("value of required: %s\n", args_info.required_arg);
 
2058
       printf ("value of string: %s\n", args_info.string_arg);
 
2059
       printf ("value of no-short_given: %d\n", args_info.no_short_given);
 
2060
       printf ("value of int: %d\n", args_info.int_arg);
 
2061
       printf ("value of float: %f\n", args_info.float_arg);
 
2062
 
 
2063
       printf ("value of multi-string_given: %d\n", args_info.multi_string_given);
 
2064
       for (i = 0; i < args_info.multi_string_given; i++)
 
2065
         printf ("  value of multi-string: %s\n", args_info.multi_string_arg [i]);
 
2066
 
 
2067
       printf ("value of multi-string-def_given: %d\n",
 
2068
               args_info.multi_string_def_given);
 
2069
       for (i = 0; i < args_info.multi_string_def_given; ++i)
 
2070
         printf ("  value of multi-string-def: %s\n",
 
2071
                 args_info.multi_string_def_arg [i]);
 
2072
       if (!args_info.multi_string_def_given && args_info.multi_string_def_arg [0])
 
2073
         printf ("default value of multi-string-def: %s\n",
 
2074
                 args_info.multi_string_def_arg [0]);
 
2075
 
 
2076
       printf ("value of opta: %s\n", args_info.opta_arg);
 
2077
 
 
2078
       printf ("noarg given %d times\n", args_info.noarg_given);
 
2079
       printf ("noarg_noshort given %d times\n", args_info.noarg_noshort_given);
 
2080
 
 
2081
       printf ("opt-arg given: %d\n", args_info.opt_arg_given);
 
2082
       printf ("opt-arg value: %s\n", (args_info.opt_arg_arg ? args_info.opt_arg_arg : "not given"));
 
2083
 
 
2084
       if (args_info.file_save_given) {
 
2085
         if (test_conf_parser_cmd_parser_file_save (args_info.file_save_arg, &args_info) == EXIT_FAILURE)
 
2086
           result = 1;
 
2087
         else
 
2088
           printf ("saved configuration file %s\n", args_info.file_save_arg);
 
2089
       }
 
2090
 
 
2091
      stop:
 
2092
       /* deallocate structures */
 
2093
       test_conf_parser_cmd_parser_free (&args_info);
 
2094
       free (params);
 
2095
 
 
2096
       return result;
 
2097
     }
 
2098
 
1908
2099
   So if we use the following config file
1909
2100
 
1910
2101
     # required option
2073
2264
 
2074
2265
Then if this program is called with the following command line options
2075
2266
 
 
2267
     /* test options that can be given more than once */
 
2268
 
 
2269
     #include <stdlib.h>
 
2270
     #include <stdio.h>
 
2271
 
 
2272
     #include "test_multiple_cmd.h"
 
2273
 
 
2274
     static struct gengetopt_args_info args_info;
 
2275
 
 
2276
     int
 
2277
     main (int argc, char **argv)
 
2278
     {
 
2279
       int i = 0;
 
2280
 
 
2281
       if (test_multiple_cmd_parser (argc, argv, &args_info) != 0)
 
2282
         exit(1) ;
 
2283
 
 
2284
       for (i = 0; i < args_info.string_given; ++i)
 
2285
         printf ("passed string: %s\n", args_info.string_arg[i]);
 
2286
 
 
2287
       for (i = 0; i < args_info.int_given; ++i)
 
2288
         printf ("passed int: %d\n", args_info.int_arg[i]);
 
2289
 
 
2290
       return 0;
 
2291
     }
 
2292
 
2076
2293
The output of the program will be
2077
2294
 
2078
2295
     passed string: world
2213
2430
   These last two files are processed with gengetopt using the
2214
2431
`--string-parser'.  Let's put everything together in this main file:
2215
2432
 
 
2433
     #include <stdio.h>
 
2434
     #include <stdlib.h>
 
2435
 
 
2436
     #include "test_main_cmdline_cmd.h"
 
2437
     #include "test_first_cmdline_cmd.h"
 
2438
     #include "test_second_cmdline_cmd.h"
 
2439
 
 
2440
     int
 
2441
     main(int argc, char **argv)
 
2442
     {
 
2443
       struct gengetopt_args_info main_args_info;
 
2444
       struct test_first_cmdline_cmd_struct first_args_info;
 
2445
       struct test_second_cmdline_cmd_struct second_args_info;
 
2446
       int exit_code = 0;
 
2447
       unsigned int i, j;
 
2448
 
 
2449
       if (test_main_cmdline_cmd_parser (argc, argv, &main_args_info) != 0) {
 
2450
         exit_code = 1;
 
2451
         return exit_code;
 
2452
       }
 
2453
 
 
2454
       for (j = 0; j < main_args_info.second_cmd_given; ++j) {
 
2455
         printf("second cmdline: %s\n", main_args_info.second_cmd_arg[j]);
 
2456
         if (test_second_cmdline_cmd_parser_string
 
2457
            (main_args_info.second_cmd_arg[j], &second_args_info, argv[0]) == 0) {
 
2458
           if (second_args_info.option_a_given)
 
2459
            printf("  --option-a: %s\n", second_args_info.option_a_arg);
 
2460
           if (second_args_info.option_b_given)
 
2461
            printf("  --option-b: %s\n", second_args_info.option_b_arg);
 
2462
           for (i = 0; i < second_args_info.my_multi_given; ++i)
 
2463
            printf("  --my-multi: %s\n", second_args_info.my_multi_arg[i]);
 
2464
 
 
2465
           test_second_cmdline_cmd_parser_free (&second_args_info);
 
2466
         }
 
2467
       }
 
2468
 
 
2469
       for (j = 0; j < main_args_info.first_cmd_given; ++j) {
 
2470
         printf("first cmdline: %s\n", main_args_info.first_cmd_arg[j]);
 
2471
         if (test_first_cmdline_cmd_parser_string
 
2472
            (main_args_info.first_cmd_arg[j], &first_args_info, argv[0]) == 0) {
 
2473
           if (first_args_info.option_a_given)
 
2474
            printf("  --option-a: %d\n", first_args_info.option_a_arg);
 
2475
           for (i = 0; i < first_args_info.multi_given; ++i)
 
2476
            printf("  --multi: %s\n", first_args_info.multi_arg[i]);
 
2477
 
 
2478
           test_first_cmdline_cmd_parser_free (&first_args_info);
 
2479
         }
 
2480
       }
 
2481
 
 
2482
       test_main_cmdline_cmd_parser_free (&main_args_info);
 
2483
 
 
2484
       return exit_code;
 
2485
     }
 
2486
 
2216
2487
   Notice that in the `for' loops we always free the elements of the
2217
2488
argument structures in order to avoid memory leaks.
2218
2489
 
2488
2759
13 Known Bugs and Limitations
2489
2760
*****************************
2490
2761
 
2491
 
If you find a bug in `gengetopt', please send electronic mail to
 
2762
If you find a bug in `gengetopt', please use the Savannah web interface
2492
2763
 
2493
 
   `bug-gengetopt at gnu dot org'
 
2764
   `http://savannah.gnu.org/bugs/?group=gengetopt'
2494
2765
 
2495
2766
   Include the version number, which you can find by running
2496
2767
`gengetopt --version'.  Also include in your message the output that
2613
2884
* --string-parser:                       Invoking gengetopt.  (line 169)
2614
2885
* --unamed-opts:                         Invoking gengetopt.  (line 107)
2615
2886
* -C,--conf-parser:                      Configuration files. (line   6)
2616
 
* -h,--detailed-help:                    Basic Usage.         (line 787)
 
2887
* -h,--detailed-help:                    Basic Usage.         (line 857)
2617
2888
* -h,--help:                             Basic Usage.         (line 221)
2618
2889
* -S,--string-parser:                    String Parsers and Multiple Parsers.
2619
2890
                                                              (line  21)
2625
2896
* args:                                  Basic Usage.         (line  67)
2626
2897
* argtype:                               Basic Usage.         (line 104)
2627
2898
* argument, defined:                     Terminology.         (line   6)
2628
 
* argv:                                  Basic Usage.         (line 561)
 
2899
* argv:                                  Basic Usage.         (line 564)
2629
2900
* Audience:                              Audience.            (line   6)
2630
2901
* autoconf <1>:                          Use getopt_long sources.
2631
2902
                                                              (line  11)
2728
2999
 
2729
3000
 
2730
3001
Tag Table:
2731
 
Node: Top1105
2732
 
Node: Audience3337
2733
 
Node: Copying5108
2734
 
Node: Installation5917
2735
 
Ref: Installation-Footnote-110744
2736
 
Ref: Installation-Footnote-210860
2737
 
Ref: Installation-Footnote-310907
2738
 
Ref: Installation-Footnote-410954
2739
 
Ref: Installation-Footnote-511000
2740
 
Node: Basic Usage11045
2741
 
Ref: hidden17890
2742
 
Ref: fullhelp17890
2743
 
Ref: addedoptions19795
2744
 
Ref: showrequired44404
2745
 
Ref: helpoutput44654
2746
 
Ref: Basic Usage-Footnote-150310
2747
 
Ref: Basic Usage-Footnote-250338
2748
 
Ref: Basic Usage-Footnote-350366
2749
 
Ref: Basic Usage-Footnote-450393
2750
 
Ref: Basic Usage-Footnote-550421
2751
 
Ref: Basic Usage-Footnote-650474
2752
 
Ref: Basic Usage-Footnote-750502
2753
 
Ref: Basic Usage-Footnote-850530
2754
 
Ref: Basic Usage-Footnote-950558
2755
 
Ref: Basic Usage-Footnote-1050586
2756
 
Ref: Basic Usage-Footnote-1150703
2757
 
Ref: Basic Usage-Footnote-1250732
2758
 
Ref: Basic Usage-Footnote-1350853
2759
 
Ref: Basic Usage-Footnote-1450956
2760
 
Ref: Basic Usage-Footnote-1550985
2761
 
Ref: Basic Usage-Footnote-1651014
2762
 
Ref: Basic Usage-Footnote-1751043
2763
 
Ref: Basic Usage-Footnote-1851097
2764
 
Ref: Basic Usage-Footnote-1951166
2765
 
Ref: Basic Usage-Footnote-2051286
2766
 
Ref: Basic Usage-Footnote-2151351
2767
 
Ref: Basic Usage-Footnote-2251435
2768
 
Ref: Basic Usage-Footnote-2351494
2769
 
Node: Invoking gengetopt51553
2770
 
Ref: Invoking gengetopt-Footnote-161480
2771
 
Ref: Invoking gengetopt-Footnote-261508
2772
 
Ref: Invoking gengetopt-Footnote-361538
2773
 
Node: Terminology61566
2774
 
Node: Options with enumerated values66456
2775
 
Node: Group options69058
2776
 
Node: Mode options71112
2777
 
Node: Parser function additional parameters75371
2778
 
Ref: Parser function additional parameters-Footnote-178486
2779
 
Ref: Parser function additional parameters-Footnote-278514
2780
 
Ref: Parser function additional parameters-Footnote-378549
2781
 
Node: Configuration files79306
2782
 
Ref: Configuration files-Footnote-186574
2783
 
Ref: Configuration files-Footnote-286765
2784
 
Node: Multiple Options86931
2785
 
Node: String Parsers and Multiple Parsers89932
2786
 
Ref: String Parsers and Multiple Parsers-Footnote-195601
2787
 
Node: No getopt_long95774
2788
 
Node: Include the getopt_long code into the parser96508
2789
 
Node: Use automake/autoconf97777
2790
 
Node: Use Gnulib98649
2791
 
Ref: Use Gnulib-Footnote-1102780
2792
 
Node: Use getopt_long sources102825
2793
 
Node: Bugs105010
2794
 
Node: Getopt and subsequent calls105784
2795
 
Ref: Getopt and subsequent calls-Footnote-1107711
2796
 
Node: Mailing Lists107957
2797
 
Node: Index108757
 
3002
Node: Top1106
 
3003
Node: Audience3339
 
3004
Node: Copying5110
 
3005
Node: Installation5919
 
3006
Ref: Installation-Footnote-110746
 
3007
Ref: Installation-Footnote-210862
 
3008
Ref: Installation-Footnote-310909
 
3009
Ref: Installation-Footnote-410956
 
3010
Ref: Installation-Footnote-511002
 
3011
Node: Basic Usage11047
 
3012
Ref: hidden17892
 
3013
Ref: fullhelp17892
 
3014
Ref: addedoptions19797
 
3015
Ref: showrequired46479
 
3016
Ref: helpoutput46729
 
3017
Ref: Basic Usage-Footnote-152385
 
3018
Ref: Basic Usage-Footnote-252413
 
3019
Ref: Basic Usage-Footnote-352441
 
3020
Ref: Basic Usage-Footnote-452468
 
3021
Ref: Basic Usage-Footnote-552496
 
3022
Ref: Basic Usage-Footnote-652549
 
3023
Ref: Basic Usage-Footnote-752577
 
3024
Ref: Basic Usage-Footnote-852605
 
3025
Ref: Basic Usage-Footnote-952633
 
3026
Ref: Basic Usage-Footnote-1052661
 
3027
Ref: Basic Usage-Footnote-1152778
 
3028
Ref: Basic Usage-Footnote-1252807
 
3029
Ref: Basic Usage-Footnote-1352928
 
3030
Ref: Basic Usage-Footnote-1453031
 
3031
Ref: Basic Usage-Footnote-1553060
 
3032
Ref: Basic Usage-Footnote-1653089
 
3033
Ref: Basic Usage-Footnote-1753118
 
3034
Ref: Basic Usage-Footnote-1853172
 
3035
Ref: Basic Usage-Footnote-1953241
 
3036
Ref: Basic Usage-Footnote-2053361
 
3037
Ref: Basic Usage-Footnote-2153426
 
3038
Ref: Basic Usage-Footnote-2253510
 
3039
Ref: Basic Usage-Footnote-2353569
 
3040
Node: Invoking gengetopt53628
 
3041
Ref: Invoking gengetopt-Footnote-163555
 
3042
Ref: Invoking gengetopt-Footnote-263583
 
3043
Ref: Invoking gengetopt-Footnote-363613
 
3044
Node: Terminology63641
 
3045
Node: Options with enumerated values68531
 
3046
Node: Group options71352
 
3047
Node: Mode options73406
 
3048
Node: Parser function additional parameters78775
 
3049
Ref: Parser function additional parameters-Footnote-181890
 
3050
Ref: Parser function additional parameters-Footnote-281918
 
3051
Ref: Parser function additional parameters-Footnote-381953
 
3052
Node: Configuration files82710
 
3053
Ref: Configuration files-Footnote-193085
 
3054
Ref: Configuration files-Footnote-293276
 
3055
Node: Multiple Options93442
 
3056
Node: String Parsers and Multiple Parsers97049
 
3057
Ref: String Parsers and Multiple Parsers-Footnote-1104749
 
3058
Node: No getopt_long104922
 
3059
Node: Include the getopt_long code into the parser105656
 
3060
Node: Use automake/autoconf106925
 
3061
Node: Use Gnulib107797
 
3062
Ref: Use Gnulib-Footnote-1111928
 
3063
Node: Use getopt_long sources111973
 
3064
Node: Bugs114158
 
3065
Node: Getopt and subsequent calls114956
 
3066
Ref: Getopt and subsequent calls-Footnote-1116883
 
3067
Node: Mailing Lists117129
 
3068
Node: Index117929
2798
3069
 
2799
3070
End Tag Table