examples/kerneltest/console/console.c
changeset 391 7802a7d5584f
child 467 40efa79d27dd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/examples/kerneltest/console/console.c	Tue Feb 12 09:44:55 2008 +0100
@@ -0,0 +1,61 @@
+#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;
+}