chiark / gitweb /
Initial push
[termux-packages] / ndk_patches / arpa-tftp.patch
1 The <arpa/tftp.h> header is needed by inetutils.
2
3 diff -N -a -u -r /home/fornwall/lib/android-ndk/platforms/android-21/arch-arm/usr/include/arpa/tftp.h ./usr/include/arpa/tftp.h
4 --- /home/fornwall/lib/android-ndk/platforms/android-21/arch-arm/usr/include/arpa/tftp.h        1969-12-31 19:00:00.000000000 -0500
5 +++ ./usr/include/arpa/tftp.h   2015-05-12 15:40:31.648145474 -0400
6 @@ -0,0 +1,82 @@
7 +/*
8 + * Copyright (c) 1983, 1993
9 + *     The Regents of the University of California.  All rights reserved.
10 + *
11 + * Redistribution and use in source and binary forms, with or without
12 + * modification, are permitted provided that the following conditions
13 + * are met:
14 + * 1. Redistributions of source code must retain the above copyright
15 + *    notice, this list of conditions and the following disclaimer.
16 + * 2. Redistributions in binary form must reproduce the above copyright
17 + *    notice, this list of conditions and the following disclaimer in the
18 + *    documentation and/or other materials provided with the distribution.
19 + * 4. Neither the name of the University nor the names of its contributors
20 + *    may be used to endorse or promote products derived from this software
21 + *    without specific prior written permission.
22 + *
23 + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24 + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27 + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29 + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30 + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32 + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 + * SUCH DAMAGE.
34 + *
35 + *     @(#)tftp.h      8.1 (Berkeley) 6/2/93
36 + */
37 +
38 +#ifndef _ARPA_TFTP_H
39 +#define        _ARPA_TFTP_H 1
40 +
41 +/*
42 + * Trivial File Transfer Protocol (IEN-133)
43 + */
44 +#define        SEGSIZE         512             /* data segment size */
45 +
46 +/*
47 + * Packet types.
48 + */
49 +#define        RRQ     01                              /* read request */
50 +#define        WRQ     02                              /* write request */
51 +#define        DATA    03                              /* data packet */
52 +#define        ACK     04                              /* acknowledgement */
53 +#define        ERROR   05                              /* error code */
54 +
55 +struct tftphdr {
56 +       short   th_opcode;                      /* packet type */
57 +       union {
58 +               char    tu_padding[3];          /* sizeof() compat */
59 +               struct {
60 +                       union {
61 +                               unsigned short  tu_block;       /* block # */
62 +                               short   tu_code;                /* error code */
63 +                       } __attribute__ ((__packed__)) th_u3;
64 +                       char tu_data[0];        /* data or error string */
65 +               } __attribute__ ((__packed__)) th_u2;
66 +               char    tu_stuff[0];            /* request packet stuff */
67 +       } __attribute__ ((__packed__)) th_u1;
68 +} __attribute__ ((__packed__));
69 +
70 +#define        th_block        th_u1.th_u2.th_u3.tu_block
71 +#define        th_code         th_u1.th_u2.th_u3.tu_code
72 +#define        th_stuff        th_u1.tu_stuff
73 +#define        th_data         th_u1.th_u2.tu_data
74 +#define        th_msg          th_u1.th_u2.tu_data
75 +
76 +/*
77 + * Error codes.
78 + */
79 +#define        EUNDEF          0               /* not defined */
80 +#define        ENOTFOUND       1               /* file not found */
81 +#define        EACCESS         2               /* access violation */
82 +#define        ENOSPACE        3               /* disk full or allocation exceeded */
83 +#define        EBADOP          4               /* illegal TFTP operation */
84 +#define        EBADID          5               /* unknown transfer ID */
85 +#define        EEXISTS         6               /* file already exists */
86 +#define        ENOUSER         7               /* no such user */
87 +
88 +#endif /* arpa/tftp.h */