examples/kerneltest/console/console.c
author Christian Taedcke <hacking@taedcke.com>
Tue, 22 May 2012 08:36:07 +0200
changeset 730 b5f4b3e2d01c
parent 467 40efa79d27dd
permissions -rw-r--r--
can_peak_win32 code:
- changed m->Data to m->data, because the renaming was not done in the main code yet.
The peak driver compiles now.
#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;
}