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

1.1       root        1: /* udpsend.c - udpsend */
                      2: 
                      3: #include <conf.h>
                      4: #include <kernel.h>
                      5: #include <network.h>
                      6: 
                      7: /*------------------------------------------------------------------------
                      8:  *  udpsend  -  send one UDP datagram to a given (foreign) IP address
                      9:  *------------------------------------------------------------------------
                     10:  */
                     11: udpsend(faddr, fport, lport, packet, datalen)
                     12: IPaddr faddr;
                     13: short  fport;
                     14: short  lport;
                     15: struct epacket *packet;
                     16: int    datalen;
                     17: {
                     18:        register struct udp     *udpptr;
                     19:        register struct ip      *ipptr;
                     20: 
                     21:        /* Fill in UDP header; pass to ipsend to fill in IP header */
                     22: 
                     23:        ipptr = (struct ip *) packet->ep_data;
                     24:        ipptr->i_proto = IPRO_UDP;
                     25:        udpptr = (struct udp *) ipptr->i_data;
                     26:        udpptr->u_sport = hs2net(lport);
                     27:        udpptr->u_dport = hs2net(fport);
                     28:        udpptr->u_udplen = hs2net(UHLEN+datalen);
                     29:        if (isodd(datalen))
                     30:                udpptr->u_data[datalen] = (char)0;
                     31:        udpptr->u_ucksum = 0;
                     32:        return( ipsend(faddr, packet, UHLEN+datalen) );
                     33: }

unix.superglobalmegacorp.com

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