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;
       +}