• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* -----------------------------------------------------------------------
2  *
3  *   Copyright 1999-2008 H. Peter Anvin - All Rights Reserved
4  *   Copyright 2009-2011 Intel Corporation; author: H. Peter Anvin
5  *
6  *   This program is free software; you can redistribute it and/or modify
7  *   it under the terms of the GNU General Public License as published by
8  *   the Free Software Foundation, Inc., 53 Temple Place Ste 330,
9  *   Boston MA 02111-1307, USA; either version 2 of the License, or
10  *   (at your option) any later version; incorporated herein by reference.
11  *
12  * ----------------------------------------------------------------------- */
13 
14 /*
15  * tftp.h
16  */
17 #ifndef PXE_TFTP_H
18 #define PXE_TFTP_H
19 
20 /*
21  * TFTP default port number
22  */
23 #define TFTP_PORT	 69
24 
25 /*
26  * TFTP default block size
27  */
28 #define TFTP_BLOCKSIZE_LG2 9
29 #define TFTP_BLOCKSIZE  (1 << TFTP_BLOCKSIZE_LG2)
30 
31 /*
32  * TFTP operation codes
33  */
34 #define TFTP_RRQ	 htons(1)		// Read rest
35 #define TFTP_WRQ	 htons(2)		// Write rest
36 #define TFTP_DATA	 htons(3)		// Data packet
37 #define TFTP_ACK	 htons(4)		// ACK packet
38 #define TFTP_ERROR	 htons(5)		// ERROR packet
39 #define TFTP_OACK	 htons(6)		// OACK packet
40 
41 /*
42  * TFTP error codes
43  */
44 #define TFTP_EUNDEF	 htons(0)		// Unspecified error
45 #define TFTP_ENOTFOUND	 htons(1)		// File not found
46 #define TFTP_EACCESS	 htons(2)		// Access violation
47 #define TFTP_ENOSPACE	 htons(3)		// Disk full
48 #define TFTP_EBADOP	 htons(4)		// Invalid TFTP operation
49 #define TFTP_EBADID	 htons(5)		// Unknown transfer
50 #define TFTP_EEXISTS	 htons(6)		// File exists
51 #define TFTP_ENOUSER	 htons(7)		// No such user
52 #define TFTP_EOPTNEG	 htons(8)		// Option negotiation failure
53 
54 #endif /* PXE_TFTP_H */
55