sshpty.h revision 76259
1/* 2 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * All rights reserved 5 * Functions for allocating a pseudo-terminal and making it the controlling 6 * tty. 7 * 8 * As far as I am concerned, the code I have written for this software 9 * can be used freely for any purpose. Any derived versions of this 10 * software must be clearly marked as such, and if the derived work is 11 * incompatible with the protocol description in the RFC file, it must be 12 * called by a name other than "ssh" or "Secure Shell". 13 */ 14 15/* RCSID("$OpenBSD: sshpty.h,v 1.1 2001/03/04 01:46:30 djm Exp $"); */ 16 17#ifndef SSHPTY_H 18#define SSHPTY_H 19 20/* 21 * Allocates and opens a pty. Returns 0 if no pty could be allocated, or 22 * nonzero if a pty was successfully allocated. On success, open file 23 * descriptors for the pty and tty sides and the name of the tty side are 24 * returned (the buffer must be able to hold at least 64 characters). 25 */ 26int pty_allocate(int *ptyfd, int *ttyfd, char *ttyname, int ttynamelen); 27 28/* 29 * Releases the tty. Its ownership is returned to root, and permissions to 30 * 0666. 31 */ 32void pty_release(const char *ttyname); 33 34/* 35 * Makes the tty the processes controlling tty and sets it to sane modes. 36 * This may need to reopen the tty to get rid of possible eavesdroppers. 37 */ 38void pty_make_controlling_tty(int *ttyfd, const char *ttyname); 39 40/* Changes the window size associated with the pty. */ 41void 42pty_change_window_size(int ptyfd, int row, int col, 43 int xpixel, int ypixel); 44 45void pty_setowner(struct passwd *pw, const char *ttyname); 46 47#endif /* SSHPTY_H */ 48