1
0
mirror of https://github.com/simh/simh.git synced 2026-01-25 19:56:25 +00:00

ETHER: Make all supported packet types visible in eth_version() result

This commit is contained in:
Mark Pizzolato
2022-08-11 02:35:04 -10:00
parent 5bc3ebc890
commit 5823913230

View File

@@ -2692,26 +2692,45 @@ return SCPE_OK;
const char *eth_version (void)
{
#if defined(HAVE_PCAP_NETWORK)
static char version[300];
if (!version[0]) {
strlcpy(version, pcap_lib_version(), sizeof(version));
if (memcmp(pcap_lib_version(), "Npcap", 5) == 0) {
char maj_min[CBUFSIZE];
char *c = version;
while (*c && !isdigit (*c))
++c;
get_glyph (c, maj_min, ',');
if (strcmp ("0.9990", maj_min) > 0)
snprintf(version, sizeof(version), "Unsupported - %s", pcap_lib_version());
}
}
return version;
#else
return NULL;
if (version[0] != '\0')
return version;
#if defined(HAVE_SLIRP_NETWORK)
if (version[0] != '\0')
strlcat (version, ", ", sizeof (version));
strlcat (version, "NAT", sizeof (version));
#endif
#if defined(HAVE_TAP_NETWORK)
if (version[0] != '\0')
strlcat (version, ", ", sizeof (version));
strlcat (version, "TAP", sizeof (version));
#endif
#if defined(HAVE_VDE_NETWORK)
if (version[0] != '\0')
strlcat (version, ", ", sizeof (version));
strlcat (version, "VDE", sizeof (version));
#endif
if (version[0] != '\0')
strlcat (version, ", ", sizeof (version));
strlcat (version, "UDP", sizeof (version));
#if defined(HAVE_PCAP_NETWORK)
if (version[0] != '\0')
strlcat (version, ", ", sizeof (version));
strlcat (version, "PCAP: ", sizeof (version));
if (strstr (pcap_lib_version(), "Npcap") != NULL) {
char maj_min[CBUFSIZE];
const char *c = pcap_lib_version();
while (*c && !isdigit (*c))
++c;
get_glyph (c, maj_min, ',');
if (strcmp ("0.9990", maj_min) > 0)
strlcat (version, "Unsupported - ", sizeof(version));
}
strlcat (version, pcap_lib_version(), sizeof (version));
#endif
return version;
}
t_stat eth_attach_help(FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, const char *cptr)