#ifndef _UDP_HELPERS_H #define _UDP_HELPERS_H #ifdef __cpluscplus extern "C" { #endif #include #define __FAVOR_BSD 1 #include /* * User Datagram Header Format * * 0 1 2 3 * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * | Source Port | Destination Port | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * | Length | Checksum | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * | Data | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ */ static inline uint16_t udp_hdr_get_sport(const struct udphdr *hdr) { return ntohs(hdr->uh_sport); } static inline uint16_t udp_hdr_get_dport(const struct udphdr *hdr) { return ntohs(hdr->uh_dport); } static inline uint16_t udp_hdr_get_len(const struct udphdr *hdr) { return ntohs(hdr->uh_ulen); } static inline uint16_t udp_hdr_get_checksum(const struct udphdr *hdr) { return ntohs(hdr->uh_sum); } #ifdef __cpluscplus } #endif #endif