Commit cda9046ba7dbba45f3016e5d60caffa2d72960fa

Authored by Mark McLoughlin
1 parent 463af534

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>
hw/dp8393x.c
@@ -409,7 +409,7 @@ static void do_transmit_packets(dp8393xState *s) @@ -409,7 +409,7 @@ static void do_transmit_packets(dp8393xState *s)
409 s->regs[SONIC_TCR] |= SONIC_TCR_CRSL; 409 s->regs[SONIC_TCR] |= SONIC_TCR_CRSL;
410 if (s->vc->fd_can_read(s)) { 410 if (s->vc->fd_can_read(s)) {
411 s->loopback_packet = 1; 411 s->loopback_packet = 1;
412 - s->vc->fd_read(s, s->tx_buffer, tx_len); 412 + s->vc->receive(s, s->tx_buffer, tx_len);
413 } 413 }
414 } else { 414 } else {
415 /* Transmit packet */ 415 /* Transmit packet */
@@ -725,7 +725,7 @@ static int receive_filter(dp8393xState *s, const uint8_t * buf, int size) @@ -725,7 +725,7 @@ static int receive_filter(dp8393xState *s, const uint8_t * buf, int size)
725 return -1; 725 return -1;
726 } 726 }
727 727
728 -static void nic_receive(void *opaque, const uint8_t * buf, int size) 728 +static void nic_receive(void *opaque, const uint8_t * buf, size_t size)
729 { 729 {
730 uint16_t data[10]; 730 uint16_t data[10];
731 dp8393xState *s = opaque; 731 dp8393xState *s = opaque;
hw/e1000.c
@@ -600,7 +600,7 @@ e1000_can_receive(void *opaque) @@ -600,7 +600,7 @@ e1000_can_receive(void *opaque)
600 } 600 }
601 601
602 static void 602 static void
603 -e1000_receive(void *opaque, const uint8_t *buf, int size) 603 +e1000_receive(void *opaque, const uint8_t *buf, size_t size)
604 { 604 {
605 E1000State *s = opaque; 605 E1000State *s = opaque;
606 struct e1000_rx_desc desc; 606 struct e1000_rx_desc desc;
@@ -614,8 +614,8 @@ e1000_receive(void *opaque, const uint8_t *buf, int size) @@ -614,8 +614,8 @@ e1000_receive(void *opaque, const uint8_t *buf, int size)
614 return; 614 return;
615 615
616 if (size > s->rxbuf_size) { 616 if (size > s->rxbuf_size) {
617 - DBGOUT(RX, "packet too large for buffers (%d > %d)\n", size,  
618 - s->rxbuf_size); 617 + DBGOUT(RX, "packet too large for buffers (%lu > %d)\n",
  618 + (unsigned long)size, s->rxbuf_size);
619 return; 619 return;
620 } 620 }
621 621
hw/eepro100.c
@@ -1441,7 +1441,7 @@ static int nic_can_receive(void *opaque) @@ -1441,7 +1441,7 @@ static int nic_can_receive(void *opaque)
1441 //~ return !eepro100_buffer_full(s); 1441 //~ return !eepro100_buffer_full(s);
1442 } 1442 }
1443 1443
1444 -static void nic_receive(void *opaque, const uint8_t * buf, int size) 1444 +static void nic_receive(void *opaque, const uint8_t * buf, size_t size)
1445 { 1445 {
1446 /* TODO: 1446 /* TODO:
1447 * - Magic packets should set bit 30 in power management driver register. 1447 * - Magic packets should set bit 30 in power management driver register.
hw/etraxfs_eth.c
@@ -501,7 +501,7 @@ static int eth_can_receive(void *opaque) @@ -501,7 +501,7 @@ static int eth_can_receive(void *opaque)
501 return 1; 501 return 1;
502 } 502 }
503 503
504 -static void eth_receive(void *opaque, const uint8_t *buf, int size) 504 +static void eth_receive(void *opaque, const uint8_t *buf, size_t size)
505 { 505 {
506 unsigned char sa_bcast[6] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; 506 unsigned char sa_bcast[6] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
507 struct fs_eth *eth = opaque; 507 struct fs_eth *eth = opaque;
hw/mcf_fec.c
@@ -353,7 +353,7 @@ static int mcf_fec_can_receive(void *opaque) @@ -353,7 +353,7 @@ static int mcf_fec_can_receive(void *opaque)
353 return s->rx_enabled; 353 return s->rx_enabled;
354 } 354 }
355 355
356 -static void mcf_fec_receive(void *opaque, const uint8_t *buf, int size) 356 +static void mcf_fec_receive(void *opaque, const uint8_t *buf, size_t size)
357 { 357 {
358 mcf_fec_state *s = (mcf_fec_state *)opaque; 358 mcf_fec_state *s = (mcf_fec_state *)opaque;
359 mcf_fec_bd bd; 359 mcf_fec_bd bd;
hw/mipsnet.c
@@ -75,7 +75,7 @@ static int mipsnet_can_receive(void *opaque) @@ -75,7 +75,7 @@ static int mipsnet_can_receive(void *opaque)
75 return !mipsnet_buffer_full(s); 75 return !mipsnet_buffer_full(s);
76 } 76 }
77 77
78 -static void mipsnet_receive(void *opaque, const uint8_t *buf, int size) 78 +static void mipsnet_receive(void *opaque, const uint8_t *buf, size_t size)
79 { 79 {
80 MIPSnetState *s = opaque; 80 MIPSnetState *s = opaque;
81 81
hw/musicpal.c
@@ -562,7 +562,7 @@ static int eth_can_receive(void *opaque) @@ -562,7 +562,7 @@ static int eth_can_receive(void *opaque)
562 return 1; 562 return 1;
563 } 563 }
564 564
565 -static void eth_receive(void *opaque, const uint8_t *buf, int size) 565 +static void eth_receive(void *opaque, const uint8_t *buf, size_t size)
566 { 566 {
567 mv88w8618_eth_state *s = opaque; 567 mv88w8618_eth_state *s = opaque;
568 uint32_t desc_addr; 568 uint32_t desc_addr;
hw/ne2000.c
@@ -224,7 +224,7 @@ static int ne2000_can_receive(void *opaque) @@ -224,7 +224,7 @@ static int ne2000_can_receive(void *opaque)
224 224
225 #define MIN_BUF_SIZE 60 225 #define MIN_BUF_SIZE 60
226 226
227 -static void ne2000_receive(void *opaque, const uint8_t *buf, int size) 227 +static void ne2000_receive(void *opaque, const uint8_t *buf, size_t size)
228 { 228 {
229 NE2000State *s = opaque; 229 NE2000State *s = opaque;
230 uint8_t *p; 230 uint8_t *p;
hw/pcnet.c
@@ -1076,7 +1076,7 @@ static int pcnet_can_receive(void *opaque) @@ -1076,7 +1076,7 @@ static int pcnet_can_receive(void *opaque)
1076 1076
1077 #define MIN_BUF_SIZE 60 1077 #define MIN_BUF_SIZE 60
1078 1078
1079 -static void pcnet_receive(void *opaque, const uint8_t *buf, int size) 1079 +static void pcnet_receive(void *opaque, const uint8_t *buf, size_t size)
1080 { 1080 {
1081 PCNetState *s = opaque; 1081 PCNetState *s = opaque;
1082 int is_padr = 0, is_bcast = 0, is_ladr = 0; 1082 int is_padr = 0, is_bcast = 0, is_ladr = 0;
hw/qdev.c
@@ -258,16 +258,16 @@ void qdev_connect_gpio_out(DeviceState * dev, int n, qemu_irq pin) @@ -258,16 +258,16 @@ void qdev_connect_gpio_out(DeviceState * dev, int n, qemu_irq pin)
258 } 258 }
259 259
260 VLANClientState *qdev_get_vlan_client(DeviceState *dev, 260 VLANClientState *qdev_get_vlan_client(DeviceState *dev,
261 - IOCanRWHandler *fd_can_read,  
262 - IOReadHandler *fd_read,  
263 - IOReadvHandler *fd_readv, 261 + NetCanReceive *can_receive,
  262 + NetReceive *receive,
  263 + NetReceiveIOV *receive_iov,
264 NetCleanup *cleanup, 264 NetCleanup *cleanup,
265 void *opaque) 265 void *opaque)
266 { 266 {
267 NICInfo *nd = dev->nd; 267 NICInfo *nd = dev->nd;
268 assert(nd); 268 assert(nd);
269 - return qemu_new_vlan_client(nd->vlan, nd->model, nd->name, fd_can_read,  
270 - fd_read, fd_readv, cleanup, opaque); 269 + return qemu_new_vlan_client(nd->vlan, nd->model, nd->name, can_receive,
  270 + receive, receive_iov, cleanup, opaque);
271 } 271 }
272 272
273 273
hw/rtl8139.c
@@ -1158,7 +1158,7 @@ static void rtl8139_do_receive(void *opaque, const uint8_t *buf, int size, int d @@ -1158,7 +1158,7 @@ static void rtl8139_do_receive(void *opaque, const uint8_t *buf, int size, int d
1158 } 1158 }
1159 } 1159 }
1160 1160
1161 -static void rtl8139_receive(void *opaque, const uint8_t *buf, int size) 1161 +static void rtl8139_receive(void *opaque, const uint8_t *buf, size_t size)
1162 { 1162 {
1163 rtl8139_do_receive(opaque, buf, size, 1); 1163 rtl8139_do_receive(opaque, buf, size, 1);
1164 } 1164 }
hw/smc91c111.c
@@ -602,7 +602,7 @@ static int smc91c111_can_receive(void *opaque) @@ -602,7 +602,7 @@ static int smc91c111_can_receive(void *opaque)
602 return 1; 602 return 1;
603 } 603 }
604 604
605 -static void smc91c111_receive(void *opaque, const uint8_t *buf, int size) 605 +static void smc91c111_receive(void *opaque, const uint8_t *buf, size_t size)
606 { 606 {
607 smc91c111_state *s = (smc91c111_state *)opaque; 607 smc91c111_state *s = (smc91c111_state *)opaque;
608 int status; 608 int status;
hw/stellaris_enet.c
@@ -78,7 +78,7 @@ static void stellaris_enet_update(stellaris_enet_state *s) @@ -78,7 +78,7 @@ static void stellaris_enet_update(stellaris_enet_state *s)
78 } 78 }
79 79
80 /* TODO: Implement MAC address filtering. */ 80 /* TODO: Implement MAC address filtering. */
81 -static void stellaris_enet_receive(void *opaque, const uint8_t *buf, int size) 81 +static void stellaris_enet_receive(void *opaque, const uint8_t *buf, size_t size)
82 { 82 {
83 stellaris_enet_state *s = (stellaris_enet_state *)opaque; 83 stellaris_enet_state *s = (stellaris_enet_state *)opaque;
84 int n; 84 int n;
hw/usb-net.c
@@ -1369,7 +1369,7 @@ static int usb_net_handle_data(USBDevice *dev, USBPacket *p) @@ -1369,7 +1369,7 @@ static int usb_net_handle_data(USBDevice *dev, USBPacket *p)
1369 return ret; 1369 return ret;
1370 } 1370 }
1371 1371
1372 -static void usbnet_receive(void *opaque, const uint8_t *buf, int size) 1372 +static void usbnet_receive(void *opaque, const uint8_t *buf, size_t size)
1373 { 1373 {
1374 USBNetState *s = opaque; 1374 USBNetState *s = opaque;
1375 struct rndis_packet_msg_type *msg; 1375 struct rndis_packet_msg_type *msg;
hw/virtio-net.c
@@ -361,7 +361,7 @@ static int receive_filter(VirtIONet *n, const uint8_t *buf, int size) @@ -361,7 +361,7 @@ static int receive_filter(VirtIONet *n, const uint8_t *buf, int size)
361 return 0; 361 return 0;
362 } 362 }
363 363
364 -static void virtio_net_receive(void *opaque, const uint8_t *buf, int size) 364 +static void virtio_net_receive(void *opaque, const uint8_t *buf, size_t size)
365 { 365 {
366 VirtIONet *n = opaque; 366 VirtIONet *n = opaque;
367 struct virtio_net_hdr_mrg_rxbuf *mhdr = NULL; 367 struct virtio_net_hdr_mrg_rxbuf *mhdr = NULL;
hw/xen_nic.c
@@ -243,7 +243,7 @@ static int net_rx_ok(void *opaque) @@ -243,7 +243,7 @@ static int net_rx_ok(void *opaque)
243 return 1; 243 return 1;
244 } 244 }
245 245
246 -static void net_rx_packet(void *opaque, const uint8_t *buf, int size) 246 +static void net_rx_packet(void *opaque, const uint8_t *buf, size_t size)
247 { 247 {
248 struct XenNetDev *netdev = opaque; 248 struct XenNetDev *netdev = opaque;
249 netif_rx_request_t rxreq; 249 netif_rx_request_t rxreq;
@@ -262,8 +262,8 @@ static void net_rx_packet(void *opaque, const uint8_t *buf, int size) @@ -262,8 +262,8 @@ static void net_rx_packet(void *opaque, const uint8_t *buf, int size)
262 return; 262 return;
263 } 263 }
264 if (size > XC_PAGE_SIZE - NET_IP_ALIGN) { 264 if (size > XC_PAGE_SIZE - NET_IP_ALIGN) {
265 - xen_be_printf(&netdev->xendev, 0, "packet too big (%d > %ld)",  
266 - size, XC_PAGE_SIZE - NET_IP_ALIGN); 265 + xen_be_printf(&netdev->xendev, 0, "packet too big (%lu > %ld)",
  266 + (unsigned long)size, XC_PAGE_SIZE - NET_IP_ALIGN);
267 return; 267 return;
268 } 268 }
269 269
@@ -332,9 +332,9 @@ static char *assign_name(VLANClientState *vc1, const char *model) @@ -332,9 +332,9 @@ static char *assign_name(VLANClientState *vc1, const char *model)
332 VLANClientState *qemu_new_vlan_client(VLANState *vlan, 332 VLANClientState *qemu_new_vlan_client(VLANState *vlan,
333 const char *model, 333 const char *model,
334 const char *name, 334 const char *name,
335 - IOCanRWHandler *fd_can_read,  
336 - IOReadHandler *fd_read,  
337 - IOReadvHandler *fd_readv, 335 + NetCanReceive *can_receive,
  336 + NetReceive *receive,
  337 + NetReceiveIOV *receive_iov,
338 NetCleanup *cleanup, 338 NetCleanup *cleanup,
339 void *opaque) 339 void *opaque)
340 { 340 {
@@ -345,9 +345,9 @@ VLANClientState *qemu_new_vlan_client(VLANState *vlan, @@ -345,9 +345,9 @@ VLANClientState *qemu_new_vlan_client(VLANState *vlan,
345 vc->name = strdup(name); 345 vc->name = strdup(name);
346 else 346 else
347 vc->name = assign_name(vc, model); 347 vc->name = assign_name(vc, model);
348 - vc->fd_can_read = fd_can_read;  
349 - vc->fd_read = fd_read;  
350 - vc->fd_readv = fd_readv; 348 + vc->can_receive = can_receive;
  349 + vc->receive = receive;
  350 + vc->receive_iov = receive_iov;
351 vc->cleanup = cleanup; 351 vc->cleanup = cleanup;
352 vc->opaque = opaque; 352 vc->opaque = opaque;
353 vc->vlan = vlan; 353 vc->vlan = vlan;
@@ -401,8 +401,8 @@ int qemu_can_send_packet(VLANClientState *sender) @@ -401,8 +401,8 @@ int qemu_can_send_packet(VLANClientState *sender)
401 continue; 401 continue;
402 } 402 }
403 403
404 - /* no fd_can_read() handler, they can always receive */  
405 - if (!vc->fd_can_read || vc->fd_can_read(vc->opaque)) { 404 + /* no can_receive() handler, they can always receive */
  405 + if (!vc->can_receive || vc->can_receive(vc->opaque)) {
406 return 1; 406 return 1;
407 } 407 }
408 } 408 }
@@ -416,7 +416,7 @@ qemu_deliver_packet(VLANClientState *sender, const uint8_t *buf, int size) @@ -416,7 +416,7 @@ qemu_deliver_packet(VLANClientState *sender, const uint8_t *buf, int size)
416 416
417 for (vc = sender->vlan->first_client; vc != NULL; vc = vc->next) { 417 for (vc = sender->vlan->first_client; vc != NULL; vc = vc->next) {
418 if (vc != sender && !vc->link_down) { 418 if (vc != sender && !vc->link_down) {
419 - vc->fd_read(vc->opaque, buf, size); 419 + vc->receive(vc->opaque, buf, size);
420 } 420 }
421 } 421 }
422 } 422 }
@@ -467,7 +467,7 @@ static ssize_t vc_sendv_compat(VLANClientState *vc, const struct iovec *iov, @@ -467,7 +467,7 @@ static ssize_t vc_sendv_compat(VLANClientState *vc, const struct iovec *iov,
467 offset += len; 467 offset += len;
468 } 468 }
469 469
470 - vc->fd_read(vc->opaque, buffer, offset); 470 + vc->receive(vc->opaque, buffer, offset);
471 471
472 return offset; 472 return offset;
473 } 473 }
@@ -519,9 +519,9 @@ ssize_t qemu_sendv_packet(VLANClientState *sender, const struct iovec *iov, @@ -519,9 +519,9 @@ ssize_t qemu_sendv_packet(VLANClientState *sender, const struct iovec *iov,
519 } 519 }
520 if (vc->link_down) { 520 if (vc->link_down) {
521 len = calc_iov_length(iov, iovcnt); 521 len = calc_iov_length(iov, iovcnt);
522 - } else if (vc->fd_readv) {  
523 - len = vc->fd_readv(vc->opaque, iov, iovcnt);  
524 - } else if (vc->fd_read) { 522 + } else if (vc->receive_iov) {
  523 + len = vc->receive_iov(vc->opaque, iov, iovcnt);
  524 + } else if (vc->receive) {
525 len = vc_sendv_compat(vc, iov, iovcnt); 525 len = vc_sendv_compat(vc, iov, iovcnt);
526 } 526 }
527 max_len = MAX(max_len, len); 527 max_len = MAX(max_len, len);
@@ -593,7 +593,7 @@ int slirp_is_inited(void) @@ -593,7 +593,7 @@ int slirp_is_inited(void)
593 return slirp_inited; 593 return slirp_inited;
594 } 594 }
595 595
596 -static void slirp_receive(void *opaque, const uint8_t *buf, int size) 596 +static void slirp_receive(void *opaque, const uint8_t *buf, size_t size)
597 { 597 {
598 #ifdef DEBUG_SLIRP 598 #ifdef DEBUG_SLIRP
599 printf("slirp input:\n"); 599 printf("slirp input:\n");
@@ -945,7 +945,7 @@ static ssize_t tap_receive_iov(void *opaque, const struct iovec *iov, @@ -945,7 +945,7 @@ static ssize_t tap_receive_iov(void *opaque, const struct iovec *iov,
945 return len; 945 return len;
946 } 946 }
947 947
948 -static void tap_receive(void *opaque, const uint8_t *buf, int size) 948 +static void tap_receive(void *opaque, const uint8_t *buf, size_t size)
949 { 949 {
950 TAPState *s = opaque; 950 TAPState *s = opaque;
951 int ret; 951 int ret;
@@ -1380,7 +1380,7 @@ typedef struct NetSocketListenState { @@ -1380,7 +1380,7 @@ typedef struct NetSocketListenState {
1380 } NetSocketListenState; 1380 } NetSocketListenState;
1381 1381
1382 /* XXX: we consider we can send the whole packet without blocking */ 1382 /* XXX: we consider we can send the whole packet without blocking */
1383 -static void net_socket_receive(void *opaque, const uint8_t *buf, int size) 1383 +static void net_socket_receive(void *opaque, const uint8_t *buf, size_t size)
1384 { 1384 {
1385 NetSocketState *s = opaque; 1385 NetSocketState *s = opaque;
1386 uint32_t len; 1386 uint32_t len;
@@ -1390,7 +1390,7 @@ static void net_socket_receive(void *opaque, const uint8_t *buf, int size) @@ -1390,7 +1390,7 @@ static void net_socket_receive(void *opaque, const uint8_t *buf, int size)
1390 send_all(s->fd, buf, size); 1390 send_all(s->fd, buf, size);
1391 } 1391 }
1392 1392
1393 -static void net_socket_receive_dgram(void *opaque, const uint8_t *buf, int size) 1393 +static void net_socket_receive_dgram(void *opaque, const uint8_t *buf, size_t size)
1394 { 1394 {
1395 NetSocketState *s = opaque; 1395 NetSocketState *s = opaque;
1396 sendto(s->fd, buf, size, 0, 1396 sendto(s->fd, buf, size, 0,
@@ -1831,7 +1831,7 @@ struct pcap_sf_pkthdr { @@ -1831,7 +1831,7 @@ struct pcap_sf_pkthdr {
1831 uint32_t len; 1831 uint32_t len;
1832 }; 1832 };
1833 1833
1834 -static void dump_receive(void *opaque, const uint8_t *buf, int size) 1834 +static void dump_receive(void *opaque, const uint8_t *buf, size_t size)
1835 { 1835 {
1836 DumpState *s = opaque; 1836 DumpState *s = opaque;
1837 struct pcap_sf_pkthdr hdr; 1837 struct pcap_sf_pkthdr hdr;
@@ -5,19 +5,20 @@ @@ -5,19 +5,20 @@
5 5
6 /* VLANs support */ 6 /* VLANs support */
7 7
8 -typedef ssize_t (IOReadvHandler)(void *, const struct iovec *, int);  
9 -  
10 typedef struct VLANClientState VLANClientState; 8 typedef struct VLANClientState VLANClientState;
11 9
  10 +typedef int (NetCanReceive)(void *);
  11 +typedef void (NetReceive)(void *, const uint8_t *, size_t);
  12 +typedef ssize_t (NetReceiveIOV)(void *, const struct iovec *, int);
12 typedef void (NetCleanup) (VLANClientState *); 13 typedef void (NetCleanup) (VLANClientState *);
13 typedef void (LinkStatusChanged)(VLANClientState *); 14 typedef void (LinkStatusChanged)(VLANClientState *);
14 15
15 struct VLANClientState { 16 struct VLANClientState {
16 - IOReadHandler *fd_read;  
17 - IOReadvHandler *fd_readv; 17 + NetReceive *receive;
  18 + NetReceiveIOV *receive_iov;
18 /* Packets may still be sent if this returns zero. It's used to 19 /* Packets may still be sent if this returns zero. It's used to
19 rate-limit the slirp code. */ 20 rate-limit the slirp code. */
20 - IOCanRWHandler *fd_can_read; 21 + NetCanReceive *can_receive;
21 NetCleanup *cleanup; 22 NetCleanup *cleanup;
22 LinkStatusChanged *link_status_changed; 23 LinkStatusChanged *link_status_changed;
23 int link_down; 24 int link_down;
@@ -51,9 +52,9 @@ VLANState *qemu_find_vlan(int id); @@ -51,9 +52,9 @@ VLANState *qemu_find_vlan(int id);
51 VLANClientState *qemu_new_vlan_client(VLANState *vlan, 52 VLANClientState *qemu_new_vlan_client(VLANState *vlan,
52 const char *model, 53 const char *model,
53 const char *name, 54 const char *name,
54 - IOCanRWHandler *fd_can_read,  
55 - IOReadHandler *fd_read,  
56 - IOReadvHandler *fd_readv, 55 + NetCanReceive *can_receive,
  56 + NetReceive *receive,
  57 + NetReceiveIOV *receive_iov,
57 NetCleanup *cleanup, 58 NetCleanup *cleanup,
58 void *opaque); 59 void *opaque);
59 void qemu_del_vlan_client(VLANClientState *vc); 60 void qemu_del_vlan_client(VLANClientState *vc);
@@ -130,9 +131,9 @@ void net_host_device_remove(Monitor *mon, int vlan_id, const char *device); @@ -130,9 +131,9 @@ void net_host_device_remove(Monitor *mon, int vlan_id, const char *device);
130 131
131 void qdev_get_macaddr(DeviceState *dev, uint8_t *macaddr); 132 void qdev_get_macaddr(DeviceState *dev, uint8_t *macaddr);
132 VLANClientState *qdev_get_vlan_client(DeviceState *dev, 133 VLANClientState *qdev_get_vlan_client(DeviceState *dev,
133 - IOCanRWHandler *fd_can_read,  
134 - IOReadHandler *fd_read,  
135 - IOReadvHandler *fd_readv, 134 + NetCanReceive *can_receive,
  135 + NetReceive *receive,
  136 + NetReceiveIOV *receive_iov,
136 NetCleanup *cleanup, 137 NetCleanup *cleanup,
137 void *opaque); 138 void *opaque);
138 139
savevm.c
@@ -131,7 +131,7 @@ static void qemu_announce_self_once(void *opaque) @@ -131,7 +131,7 @@ static void qemu_announce_self_once(void *opaque)
131 len = announce_self_create(buf, nd_table[i].macaddr); 131 len = announce_self_create(buf, nd_table[i].macaddr);
132 vlan = nd_table[i].vlan; 132 vlan = nd_table[i].vlan;
133 for(vc = vlan->first_client; vc != NULL; vc = vc->next) { 133 for(vc = vlan->first_client; vc != NULL; vc = vc->next) {
134 - vc->fd_read(vc->opaque, buf, len); 134 + vc->receive(vc->opaque, buf, len);
135 } 135 }
136 } 136 }
137 if (count--) { 137 if (count--) {
tap-win32.c
@@ -650,7 +650,7 @@ static void tap_cleanup(VLANClientState *vc) @@ -650,7 +650,7 @@ static void tap_cleanup(VLANClientState *vc)
650 qemu_free(s); 650 qemu_free(s);
651 } 651 }
652 652
653 -static void tap_receive(void *opaque, const uint8_t *buf, int size) 653 +static void tap_receive(void *opaque, const uint8_t *buf, size_t size)
654 { 654 {
655 TAPState *s = opaque; 655 TAPState *s = opaque;
656 656