1/*
2 * Copyright 2004-2012 Haiku, Inc. All Rights Reserved.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef _GETOPT_H
6#define _GETOPT_H
7
8
9#include <unistd.h>
10
11
12/* This header defines the available GNU extensions to the getopt() functionality */
13
14struct option {
15	const char	*name;
16	int			has_arg;
17	int			*flag;
18	int			val;
19};
20
21/* Options for the "has_arg" field */
22
23#define no_argument			0
24#define required_argument	1
25#define optional_argument	2
26
27
28#ifdef	__cplusplus
29extern "C" {
30#endif
31
32extern int getopt_long(int argc, char * const *argv, const char *shortOptions,
33				const struct option *longOptions, int *_longIndex);
34extern int getopt_long_only(int argc, char * const *argv, const char *shortOptions,
35				const struct option *longOptions, int *_longIndex);
36
37#ifdef	__cplusplus
38}
39#endif
40
41#endif	/* _GETOPT_H */
42