Skip to content
Snippets Groups Projects
Select Git revision
  • fe46a5d72f1a24d88f774c1bb1eb6e417d0e44b9
  • master default protected
  • 9.0
  • marcus/wix3
  • 8.0
  • nt-tools
  • 7.8
  • 7.6
  • 7.4
  • 7.2
  • 7.0
  • 0.6
  • rosuav/latex-markdown-renderer
  • rxnpatch/rxnpatch
  • marcus/gobject-introspection
  • rxnpatch/8.0
  • rosuav/pre-listening-ports
  • rosuav/async-annotations
  • rosuav/pgsql-ssl
  • rxnpatch/rxnpatch-broken/2023-10-06T094250
  • grubba/fdlib
  • v8.0.2020
  • v8.0.2018
  • v8.0.2016
  • v8.0.2014
  • v8.0.2012
  • v8.0.2008
  • v8.0.2006
  • v8.0.2004
  • v8.0.2002
  • v8.0.2000
  • v8.0.1998
  • v8.0.1996
  • v8.0.1994
  • v8.0.1992
  • v8.0.1990
  • v8.0.1988
  • v8.0.1986
  • rxnpatch/clusters/8.0/2025-04-29T124414
  • rxnpatch/2025-04-29T124414
  • v8.0.1984
41 results

mapping.c

Blame
  • getopt_int.h 4.61 KiB
    /* Internal declarations for getopt.
       Copyright (C) 1989-2014 Free Software Foundation, Inc.
       This file is part of the GNU C Library.
    
       The GNU C Library is free software; you can redistribute it and/or
       modify it under the terms of the GNU Lesser General Public
       License as published by the Free Software Foundation; either
       version 2.1 of the License, or (at your option) any later version.
    
       The GNU C Library is distributed in the hope that it will be useful,
       but WITHOUT ANY WARRANTY; without even the implied warranty of
       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
       Lesser General Public License for more details.
    
       You should have received a copy of the GNU Lesser General Public
       License along with the GNU C Library; if not, see
       <http://www.gnu.org/licenses/>.  */
    
    #ifndef _GETOPT_INT_H
    #define _GETOPT_INT_H	1
    
    extern int _getopt_internal (int ___argc, char *const *___argv,
    			     const char *__shortopts,
    		             const struct option *__longopts, int *__longind,
    			     int __long_only, int posixly_correct);
    
    
    /* Reentrant versions which can handle parsing multiple argument
       vectors at the same time.  */
    
    /* Data type for reentrant functions.  */
    struct _getopt_data
    {
      /* These have exactly the same meaning as the corresponding global
         variables, except that they are used for the reentrant
         versions of getopt.  */
      int optind;
      int opterr;
      int optopt;
      char *optarg;
    
      /* Internal members.  */
    
      /* True if the internal members have been initialized.  */
      int __initialized;
    
      /* The next char to be scanned in the option-element
         in which the last option character we returned was found.
         This allows us to pick up the scan where we left off.
    
         If this is zero, or a null string, it means resume the scan
         by advancing to the next ARGV-element.  */
      char *__nextchar;
    
      /* Describe how to deal with options that follow non-option ARGV-elements.
    
         If the caller did not specify anything,
         the default is REQUIRE_ORDER if the environment variable
         POSIXLY_CORRECT is defined, PERMUTE otherwise.
    
         REQUIRE_ORDER means don't recognize them as options;
         stop option processing when the first non-option is seen.
         This is what Unix does.
         This mode of operation is selected by either setting the environment
         variable POSIXLY_CORRECT, or using `+' as the first character
         of the list of option characters.
    
         PERMUTE is the default.  We permute the contents of ARGV as we
         scan, so that eventually all the non-options are at the end.
         This allows options to be given in any order, even with programs
         that were not written to expect this.
    
         RETURN_IN_ORDER is an option available to programs that were
         written to expect options and other ARGV-elements in any order
         and that care about the ordering of the two.  We describe each
         non-option ARGV-element as if it were the argument of an option
         with character code 1.  Using `-' as the first character of the
         list of option characters selects this mode of operation.
    
         The special argument `--' forces an end of option-scanning regardless
         of the value of `ordering'.  In the case of RETURN_IN_ORDER, only
         `--' can cause `getopt' to return -1 with `optind' != ARGC.  */
    
      enum
        {
          REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
        } __ordering;
    
      /* If the POSIXLY_CORRECT environment variable is set.  */
      int __posixly_correct;
    
    
      /* Handle permutation of arguments.  */
    
      /* Describe the part of ARGV that contains non-options that have
         been skipped.  `first_nonopt' is the index in ARGV of the first
         of them; `last_nonopt' is the index after the last of them.  */
    
      int __first_nonopt;
      int __last_nonopt;
    
    #if defined _LIBC && defined USE_NONOPTION_FLAGS
      int __nonoption_flags_max_len;
      int __nonoption_flags_len;
    # endif
    };
    
    /* The initializer is necessary to set OPTIND and OPTERR to their
       default values and to clear the initialization flag.  */
    #define _GETOPT_DATA_INITIALIZER	{ 1, 1 }
    
    extern int _getopt_internal_r (int ___argc, char *const *___argv,
    			       const char *__shortopts,
    			       const struct option *__longopts, int *__longind,
    			       int __long_only, struct _getopt_data *__data,
    			       int posixly_correct);
    
    extern int _getopt_long_r (int ___argc, char *const *___argv,
    			   const char *__shortopts,
    			   const struct option *__longopts, int *__longind,
    			   struct _getopt_data *__data);
    
    extern int _getopt_long_only_r (int ___argc, char *const *___argv,
    				const char *__shortopts,
    				const struct option *__longopts,
    				int *__longind,
    				struct _getopt_data *__data);
    
    #endif /* getopt_int.h */