winverbs: add new windows based verbs library and driver
[mirror/winof/.git] / inc / user / getopt.h
1 /*
2  * Copyright (c) 2005 Mellanox Technologies.  All rights reserved.
3  * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. 
4  *
5  * This software is available to you under the OpenIB.org BSD license
6  * below:
7  *
8  *     Redistribution and use in source and binary forms, with or
9  *     without modification, are permitted provided that the following
10  *     conditions are met:
11  *
12  *      - Redistributions of source code must retain the above
13  *        copyright notice, this list of conditions and the following
14  *        disclaimer.
15  *
16  *      - Redistributions in binary form must reproduce the above
17  *        copyright notice, this list of conditions and the following
18  *        disclaimer in the documentation and/or other materials
19  *        provided with the distribution.
20  *
21  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
25  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
26  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
27  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28  * SOFTWARE.
29  */
30
31 #ifndef _GETOPT_H_
32 #define _GETOPT_H_
33
34 extern char *optarg;
35 extern int optind;
36 extern int opterr;
37 extern int optopt;
38
39 struct option
40 {
41         const char      *name;
42         int                     has_arg;
43         int                     *flag;
44         int                     val;
45 };
46
47 enum
48 {
49         no_argument,
50         required_argument,
51         optional_argument
52 };
53
54 extern int getopt(int argc, char **argv, char *opts);
55 extern int getopt_long(int argc, char **argv, char *opts,
56                                            struct option *longopts, int *longindex);
57
58 #endif