Hans Leidekker : nsiproxy.sys: Support media connect state on Linux.
Alexandre Julliard
julliard at winehq.org
Tue Aug 9 15:19:54 CDT 2022
Module: wine
Branch: master
Commit: fa8a5692c28bd982cf90306383d6bd69f4da204e
URL: https://gitlab.winehq.org/wine/wine/-/commit/fa8a5692c28bd982cf90306383d6bd69f4da204e
Author: Hans Leidekker <hans at codeweavers.com>
Date: Mon Aug 8 11:25:36 2022 +0200
nsiproxy.sys: Support media connect state on Linux.
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;
More information about the wine-cvs
mailing list