--- /dev/null
+#include <termios.h>
+#include <fcntl.h>
+#include <sys/ioctl.h>
+#include <stdio.h>
+
+
+int
+main(int argc, char **argv)
+{
+ int fd;
+ int serial;
+ int i;
+ char send_buf[] = "this is test.";
+ char buf[20] = { 0 };
+
+ if (argc != 2) {
+ fprintf(stderr, "Usage: %s {device_name}\n", argv[0]);
+ }
+
+ fd = open(argv[1], O_RDWR);
+ if (fd < 0) {
+ fprintf(stderr, "Error to open.");
+ exit(1);
+ }
+ ioctl(fd, TIOCMGET, &serial);
+
+ for (i = 0; i < 3; i++) {
+ fprintf(stderr, ".Blinking...");
+ serial |= TIOCM_DTR;
+ serial |= TIOCM_RTS;
+ ioctl(fd, TIOCMSET, &serial);
+ sleep(1);
+ serial &= ~TIOCM_DTR;
+ serial &= ~TIOCM_RTS;
+ ioctl(fd, TIOCMSET, &serial);
+ sleep(1);
+ }
+
+ write(fd, send_buf, sizeof(send_buf));
+ sleep(1);
+ read(fd, buf, sizeof(send_buf));
+
+ if (!memcmp(buf, send_buf, sizeof(send_buf))) {
+ fprintf(stderr, "Loopback ok! (%s)", buf);
+ } else {
+ fprintf(stderr, "Loopback failed! (%s)", buf);
+ }
+ close(fd);
+}