]> git.sur5r.net Git - cc65/blobdiff - src/common/cmdline.h
Removed (pretty inconsistently used) tab chars from source code base.
[cc65] / src / common / cmdline.h
index c0c5a1af7d8ca6098a962825541a764563f8fc4b..b3a483b6b61d92d6bffb20e102b80f72b2f7739d 100644 (file)
@@ -1,15 +1,15 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                cmdline.h                                 */
+/*                                 cmdline.h                                 */
 /*                                                                           */
-/*                Helper functions for command line parsing                 */
+/*                 Helper functions for command line parsing                 */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 2000     Ullrich von Bassewitz                                        */
-/*              Wacholderweg 14                                              */
-/*              D-70597 Stuttgart                                            */
-/* EMail:       uz@musoftware.de                                             */
+/* (C) 2000-2009, Ullrich von Bassewitz                                      */
+/*                Roemerstrasse 52                                           */
+/*                D-70794 Filderstadt                                        */
+/* EMail:         uz@cc65.org                                                */
 /*                                                                           */
 /*                                                                           */
 /* This software is provided 'as-is', without any expressed or implied       */
 
 
 
+#include "attrib.h"
+
+
+
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
+/* Program name - is set after call to InitCmdLine */
+extern const char* ProgName;
+
+/* The program argument vector */
+extern char** ArgVec;
+extern unsigned ArgCount;
+
 /* Structure defining a long option */
-typedef struct LongOpt LongOpt;
+typedef struct LongOpt  LongOpt;
 struct LongOpt {
-    const char*        Option;      
-    unsigned   ArgCount;
-    void       (*Func) (const char* Opt, const char* Arg);
+    const char* Option;
+    unsigned    ArgCount;
+    void        (*Func) (const char* Opt, const char* Arg);
 };
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
 
-void InitCmdLine (char* aArgVec[], unsigned aArgCount);
+void InitCmdLine (int* aArgCount, char** aArgVec[], const char* aProgName);
 /* Initialize command line parsing. aArgVec is the argument array terminated by
  * a NULL pointer (as usual), ArgCount is the number of valid arguments in the
  * array. Both arguments are remembered in static storage.
  */
 
-void UnknownOption (const char* Opt);
-/* Print an error about an unknown option. */
+void UnknownOption (const char* Opt) attribute ((noreturn));
+/* Print an error about an unknown option and die. */
 
-void NeedArg (const char* Opt);
+void NeedArg (const char* Opt) attribute ((noreturn));
 /* Print an error about a missing option argument and exit. */
 
-void InvSym (const char* Def);
-/* Print an error about an invalid symbol definition and die */
+void InvArg (const char* Opt, const char* Arg) attribute ((noreturn));
+/* Print an error about an invalid option argument and exit. */
+
+void InvDef (const char* Def) attribute ((noreturn));
+/* Print an error about an invalid definition and die */
 
-const char* GetArg (int* ArgNum, unsigned Len);
+const char* GetArg (unsigned* ArgNum, unsigned Len);
 /* Get an argument for a short option. The argument may be appended to the
  * option itself or may be separate. Len is the length of the option string.
  */
 
-void LongOption (int* ArgNum, const LongOpt* OptTab, unsigned OptCount);
+void LongOption (unsigned* ArgNum, const LongOpt* OptTab, unsigned OptCount);
 /* Handle a long command line option */