diff --git a/neercs/term/pty.cpp b/neercs/term/pty.cpp index 6adb8cd..fb73936 100644 --- a/neercs/term/pty.cpp +++ b/neercs/term/pty.cpp @@ -180,6 +180,16 @@ void Pty::UnreadData(char *data, size_t len) #endif } +size_t Pty::WriteData(char const *data, size_t len) +{ +#if defined HAVE_PTY_H || defined HAVE_UTIL_H || defined HAVE_LIBUTIL_H + /* FIXME: can we be more naive than that? */ + return write((int)m_fd, data, len); +#endif + + return 0; +} + void Pty::SetWindowSize(ivec2 size, int64_t fd /* = -1 */) { #if defined HAVE_PTY_H || defined HAVE_UTIL_H || defined HAVE_LIBUTIL_H diff --git a/neercs/term/pty.h b/neercs/term/pty.h index 7215f10..9add5ac 100644 --- a/neercs/term/pty.h +++ b/neercs/term/pty.h @@ -12,8 +12,11 @@ public: ~Pty(); void Run(char const *command, ivec2 size); + size_t ReadData(char *data, size_t maxlen); void UnreadData(char *data, size_t len); + size_t WriteData(char const *data, size_t len); + void SetWindowSize(ivec2 size, int64_t fd = -1); private: