summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/pty.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-09-25 15:07:35 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-10-01 12:28:10 +0200
commitb980f363069cd7d44598188ce0de732fdd7e19f3 (patch)
treed693a11dc8a8912053f6f858439c588355daea56 /cpukit/include/rtems/pty.h
parentpppd: Remove unused get_pty() function (diff)
downloadrtems-b980f363069cd7d44598188ce0de732fdd7e19f3.tar.bz2
telnetd: Convert pty driver to new Termios API
Update #3526.
Diffstat (limited to 'cpukit/include/rtems/pty.h')
-rw-r--r--cpukit/include/rtems/pty.h71
1 files changed, 19 insertions, 52 deletions
diff --git a/cpukit/include/rtems/pty.h b/cpukit/include/rtems/pty.h
index 392bfd0969..d8f886d76a 100644
--- a/cpukit/include/rtems/pty.h
+++ b/cpukit/include/rtems/pty.h
@@ -16,58 +16,25 @@
extern "C" {
#endif
-#include <rtems.h>
-
-/* Number of ptys to setup */
-extern size_t rtems_pty_maximum_ptys;
-
-/* Return the devname for a free pty slot.
- * If no slot available (socket>=0)
- * then the socket argument is closed
- */
-char * rtems_pty_get(int socket);
-
-
-/* OBSOLETE */
-#define get_pty rtems_pty_get
-
-rtems_device_driver pty_initialize(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *arg);
-rtems_device_driver pty_open(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void * arg);
-rtems_device_driver pty_close(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void * arg);
-rtems_device_driver pty_read(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void * arg);
-rtems_device_driver pty_write(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void * arg);
-rtems_device_driver pty_control(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void * arg);
-
-
-#define PTY_DRIVER_TABLE_ENTRY \
- { pty_initialize , pty_open , pty_close , \
- pty_read , pty_write , pty_control }
-
-/* Internal functions */
-
-int telnet_pty_initialize(void);
-
-int telnet_pty_finalize(void);
-
-char *telnet_get_pty(int);
+#include <rtems/termiostypes.h>
+
+#define RTEMS_PTY_SB_MAX 16
+
+typedef struct {
+ rtems_termios_device_context base;
+ rtems_termios_tty *ttyp;
+ tcflag_t c_cflag;
+ int socket;
+ int last_cr;
+ unsigned iac_mode;
+ unsigned char sb_buf[RTEMS_PTY_SB_MAX];
+ int sb_ind;
+ int width;
+ int height;
+ char name[sizeof("/dev/pty18446744073709551615")];
+} rtems_pty_context;
+
+char *telnet_get_pty(rtems_pty_context *ctx, int socket);
#ifdef __cplusplus
}