8 #ifndef MAX_TFTP_RETRIES
9 #define MAX_TFTP_RETRIES 20
12 /* These settings have sense only if compiled with -DCONGESTED */
13 /* total retransmission timeout in ticks */
14 #define TFTP_TIMEOUT (30*TICKS_PER_SEC)
15 /* packet retransmission timeout in ticks */
16 #define TFTP_REXMT (3*TICKS_PER_SEC)
19 #define TFTP_DEFAULTSIZE_PACKET 512
20 #define TFTP_MAX_PACKET 1432 /* 512 */
29 #define TFTP_CODE_EOF 1
30 #define TFTP_CODE_MORE 2
31 #define TFTP_CODE_ERROR 3
32 #define TFTP_CODE_BOOT 4
33 #define TFTP_CODE_CFG 5
40 uint8_t rrq
[TFTP_DEFAULTSIZE_PACKET
];
43 uint8_t download
[TFTP_MAX_PACKET
];
50 uint8_t errmsg
[TFTP_DEFAULTSIZE_PACKET
];
53 uint8_t data
[TFTP_DEFAULTSIZE_PACKET
+2];
58 /* define a smaller tftp packet solely for making requests to conserve stack
59 512 bytes should be enough */
71 uint8_t errmsg
[512-2];
76 #define TFTP_MIN_PACKET (sizeof(struct iphdr) + sizeof(struct udphdr) + 4)
78 typedef int (*read_actor_t
)(unsigned char *, unsigned int, unsigned int, int);
80 int tftp_file_read(const char *name
, read_actor_t
);