xref: /dflybsd-src/gnu/usr.bin/grep/libgreputils/getopt.h (revision 4ce1b01662e01b4aeb3dbaf5e68504c3aa2a1581)
156a835a5SJohn Marino /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
256a835a5SJohn Marino /* Declarations for getopt.
3*4ce1b016SDaniel Fojt    Copyright (C) 1989-2020 Free Software Foundation, Inc.
4*4ce1b016SDaniel Fojt    This file is part of gnulib.
5*4ce1b016SDaniel Fojt    Unlike most of the getopt implementation, it is NOT shared
6*4ce1b016SDaniel Fojt    with the GNU C Library, which supplies a different version of
7*4ce1b016SDaniel Fojt    this file.
856a835a5SJohn Marino 
9*4ce1b016SDaniel Fojt    This file is free software; you can redistribute it and/or modify it
10*4ce1b016SDaniel Fojt    under the terms of the GNU General Public License as
11*4ce1b016SDaniel Fojt    published by the Free Software Foundation; either version 3 of
12*4ce1b016SDaniel Fojt    the License, or (at your option) any later version.
1356a835a5SJohn Marino 
14*4ce1b016SDaniel Fojt    This file is distributed in the hope that it will be useful, but
15*4ce1b016SDaniel Fojt    WITHOUT ANY WARRANTY; without even the implied warranty of
16*4ce1b016SDaniel Fojt    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17*4ce1b016SDaniel Fojt    General Public License for more details.
1856a835a5SJohn Marino 
19*4ce1b016SDaniel Fojt    You should have received a copy of the GNU General Public
20*4ce1b016SDaniel Fojt    License along with gnulib; if not, see <https://www.gnu.org/licenses/>.  */
2156a835a5SJohn Marino 
2256a835a5SJohn Marino #ifndef _GL_GETOPT_H
2356a835a5SJohn Marino 
2456a835a5SJohn Marino #if __GNUC__ >= 3
2556a835a5SJohn Marino #pragma GCC system_header
2656a835a5SJohn Marino #endif
2756a835a5SJohn Marino 
28e54473e5SJohn Marino 
2956a835a5SJohn Marino /* The include_next requires a split double-inclusion guard.  We must
3056a835a5SJohn Marino    also inform the replacement unistd.h to not recursively use
3156a835a5SJohn Marino    <getopt.h>; our definitions will be present soon enough.  */
3256a835a5SJohn Marino #if 1
3356a835a5SJohn Marino # define _GL_SYSTEM_GETOPT
3456a835a5SJohn Marino # include_next <getopt.h>
3556a835a5SJohn Marino # undef _GL_SYSTEM_GETOPT
3656a835a5SJohn Marino #endif
3756a835a5SJohn Marino 
3856a835a5SJohn Marino #define _GL_GETOPT_H 1
3956a835a5SJohn Marino 
4056a835a5SJohn Marino /* Standalone applications should #define __GETOPT_PREFIX to an
4156a835a5SJohn Marino    identifier that prefixes the external functions and variables
42*4ce1b016SDaniel Fojt    defined in getopt-core.h and getopt-ext.h.  When this happens,
43*4ce1b016SDaniel Fojt    include the headers that might declare getopt so that they will not
44*4ce1b016SDaniel Fojt    cause confusion if included after this file (if the system had
45*4ce1b016SDaniel Fojt    <getopt.h>, we have already included it).  */
46*4ce1b016SDaniel Fojt #if defined __GETOPT_PREFIX
4756a835a5SJohn Marino # if !1
4851ddd709SJohn Marino #  define __need_system_stdlib_h
4956a835a5SJohn Marino #  include <stdlib.h>
5051ddd709SJohn Marino #  undef __need_system_stdlib_h
5156a835a5SJohn Marino #  include <stdio.h>
5256a835a5SJohn Marino #  include <unistd.h>
5356a835a5SJohn Marino # endif
5456a835a5SJohn Marino #endif
5556a835a5SJohn Marino 
5656a835a5SJohn Marino /* The definition of _GL_ARG_NONNULL is copied here.  */
57*4ce1b016SDaniel Fojt /* A C macro for declaring that specific arguments must not be NULL.
58*4ce1b016SDaniel Fojt    Copyright (C) 2009-2020 Free Software Foundation, Inc.
59*4ce1b016SDaniel Fojt 
60*4ce1b016SDaniel Fojt    This program is free software: you can redistribute it and/or modify it
61*4ce1b016SDaniel Fojt    under the terms of the GNU General Public License as published
62*4ce1b016SDaniel Fojt    by the Free Software Foundation; either version 3 of the License, or
63*4ce1b016SDaniel Fojt    (at your option) any later version.
64*4ce1b016SDaniel Fojt 
65*4ce1b016SDaniel Fojt    This program is distributed in the hope that it will be useful,
66*4ce1b016SDaniel Fojt    but WITHOUT ANY WARRANTY; without even the implied warranty of
67*4ce1b016SDaniel Fojt    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
68*4ce1b016SDaniel Fojt    General Public License for more details.
69*4ce1b016SDaniel Fojt 
70*4ce1b016SDaniel Fojt    You should have received a copy of the GNU General Public License
71*4ce1b016SDaniel Fojt    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
72*4ce1b016SDaniel Fojt 
7356a835a5SJohn Marino /* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools
7456a835a5SJohn Marino    that the values passed as arguments n, ..., m must be non-NULL pointers.
7556a835a5SJohn Marino    n = 1 stands for the first argument, n = 2 for the second argument etc.  */
7656a835a5SJohn Marino #ifndef _GL_ARG_NONNULL
7756a835a5SJohn Marino # if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3
7856a835a5SJohn Marino #  define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params))
7956a835a5SJohn Marino # else
8056a835a5SJohn Marino #  define _GL_ARG_NONNULL(params)
8156a835a5SJohn Marino # endif
8256a835a5SJohn Marino #endif
8356a835a5SJohn Marino 
84*4ce1b016SDaniel Fojt #include <getopt-cdefs.h>
85*4ce1b016SDaniel Fojt #include <getopt-pfx-core.h>
86*4ce1b016SDaniel Fojt #include <getopt-pfx-ext.h>
8756a835a5SJohn Marino 
88e54473e5SJohn Marino #endif /* _GL_GETOPT_H */
89