summaryrefslogtreecommitdiffstats
path: root/c/src
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1998-07-09 23:29:33 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1998-07-09 23:29:33 +0000
commit61ff7ac8251fbd98cbbc0f031707413b8edb1691 (patch)
tree2fea73950b5567de1224079b823a29c93fc4c956 /c/src
parentCommented out the system call invocation since we don't know what works (diff)
downloadrtems-61ff7ac8251fbd98cbbc0f031707413b8edb1691.tar.bz2
Added new baud rate to number function and default serial probe routine.
Renamed sersupp.c so we could have one routine per file to decrease the baggage pulled into an application by default.
Diffstat (limited to 'c/src')
-rw-r--r--c/src/lib/libchip/serial/serprobe.c20
-rw-r--r--c/src/lib/libchip/serial/sersupp.h9
-rw-r--r--c/src/lib/libchip/serial/termios_baud2index.c39
-rw-r--r--c/src/lib/libchip/serial/termios_baud2num.c39
-rw-r--r--c/src/libchip/serial/serprobe.c20
-rw-r--r--c/src/libchip/serial/sersupp.h9
-rw-r--r--c/src/libchip/serial/termios_baud2index.c39
-rw-r--r--c/src/libchip/serial/termios_baud2num.c39
8 files changed, 214 insertions, 0 deletions
diff --git a/c/src/lib/libchip/serial/serprobe.c b/c/src/lib/libchip/serial/serprobe.c
new file mode 100644
index 0000000000..b76bbebe3c
--- /dev/null
+++ b/c/src/lib/libchip/serial/serprobe.c
@@ -0,0 +1,20 @@
+/*
+ * $Id$
+ */
+
+#include <rtems.h>
+#include <libchip/serial.h>
+#include "sersupp.h"
+
+boolean libchip_serial_default_probe(int minor)
+{
+ /*
+ * If the configuration dependent probe has located the device then
+ * assume it is there
+ */
+
+ return TRUE;
+}
+
+
+
diff --git a/c/src/lib/libchip/serial/sersupp.h b/c/src/lib/libchip/serial/sersupp.h
index 37b758107e..a996d53c7c 100644
--- a/c/src/lib/libchip/serial/sersupp.h
+++ b/c/src/lib/libchip/serial/sersupp.h
@@ -9,5 +9,14 @@ int termios_baud_to_index(
int termios_baud
);
+int termios_baud_to_number(
+ int termios_baud
+);
+
+boolean libchip_serial_default_probe(
+ int minor
+);
+
+
#endif
/* end of include file */
diff --git a/c/src/lib/libchip/serial/termios_baud2index.c b/c/src/lib/libchip/serial/termios_baud2index.c
new file mode 100644
index 0000000000..b4bf3623a2
--- /dev/null
+++ b/c/src/lib/libchip/serial/termios_baud2index.c
@@ -0,0 +1,39 @@
+/*
+ * $Id$
+ */
+
+#include <sys/termios.h>
+
+int termios_baud_to_index(
+ int termios_baud
+)
+{
+ int baud_index;
+
+ switch (termios_baud) {
+ case B0: baud_index = 0; break;
+ case B50: baud_index = 1; break;
+ case B75: baud_index = 2; break;
+ case B110: baud_index = 3; break;
+ case B134: baud_index = 4; break;
+ case B150: baud_index = 5; break;
+ case B200: baud_index = 6; break;
+ case B300: baud_index = 7; break;
+ case B600: baud_index = 8; break;
+ case B1200: baud_index = 9; break;
+ case B1800: baud_index = 10; break;
+ case B2400: baud_index = 11; break;
+ case B4800: baud_index = 12; break;
+ case B9600: baud_index = 13; break;
+ case B19200: baud_index = 14; break;
+ case B38400: baud_index = 15; break;
+ case B57600: baud_index = 16; break;
+ case B115200: baud_index = 17; break;
+ case B230400: baud_index = 18; break;
+ case B460800: baud_index = 19; break;
+ default: baud_index = -1; break;
+ }
+
+ return baud_index;
+}
+
diff --git a/c/src/lib/libchip/serial/termios_baud2num.c b/c/src/lib/libchip/serial/termios_baud2num.c
new file mode 100644
index 0000000000..9c2ddc047e
--- /dev/null
+++ b/c/src/lib/libchip/serial/termios_baud2num.c
@@ -0,0 +1,39 @@
+/*
+ * $Id$
+ */
+
+#include <sys/termios.h>
+
+int termios_baud_to_number(
+ int termios_baud
+)
+{
+ int baud;
+
+ switch (termios_baud) {
+ case B0: baud = 0; break;
+ case B50: baud = 50; break;
+ case B75: baud = 75; break;
+ case B110: baud = 110; break;
+ case B134: baud = 135; break;
+ case B150: baud = 150; break;
+ case B200: baud = 200; break;
+ case B300: baud = 300; break;
+ case B600: baud = 600; break;
+ case B1200: baud = 1200; break;
+ case B1800: baud = 1800; break;
+ case B2400: baud = 2400; break;
+ case B4800: baud = 4800; break;
+ case B9600: baud = 9600; break;
+ case B19200: baud = 19200; break;
+ case B38400: baud = 38400; break;
+ case B57600: baud = 57600; break;
+ case B115200: baud = 115200; break;
+ case B230400: baud = 230400; break;
+ case B460800: baud = 460800; break;
+ default: baud = -1; break;
+ }
+
+ return baud;
+}
+
diff --git a/c/src/libchip/serial/serprobe.c b/c/src/libchip/serial/serprobe.c
new file mode 100644
index 0000000000..b76bbebe3c
--- /dev/null
+++ b/c/src/libchip/serial/serprobe.c
@@ -0,0 +1,20 @@
+/*
+ * $Id$
+ */
+
+#include <rtems.h>
+#include <libchip/serial.h>
+#include "sersupp.h"
+
+boolean libchip_serial_default_probe(int minor)
+{
+ /*
+ * If the configuration dependent probe has located the device then
+ * assume it is there
+ */
+
+ return TRUE;
+}
+
+
+
diff --git a/c/src/libchip/serial/sersupp.h b/c/src/libchip/serial/sersupp.h
index 37b758107e..a996d53c7c 100644
--- a/c/src/libchip/serial/sersupp.h
+++ b/c/src/libchip/serial/sersupp.h
@@ -9,5 +9,14 @@ int termios_baud_to_index(
int termios_baud
);
+int termios_baud_to_number(
+ int termios_baud
+);
+
+boolean libchip_serial_default_probe(
+ int minor
+);
+
+
#endif
/* end of include file */
diff --git a/c/src/libchip/serial/termios_baud2index.c b/c/src/libchip/serial/termios_baud2index.c
new file mode 100644
index 0000000000..b4bf3623a2
--- /dev/null
+++ b/c/src/libchip/serial/termios_baud2index.c
@@ -0,0 +1,39 @@
+/*
+ * $Id$
+ */
+
+#include <sys/termios.h>
+
+int termios_baud_to_index(
+ int termios_baud
+)
+{
+ int baud_index;
+
+ switch (termios_baud) {
+ case B0: baud_index = 0; break;
+ case B50: baud_index = 1; break;
+ case B75: baud_index = 2; break;
+ case B110: baud_index = 3; break;
+ case B134: baud_index = 4; break;
+ case B150: baud_index = 5; break;
+ case B200: baud_index = 6; break;
+ case B300: baud_index = 7; break;
+ case B600: baud_index = 8; break;
+ case B1200: baud_index = 9; break;
+ case B1800: baud_index = 10; break;
+ case B2400: baud_index = 11; break;
+ case B4800: baud_index = 12; break;
+ case B9600: baud_index = 13; break;
+ case B19200: baud_index = 14; break;
+ case B38400: baud_index = 15; break;
+ case B57600: baud_index = 16; break;
+ case B115200: baud_index = 17; break;
+ case B230400: baud_index = 18; break;
+ case B460800: baud_index = 19; break;
+ default: baud_index = -1; break;
+ }
+
+ return baud_index;
+}
+
diff --git a/c/src/libchip/serial/termios_baud2num.c b/c/src/libchip/serial/termios_baud2num.c
new file mode 100644
index 0000000000..9c2ddc047e
--- /dev/null
+++ b/c/src/libchip/serial/termios_baud2num.c
@@ -0,0 +1,39 @@
+/*
+ * $Id$
+ */
+
+#include <sys/termios.h>
+
+int termios_baud_to_number(
+ int termios_baud
+)
+{
+ int baud;
+
+ switch (termios_baud) {
+ case B0: baud = 0; break;
+ case B50: baud = 50; break;
+ case B75: baud = 75; break;
+ case B110: baud = 110; break;
+ case B134: baud = 135; break;
+ case B150: baud = 150; break;
+ case B200: baud = 200; break;
+ case B300: baud = 300; break;
+ case B600: baud = 600; break;
+ case B1200: baud = 1200; break;
+ case B1800: baud = 1800; break;
+ case B2400: baud = 2400; break;
+ case B4800: baud = 4800; break;
+ case B9600: baud = 9600; break;
+ case B19200: baud = 19200; break;
+ case B38400: baud = 38400; break;
+ case B57600: baud = 57600; break;
+ case B115200: baud = 115200; break;
+ case B230400: baud = 230400; break;
+ case B460800: baud = 460800; break;
+ default: baud = -1; break;
+ }
+
+ return baud;
+}
+