examples/kerneltest/console/console.c
author Christian Taedcke <hacking@taedcke.com>
Wed, 09 Nov 2011 15:02:47 +0000
changeset 689 d6fcd388f2db
parent 467 40efa79d27dd
permissions -rw-r--r--
Win32 IXXAT driver:
CHANGED: - Removed deprecated call to VCI_GetBrdTypeByName().
- The board type given to VCI2_PrepareBoard() is now always 0, because this parameter is not used.
- Removed the board_name parameter from IXXAT::open(). The board that should be opened is identified by the parameter board_number.
The correct parameter board_number can be determined using XAT_EnumHwEntry() and XAT_GetConfig().
- Changed the constructor IXXAT::IXXAT(). board->busname now only contains the board_number, see XAT_EnumHwEntry() and XAT_GetConfig().
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
#include <errno.h>

#include "console.h"


void showhelp(void) {
	printf("\nCanFestival kernel test example console\n\n");

	printf("start - start example\n");
	printf("stop  - stop example\n");
	printf("quit  - quit console\n");
	printf("\n");
}

int main(int argc,char *argv[])
{
	int canf_ktest_dev, cmd;
	char command[10];
	char device_path[20] = "/dev/";

	// create absolute path name for device
	strcat (device_path, DEVICE_NAME);

	canf_ktest_dev = open (device_path, O_WRONLY);
	
	if (canf_ktest_dev == -1) {
		perror ("Opening device");
		return 1;
	}

	showhelp();
    
	while (1) {
		printf("> ");
		scanf ("%s", &command);

		if (strcmp(command,"start") == 0)
			cmd = CMD_START;
		
		else if (strcmp(command,"stop") == 0)
			cmd = CMD_STOP;
		
		else if (strcmp(command,"quit") == 0)
			break;
		
		else {
			printf("Bad command\n");
			continue;
		}
		
		write(canf_ktest_dev, &cmd, sizeof(cmd));
	}
    
	close(canf_ktest_dev);
	return 0;
}