summaryrefslogtreecommitdiffstats
path: root/getopt/getopt.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 17:14:45 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 17:14:45 +0000
commit43e8530e93493bb978c446a2023134bdd4277e50 (patch)
treee8c0d3c0c394b17381f48fb2d288f166b4f22440 /getopt/getopt.h
parentInitial commit. (diff)
downloadsmartmontools-43e8530e93493bb978c446a2023134bdd4277e50.tar.xz
smartmontools-43e8530e93493bb978c446a2023134bdd4277e50.zip
Adding upstream version 7.4.upstream/7.4upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'getopt/getopt.h')
-rw-r--r--getopt/getopt.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/getopt/getopt.h b/getopt/getopt.h
new file mode 100644
index 0000000..eb600ac
--- /dev/null
+++ b/getopt/getopt.h
@@ -0,0 +1,67 @@
+/* Declarations for getopt.
+ Copyright (C) 1989-2018 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Unlike the bulk of the getopt implementation, this file is NOT part
+ of gnulib; gnulib also has a getopt.h but it is different.
+
+ 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_H
+#define _GETOPT_H 1
+
+#ifndef _GETOPT_STANDALONE
+#include <features.h>
+#endif
+
+// From <sys/cdefs.h>:
+#ifndef __BEGIN_DECLS
+# ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+# else
+# define __BEGIN_DECLS
+# define __END_DECLS
+# endif
+#endif
+#ifndef __THROW
+# ifdef __cplusplus
+# define __THROW throw()
+# elif defined(__GNUC__)
+# define __THROW __attribute__ ((__nothrow__))
+# else
+# define __THROW
+# endif
+#endif
+#ifndef __nonnull
+# ifdef __GNUC__
+# define __nonnull(x) __attribute__ ((__nonnull__ x))
+# else
+# define __nonnull(x)
+# endif
+#endif
+
+/* The type of the 'argv' argument to getopt_long and getopt_long_only
+ is properly 'char **', since both functions may write to the array
+ (in order to move all the options to the beginning). However, for
+ compatibility with old versions of LSB, glibc has to use 'char *const *'
+ instead. */
+#ifndef __getopt_argv_const
+# define __getopt_argv_const const
+#endif
+
+#include <bits/getopt_core.h>
+#include <bits/getopt_ext.h>
+
+#endif /* getopt.h */