getopt.h revision 3e14f97f673e8a630f076077de35afdd43dc1587
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt/***********************************************************************
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt* *
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt* This software is part of the ast package *
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt* Copyright (c) 1985-2010 AT&T Intellectual Property *
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt* and is licensed under the *
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt* Common Public License, Version 1.0 *
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt* by AT&T Intellectual Property *
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt* *
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt* A copy of the License is available at *
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt* http://www.opensource.org/licenses/cpl1.0.txt *
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt* *
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt* Information and Software Systems Research *
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt* AT&T Research *
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt* Florham Park NJ *
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt* *
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt* Glenn Fowler <gsf@research.att.com> *
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt* David Korn <dgk@research.att.com> *
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt* Phong Vo <kpv@research.att.com> *
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt* *
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt***********************************************************************/
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt#pragma prototyped
04c0136989b7eb896bfb0fb176e11233d69e1453Lennart Poettering/*
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt * gnu getopt interface
04c0136989b7eb896bfb0fb176e11233d69e1453Lennart Poettering */
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt
ea3b3a75abb3f8b853f7da454b9b8e258a120eeaPatrik Flykt#ifndef _GETOPT_H
71d35b6b5563817dfbe757ab9e3b9f018b2db491Thomas Hindoe Paaboel Andersen#ifdef _AST_STD_I
ea3b3a75abb3f8b853f7da454b9b8e258a120eeaPatrik Flykt#define _GETOPT_H -1
04c0136989b7eb896bfb0fb176e11233d69e1453Lennart Poettering#else
04c0136989b7eb896bfb0fb176e11233d69e1453Lennart Poettering#define _GETOPT_H 1
04c0136989b7eb896bfb0fb176e11233d69e1453Lennart Poettering
04c0136989b7eb896bfb0fb176e11233d69e1453Lennart Poettering#include <ast_getopt.h>
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt
10c9ce615d98e125bc520efa94aebaef250a4061David Herrmann#define no_argument 0
10c9ce615d98e125bc520efa94aebaef250a4061David Herrmann#define required_argument 1
10c9ce615d98e125bc520efa94aebaef250a4061David Herrmann#define optional_argument 2
10c9ce615d98e125bc520efa94aebaef250a4061David Herrmann
10c9ce615d98e125bc520efa94aebaef250a4061David Herrmannstruct option
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt{
139b011ab81ccea1d51f09e0261a1c390115c6ffPatrik Flykt const char* name;
2c1ab8ca9b5dec48c66eb25dd8af71731e70e517Beniamino Galvani int has_arg;
2c1ab8ca9b5dec48c66eb25dd8af71731e70e517Beniamino Galvani int* flag;
2c1ab8ca9b5dec48c66eb25dd8af71731e70e517Beniamino Galvani int val;
2c1ab8ca9b5dec48c66eb25dd8af71731e70e517Beniamino Galvani};
2c1ab8ca9b5dec48c66eb25dd8af71731e70e517Beniamino Galvani
2c1ab8ca9b5dec48c66eb25dd8af71731e70e517Beniamino Galvaniextern int getopt_long(int, char* const*, const char*, const struct option*, int*);
2c1ab8ca9b5dec48c66eb25dd8af71731e70e517Beniamino Galvaniextern int getopt_long_only(int, char* const*, const char*, const struct option*, int*);
2c1ab8ca9b5dec48c66eb25dd8af71731e70e517Beniamino Galvani
2c1ab8ca9b5dec48c66eb25dd8af71731e70e517Beniamino Galvani#endif
2c1ab8ca9b5dec48c66eb25dd8af71731e70e517Beniamino Galvani#endif
2c1ab8ca9b5dec48c66eb25dd8af71731e70e517Beniamino Galvani