examples/kerneltest/console/console.c
author etisserant
Mon, 21 Apr 2008 16:37:27 +0200
changeset 443 994c99afb344
parent 391 7802a7d5584f
child 467 40efa79d27dd
permissions -rw-r--r--
sync.c : fixed some endianize problem, and calback de-registering when re-starting service.
#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("end   - end 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,"end") == 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;
}