X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fcommon%2Fcmdline.h;h=6791c4be3a002682ec64ea4e71aabbcd4f70cd7d;hb=a8698b30e85941f1ee9a74a6135eed63ec84bc69;hp=aadeb06266b4b47d91d641ddcafb43c89a7e4feb;hpb=b9ce81c7e3da01500e1ee69bb5aaea2344b3b930;p=cc65 diff --git a/src/common/cmdline.h b/src/common/cmdline.h index aadeb0626..6791c4be3 100644 --- a/src/common/cmdline.h +++ b/src/common/cmdline.h @@ -38,12 +38,23 @@ +#include "attrib.h" + + + /*****************************************************************************/ /* 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; struct LongOpt { @@ -60,27 +71,27 @@ struct LongOpt { -void InitCmdLine (unsigned aArgCount, char* aArgVec[]); +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 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 */