From 63469469ba4b79e877edcf3e8450aa6c43910845 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Thu, 23 Oct 2014 09:26:29 +0200 Subject: Added -listnetwork option to list available network adapters --- src/emu/clifront.c | 15 +++++++++++++++ src/emu/clifront.h | 2 ++ src/osd/osdcore.h | 3 +++ src/osd/osdnet.c | 24 ++++++++++++++++++++++++ 4 files changed, 44 insertions(+) diff --git a/src/emu/clifront.c b/src/emu/clifront.c index a387d3eb8fc..ae9ee9e1374 100644 --- a/src/emu/clifront.c +++ b/src/emu/clifront.c @@ -63,6 +63,7 @@ const options_entry cli_options::s_option_entries[] = { CLICOMMAND_GETSOFTLIST ";glist", "0", OPTION_COMMAND, "retrieve software list by name" }, { CLICOMMAND_VERIFYSOFTLIST ";vlist", "0", OPTION_COMMAND, "verify software list by name" }, { CLICOMMAND_LIST_MIDI_DEVICES ";mlist", "0", OPTION_COMMAND, "list available MIDI I/O devices" }, + { CLICOMMAND_LIST_NETWORK_ADAPTERS ";nlist", "0", OPTION_COMMAND, "list available network adapters" }, { NULL } }; @@ -783,6 +784,19 @@ void cli_frontend::listmididevices(const char *gamename) } +//------------------------------------------------- +// listnetworkadapters - output the list of network +// adapters available in the current system to be used +//------------------------------------------------- + +void cli_frontend::listnetworkadapters(const char *gamename) +{ + m_osd.network_init(); + osd_list_network_adapters(); + m_osd.network_exit(); +} + + //------------------------------------------------- // verifyroms - verify the ROM sets of one or // more games @@ -1641,6 +1655,7 @@ void cli_frontend::execute_commands(const char *exename) { CLICOMMAND_GETSOFTLIST, &cli_frontend::getsoftlist }, { CLICOMMAND_VERIFYSOFTLIST, &cli_frontend::verifysoftlist }, { CLICOMMAND_LIST_MIDI_DEVICES, &cli_frontend::listmididevices }, + { CLICOMMAND_LIST_NETWORK_ADAPTERS, &cli_frontend::listnetworkadapters }, }; // find the command diff --git a/src/emu/clifront.h b/src/emu/clifront.h index 8242f73ae40..1f29db72c3d 100644 --- a/src/emu/clifront.h +++ b/src/emu/clifront.h @@ -50,6 +50,7 @@ #define CLICOMMAND_GETSOFTLIST "getsoftlist" #define CLICOMMAND_VERIFYSOFTLIST "verifysoftlist" #define CLICOMMAND_LIST_MIDI_DEVICES "listmidi" +#define CLICOMMAND_LIST_NETWORK_ADAPTERS "listnetwork" //************************************************************************** @@ -102,6 +103,7 @@ public: void getsoftlist(const char *gamename = "*"); void verifysoftlist(const char *gamename = "*"); void listmididevices(const char *gamename = "*"); + void listnetworkadapters(const char *gamename = "*"); private: // internal helpers diff --git a/src/osd/osdcore.h b/src/osd/osdcore.h index 34d514c2d18..2d9a4ac4f85 100644 --- a/src/osd/osdcore.h +++ b/src/osd/osdcore.h @@ -884,6 +884,9 @@ bool osd_poll_midi_channel(osd_midi_device *dev); int osd_read_midi_channel(osd_midi_device *dev, UINT8 *pOut); void osd_write_midi_channel(osd_midi_device *dev, UINT8 data); + +void osd_list_network_adapters(void); + /*************************************************************************** UNCATEGORIZED INTERFACES ***************************************************************************/ diff --git a/src/osd/osdnet.c b/src/osd/osdnet.c index d91bea9f4d7..2af841c0c2b 100644 --- a/src/osd/osdnet.c +++ b/src/osd/osdnet.c @@ -105,3 +105,27 @@ int netdev_count() { return netdev_list.count(); } + +void osd_list_network_adapters(void) +{ + #ifdef USE_NETWORK + int num_devs = netdev_list.count(); + + if (num_devs == 0) + { + printf("No network adapters were found\n"); + return; + } + + printf("Available network adapters:\n"); + const netdev_entry_t *entry = netdev_first(); + while(entry) { + printf(" %s\n", entry->description); + entry = entry->m_next; + } + + #else + printf("Network is not supported in this build\n"); + #endif +} + -- cgit v1.2.3