struct VLANClientState {
IOReadHandler *fd_read;
+ /* Packets may still be sent if this returns zero. It's used to
+ rate-limit the slirp code. */
+ IOCanRWHandler *fd_can_read;
void *opaque;
struct VLANClientState *next;
struct VLANState *vlan;
VLANState *qemu_find_vlan(int id);
VLANClientState *qemu_new_vlan_client(VLANState *vlan,
- IOReadHandler *fd_read, void *opaque);
+ IOReadHandler *fd_read,
+ IOCanRWHandler *fd_can_read,
+ void *opaque);
+int qemu_can_send_packet(VLANClientState *vc);
void qemu_send_packet(VLANClientState *vc, const uint8_t *buf, int size);
+void qemu_handler_true(void *opaque);
void do_info_network(void);
+/* TAP win32 */
+int tap_win32_init(VLANState *vlan, const char *ifname);
+void tap_win32_poll(void);
+
/* NIC info */
#define MAX_NICS 8
typedef struct NICInfo {
uint8_t macaddr[6];
+ const char *model;
VLANState *vlan;
} NICInfo;
PCIBus *pci_pmac_init(void);
PCIBus *pci_apb_init(target_ulong special_base, target_ulong mem_base);
+void pci_nic_init(PCIBus *bus, NICInfo *nd);
+
/* openpic.c */
typedef struct openpic_t openpic_t;
void openpic_set_irq(void *opaque, int n_IRQ, int level);
void isa_ne2000_init(int base, int irq, NICInfo *nd);
void pci_ne2000_init(PCIBus *bus, NICInfo *nd);
+/* rtl8139.c */
+
+void pci_rtl8139_init(PCIBus *bus, NICInfo *nd);
+
/* pckbd.c */
void kbd_init(void);
/* smc91c111.c */
void smc91c111_init(NICInfo *, uint32_t, void *, int);
+/* pl110.c */
+void *pl110_init(DisplayState *ds, uint32_t base, void *pic, int irq);
+void pl110_update_display(void *opaque);
+void pl110_invalidate_display(void *opaque);
+
#endif /* defined(QEMU_TOOL) */
/* monitor.c */