xref: /PHP-7.4/main/php_getopt.h (revision fd08f062)
1 /*
2    +----------------------------------------------------------------------+
3    | PHP Version 7                                                        |
4    +----------------------------------------------------------------------+
5    | Copyright (c) The PHP Group                                          |
6    +----------------------------------------------------------------------+
7    | This source file is subject to version 3.01 of the PHP license,      |
8    | that is bundled with this package in the file LICENSE, and is        |
9    | available through the world-wide-web at the following url:           |
10    | http://www.php.net/license/3_01.txt                                  |
11    | If you did not receive a copy of the PHP license and are unable to   |
12    | obtain it through the world-wide-web, please send a note to          |
13    | license@php.net so we can mail you a copy immediately.               |
14    +----------------------------------------------------------------------+
15    | Author: Marcus Boerger <helly@php.net>                               |
16    +----------------------------------------------------------------------+
17 */
18 
19 #ifndef PHP_GETOPT_H
20 #define PHP_GETOPT_H
21 
22 #include "php.h"
23 
24 /* Define structure for one recognized option (both single char and long name).
25  * If short_open is '-' this is the last option. */
26 typedef struct _opt_struct {
27 	char opt_char;
28 	int  need_param;
29 	char * opt_name;
30 } opt_struct;
31 
32 BEGIN_EXTERN_C()
33 /* holds the index of the latest fetched element from the opts array */
34 extern PHPAPI int php_optidx;
35 PHPAPI int php_getopt(int argc, char* const *argv, const opt_struct opts[], char **optarg, int *optind, int show_err, int arg_start);
36 END_EXTERN_C()
37 
38 /* php_getopt will return this value if there is an error in arguments */
39 #define PHP_GETOPT_INVALID_ARG (-2)
40 
41 #endif
42