"Fossies" - the Fresh Open Source Software Archive

Member "file-5.35/src/mygetopt.h" (11 Sep 2018, 2693 Bytes) of package /linux/misc/file-5.35.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "mygetopt.h" see the Fossies "Dox" file reference documentation.

    1 /*  $NetBSD: getopt.h,v 1.8 2007/11/06 19:21:18 christos Exp $  */
    2 
    3 /*-
    4  * Copyright (c) 2000 The NetBSD Foundation, Inc.
    5  * All rights reserved.
    6  *
    7  * This code is derived from software contributed to The NetBSD Foundation
    8  * by Dieter Baron and Thomas Klausner.
    9  *
   10  * Redistribution and use in source and binary forms, with or without
   11  * modification, are permitted provided that the following conditions
   12  * are met:
   13  * 1. Redistributions of source code must retain the above copyright
   14  *    notice, this list of conditions and the following disclaimer.
   15  * 2. Redistributions in binary form must reproduce the above copyright
   16  *    notice, this list of conditions and the following disclaimer in the
   17  *    documentation and/or other materials provided with the distribution.
   18  * 3. All advertising materials mentioning features or use of this software
   19  *    must display the following acknowledgement:
   20  *        This product includes software developed by the NetBSD
   21  *        Foundation, Inc. and its contributors.
   22  * 4. Neither the name of The NetBSD Foundation nor the names of its
   23  *    contributors may be used to endorse or promote products derived
   24  *    from this software without specific prior written permission.
   25  *
   26  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   27  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   28  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   29  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   30  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   31  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   32  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   33  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   34  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   35  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   36  * POSSIBILITY OF SUCH DAMAGE.
   37  */
   38 
   39 #ifndef _GETOPT_H_
   40 #define _GETOPT_H_
   41 
   42 #include <unistd.h>
   43 
   44 /*
   45  * Gnu like getopt_long() and BSD4.4 getsubopt()/optreset extensions
   46  */
   47 #define no_argument        0
   48 #define required_argument  1
   49 #define optional_argument  2
   50 
   51 struct option {
   52     /* name of long option */
   53     const char *name;
   54     /*
   55      * one of no_argument, required_argument, and optional_argument:
   56      * whether option takes an argument
   57      */
   58     int has_arg;
   59     /* if not NULL, set *flag to val when option found */
   60     int *flag;
   61     /* if flag not NULL, value to set *flag to; else return value */
   62     int val;
   63 };
   64 
   65 int getopt_long(int, char * const *, const char *,
   66     const struct option *, int *);
   67 
   68 #endif /* !_GETOPT_H_ */