]>
git.proxmox.com Git - mirror_smartmontools-debian.git/blob - getopt/getopt.h
1 /* Declarations for getopt.
2 Copyright (C) 1989-2018 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4 Unlike the bulk of the getopt implementation, this file is NOT part
5 of gnulib; gnulib also has a getopt.h but it is different.
7 The GNU C Library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Lesser General Public
9 License as published by the Free Software Foundation; either
10 version 2.1 of the License, or (at your option) any later version.
12 The GNU C Library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Lesser General Public License for more details.
17 You should have received a copy of the GNU Lesser General Public
18 License along with the GNU C Library; if not, see
19 <http://www.gnu.org/licenses/>. */
24 #ifndef _GETOPT_STANDALONE
28 // From <sys/cdefs.h>:
31 # define __BEGIN_DECLS extern "C" {
32 # define __END_DECLS }
34 # define __BEGIN_DECLS
40 # define __THROW throw()
41 # elif defined(__GNUC__)
42 # define __THROW __attribute__ ((__nothrow__))
49 # define __nonnull(x) __attribute__ ((__nonnull__ x))
55 /* The type of the 'argv' argument to getopt_long and getopt_long_only
56 is properly 'char **', since both functions may write to the array
57 (in order to move all the options to the beginning). However, for
58 compatibility with old versions of LSB, glibc has to use 'char *const *'
60 #ifndef __getopt_argv_const
61 # define __getopt_argv_const const
64 #include <bits/getopt_core.h>
65 #include <bits/getopt_ext.h>