|
|
1.1 ! root 1: #include <dk.h> ! 2: #include <stdio.h> ! 3: #include <sys/ioctl.h> ! 4: ! 5: tdkexec(hname, cmd) ! 6: char *hname, *cmd; ! 7: { ! 8: return(_tdkexec(hname, cmd, "exec")); ! 9: } ! 10: ! 11: ttyexec(hname, cmd) ! 12: char *hname, *cmd ; ! 13: { ! 14: return (_tdkexec(hname, cmd, "ttyexec")) ; ! 15: } ! 16: ! 17: mesgexec(hname, cmd) ! 18: char *hname, *cmd; ! 19: { ! 20: return(_tdkexec(hname, cmd, "mesgexec")); ! 21: } ! 22: ! 23: _tdkexec(hname, cmd, service) ! 24: char *hname, *cmd; ! 25: char * service ; ! 26: { ! 27: int rem, v; ! 28: extern int pk_ld, dkp_ld, tty_ld, dt_ld ; ! 29: char dialstr[64] ; ! 30: char cmdname[32] ; ! 31: extern char *dkerror; ! 32: register char *cp1, *cp2 ; ! 33: ! 34: strcpy(dialstr, hname) ; ! 35: strcat(dialstr, ".") ; ! 36: strcat(dialstr, service) ; ! 37: cp1 = cmdname ; cp2 = cmd ; ! 38: while (*cp2 && (*cp2 != ' ')) { ! 39: if (*cp2 == '/') ! 40: cp1 = cmdname ; ! 41: else ! 42: *cp1++ = *cp2 ; ! 43: cp2++ ; ! 44: } ! 45: *cp1 = '\0' ; ! 46: strcat(dialstr, ".") ; ! 47: strcat(dialstr, cmdname) ; ! 48: rem = tdkdial(dialstr, 2) ; ! 49: if (rem < 0) { ! 50: return(-1); ! 51: } ! 52: v = dkproto(rem, dkp_ld); ! 53: if (v < 0) { ! 54: dkerror = "tdkexec can't turn on protocol"; ! 55: close(rem); ! 56: return(-1); ! 57: } ! 58: if (tdklogin(rem) < 0) ! 59: return -1 ; ! 60: write(rem, cmd, strlen(cmd)); ! 61: write(rem, "\n", 2) ; ! 62: return(rem); ! 63: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.