Annotation of src/usr.bin/ssh/pty.h, Revision 1.6.2.2
1.1 deraadt 1: /*
1.2 deraadt 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.
1.6.2.2 ! jason 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".
1.2 deraadt 13: */
1.1 deraadt 14:
1.6.2.2 ! jason 15: /* RCSID("$OpenBSD: pty.h,v 1.8 2000/09/07 20:27:52 deraadt Exp $"); */
1.1 deraadt 16:
17: #ifndef PTY_H
18: #define PTY_H
19:
1.3 markus 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: */
1.4 deraadt 26: int pty_allocate(int *ptyfd, int *ttyfd, char *ttyname, int ttynamelen);
1.1 deraadt 27:
1.3 markus 28: /*
29: * Releases the tty. Its ownership is returned to root, and permissions to
30: * 0666.
31: */
1.2 deraadt 32: void pty_release(const char *ttyname);
1.1 deraadt 33:
1.3 markus 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: */
1.2 deraadt 38: void pty_make_controlling_tty(int *ttyfd, const char *ttyname);
1.1 deraadt 39:
40: /* Changes the window size associated with the pty. */
1.6 markus 41: void
1.2 deraadt 42: pty_change_window_size(int ptyfd, int row, int col,
43: int xpixel, int ypixel);
1.5 markus 44:
45: void pty_setowner(struct passwd *pw, const char *ttyname);
1.1 deraadt 46:
1.2 deraadt 47: #endif /* PTY_H */