--- libaitio/inc/aitio.h 2011/09/19 22:41:04 1.11.2.15 +++ libaitio/inc/aitio.h 2011/09/19 23:30:50 1.11.2.17 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitio.h,v 1.11.2.15 2011/09/19 22:41:04 misho Exp $ +* $Id: aitio.h,v 1.11.2.17 2011/09/19 23:30:50 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -752,7 +752,7 @@ int io_Blowfish(unsigned char *pInput, int inLen, unsi /* - * ioAllocPTY() Allocate new PTY + * ioAllocPTY() Allocate new PTY and TTY * @ptyfd = master fd, pty * @ttyfd = slave fd, tty * @name = tty device name if not null @@ -764,11 +764,11 @@ int io_Blowfish(unsigned char *pInput, int inLen, unsi inline int ioAllocPTY(int *ptyfd, int *ttyfd, char * __restrict name, int namesiz, struct termios * __restrict term, struct winsize * __restrict winz); /* - * ioFreePTY() Release PTY + * ioFreeTTY() Release TTY * @ttyname = tty filename * return: none */ -inline void ioFreePTY(const char *ttyname); +inline void ioFreeTTY(const char *ttyname); /* * ioChgWinPTY() Change window size of PTY * @ptyfd = master fd, pty @@ -780,13 +780,34 @@ inline void ioFreePTY(const char *ttyname); */ inline int ioChgWinPTY(int ptyfd, u_short row, u_short col, u_short xpxl, u_short ypxl); /* - * ioSetOwnerPTY() Set owner to PTY + * ioSetOwnerTTY() Set owner to TTY * @ttyname = tty filename * @UID = uid * @GID = gid * return: -1 error or 0 ok */ -int ioSetOwnerPTY(const char *ttyname, uid_t UID, gid_t GID); +int ioSetOwnerTTY(const char *ttyname, uid_t UID, gid_t GID); +/* + * ioSetSidTTY() Makes the process's controlling TTY and sets it to sane modes. + * @ttyfd = slave fd, tty + * @ttyname = tty filename + * return: -1 error or 0 ok + */ +int ioSetSidTTY(int *ttyfd, const char *ttyname); +/* + * ioSetRAWMode() Enter into RAW mode + * @fd = tty fd + * @otio = saved old termios for later restore if !=NULL + * return: -1 error or 0 ok + */ +inline int ioSetRAWMode(int fd, struct termios *otio); +/* + * ioRestoreMode() Restore termios to tty fd + * @fd = tty fd + * @tio = termios structure for restore + * return: -1 error or 0 ok + */ +inline int ioRestoreMode(int fd, struct termios tio); #endif