1 #ifndef NO_TFTP_H
2 /* use system header if available */
3 #ifdef HAVE_ARPA_TFTP_H
4 #include <arpa/tftp.h>
5 #else
6 #define	SEGSIZE		512		/* data segment size */
7 #define	RRQ	01				/* read request */
8 #define	WRQ	02				/* write request */
9 #define	DATA	03				/* data packet */
10 #define	ACK	04				/* acknowledgement */
11 #define	ERROR	05				/* error code */
12 
13 struct	tftphdr {
14 	short	th_opcode;			/* packet type */
15 	union {
16 		unsigned short	tu_block;	/* block # */
17 		short	tu_code;		/* error code */
18 		char	tu_stuff[1];		/* request packet stuff */
19 	} th_u;
20 	char	th_data[1];			/* data or error string */
21 };
22 
23 #define	th_block	th_u.tu_block
24 #define	th_code		th_u.tu_code
25 
26 #define	EUNDEF		0		/* not defined */
27 #define	ENOTFOUND	1		/* file not found */
28 #define	EACCESS		2		/* access violation */
29 #define	ENOSPACE	3		/* disk full or allocation exceeded */
30 #define	EBADOP		4		/* illegal TFTP operation */
31 #define	EBADID		5		/* unknown transfer ID */
32 #define	EEXISTS		6		/* file already exists */
33 #define	ENOUSER		7		/* no such user */
34 #endif
35 #endif
36