X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fcommon%2Fcmdline.h;h=6791c4be3a002682ec64ea4e71aabbcd4f70cd7d;hb=a8698b30e85941f1ee9a74a6135eed63ec84bc69;hp=1173e10b654b95e17c0439498da1d03fa435eaf5;hpb=1081c1dcdddab5598c18398ac0991daf73bc9d8f;p=cc65 diff --git a/src/common/cmdline.h b/src/common/cmdline.h index 1173e10b6..6791c4be3 100644 --- a/src/common/cmdline.h +++ b/src/common/cmdline.h @@ -38,6 +38,10 @@ +#include "attrib.h" + + + /*****************************************************************************/ /* Data */ /*****************************************************************************/ @@ -47,6 +51,10 @@ /* 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 { @@ -63,27 +71,27 @@ struct LongOpt { -void InitCmdLine (unsigned aArgCount, char* aArgVec[], const char* aProgName); +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 InvDef (const char* Def); +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 */