]> git.proxmox.com Git - qemu.git/blobdiff - slirp/tftp.h
move socket_set_nodelay to osdep.c
[qemu.git] / slirp / tftp.h
index f0560b6ab001a2c6e6c21c3f8ee52a34882ab57e..87adeb533352e6736422ec291df3e6ceae3d9a01 100644 (file)
@@ -1,4 +1,6 @@
 /* tftp defines */
+#ifndef SLIRP_TFTP_H
+#define SLIRP_TFTP_H 1
 
 #define TFTP_SESSIONS_MAX 3
 
 #define TFTP_DATA   3
 #define TFTP_ACK    4
 #define TFTP_ERROR  5
+#define TFTP_OACK   6
 
 #define TFTP_FILENAME_MAX 512
 
 struct tftp_t {
   struct ip ip;
   struct udphdr udp;
-  u_int16_t tp_op;
+  uint16_t tp_op;
   union {
-    struct { 
-      u_int16_t tp_block_nr;
-      u_int8_t tp_buf[512];
+    struct {
+      uint16_t tp_block_nr;
+      uint8_t tp_buf[512];
     } tp_data;
-    struct { 
-      u_int16_t tp_error_code;
-      u_int8_t tp_msg[512];
+    struct {
+      uint16_t tp_error_code;
+      uint8_t tp_msg[512];
     } tp_error;
-    u_int8_t tp_buf[512 + 2];
+    char tp_buf[512 + 2];
   } x;
 };
 
+struct tftp_session {
+    Slirp *slirp;
+    char *filename;
+    int fd;
+
+    struct in_addr client_ip;
+    uint16_t client_port;
+    uint32_t block_nr;
+
+    int timestamp;
+};
+
 void tftp_input(struct mbuf *m);
+
+#endif