Blame


1 1d011a3e 2004-03-26 devnull #include <u.h>
2 1d011a3e 2004-03-26 devnull #include <sys/types.h>
3 1d011a3e 2004-03-26 devnull #include <sys/ioctl.h>
4 1d011a3e 2004-03-26 devnull #include <termios.h>
5 1d011a3e 2004-03-26 devnull #include <sys/termios.h>
6 1d011a3e 2004-03-26 devnull #include <util.h>
7 1d011a3e 2004-03-26 devnull #include <libc.h>
8 a2705f20 2004-04-16 devnull #include "term.h"
9 1d011a3e 2004-03-26 devnull
10 1d011a3e 2004-03-26 devnull int
11 1d011a3e 2004-03-26 devnull getpts(int fd[], char *slave)
12 1d011a3e 2004-03-26 devnull {
13 1d011a3e 2004-03-26 devnull return openpty(&fd[1], &fd[0], slave, 0, 0);
14 1d011a3e 2004-03-26 devnull }
15 1d011a3e 2004-03-26 devnull
16 1d011a3e 2004-03-26 devnull int
17 1d011a3e 2004-03-26 devnull childpty(int fd[], char *slave)
18 1d011a3e 2004-03-26 devnull {
19 1d011a3e 2004-03-26 devnull int sfd;
20 1d011a3e 2004-03-26 devnull
21 1d011a3e 2004-03-26 devnull close(fd[1]);
22 1d011a3e 2004-03-26 devnull setsid();
23 1d011a3e 2004-03-26 devnull sfd = open(slave, ORDWR);
24 1d011a3e 2004-03-26 devnull if(sfd < 0)
25 1d011a3e 2004-03-26 devnull sysfatal("open %s: %r\n", slave);
26 1d011a3e 2004-03-26 devnull if(ioctl(sfd, TIOCSCTTY, 0) < 0)
27 1d011a3e 2004-03-26 devnull fprint(2, "ioctl TIOCSCTTY: %r\n");
28 1d011a3e 2004-03-26 devnull return sfd;
29 1d011a3e 2004-03-26 devnull }
30 1d011a3e 2004-03-26 devnull
31 1d011a3e 2004-03-26 devnull struct winsize ows;
32 1d011a3e 2004-03-26 devnull
33 1d011a3e 2004-03-26 devnull void
34 1d011a3e 2004-03-26 devnull updatewinsize(int row, int col, int dx, int dy)
35 1d011a3e 2004-03-26 devnull {
36 1d011a3e 2004-03-26 devnull struct winsize ws;
37 1d011a3e 2004-03-26 devnull
38 1d011a3e 2004-03-26 devnull ws.ws_row = row;
39 1d011a3e 2004-03-26 devnull ws.ws_col = col;
40 1d011a3e 2004-03-26 devnull ws.ws_xpixel = dx;
41 1d011a3e 2004-03-26 devnull ws.ws_ypixel = dy;
42 1d011a3e 2004-03-26 devnull if(ws.ws_row != ows.ws_row || ws.ws_col != ows.ws_col)
43 1d011a3e 2004-03-26 devnull if(ioctl(rcfd[0], TIOCSWINSZ, &ws) < 0)
44 1d011a3e 2004-03-26 devnull fprint(2, "ioctl: %r\n");
45 1d011a3e 2004-03-26 devnull ows = ws;
46 1d011a3e 2004-03-26 devnull }
47 4dcd9af2 2004-04-15 devnull
48 4dcd9af2 2004-04-15 devnull int
49 4dcd9af2 2004-04-15 devnull israw(int fd)
50 4dcd9af2 2004-04-15 devnull {
51 4dcd9af2 2004-04-15 devnull return 0;
52 4dcd9af2 2004-04-15 devnull }
53 4dcd9af2 2004-04-15 devnull
54 4dcd9af2 2004-04-15 devnull int
55 4dcd9af2 2004-04-15 devnull setecho(int fd, int on)
56 4dcd9af2 2004-04-15 devnull {
57 4dcd9af2 2004-04-15 devnull return 0;
58 4dcd9af2 2004-04-15 devnull }
59 4dcd9af2 2004-04-15 devnull