diff --git a/main.c b/main.c index e00ecf1..a06b021 100644 --- a/main.c +++ b/main.c @@ -8,6 +8,7 @@ #include #include #include +#include #include @@ -16,6 +17,7 @@ int semID = 0; Word MyID; Word QuitFlag; +Word Debug; #pragma databank 0 void signal_handler(int sig, int code) @@ -102,11 +104,60 @@ void ShutDown(word flags, Boolean force, displayPtr fx) } } +#define VERSION "0.2" +static void version(void) +{ + fputs("Marignotti " VERSION "\n", stdout); +} + +static void help(void) +{ + fputs("Marignotti " VERSION "\n", stdout); + fputs("Marignotti is a TCP driver for GNO/ME 2.0.6\n", stdout); + fputs("Marinetti 3.0b3 or newer is required.\n", stdout); + fputs("\n", stdout); + fputs("Usage: marignotti [-h -d -v]\n", stdout); + fputs("-h show help information.\n", stdout); + fputs("-v show version information.\n", stdout); + fputs("-d increase debug level [Sweet-16 only].\n", stdout); + +} int main(int argc, char **argv) { int flags; + int ch; + + + _beginStackCheck(); + + Debug = 0; + QuitFlag = 0; + + while ((ch = getopt(argc, argv, "dhv")) != EOF) + { + switch (ch) + { + case 'd': + Debug++; + break; + + case 'h': + case '?': + help(); + return 0; + break; + + case 'v': + version(); + return 0; + break; + } + + } + + MyID = MMStartUp(); @@ -118,7 +169,6 @@ int main(int argc, char **argv) InstallNetDriver(driver, 0); - QuitFlag = 0; signal(SIGQUIT, signal_handler); signal(SIGINT, signal_handler); @@ -136,7 +186,7 @@ int main(int argc, char **argv) process_table(); - asm { cop 0x7f } + Resched(); } InstallNetDriver(NULL, 0); @@ -146,5 +196,7 @@ int main(int argc, char **argv) ShutDown(flags, 0, DisplayMessage); + _reportStack(); + return 0; } diff --git a/marignotti.h b/marignotti.h index b637ff4..07d7c3b 100644 --- a/marignotti.h +++ b/marignotti.h @@ -52,6 +52,7 @@ typedef struct Entry { } Entry; extern Word MyID; +extern Word Debug; typedef struct xsockaddr_in { short sin_family;