From e4a65c53d2faad3bfaa2e9d5d8b74e8a2bed9f86 Mon Sep 17 00:00:00 2001 From: Arthur de Jong Date: Wed, 30 Jan 2008 21:58:38 +0000 Subject: provide replacement functions for daemon() and getopt_long() when they are not available on the system git-svn-id: http://arthurdejong.org/svn/nss-pam-ldapd/nss-ldapd@581 ef36b2f9-881f-0410-afb5-c4e39611909c --- compat/getopt_long.h | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 compat/getopt_long.h (limited to 'compat/getopt_long.h') diff --git a/compat/getopt_long.h b/compat/getopt_long.h new file mode 100644 index 0000000..7ddf5a3 --- /dev/null +++ b/compat/getopt_long.h @@ -0,0 +1,50 @@ +/* + getopt_long.h - definition of getopt_long() for systems that lack it + + Copyright (C) 2001, 2002, 2008 Arthur de Jong + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301 USA +*/ + +#ifndef _GETOPT_LONG_H +#define _GETOPT_LONG_H 1 + +#ifndef HAVE_GETOPT_LONG + +#define no_argument 0 +#define required_argument 1 +#define optional_argument 2 + +struct option { + const char *name; + int has_arg; + int *flag; + int val; +}; + +/* this is a (poor) getopt_long() replacement for systems that don't have it + (this is generaly a GNU extention) + this implementation is by no meens flawless, especialy the optional arguments + to options and options following filenames is not quite right, allso + minimal error checking + */ +int getopt_long(int argc,char * const argv[], + const char *optstring, + const struct option *longopts,int *longindex); + +#endif /* not HAVE_GETOPT_LONG */ + +#endif /* _GETOPT_LONG_H */ -- cgit v1.2.3