Annotation of researchv10dc/ipc/internet/tdkexec.c, revision 1.1

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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.