int main( int argc, char **argv ) { char *cmdStr; int argIdx; Cmd *cmd; if ( argc == 1 ) { Usage( ); exit( 0 ); } if (( gFd = open( "/dev/robostix", O_RDWR )) < 0 ) { perror( "Unable to open /dev/robostix" ); exit( 1 ); } argIdx = 1; cmdStr = argv[ argIdx++ ]; for ( cmd = gCmd; cmd->cmdStr != NULL; cmd++ ) { if ( strcasecmp( cmdStr, cmd->cmdStr ) == 0 ) { break; } } if ( cmd->cmdStr == NULL ) { fprintf( stderr, "Unrecognized command: '%s'\n", cmdStr ); exit( 1 ); } if ( cmd->parseArgs( argc - argIdx, &argv[ argIdx ] )) { cmd->execFunc( cmd->cmd ); } close( gFd ); exit( 0 ); return 0; } // main