summaryrefslogtreecommitdiff
path: root/pty.h
blob: 215f4343e30ce6d6d25db8faa5d775f4d8efc7e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/*
 * 
 * pty.h
 * 
 * Author: Tatu Ylonen <ylo@cs.hut.fi>
 * 
 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
 *                    All rights reserved
 * 
 * Created: Fri Mar 17 05:03:28 1995 ylo
 * 
 * Functions for allocating a pseudo-terminal and making it the controlling
 * tty.
 */

/* RCSID("$Id: pty.h,v 1.2 1999/11/24 13:26:22 damien Exp $"); */

#ifndef PTY_H
#define PTY_H

/* Allocates and opens a pty.  Returns 0 if no pty could be allocated,
   or nonzero if a pty was successfully allocated.  On success, open file
   descriptors for the pty and tty sides and the name of the tty side are
   returned (the buffer must be able to hold at least 64 characters). */
int     pty_allocate(int *ptyfd, int *ttyfd, char *ttyname);

/* Releases the tty.  Its ownership is returned to root, and permissions to
   0666. */
void    pty_release(const char *ttyname);

/* Makes the tty the processes controlling tty and sets it to sane modes.
   This may need to reopen the tty to get rid of possible eavesdroppers. */
void    pty_make_controlling_tty(int *ttyfd, const char *ttyname);

/* Changes the window size associated with the pty. */
void 
pty_change_window_size(int ptyfd, int row, int col,
    int xpixel, int ypixel);

#endif				/* PTY_H */