Annotation of src/usr.bin/ssh/sshpty.h, Revision 1.1.4.1
1.1 djm 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:
1.1.4.1 ! jason 15: /* RCSID("$OpenBSD: sshpty.h,v 1.1 2001/03/04 01:46:30 djm Exp $"); */
1.1 djm 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: */
26: int 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: */
32: void 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: */
38: void pty_make_controlling_tty(int *ttyfd, const char *ttyname);
39:
40: /* Changes the window size associated with the pty. */
41: void
42: pty_change_window_size(int ptyfd, int row, int col,
43: int xpixel, int ypixel);
44:
45: void pty_setowner(struct passwd *pw, const char *ttyname);
46:
47: #endif /* SSHPTY_H */