2 * Acess2 Networking Test Suite (NetTest)
3 * - By John Hodge (thePowersGang)
9 #include <acess_logging.h>
14 extern int VFS_Init(void);
15 extern int IPStack_Install(char **Args);
18 void PrintUsage(const char *ProgramName)
20 fprintf(stderr, "Usage: %s <commands...>\n", ProgramName);
21 fprintf(stderr, "\n");
24 "-dev <mac>:<tapdev>\n"
25 "-ip <dev>,<addr>/<mask>\n"
26 "-route <net>,<mask>,<nexthop>\n"
29 "netcat <addr> <port>\n"
33 int main(int argc, char *argv[])
45 char *ipstack_args[] = {NULL};
46 IPStack_Install( ipstack_args );
49 for( int i = 1; i < argc; i ++ )
51 if( argv[i][0] != '-' )
53 if( strcmp(argv[i], "netcat") == 0 )
56 Log_Error("NetTest", "'netcat' <addr> <port>");
61 NetTest_Suite_Netcat(argv[i+1], strtol(argv[i+2], NULL, 0));
66 Log_Error("NetTest", "Unknown suite name '%s'", argv[i]);
72 if( strcmp(argv[i], "-dev") == 0 )
74 if( ++i == argc ) { PrintUsage(argv[0]); return 1; }
75 rv = NativeNic_AddDev(argv[i]);
77 Log_Error("NetTest", "Failed to add device %s", argv[i]);
81 else if( strcmp(argv[i], "-ip") == 0 )
83 if( ++i == argc ) { PrintUsage(argv[0]); return 1; }
84 // TODO: parse argument and poke ipstack
85 if( NetTest_AddAddress(argv[i]) ) {
91 Log_Error("NetTest", "Unknown argument '%s'", argv[i]);
99 Log_Log("NetTest", "Shutting down");
104 size_t NetTest_WriteStdout(const void *Data, size_t Size)
106 return fwrite(Data, 1, Size, stdout);