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