net: re-name vc->fd_read() to vc->receive()

VLANClientState's fd_read() handler doesn't read from file
descriptors, it adds a buffer to the client's receive queue.

Re-name the handlers to make things a little less confusing.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
diff --git a/hw/dp8393x.c b/hw/dp8393x.c
index 9257167..1b48d96 100644
--- a/hw/dp8393x.c
+++ b/hw/dp8393x.c
@@ -409,7 +409,7 @@
             s->regs[SONIC_TCR] |= SONIC_TCR_CRSL;
             if (s->vc->fd_can_read(s)) {
                 s->loopback_packet = 1;
-                s->vc->fd_read(s, s->tx_buffer, tx_len);
+                s->vc->receive(s, s->tx_buffer, tx_len);
             }
         } else {
             /* Transmit packet */
@@ -725,7 +725,7 @@
     return -1;
 }
 
-static void nic_receive(void *opaque, const uint8_t * buf, int size)
+static void nic_receive(void *opaque, const uint8_t * buf, size_t size)
 {
     uint16_t data[10];
     dp8393xState *s = opaque;
diff --git a/hw/e1000.c b/hw/e1000.c
index 01ee57f..20544d2 100644
--- a/hw/e1000.c
+++ b/hw/e1000.c
@@ -600,7 +600,7 @@
 }
 
 static void
-e1000_receive(void *opaque, const uint8_t *buf, int size)
+e1000_receive(void *opaque, const uint8_t *buf, size_t size)
 {
     E1000State *s = opaque;
     struct e1000_rx_desc desc;
@@ -614,8 +614,8 @@
         return;
 
     if (size > s->rxbuf_size) {
-        DBGOUT(RX, "packet too large for buffers (%d > %d)\n", size,
-               s->rxbuf_size);
+        DBGOUT(RX, "packet too large for buffers (%lu > %d)\n",
+               (unsigned long)size, s->rxbuf_size);
         return;
     }
 
diff --git a/hw/eepro100.c b/hw/eepro100.c
index 5450b83..39e8fcc 100644
--- a/hw/eepro100.c
+++ b/hw/eepro100.c
@@ -1441,7 +1441,7 @@
     //~ return !eepro100_buffer_full(s);
 }
 
