Commit cda9046ba7dbba45f3016e5d60caffa2d72960fa
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>
Showing
20 changed files
with
57 additions
and
56 deletions
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 |
net.c
| @@ -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; |
net.h
| @@ -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 |