33 lines
782 B
C
33 lines
782 B
C
|
/*
|
||
|
* udp.h
|
||
|
*
|
||
|
* User Datagram Protocol (RFC 768).
|
||
|
*
|
||
|
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
||
|
*
|
||
|
* $Id: udp.h,v 1.8 2002/04/02 05:05:39 dugsong Exp $
|
||
|
*/
|
||
|
|
||
|
#ifndef DNET_UDP_H
|
||
|
#define DNET_UDP_H
|
||
|
|
||
|
#define UDP_HDR_LEN 8
|
||
|
|
||
|
struct udp_hdr {
|
||
|
uint16_t uh_sport; /* source port */
|
||
|
uint16_t uh_dport; /* destination port */
|
||
|
uint16_t uh_ulen; /* udp length (including header) */
|
||
|
uint16_t uh_sum; /* udp checksum */
|
||
|
};
|
||
|
|
||
|
#define UDP_PORT_MAX 65535
|
||
|
|
||
|
#define udp_pack_hdr(hdr, sport, dport, ulen) do { \
|
||
|
struct udp_hdr *udp_pack_p = (struct udp_hdr *)(hdr); \
|
||
|
udp_pack_p->uh_sport = htons(sport); \
|
||
|
udp_pack_p->uh_dport = htons(dport); \
|
||
|
udp_pack_p->uh_ulen = htons(ulen); \
|
||
|
} while (0)
|
||
|
|
||
|
#endif /* DNET_UDP_H */
|