-static void nic_receive(void *opaque, const uint8_t * buf, int size)
+static void nic_receive(void *opaque, const uint8_t * buf, size_t size)
 {
     /* TODO:
      * - Magic packets should set bit 30 in power management driver register.
diff --git a/hw/etraxfs_eth.c b/hw/etraxfs_eth.c
index bb61284..2446f0d 100644
--- a/hw/etraxfs_eth.c
+++ b/hw/etraxfs_eth.c
@@ -501,7 +501,7 @@
 	return 1;
 }
 
-static void eth_receive(void *opaque, const uint8_t *buf, int size)
+static void eth_receive(void *opaque, const uint8_t *buf, size_t size)
 {
 	unsigned char sa_bcast[6] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
 	struct fs_eth *eth = opaque;
diff --git a/hw/mcf_fec.c b/hw/mcf_fec.c
index 86b3aaf..0b0f17a 100644
--- a/hw/mcf_fec.c
+++ b/hw/mcf_fec.c
@@ -353,7 +353,7 @@
     return s->rx_enabled;
 }
 
-static void mcf_fec_receive(void *opaque, const uint8_t *buf, int size)
+static void mcf_fec_receive(void *opaque, const uint8_t *buf, size_t size)
 {
     mcf_fec_state *s = (mcf_fec_state *)opaque;
     mcf_fec_bd bd;
diff --git a/hw/mipsnet.c b/hw/mipsnet.c
index 82a8c93..a22f49a 100644
--- a/hw/mipsnet.c
+++ b/hw/mipsnet.c
@@ -75,7 +75,7 @@
     return !mipsnet_buffer_full(s);
 }
 
-static void mipsnet_receive(void *opaque, const uint8_t *buf, int size)
+static void mipsnet_receive(void *opaque, const uint8_t *buf, size_t size)
 {
     MIPSnetState *s = opaque;
 
diff --git a/hw/musicpal.c b/hw/musicpal.c
index fcefa6e..b7810ca 100644
--- a/hw/musicpal.c
+++ b/hw/musicpal.c
@@ -562,7 +562,7 @@
     return 1;
 }
 
-static void eth_receive(void *opaque, const uint8_t *buf, int size)
+static void eth_receive(void *opaque, const uint8_t *buf, size_t size)
 {
     mv88w8618_eth_state *s = opaque;
     uint32_t desc_addr;
diff --git a/hw/ne2000.c b/hw/ne2000.c
index aea66b7..502c8ae 100644
--- a/hw/ne2000.c
+++ b/hw/ne2000.c
@@ -224,7 +224,7 @@
 
 #define MIN_BUF_SIZE 60
 
-static void ne2000_receive(void *opaque, const uint8_t *buf, int size)
+static void ne2000_receive(void *opaque, const uint8_t *buf, size_t size)
 {
     NE2000State *s = opaque;
     uint8_t *p;
diff --git a/hw/pcnet.c b/hw/pcnet.c
index 5eba467..4defc43 100644
--- a/hw/pcnet.c
+++ b/hw/pcnet.c
@@ -1076,7 +1076,7 @@
 
 #define MIN_BUF_SIZE 60
 
-static void pcnet_receive(void *opaque, const uint8_t *buf, int size)
+static void pcnet_receive(void *opaque, const uint8_t *buf, size_t size)
 {
     PCNetState *s = opaque;
     int is_padr = 0, is_bcast = 0, is_ladr = 0;
diff --git a/hw/qdev.c b/hw/qdev.c
index 90b4253..bab351c 100644
--- a/hw/qdev.c
+++ b/hw/qdev.c
@@ -258,16 +258,16 @@
 }
 
 VLANClientState *qdev_get_vlan_client(DeviceState *dev,
-                                      IOCanRWHandler *fd_can_read,
-                                      IOReadHandler *fd_read,
-                                      IOReadvHandler *fd_readv,
+                                      NetCanReceive *can_receive,
+                                      NetReceive *receive,
+                                      NetReceiveIOV *receive_iov,
                                       NetCleanup *cleanup,
                                       void *opaque)
 {
     NICInfo *nd = dev->nd;
     assert(nd);
-    return qemu_new_vlan_client(nd->vlan, nd->model, nd->name, fd_can_read,
-                                fd_read, fd_readv, cleanup, opaque);
+    return qemu_new_vlan_client(nd->vlan, nd->model, nd->name, can_receive,
+                                receive, receive_iov, cleanup, opaque);
 }
 
 
diff --git a/hw/rtl8139.c b/hw/rtl8139.c
index ab68bda..14119d4 100644
--- a/hw/rtl8139.c
+++ b/hw/rtl8139.c
@@ -1158,7 +1158,7 @@
     }
 }
 
-static void rtl8139_receive(void *opaque, const uint8_t *buf, int size)
+static void rtl8139_receive(void *opaque, const uint8_t *buf, size_t size)
 {
     rtl8139_do_receive(opaque, buf, size, 1);
 }
diff --git a/hw/smc91c111.c b/hw/smc91c111.c
index b20d535..6d1fbb3 100644
--- a/hw/smc91c111.c
+++ b/hw/smc91c111.c
@@ -602,7 +602,7 @@
     return 1;
 }
 
-static void smc91c111_receive(void *opaque, const uint8_t *buf, int size)
+static void smc91c111_receive(void *opaque, const uint8_t *buf, size_t size)
 {
     smc91c111_state *s = (smc91c111_state *)opaque;
     int status;
diff --git a/hw/stellaris_enet.c b/hw/stellaris_enet.c
index 8b7df09..3ee9a88 100644
--- a/hw/stellaris_enet.c
+++ b/hw/stellaris_enet.c
@@ -78,7 +78,7 @@
 }
 
 /* TODO: Implement MAC address filtering.  */
-static void stellaris_enet_receive(void *opaque, const uint8_t *buf, int size)
+static void stellaris_enet_receive(void *opaque, const uint8_t *buf, size_t size)
 {
     stellaris_enet_state *s = (stellaris_enet_state *)opaque;
     int n;
diff --git a/hw/usb-net.c b/hw/usb-net.c
index fda0aa5..693e976 100644
--- a/hw/usb-net.c
+++ b/hw/usb-net.c
@@ -1369,7 +1369,7 @@
     return ret;
 }
 
-static void usbnet_receive(void *opaque, const uint8_t *buf, int size)
+static void usbnet_receive(void *opaque, const uint8_t *buf, size_t size)
 {
     USBNetState *s = opaque;
     struct rndis_packet_msg_type *msg;
diff --git a/hw/virtio-net.c b/hw/virtio-net.c
index 5613308..3ca93f5 100644
--- a/hw/virtio-net.c
+++ b/hw/virtio-net.c
@@ -361,7 +361,7 @@
     return 0;
 }
 
-static void virtio_net_receive(void *opaque, const uint8_t *buf, int size)
+static void virtio_net_receive(void *opaque, const uint8_t *buf, size_t size)
 {
     VirtIONet *n = opaque;
     struct virtio_net_hdr_mrg_rxbuf *mhdr = NULL;
diff --git a/hw/xen_nic.c b/hw/xen_nic.c
index 350556e..0643e57 100644
--- a/hw/xen_nic.c
+++ b/hw/xen_nic.c
@@ -243,7 +243,7 @@
     return 1;
 }
 
-static void net_rx_packet(void *opaque, const uint8_t *buf, int size)
+static void net_rx_packet(void *opaque, const uint8_t *buf, size_t size)
 {
     struct XenNetDev *netdev = opaque;
     netif_rx_request_t rxreq;
@@ -262,8 +262,8 @@
 	return;
     }
     if (size > XC_PAGE_SIZE - NET_IP_ALIGN) {
-	xen_be_printf(&netdev->xendev, 0, "packet too big (%d > %ld)",
-		      size, XC_PAGE_SIZE - NET_IP_ALIGN);
+	xen_be_printf(&netdev->xendev, 0, "packet too big (%lu > %ld)",
+		      (unsigned long)size, XC_PAGE_SIZE - NET_IP_ALIGN);
 	return;
     }
 
diff --git a/net.c b/net.c
index cc8cee3..515745d 100644
--- a/net.c
+++ b/net.c
@@ -332,9 +332,9 @@
 VLANClientState *qemu_new_vlan_client(VLANState *vlan,
                                       const char *model,
                                       const char *name,
-                                      IOCanRWHandler *fd_can_read,
-                                      IOReadHandler *fd_read,
-                                      IOReadvHandler *fd_readv,
+                                      NetCanReceive *can_receive,
+                                      NetReceive *receive,
+                                      NetReceiveIOV *receive_iov,
                                       NetCleanup *cleanup,
                                       void *opaque)
 {
@@ -345,9 +345,9 @@
         vc->name = strdup(name);
     else
         vc->name = assign_name(vc, model);
-    vc->fd_can_read = fd_can_read;
-    vc->fd_read = fd_read;
-    vc->fd_readv = fd_readv;
+    vc->can_receive = can_receive;
+    vc->receive = receive;
+    vc->receive_iov = receive_iov;
     vc->cleanup = cleanup;
     vc->opaque = opaque;
     vc->vlan = vlan;
@@ -401,8 +401,8 @@
             continue;
         }
 
-        /* no fd_can_read() handler, they can always receive */
-        if (!vc->fd_can_read || vc->fd_can_read(vc->opaque)) {
+        /* no can_receive() handler, they can always receive */
+        if (!vc->can_receive || vc->can_receive(vc->opaque)) {
             return 1;
         }
     }
@@ -416,7 +416,7 @@
 
     for (vc = sender->vlan->first_client; vc != NULL; vc = vc->next) {
         if (vc != sender && !vc->link_down) {
-            vc->fd_read(vc->opaque, buf, size);
+            vc->receive(vc->opaque, buf, size);
         }
     }
 }
