github.com/Konstantin8105/c4go@v0.0.0-20240505174241-768bb1c65a51/tests/raylib/external/glfw/deps/getopt.h (about)

     1  /* Copyright (c) 2012, Kim Gräsman
     2   * All rights reserved.
     3   *
     4   * Redistribution and use in source and binary forms, with or without
     5   * modification, are permitted provided that the following conditions are met:
     6   *  * Redistributions of source code must retain the above copyright notice,
     7   *    this list of conditions and the following disclaimer.
     8   *  * Redistributions in binary form must reproduce the above copyright notice,
     9   *    this list of conditions and the following disclaimer in the documentation
    10   *    and/or other materials provided with the distribution.
    11   *  * Neither the name of Kim Gräsman nor the names of contributors may be used
    12   *    to endorse or promote products derived from this software without specific
    13   *    prior written permission.
    14   *
    15   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    16   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    17   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    18   * ARE DISCLAIMED. IN NO EVENT SHALL KIM GRÄSMAN BE LIABLE FOR ANY DIRECT,
    19   * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    20   * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    21   * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    22   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    23   * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    24   * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    25   */
    26  
    27  #ifndef INCLUDED_GETOPT_PORT_H
    28  #define INCLUDED_GETOPT_PORT_H
    29  
    30  #if defined(__cplusplus)
    31  extern "C" {
    32  #endif
    33  
    34  extern const int no_argument;
    35  extern const int required_argument;
    36  extern const int optional_argument;
    37  
    38  extern char* optarg;
    39  extern int optind, opterr, optopt;
    40  
    41  struct option {
    42    const char* name;
    43    int has_arg;
    44    int* flag;
    45    int val;
    46  };
    47  
    48  int getopt(int argc, char* const argv[], const char* optstring);
    49  
    50  int getopt_long(int argc, char* const argv[],
    51    const char* optstring, const struct option* longopts, int* longindex);
    52  
    53  #if defined(__cplusplus)
    54  }
    55  #endif
    56  
    57  #endif // INCLUDED_GETOPT_PORT_H