| 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

| `/usr/local/plan9/src/lib9/udp.c`

SEE ALSO

| ip(3)