Mailing List Archive

NessusClient/include getopt.h,NONE,1.1.2.1
Update of /usr/local/cvs/NessusClient/include
In directory raccoon.nessus.org:/tmp/cvs-serv78893

Added Files:
Tag: release-1-0
getopt.h
Log Message:
added missing file

--- NEW FILE: getopt.h ---
/* Declarations for getopt.
Copyright (C) 1989, 1990, 1991, 1992, 1993 Free Software Foundation, Inc.

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */

/* Modified for use with Nessus by <jordan@mjh.teddy-net.com>
$Id: getopt.h,v 1.1.2.1 2006/05/27 14:36:14 renaud Exp $ */

#ifndef _GETOPT_H
#define _GETOPT_H 1

#ifdef _CYGWIN_
#undef _WIN32
#endif

#ifdef _WIN32
#define APPLY_OPTVAR_REPLACEMENTS 1
#endif

#ifdef __cplusplus
extern "C" {
#endif

/* For communication from `getopt' to the caller.
When `getopt' finds an option that takes an argument,
the argument value is returned here.
Also, when `ordering' is RETURN_IN_ORDER,
each non-option ARGV-element is returned here. */

extern char *optarg;

/* Index in ARGV of the next element to be scanned.
This is used for communication to and from the caller
and for communication between successive calls to `getopt'.

On entry to `getopt', zero means this is the first call; initialize.

When `getopt' returns EOF, this is the index of the first of the
non-option elements that the caller should itself scan.

Otherwise, `optind' communicates from one call to the next
how much of ARGV has been scanned so far. */

extern int optind;

/* Callers store zero here to inhibit the error message `getopt' prints
for unrecognized options. */

extern int opterr;

/* Set to an option character which was unrecognized. */

extern int optopt;

/* Describe the long-named options requested by the application.
The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
of `struct option' terminated by an element containing a name which is
zero.

The field `has_arg' is:
no_argument (or 0) if the option does not take an argument,
required_argument (or 1) if the option requires an argument,
optional_argument (or 2) if the option takes an optional argument.

If the field `flag' is not NULL, it points to a variable that is set
to the value given in the field `val' when the option is found, but
left unchanged if the option is not found.

To have a long-named option do something other than set an `int' to
a compiled-in constant, such as set a value from `optarg', set the
option's `flag' field to zero and its `val' field to a nonzero
value (the equivalent single-letter option character, if there is
one). For long options that have a zero `flag' field, `getopt'
returns the contents of the `val' field. */

struct option
{
#if __STDC__
const char *name;
#else
char *name;
#endif
/* has_arg can't be an enum because some compilers complain about
type mismatches in all the code that assumes it is an int. */
int has_arg;
int *flag;
int val;
};

/* Names for the values of the `has_arg' field of `struct option'. */

#define no_argument 0
#define required_argument 1
#define optional_argument 2

#if __STDC__
#if 0 /* we do not use getopt, here with nessus */
#if defined(__GNU_LIBRARY__)
/* Many other libraries have conflicting prototypes for getopt, with
differences in the consts, in stdlib.h. To avoid compilation
errors, only prototype getopt for the GNU C library. */
extern int getopt (int argc, char *const *argv, const char *shortopts);
#else /* not __GNU_LIBRARY__ */
extern int getopt ();
#endif /* not __GNU_LIBRARY__ */
#endif /* we do not use getopt, here with nessus */
#ifdef APPLY_OPTVAR_REPLACEMENTS
extern char *get_optarg (void);
extern int get_opterr (void);
extern int get_optind (void);
extern int get_optopt (void);
extern int inc_optind (void);
#endif /* APPLY_OPTVAR_REPLACEMENTS */
extern int getopt_long (int argc, char *const *argv, const char *shortopts,
const struct option *longopts, int *longind);
extern int getopt_long_only (int argc, char *const *argv,
const char *shortopts,
const struct option *longopts, int *longind);

/* Internal only. Users should not call this directly. */
extern int _getopt_internal (int argc, char *const *argv,
const char *shortopts,
const struct option *longopts, int *longind,
int long_only);
#else /* not __STDC__ */
#ifdef APPLY_OPTVAR_REPLACEMENTS
extern char *get_optarg ();
extern int get_opterr ();
extern int get_optind ();
extern int get_optopt ();
extern int inc_optind ();
#endif /* APPLY_OPTVAR_REPLACEMENTS */
extern int getopt ();
extern int getopt_long ();
extern int getopt_long_only ();

extern int _getopt_internal ();
#endif /* not __STDC__ */

#ifdef APPLY_OPTVAR_REPLACEMENTS
#define optind get_optind ()
#define optarg get_optarg ()
#define opterr get_opterr ()
#define optopt get_optopt ()
#else /* APPLY_OPTVAR_REPLACEMENTS */
#define inc_optind() (optind ++)
#define get_optind() (optind)
#define get_optarg() (optarg)
#define get_opterr() (opterr)
#define get_optopt() (optopt)
#endif /* APPLY_OPTVAR_REPLACEMENTS */

#ifdef __cplusplus
}
#endif

#endif /* _GETOPT_H */

_______________________________________________
Nessus-cvs mailing list
Nessus-cvs@list.nessus.org
http://mail.nessus.org/mailman/listinfo/nessus-cvs