UDPREAD(3)                                             UDPREAD(3)

     NAME
          udpread, udpwrite - read and write UDP packets

     SYNOPSIS
          #include <u.h>

          #include <libc.h>

          #include <ip.h>

          typedef struct Udphdr Udphdr;
          struct Udphdr
          {
              uchar   raddr[IPaddrlen];/* remote address and port */
              uchar   laddr[IPaddrlen];/* local address and port */
              uchar   rport[2];
              uchar   lport[2];
          };

          long        udpread(int fd, Udphdr *hdr, void *data, long n)

          long udpwrite(int fd, Udphdr *hdr, void *data, long n)

     DESCRIPTION
          Udpread and udpwrite read and write UDP packets from the UDP
          network connection established on file descriptor fd.

          Udpread reads at most n bytes of packet body into data ,
          stores the header in hdr, and returns the number of bytes
          stored in data.

          Udpwrite writes the n bytes stored in data in a UDP packet
          with header hdr.

          Note that the Udphdr frames the addresses as local and
          remote instead of source and destination.  Thus the hdr
          filled in for a packet read by udpread can be used unchanged
          in udpwrite to send a response back to the sender of the
          original packet.

     SOURCE
          /src/lib9/udp.c

     SEE ALSO
          ip(3)