tadd sunos - plan9port - [fork] Plan 9 from user space (HTM) git clone git://src.adamsgaard.dk/plan9port (DIR) Log (DIR) Files (DIR) Refs (DIR) README (DIR) LICENSE --- (DIR) commit e642beb5221e7dd00ff2b0e36b261f6722631116 (DIR) parent 3ad24e4036fef2cbc71c421f5808bc02a0738a04 (HTM) Author: rsc <devnull@localhost> Date: Tue, 25 Nov 2003 03:06:00 +0000 add sunos Diffstat: A src/cmd/9term/SunOS.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+), 0 deletions(-) --- (DIR) diff --git a/src/cmd/9term/SunOS.c b/src/cmd/9term/SunOS.c t@@ -0,0 +1,30 @@ +#include "9term.h" + +int +getchildwd(int pid, char *wdir, int bufn) +{ + char path[256]; + char cwd[256]; + + if(getcwd(cwd, sizeof cwd) < 0) + return -1; + snprint(path, sizeof path, "/proc/%d/cwd", pid); + if(chdir(path) < 0) + return -1; + if(getcwd(wdir, bufn) < 0) + return -1; + chdir(cwd); + return 0; +} + +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; +}