From: Hans Leidekker hans@codeweavers.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53499 --- dlls/nsiproxy.sys/ndis.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
diff --git a/dlls/nsiproxy.sys/ndis.c b/dlls/nsiproxy.sys/ndis.c index 667d399b0cb..c34630d8aec 100644 --- a/dlls/nsiproxy.sys/ndis.c +++ b/dlls/nsiproxy.sys/ndis.c @@ -333,7 +333,23 @@ static void ifinfo_fill_dynamic( struct if_entry *entry, struct nsi_ndis_ifinfo_ data->flags.unk = 0; data->flags.not_media_conn = 0; data->flags.unk2 = 0; +#ifdef __linux__ + { + char filename[64]; + FILE *fp; + + sprintf( filename, "/sys/class/net/%s/carrier", entry->if_unix_name ); + if (!(fp = fopen( filename, "r" ))) data->media_conn_state = MediaConnectStateUnknown; + else + { + if (fgetc( fp ) == '1') data->media_conn_state = MediaConnectStateConnected; + else data->media_conn_state = MediaConnectStateDisconnected; + fclose( fp ); + } + } +#else data->media_conn_state = MediaConnectStateConnected; +#endif data->unk = 0;
if (!ioctl( fd, SIOCGIFMTU, &req )) data->mtu = req.ifr_mtu;
This merge request was approved by Huw Davies.