Disk ARchive
2.5.9
Full featured and portable backup and archiving tool
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
src
dar_suite
my_getopt_long.h
Go to the documentation of this file.
1
/*********************************************************************/
2
// dar - disk archive - a backup/restoration program
3
// Copyright (C) 2002-2052 Denis Corbin
4
//
5
// This program is free software; you can redistribute it and/or
6
// modify it under the terms of the GNU General Public License
7
// as published by the Free Software Foundation; either version 2
8
// of the License, or (at your option) any later version.
9
//
10
// This program is distributed in the hope that it will be useful,
11
// but WITHOUT ANY WARRANTY; without even the implied warranty of
12
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
// GNU General Public License for more details.
14
//
15
// You should have received a copy of the GNU General Public License
16
// along with this program; if not, write to the Free Software
17
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
//
19
// to contact the author : http://dar.linux.free.fr/email.html
20
/*********************************************************************/
21
25
26
27
#ifndef MY_GETOPT_LONG_H
28
#define MY_GETOPT_LONG_H
29
30
// getopt may be declated in <unistd.h> on systems like FreeBSD.
31
// if you want to use libgnugetopt you need to include <getopt.h>
32
// on this system. Thus a conflict appear because the getopt is
33
// declared twice. To avoid you either have not to include <unistd.h>
34
// or not to include <getopt.h>. But neither the first nor the
35
// second is acceptable, because we need other stuf declared in
36
// <unistd.h> (open() & so on) and stuf declared in <getopt.h>
37
// (like getopt_long which is gnu typical).
38
//
39
// to solve this problem, I have extracted the gnu getopt_long
40
// as declared under Linux in the present file. When getopt is
41
// declared in <unistd.h> it is still possible to include the
42
// current file in place of <getopt.h>, to get getopt_long available
43
//
44
// at linking time, if libgnugetopt is available we use it
45
//
46
// see getopt_decision.hpp
47
48
# define no_argument 0
49
# define required_argument 1
50
# define optional_argument 2
51
52
struct
option
53
{
54
# if defined __STDC__ && __STDC__
55
const
char
*name;
56
# else
57
char
*name;
58
# endif
59
/* has_arg can't be an enum because some compilers complain about
60
type mismatches in all the code that assumes it is an int. */
61
int
has_arg;
62
int
*flag;
63
int
val;
64
};
65
66
extern
int
getopt_long (
int
__argc,
char
*
const
*__argv,
const
char
*__shortopts,
67
const
struct
option *__longopts,
int
*__longind);
68
69
70
#endif
Generated on Fri Mar 31 2017 16:06:38 for Disk ARchive by
1.8.8