Annotation of lucent/sys/src/9/boot/dk.c, revision 1.1

1.1     ! root        1: #include <u.h>
        !             2: #include <libc.h>
        !             3: #include <../boot/boot.h>
        !             4: 
        !             5: static int
        !             6: dkdial(int *dfd, char *dest)
        !             7: {
        !             8:        int i;
        !             9: 
        !            10:        for(i = 0; ; i++){
        !            11:                if(plumb("#k/dk", dest, dfd, 0) >= 0)
        !            12:                        break;
        !            13:                if(i == 5)
        !            14:                        return -1;
        !            15:                sleep(500);
        !            16:        }
        !            17:        sendmsg(dfd[0], "init");
        !            18:        return dfd[1];
        !            19: }
        !            20: 
        !            21: int
        !            22: dkauth(void)
        !            23: {
        !            24:        char path[2*NAMELEN];
        !            25:        char *p;
        !            26:        int dfd[2];
        !            27: 
        !            28:        strcpy(path, sys);
        !            29:        p = strrchr(path, '/');
        !            30:        if(p)
        !            31:                p++;
        !            32:        else
        !            33:                p = path;
        !            34:        strcpy(p, "p9auth!ticket");
        !            35:        if(dkdial(dfd, path) < 0)
        !            36:                return -1;
        !            37:        close(dfd[0]);
        !            38:        return dfd[1];
        !            39: }
        !            40: 
        !            41: int
        !            42: dkconnect(void)
        !            43: {
        !            44:        int fd[2];
        !            45: 
        !            46:        if(*sys == 0)
        !            47:                strcpy(sys, "Nfs");
        !            48:        if(dkdial(fd, sys) < 0)
        !            49:                return -1;
        !            50:        if(cpuflag)
        !            51:                sendmsg(fd[0], "push reboot");
        !            52:        close(fd[0]);
        !            53:        return fd[1];
        !            54: }

unix.superglobalmegacorp.com

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