This is test.c in view mode; [Download] [Up]
#define I_ERRNO
#define I_SOCKET
#define I_IOCTL
#include "includes.h"
void main(int argc, char *argv[]) {
int i;
int soc[2];
char path[256];
#ifdef NO_UNIX_DOMAIN
s_pipe(soc);
#else
socketpair(AF_UNIX, SOCK_STREAM, 0, soc);
#endif
if (argc !=1 && argc!=2) {
printf("usage: test [ -option ]\n");
exit(1);
}
if (!fork()) {
dup2(soc[0], 0);
dup2(soc[0], 1);
i = open("local.log", O_RDWR | O_CREAT | O_TRUNC , 0600);
if (i < 0) {
perror("Open");
exit(1);
}
dup2(i, 2);
sprintf(path, "%s/.term/socketa", getenv("HOME"));
unlink(path);
execlp("./term", "term", argv[1], 0);
perror("execlp failed");
exit(1);
}
if (!fork()) {
dup2(soc[1], 0);
dup2(soc[1], 1);
dup2(open ("remote.log", O_RDWR | O_CREAT | O_TRUNC, 0600), 2);
sprintf(path, "%s/.term/socketb", getenv("HOME"));
unlink(path);
if (argc==2)
execlp("./term", "term","-r", argv[1],"test", 0);
else
execlp("./term", "term","-r", "test",0);
perror("execlp failed2");
exit(1);
}
sleep(36000);
}
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.