]>
Commit | Line | Data |
---|---|---|
8efc0c15 | 1 | /* |
6ae2364d | 2 | * |
5260325f | 3 | * pty.h |
6ae2364d | 4 | * |
5260325f | 5 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
6ae2364d | 6 | * |
5260325f | 7 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
8 | * All rights reserved | |
6ae2364d | 9 | * |
5260325f | 10 | * Created: Fri Mar 17 05:03:28 1995 ylo |
6ae2364d | 11 | * |
5260325f | 12 | * Functions for allocating a pseudo-terminal and making it the controlling |
13 | * tty. | |
14 | */ | |
8efc0c15 | 15 | |
74fc9186 | 16 | /* RCSID("$OpenBSD: pty.h,v 1.7 2000/06/20 01:39:43 markus Exp $"); */ |
8efc0c15 | 17 | |
18 | #ifndef PTY_H | |
19 | #define PTY_H | |
20 | ||
aa3378df | 21 | /* |
22 | * Allocates and opens a pty. Returns 0 if no pty could be allocated, or | |
23 | * nonzero if a pty was successfully allocated. On success, open file | |
24 | * descriptors for the pty and tty sides and the name of the tty side are | |
25 | * returned (the buffer must be able to hold at least 64 characters). | |
26 | */ | |
a408af76 | 27 | int pty_allocate(int *ptyfd, int *ttyfd, char *ttyname, int ttynamelen); |
8efc0c15 | 28 | |
aa3378df | 29 | /* |
30 | * Releases the tty. Its ownership is returned to root, and permissions to | |
31 | * 0666. | |
32 | */ | |
5260325f | 33 | void pty_release(const char *ttyname); |
8efc0c15 | 34 | |
aa3378df | 35 | /* |
36 | * Makes the tty the processes controlling tty and sets it to sane modes. | |
37 | * This may need to reopen the tty to get rid of possible eavesdroppers. | |
38 | */ | |
5260325f | 39 | void pty_make_controlling_tty(int *ttyfd, const char *ttyname); |
8efc0c15 | 40 | |
41 | /* Changes the window size associated with the pty. */ | |
6ae2364d | 42 | void |
5260325f | 43 | pty_change_window_size(int ptyfd, int row, int col, |
44 | int xpixel, int ypixel); | |
8efc0c15 | 45 | |
817175bc | 46 | void pty_setowner(struct passwd *pw, const char *ttyname); |
47 | ||
5260325f | 48 | #endif /* PTY_H */ |