Move libaltos to top level
[fw/altos] / libaltos / cjnitest.c
diff --git a/libaltos/cjnitest.c b/libaltos/cjnitest.c
new file mode 100644 (file)
index 0000000..f0fe78f
--- /dev/null
@@ -0,0 +1,71 @@
+#include <stdio.h>
+#include "libaltos.h"
+
+static void
+altos_puts(struct altos_file *file, char *string)
+{
+       char    c;
+
+       while ((c = *string++))
+               altos_putchar(file, c);
+}
+
+main ()
+{
+       struct altos_device     device;
+       struct altos_list       *list;
+       struct altos_bt_device  bt_device;
+       struct altos_bt_list    *bt_list;
+
+       altos_init();
+       list = altos_list_start();
+       while (altos_list_next(list, &device)) {
+               struct altos_file       *file;
+               int                     c;
+
+               printf ("%04x:%04x %-20s %4d %s\n", device.vendor, device.product,
+                       device.name, device.serial, device.path);
+
+               file = altos_open(&device);
+               if (!file) {
+                       printf("altos_open failed\n");
+                       continue;
+               }
+               altos_puts(file,"v\nc s\n");
+               altos_flush(file);
+               while ((c = altos_getchar(file, 100)) >= 0) {
+                       putchar (c);
+               }
+               if (c != LIBALTOS_TIMEOUT)
+                       printf ("getchar returns %d\n", c);
+               altos_close(file);
+       }
+       altos_list_finish(list);
+#if HAS_BLUETOOTH
+       bt_list = altos_bt_list_start(8);
+       while (altos_bt_list_next(bt_list, &bt_device)) {
+               printf ("%s %s\n", bt_device.name, bt_device.addr);
+               if (strncmp(bt_device.name, "TeleBT", 6) == 0) {
+                       struct altos_file       *file;
+
+                       int                     c;
+                       file = altos_bt_open(&bt_device);
+                       if (!file) {
+                               printf("altos_bt_open failed\n");
+                               continue;
+                       }
+                       altos_puts(file,"v\nc s\n");
+                       altos_flush(file);
+                       while ((c = altos_getchar(file, 100)) >= 0) {
+                               putchar(c);
+                       }
+                       if (c != LIBALTOS_TIMEOUT)
+                               printf("getchar returns %d\n", c);
+                       altos_close(file);
+               }
+       }
+       altos_bt_list_finish(bt_list);
+#endif
+       altos_fini();
+       return 0;
+}