1324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/*
2324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * Copyright (C) 2008 The Android Open Source Project
3324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * All rights reserved.
4324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver *
5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * Redistribution and use in source and binary forms, with or without
6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * modification, are permitted provided that the following conditions
7324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * are met:
8324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver *  * Redistributions of source code must retain the above copyright
9324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver *    notice, this list of conditions and the following disclaimer.
10324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver *  * Redistributions in binary form must reproduce the above copyright
11324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver *    notice, this list of conditions and the following disclaimer in
12324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver *    the documentation and/or other materials provided with the
13324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver *    distribution.
14324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver *
15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
19324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
21324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
22324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
23324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
25324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SUCH DAMAGE.
27324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
28324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifndef _NETINET_UDP_H
29324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define _NETINET_UDP_H
30324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
31324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/*
32324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * We would include linux/udp.h, but it brings in too much other stuff
33324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
34324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
35324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef __FAVOR_BSD
36324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
37324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstruct udphdr {
38324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    u_int16_t uh_sport;	/* source port */
39324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    u_int16_t uh_dport;	/* destination port */
40324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    u_int16_t uh_ulen;	/* udp length */
41324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    u_int16_t uh_sum;	/* udp checksum */
42324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver};
43324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
44324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#else
45324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
46324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstruct udphdr {
47324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    __u16  source;
48324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    __u16  dest;
49324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    __u16  len;
50    __u16  check;
51};
52
53#endif /* __FAVOR_BSD */
54
55#endif /* _NETINET_UDP_H */
56