[lockdev-devel] [PATCH 19/19] test program for baudboy interface

Ludwig Nussel ludwig.nussel at suse.de
Thu Feb 25 10:02:16 UTC 2010


---
 src/Makefile.am    |    4 +++
 src/baudboy_test.c |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 64 insertions(+), 0 deletions(-)
 create mode 100644 src/baudboy_test.c

diff --git a/src/Makefile.am b/src/Makefile.am
index 0584304..350a56e 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,10 +1,14 @@
 sbin_PROGRAMS = lockdev
+noinst_PROGRAMS = baudboy
 
 include_HEADERS = lockdev.h baudboy.h ttylock.h
 
 lockdev_SOURCES = sample.c
 lockdev_LDADD = liblockdev.la
 
+baudboy_SOURCES = baudboy_test.c
+baudboy_LDADD = liblockdev.la
+
 lib_LTLIBRARIES = liblockdev.la
 liblockdev_la_SOURCES = lockdev.c
 
diff --git a/src/baudboy_test.c b/src/baudboy_test.c
new file mode 100644
index 0000000..768e260
--- /dev/null
+++ b/src/baudboy_test.c
@@ -0,0 +1,60 @@
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <errno.h>
+#include <string.h>
+#include "baudboy.h"
+
+void
+usage (void)
+{
+	fprintf(stderr, "Usage: %s [-lu] <device>\n", "lockdev");
+	exit(-1);
+}
+
+
+int
+main (int   argc,
+      char *argv[])
+{
+	int i;
+	char *p = NULL, *dev = NULL, ch;
+
+	ch = '\0';
+	for( i = argc - 1; i > 0; i-- ) {
+		p = argv[i];
+		if( *p == '-' ) {
+			switch( *++p ) {
+			case 'l': 
+			case 'u': ch = *p; break;
+			default: usage(); break;
+			}
+		}
+		else dev = p;
+	}
+	i = 0;
+	switch( ch ) {
+	case 'l':
+		i = ttylock(dev);
+		break;
+	case 'u':
+		i = ttyunlock(dev);
+		break;
+	default:
+		if (dev)
+			i = ttylocked(dev);
+		else
+			    usage();
+		break;
+	}
+	if(i < 0) {
+		fprintf(stderr, "error: %d %s\n", -i, strerror(-i));
+		i = -1;
+	}
+	exit(i);
+}
-- 
1.6.4.2




More information about the lockdev-devel mailing list