]> git.proxmox.com Git - qemu.git/blob - slirp/tftp.h
rng-egd: remove redundant free
[qemu.git] / slirp / tftp.h
1 /* tftp defines */
2 #ifndef SLIRP_TFTP_H
3 #define SLIRP_TFTP_H 1
4
5 #define TFTP_SESSIONS_MAX 3
6
7 #define TFTP_SERVER 69
8
9 #define TFTP_RRQ 1
10 #define TFTP_WRQ 2
11 #define TFTP_DATA 3
12 #define TFTP_ACK 4
13 #define TFTP_ERROR 5
14 #define TFTP_OACK 6
15
16 #define TFTP_FILENAME_MAX 512
17
18 struct tftp_t {
19 struct ip ip;
20 struct udphdr udp;
21 uint16_t tp_op;
22 union {
23 struct {
24 uint16_t tp_block_nr;
25 uint8_t tp_buf[512];
26 } tp_data;
27 struct {
28 uint16_t tp_error_code;
29 uint8_t tp_msg[512];
30 } tp_error;
31 char tp_buf[512 + 2];
32 } x;
33 };
34
35 struct tftp_session {
36 Slirp *slirp;
37 char *filename;
38 int fd;
39
40 struct in_addr client_ip;
41 uint16_t client_port;
42 uint32_t block_nr;
43
44 int timestamp;
45 };
46
47 void tftp_input(struct mbuf *m);
48
49 #endif