diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-09-25 15:07:35 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-10-01 12:28:10 +0200 |
commit | b980f363069cd7d44598188ce0de732fdd7e19f3 (patch) | |
tree | d693a11dc8a8912053f6f858439c588355daea56 /cpukit/include/rtems/pty.h | |
parent | pppd: Remove unused get_pty() function (diff) | |
download | rtems-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.h | 71 |
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 } |