Annotation of xinu/sys/sndrarp.c, revision 1.1.1.1

1.1       root        1: /* sndrarp.c - sndrarp */
                      2: 
                      3: #include <conf.h>
                      4: #include <kernel.h>
                      5: #include <network.h>
                      6: 
                      7: /*------------------------------------------------------------------------
                      8:  *  sndrarp  -  broadcast a RARP packet to obtain my IP address
                      9:  *------------------------------------------------------------------------
                     10:  */
                     11: sndrarp()
                     12: {
                     13:        struct  epacket *mkarp();
                     14:        struct  epacket *packet;
                     15:        int     i;
                     16:        int     mypid;
                     17:        int     resp;
                     18:        IPaddr  junk; /* needed for argument to mkarp; not ever used */
                     19:        PStype  ps;
                     20: 
                     21:        mypid = getpid();
                     22:        for (i=0 ; i<AR_RTRY ; i++) {
                     23:                packet = mkarp(EP_RARP, AR_RREQ, junk, junk);
                     24:                if ( ((int)packet) == SYSERR)
                     25:                        break;
                     26:                disable(ps);
                     27:                Arp.rarppid = mypid;
                     28:                recvclr();
                     29:                write(ETHER, packet, EMINPAK);
                     30:                resp = recvtim(AR_TIME);
                     31:                restore(ps);
                     32:                if (resp != TIMEOUT)
                     33:                        return(OK);
                     34:        }
                     35:        panic("No response to RARP");
                     36:        return(SYSERR);
                     37: }

unix.superglobalmegacorp.com

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