|
|
1.1 root 1: /* tftp defines */
2:
3: #define TFTP_SESSIONS_MAX 3
4:
5: #define TFTP_SERVER 69
6:
7: #define TFTP_RRQ 1
8: #define TFTP_WRQ 2
9: #define TFTP_DATA 3
10: #define TFTP_ACK 4
11: #define TFTP_ERROR 5
12:
13: #define TFTP_FILENAME_MAX 512
14:
15: #ifdef PRAGMA_PACK_SUPPORTED
16: #pragma pack(1)
17: #endif
18:
19: struct tftp_t {
20: struct ip ip;
21: struct udphdr udp;
22: u_int16_t tp_op;
23: union {
24: struct {
25: u_int16_t tp_block_nr;
26: u_int8_t tp_buf[512];
27: } tp_data;
28: struct {
29: u_int16_t tp_error_code;
30: u_int8_t tp_msg[512];
31: } tp_error;
32: u_int8_t tp_buf[512 + 2];
33: } x;
34: } PACKED__;
35:
36: #ifdef PRAGMA_PACK_SUPPORTED
37: #pragma pack(PACK_RESET)
38: #endif
39:
40: void tftp_input(struct mbuf *m);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.