CUBRID Engine
latest
Main Page
Namespaces
Classes
Files
File List
File Members
cubrid_getopt.h
Go to the documentation of this file.
1
/*-
2
* Copyright (c) 2000 The NetBSD Foundation, Inc.
3
* All rights reserved.
4
*
5
* This code is derived from software contributed to The NetBSD Foundation
6
* by Dieter Baron and Thomas Klausner.
7
*
8
* Redistribution and use in source and binary forms, with or without
9
* modification, are permitted provided that the following conditions
10
* are met:
11
* 1. Redistributions of source code must retain the above copyright
12
* notice, this list of conditions and the following disclaimer.
13
* 2. Redistributions in binary form must reproduce the above copyright
14
* notice, this list of conditions and the following disclaimer in the
15
* documentation and/or other materials provided with the distribution.
16
*
17
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
18
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
21
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27
* POSSIBILITY OF SUCH DAMAGE.
28
*/
29
30
#ifndef _CUBRID_GETOPT_H_
31
#define _CUBRID_GETOPT_H_
32
33
#include "config.h"
34
35
#ifdef HAVE_GETOPT_H
36
#include <getopt.h>
/* for getopt_long */
37
#include <unistd.h>
/* for getopt */
38
#else
39
#if !defined(WINDOWS)
40
#include <sys/cdefs.h>
41
#define DllImport
42
#else
43
#define DllImport __declspec(dllimport)
44
#endif
45
46
/*
47
* Gnu like getopt_long() and BSD4.4 getsubopt()/optreset extensions
48
*/
49
#define no_argument 0
50
#define required_argument 1
51
#define optional_argument 2
52
53
struct
option
54
{
55
/* name of long option */
56
const
char
*
name
;
57
/*
58
* one of no_argument, required_argument, and optional_argument:
59
* whether option takes an argument
60
*/
61
int
has_arg
;
62
/* if not NULL, set *flag to val when option found */
63
int
*
flag
;
64
/* if flag not NULL, value to set *flag to; else return value */
65
int
val
;
66
};
67
68
#ifdef __cplusplus
69
extern
"C"
70
{
71
#endif
72
73
int
getopt
(
int
,
char
*
const
*,
const
char
*);
74
int
getopt_long
(
int
,
char
*
const
*,
const
char
*,
const
struct
option
*,
int
*);
75
76
/* On some platforms, this is in libc, but not in a system header */
77
extern
DllImport
int
optreset
;
78
extern
DllImport
char
*
optarg
;
79
extern
DllImport
int
opterr
;
80
extern
DllImport
int
optind
;
81
extern
DllImport
int
optopt
;
82
83
#ifdef __cplusplus
84
}
85
#endif
86
#endif
87
88
typedef
struct
option
GETOPT_LONG
;
89
90
#endif
/* !_CUBRID_GETOPT_H_ */
optind
DllImport int optind
Definition:
cubrid_getopt_long.c:52
opterr
DllImport int opterr
Definition:
cubrid_getopt_long.c:51
optarg
DllImport char * optarg
Definition:
cubrid_getopt_long.c:55
option::val
int val
Definition:
cubrid_getopt.h:65
getopt
int getopt(int, char *const *, const char *)
Definition:
cubrid_getopt_long.c:331
optopt
DllImport int optopt
Definition:
cubrid_getopt_long.c:53
optreset
DllImport int optreset
Definition:
cubrid_getopt_long.c:54
getopt_long
int getopt_long(int, char *const *, const char *, const struct option *, int *)
Definition:
cubrid_getopt_long.c:361
option
Definition:
cubrid_getopt.h:53
option::name
const char * name
Definition:
cubrid_getopt.h:56
option::flag
int * flag
Definition:
cubrid_getopt.h:63
option::has_arg
int has_arg
Definition:
cubrid_getopt.h:61
DllImport
#define DllImport
Definition:
cubrid_getopt.h:41
src
base
cubrid_getopt.h
Generated by
1.8.11