| 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
| `/build/plan9port/pkg/plan9port/usr/local/plan9port/src/lib9/udp.c`
SEE ALSO
| ip(3)