@@ -467,7 +467,7 @@
         offset += len;
     }
 
-    vc->fd_read(vc->opaque, buffer, offset);
+    vc->receive(vc->opaque, buffer, offset);
 
     return offset;
 }
@@ -519,9 +519,9 @@
             }
             if (vc->link_down) {
                 len = calc_iov_length(iov, iovcnt);
-            } else if (vc->fd_readv) {
-                len = vc->fd_readv(vc->opaque, iov, iovcnt);
-            } else if (vc->fd_read) {
+            } else if (vc->receive_iov) {
+                len = vc->receive_iov(vc->opaque, iov, iovcnt);
+            } else if (vc->receive) {
                 len = vc_sendv_compat(vc, iov, iovcnt);
             }
             max_len = MAX(max_len, len);
@@ -593,7 +593,7 @@
     return slirp_inited;
 }
 
-static void slirp_receive(void *opaque, const uint8_t *buf, int size)
+static void slirp_receive(void *opaque, const uint8_t *buf, size_t size)
 {
 #ifdef DEBUG_SLIRP
     printf("slirp input:\n");
@@ -945,7 +945,7 @@
     return len;
 }
 
-static void tap_receive(void *opaque, const uint8_t *buf, int size)
+static void tap_receive(void *opaque, const uint8_t *buf, size_t size)
 {
     TAPState *s = opaque;
     int ret;
@@ -1380,7 +1380,7 @@
 } NetSocketListenState;
 
 /* XXX: we consider we can send the whole packet without blocking */
