27 #if !defined __STDC__ || !__STDC__    45 #define GETOPT_INTERFACE_VERSION 2    46 #if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2    47 #include <gnu-versions.h>    48 #if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION    58 #ifdef __GNU_LIBRARY__    67 getopt_long (argc, argv, options, long_options, opt_index)
    71      const struct option *long_options;
    74   return _getopt_internal (argc, argv, options, long_options, opt_index, 0);
    83 getopt_long_only (argc, argv, options, long_options, opt_index)
    87      const struct option *long_options;
    90   return _getopt_internal (argc, argv, options, long_options, opt_index, 1);
   106   int digit_optind = 0;
   110       int this_option_optind = optind ? optind : 1;
   111       int option_index = 0;
   112       static struct option long_options[] =
   117         {
"verbose", 0, 0, 0},
   123       c = getopt_long (argc, argv, 
"abc:d:0123456789",
   124                        long_options, &option_index);
   131           printf (
"option %s", long_options[option_index].name);
   133             printf (
" with arg %s", optarg);
   147           if (digit_optind != 0 && digit_optind != this_option_optind)
   148             printf (
"digits occur in two different argv-elements.\n");
   149           digit_optind = this_option_optind;
   150           printf (
"option %c\n", c);
   154           printf (
"option a\n");
   158           printf (
"option b\n");
   162           printf (
"option c with value `%s'\n", optarg);
   166           printf (
"option d with value `%s'\n", optarg);
   173           printf (
"?? getopt returned character code 0%o ??\n", c);
   179       printf (
"non-option ARGV-elements: ");
   180       while (optind < argc)
   181         printf (
"%s ", argv[optind++]);