|
|
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, 0) ;
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", 1) ;
62: return(rem);
63: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.