-static void net_socket_receive(void *opaque, const uint8_t *buf, int size)
+static void net_socket_receive(void *opaque, const uint8_t *buf, size_t size)
 {
     NetSocketState *s = opaque;
     uint32_t len;
@@ -1390,7 +1390,7 @@
     send_all(s->fd, buf, size);
 }
 
-static void net_socket_receive_dgram(void *opaque, const uint8_t *buf, int size)
+static void net_socket_receive_dgram(void *opaque, const uint8_t *buf, size_t size)
 {
     NetSocketState *s = opaque;
     sendto(s->fd, buf, size, 0,
@@ -1831,7 +1831,7 @@
     uint32_t len;
 };
 
-static void dump_receive(void *opaque, const uint8_t *buf, int size)
+static void dump_receive(void *opaque, const uint8_t *buf, size_t size)
 {
     DumpState *s = opaque;
     struct pcap_sf_pkthdr hdr;
diff --git a/net.h b/net.h
index ab445aa..4d204e0 100644
--- a/net.h
+++ b/net.h
@@ -5,19 +5,20 @@
 
 /* VLANs support */
 
-typedef ssize_t (IOReadvHandler)(void *, const struct iovec *, int);
-
 typedef struct VLANClientState VLANClientState;
 
+typedef int (NetCanReceive)(void *);
+typedef void (NetReceive)(void *, const uint8_t *, size_t);
+typedef ssize_t (NetReceiveIOV)(void *, const struct iovec *, int);
 typedef void (NetCleanup) (VLANClientState *);
 typedef void (LinkStatusChanged)(VLANClientState *);
 
 struct VLANClientState {
-    IOReadHandler *fd_read;
-    IOReadvHandler *fd_readv;
+    NetReceive *receive;
+    NetReceiveIOV *receive_iov;
     /* Packets may still be sent if this returns zero.  It's used to
        rate-limit the slirp code.  */
-    IOCanRWHandler *fd_can_read;
+    NetCanReceive *can_receive;
     NetCleanup *cleanup;
     LinkStatusChanged *link_status_changed;
     int link_down;
@@ -51,9 +52,9 @@
 VLANClientState *qemu_new_vlan_client(VLANState *vlan,
                                       const char *model,
                                       const char *name,
-                                      IOCanRWHandler *fd_can_read,
-                                      IOReadHandler *fd_read,
-                                      IOReadvHandler *fd_readv,
+                                      NetCanReceive *can_receive,
+                                      NetReceive *receive,
+                                      NetReceiveIOV *receive_iov,
                                       NetCleanup *cleanup,
                                       void *opaque);
 void qemu_del_vlan_client(VLANClientState *vc);
@@ -130,9 +131,9 @@
 
 void qdev_get_macaddr(DeviceState *dev, uint8_t *macaddr);
 VLANClientState *qdev_get_vlan_client(DeviceState *dev,
-                                      IOCanRWHandler *fd_can_read,
-                                      IOReadHandler *fd_read,
-                                      IOReadvHandler *fd_readv,
+                                      NetCanReceive *can_receive,
+                                      NetReceive *receive,
+                                      NetReceiveIOV *receive_iov,
                                       NetCleanup *cleanup,
                                       void *opaque);
 
diff --git a/savevm.c b/savevm.c
index 248aea3..6da5e73 100644
--- a/savevm.c
+++ b/savevm.c
@@ -131,7 +131,7 @@
         len = announce_self_create(buf, nd_table[i].macaddr);
         vlan = nd_table[i].vlan;
 	for(vc = vlan->first_client; vc != NULL; vc = vc->next) {
-            vc->fd_read(vc->opaque, buf, len);
+            vc->receive(vc->opaque, buf, len);
         }
     }
     if (count--) {
diff --git a/tap-win32.c b/tap-win32.c
index 008158d..ccf7e45 100644
--- a/tap-win32.c
+++ b/tap-win32.c
@@ -650,7 +650,7 @@
     qemu_free(s);
 }
 
-static void tap_receive(void *opaque, const uint8_t *buf, int size)
+static void tap_receive(void *opaque, const uint8_t *buf, size_t size)
 {
     TAPState *s = opaque;