summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport/include
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1998-05-04 12:41:07 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1998-05-04 12:41:07 +0000
commit161e1b3f6a1a5b0b3a13c48579a3c3e74faff4a1 (patch)
treec48b7a933aa793c98aecef2dec6f113ca6ee112f /cpukit/libcsupport/include
parentSwitched to termios callback structure. (diff)
downloadrtems-161e1b3f6a1a5b0b3a13c48579a3c3e74faff4a1.tar.bz2
Patch from Eric Norum to switch to termios callback structure, add
support for device driver support on tcsetattr(), and hardware flow control callbacks.
Diffstat (limited to 'cpukit/libcsupport/include')
-rw-r--r--cpukit/libcsupport/include/rtems/libio.h30
1 files changed, 20 insertions, 10 deletions
diff --git a/cpukit/libcsupport/include/rtems/libio.h b/cpukit/libcsupport/include/rtems/libio.h
index 2f4dedddf0..ec30cf0d08 100644
--- a/cpukit/libcsupport/include/rtems/libio.h
+++ b/cpukit/libcsupport/include/rtems/libio.h
@@ -128,20 +128,30 @@ void rtems_register_libio_handler(int handler_flag,
#define RTEMS_IO_SET_ATTRIBUTES 2
/*
- * Termios prototypes
+ * Callbacks from TERMIOS routines to device-dependent code
+ */
+#include <termios.h>
+typedef struct rtems_termios_callbacks {
+ int (*firstOpen)(int major, int minor, void *arg);
+ int (*lastClose)(int major, int minor, void *arg);
+ int (*pollRead)(int minor);
+ int (*write)(int minor, const char *buf, int len);
+ int (*setAttributes)(int minor, const struct termios *t);
+ int (*stopRemoteTx)(int minor);
+ int (*startRemoteTx)(int minor);
+ int outputUsesInterrupts;
+} rtems_termios_callbacks;
+
+/*
+ * Device-independent TERMIOS routines
*/
void rtems_termios_initialize (void);
rtems_status_code rtems_termios_open (
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *arg,
- int (*deviceFirstOpen)(int major, int minor, void *arg),
- int (*deviceLastClose)(int major, int minor, void *arg),
- int (*deviceRead)(int minor),
- int (*deviceWrite)(int minor, const char *buf, int len),
- int deviceOutputUsesInterrupts
+ rtems_device_major_number major,
+ rtems_device_minor_number minor,
+ void *arg,
+ const rtems_termios_callbacks *callbacks
);
-
rtems_status_code rtems_termios_close (void *arg);
rtems_status_code rtems_termios_read (void *arg);
rtems_status_code rtems_termios_write (void *arg);