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

1.1       root        1: /* mkarp.c - mkarp */
                      2: 
                      3: #include <conf.h>
                      4: #include <kernel.h>
                      5: #include <network.h>
                      6: 
                      7: /*------------------------------------------------------------------------
                      8:  *  mkarp  -  allocate and fill in an ARP or RARP packet
                      9:  *------------------------------------------------------------------------
                     10:  */
                     11: struct epacket *mkarp(typ, op, spaddr, tpaddr)
                     12: short  typ;
                     13: short  op;
                     14: IPaddr spaddr;
                     15: IPaddr tpaddr;
                     16: {
                     17:        register struct arppak  *apacptr;
                     18:        struct  epacket *packet;
                     19: 
                     20:        packet = (struct epacket *) getbuf(Net.netpool);
                     21:        if ( ((int) packet) == SYSERR)
                     22:                return((struct epacket *) SYSERR);
                     23:        blkcopy(packet->ep_hdr.e_dest, EBCAST, AR_HLEN);
                     24:        packet->ep_hdr.e_ptype = hs2net(typ);
                     25:        apacptr = (struct arppak *) packet->ep_data;
                     26:        apacptr->ar_hrd = hs2net(AR_HRD);
                     27:        apacptr->ar_prot = hs2net(AR_PROT);
                     28:        apacptr->ar_hlen = AR_HLEN;
                     29:        apacptr->ar_plen = AR_PLEN;
                     30:        apacptr->ar_op = hs2net(op);
                     31:        blkcopy(apacptr->ar_sha, eth[0].etpaddr, AR_HLEN);
                     32:        blkcopy(apacptr->ar_spa, spaddr, AR_PLEN);
                     33:        blkcopy(apacptr->ar_tha, eth[0].etpaddr, AR_HLEN);
                     34:        blkcopy(apacptr->ar_tpa, tpaddr, AR_PLEN);
                     35:        return(packet);
                     36: }

unix.superglobalmegacorp.com

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