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