int pcap_module::init(const osd_options &options) { pcap_if_t *devs; char errbuf[PCAP_ERRBUF_SIZE]; // FIXME: bridge between pcap_module and netdev_pcap module = this; if ((*pcap_findalldevs_dl)(&devs, errbuf) == -1) { osd_printf_error("Unable to get network devices: %s\n", errbuf); return 1; } while(devs) { if(devs->description) { add_netdev(devs->name, devs->description, create_pcap); } else { add_netdev(devs->name, devs->name, create_pcap); } devs = devs->next; } return 0; }
void init_pcap() { pcap_if_t *devs; char errbuf[PCAP_ERRBUF_SIZE]; handle = NULL; try { if(!(handle = LoadLibrary(L"wpcap.dll"))) throw GetLastError(); if(!(pcap_findalldevs_dl = (int (*)(pcap_if_t **, char *))GetProcAddress(handle, "pcap_findalldevs"))) throw GetLastError(); if(!(pcap_open_live_dl = (pcap_t* (*)(const char *, int, int, int, char *))GetProcAddress(handle, "pcap_open_live"))) throw GetLastError(); if(!(pcap_next_ex_dl = (int (*)(pcap_t *, struct pcap_pkthdr **, const u_char **))GetProcAddress(handle, "pcap_next_ex"))) throw GetLastError(); if(!(pcap_compile_dl = (int (*)(pcap_t *, struct bpf_program *, char *, int, bpf_u_int32))GetProcAddress(handle, "pcap_compile"))) throw GetLastError(); if(!(pcap_close_dl = (void (*)(pcap_t *))GetProcAddress(handle, "pcap_close"))) throw GetLastError(); if(!(pcap_setfilter_dl = (int (*)(pcap_t *, struct bpf_program *))GetProcAddress(handle, "pcap_setfilter"))) throw GetLastError(); if(!(pcap_sendpacket_dl = (int (*)(pcap_t *, u_char *, int))GetProcAddress(handle, "pcap_sendpacket"))) throw GetLastError(); if(!(pcap_set_datalink_dl = (int (*)(pcap_t *, int))GetProcAddress(handle, "pcap_set_datalink"))) throw GetLastError(); } catch (DWORD e) { FreeLibrary(handle); mame_printf_verbose("Unable to load winpcap: %lx\n", e); return; } if(pcap_findalldevs_dl(&devs, errbuf) == -1) { FreeLibrary(handle); mame_printf_verbose("Unable to get network devices: %s\n", errbuf); return; } while(devs) { add_netdev(devs->name, devs->description, create_pcap); devs = devs->next; } }
static int enet2_init( void ) { mol_device_node_t *dn; irq_info_t irqinfo; if( !(dn=prom_find_devices("mol-enet")) ) return 0; if( prom_irq_lookup(dn, &irqinfo) != 1 ) return 0; if( add_netdev(0, irqinfo.irq[0]) ) { prom_delete_node( dn ); return 0; } register_osi_iface( osi_iface, sizeof(osi_iface) ); return 1; }
void init_pcap() { pcap_if_t *devs; char errbuf[PCAP_ERRBUF_SIZE]; if(pcap_findalldevs(&devs, errbuf) == -1) { mame_printf_verbose("Unable to get network devices: %s\n", errbuf); return; } if (devs) { while(devs->next) { add_netdev(devs->name, devs->description, create_pcap); devs = devs->next; } } }
static int mac_enet_init( void ) { int i; numifs = 0; memset( (char*)enetif, 0, sizeof(enetif) ); if( !is_classic_boot() ) return 0; for( i=0; numifs < MAX_ENET_IFS; i++ ) { mac_enet_t *is = &enetif[numifs]; memset( is, 0, sizeof(*is) ); if( find_packet_driver(i, &is->iface) ) break; add_netdev( is ); } if( !numifs ) return 0; os_interface_add_proc( OSI_ENET_OPEN, osip_open ); os_interface_add_proc( OSI_ENET_CLOSE, osip_close ); os_interface_add_proc( OSI_ENET_GET_ADDR, osip_get_address ); os_interface_add_proc( OSI_ENET_GET_STATUS, osip_get_status ); os_interface_add_proc( OSI_ENET_CONTROL, osip_control ); os_interface_add_proc( OSI_ENET_GET_PACKET, osip_get_packet ); os_interface_add_proc( OSI_ENET_SEND_PACKET, osip_send_packet ); os_interface_add_proc( OSI_ENET_ADD_MULTI, osip_add_multicast ); os_interface_add_proc( OSI_ENET_DEL_MULTI, osip_del_multicast ); session_save_proc( save_enet_state, NULL, kDynamicChunk ); if( loading_session() ) load_enet_state(); return 1; }
void init_tap() { add_netdev("tap", "TAP/TUN Device", create_tap); }
int taptun_module::init() { add_netdev("tap", "TAP/TUN Device", create_tap); return 0; }