home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 19 Printer / 19-Printer.zip / REV.ZIP / getopt.h < prev    next >
C/C++ Source or Header  |  1993-02-26  |  2KB  |  54 lines

  1. /*
  2.  * Headerfile zu getopt.c
  3.  *
  4.  * Verarbeitung einer rudiment"aren Optionsliste, vor allem der "Ubergabeparameter
  5.  * an eine Applikation.
  6.  *
  7.  * T.J. Domsalla, dommi@rz.tu-clausthal.de T. Schwerdtfeger,
  8.  * apts@rz.tu-clausthal.de
  9.  * Version 1.03, Clausthal, 1991, 1993
  10.  */
  11.  
  12. #ifndef __GETOPT_H
  13. #define __GETOPT_H
  14.  
  15. #define GOPT_MAXOPTIONS         64       /* Standardwert f"ur gopt_MAXOPTIONS;
  16.                                           * kann vom Anwender in seinem
  17.                                           * Programm neu gesetzt werden (s.
  18.                                           * gopt_MAXOPTIONS) */
  19. /* WARNUNG: sollte getopt.c mit einem ANSI C Compiler "ubersetzt werden, der
  20.  * keine gr"o"senvariable Arrays zul"a"st, darf gopt_MAXOPTIONS dort nicht ver-
  21.  * wendet werden, stattdessen mu"s HIER GOPT_MAXOPTIONS auf einen entsprech-
  22.  * enden Wert gesetzt und getopt.c mit der Option -DANSIC compiliert werden.
  23.  */
  24.  
  25. /* m"ogliche R"uckgabewerte von getopt() */
  26. #define GOPT_NO_OPTION          0        /* Keine Option gefunden */
  27. #define GOPT_SIMPLE_OPTION      1        /* einfache Option */
  28. #define GOPT_SARG_OPTION        2        /* Option mit Zeichenargument */
  29. #define GOPT_ARG_OPTION         3        /* Option mit Stringargument */
  30. #define GOPT_IS_SIMPLE_STRING   4        /* keine Option, sondern String */
  31. #define GOPT_ERROR              ( (char)254)    /* Fehler */
  32. #define GOPT_FINISHED           ( (char)255)    /* FERTIG! */
  33.  
  34. #if !defined(NULL)
  35. #define NULL    ((void *) 0)
  36. #endif
  37.  
  38. /* Argument einer Option (Zeichen oder String) */
  39. union gopt_Arg
  40.   {
  41.     char     c;                          /* Optionsargument ist Zeichen */
  42.     char    *s;                          /* Optionsargument ist String */
  43.   };
  44.  
  45. #endif
  46.  
  47. extern int gopt_MAXOPTIONS;              /* Maximalzahl der von getopt_env()
  48.                                           * einzulesenden Optionen */
  49. extern char *goptVektor;                 /* Vektor der m"oglichen Optionen */
  50.  
  51. char     getopt (int argc, char **argv, char *program_name);
  52. char     getopt_env (char *name, char *program_name);
  53.  
  54.