Merge from vendor branch AWK:
[dragonfly.git] / contrib / lukemftpd / src / arpaftp.h
1 /*      $NetBSD: ftp.h,v 1.5 1998/02/10 00:32:50 perry Exp $    */
2
3 /*
4  * Copyright (c) 1983, 1989, 1993
5  *      The Regents of the University of California.  All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  * 1. Redistributions of source code must retain the above copyright
11  *    notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  * 3. All advertising materials mentioning features or use of this software
16  *    must display the following acknowledgement:
17  *      This product includes software developed by the University of
18  *      California, Berkeley and its contributors.
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  *      @(#)ftp.h       8.1 (Berkeley) 6/2/93
36  */
37
38 #ifndef _ARPA_FTP_H_
39 #define _ARPA_FTP_H_
40
41 /* Definitions for FTP; see RFC-765. */
42
43 /*
44  * Reply codes.
45  */
46 #define PRELIM          1       /* positive preliminary */
47 #define COMPLETE        2       /* positive completion */
48 #define CONTINUE        3       /* positive intermediate */
49 #define TRANSIENT       4       /* transient negative completion */
50 #define ERROR           5       /* permanent negative completion */
51
52 /*
53  * Type codes
54  */
55 #define TYPE_A          1       /* ASCII */
56 #define TYPE_E          2       /* EBCDIC */
57 #define TYPE_I          3       /* image */
58 #define TYPE_L          4       /* local byte size */
59
60 #ifdef FTP_NAMES
61 char *typenames[] =  {"0", "ASCII", "EBCDIC", "Image", "Local" };
62 #endif
63
64 /*
65  * Form codes
66  */
67 #define FORM_N          1       /* non-print */
68 #define FORM_T          2       /* telnet format effectors */
69 #define FORM_C          3       /* carriage control (ASA) */
70 #ifdef FTP_NAMES
71 char *formnames[] =  {"0", "Nonprint", "Telnet", "Carriage-control" };
72 #endif
73
74 /*
75  * Structure codes
76  */
77 #define STRU_F          1       /* file (no record structure) */
78 #define STRU_R          2       /* record structure */
79 #define STRU_P          3       /* page structure */
80 #ifdef FTP_NAMES
81 char *strunames[] =  {"0", "File", "Record", "Page" };
82 #endif
83
84 /*
85  * Mode types
86  */
87 #define MODE_S          1       /* stream */
88 #define MODE_B          2       /* block */
89 #define MODE_C          3       /* compressed */
90 #ifdef FTP_NAMES
91 char *modenames[] =  {"0", "Stream", "Block", "Compressed" };
92 #endif
93
94 /*
95  * Record Tokens
96  */
97 #define REC_ESC         '\377'  /* Record-mode Escape */
98 #define REC_EOR         '\001'  /* Record-mode End-of-Record */
99 #define REC_EOF         '\002'  /* Record-mode End-of-File */
100
101 /*
102  * Block Header
103  */
104 #define BLK_EOR         0x80    /* Block is End-of-Record */
105 #define BLK_EOF         0x40    /* Block is End-of-File */
106 #define BLK_ERRORS      0x20    /* Block is suspected of containing errors */
107 #define BLK_RESTART     0x10    /* Block is Restart Marker */
108
109 #define BLK_BYTECOUNT   2       /* Bytes in this block */
110
111 #endif /* _ARPA_FTP_H_ */