#include "9term.h" #include #include int getpts(int fd[], char *slave) { fd[1] = open("/dev/ptmx", ORDWR); if ((grantpt(fd[1]) < 0) || (unlockpt(fd[1]) < 0)) return -1; fchmod(fd[1], 0622); strcpy(slave, ptsname(fd[1])); fd[0] = open(slave, OREAD); return 0; } struct winsize ows; void updatewinsize(int row, int col, int dx, int dy) { struct winsize ws; ws.ws_row = row; ws.ws_col = col; ws.ws_xpixel = dx; ws.ws_ypixel = dy; if(ws.ws_row != ows.ws_row || ws.ws_col != ows.ws_col) if(ioctl(rcfd[0], TIOCSWINSZ, &ws) < 0) fprint(2, "ioctl: %r\n"); ows = ws; }