Signed-off-by: Paul Gofman pgofman@codeweavers.com --- configure.ac | 1 + dlls/netio.sys/Makefile.in | 6 +++++ dlls/netio.sys/netio.c | 44 +++++++++++++++++++++++++++++++++++ dlls/netio.sys/netio.sys.spec | 1 + loader/wine.inf.in | 2 ++ 5 files changed, 54 insertions(+) create mode 100644 dlls/netio.sys/Makefile.in create mode 100644 dlls/netio.sys/netio.c create mode 100644 dlls/netio.sys/netio.sys.spec
diff --git a/configure.ac b/configure.ac index d81f5cc88c..3b00c28d7e 100644 --- a/configure.ac +++ b/configure.ac @@ -3556,6 +3556,7 @@ WINE_CONFIG_MAKEFILE(dlls/netapi32) WINE_CONFIG_MAKEFILE(dlls/netapi32/tests) WINE_CONFIG_MAKEFILE(dlls/netcfgx) WINE_CONFIG_MAKEFILE(dlls/netcfgx/tests) +WINE_CONFIG_MAKEFILE(dlls/netio.sys) WINE_CONFIG_MAKEFILE(dlls/netprofm) WINE_CONFIG_MAKEFILE(dlls/netprofm/tests) WINE_CONFIG_MAKEFILE(dlls/newdev) diff --git a/dlls/netio.sys/Makefile.in b/dlls/netio.sys/Makefile.in new file mode 100644 index 0000000000..45bccc7971 --- /dev/null +++ b/dlls/netio.sys/Makefile.in @@ -0,0 +1,6 @@ +MODULE = netio.sys +IMPORTS = ntoskrnl +EXTRADLLFLAGS = -mno-cygwin -Wl,--subsystem,native + +C_SRCS = \ + netio.c diff --git a/dlls/netio.sys/netio.c b/dlls/netio.sys/netio.c new file mode 100644 index 0000000000..862b08f0ac --- /dev/null +++ b/dlls/netio.sys/netio.c @@ -0,0 +1,44 @@ +/* + * WSK (Winsock Kernel) driver library. + * + * Copyright 2020 Paul Gofman pgofman@codeweavers.com for Codeweavers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "ntstatus.h" +#define WIN32_NO_STATUS +#include "windef.h" +#include "winioctl.h" +#include "winternl.h" +#include "ddk/wdm.h" +#include "wine/debug.h" + +WINE_DEFAULT_DEBUG_CHANNEL(netio); + +static void WINAPI driver_unload(DRIVER_OBJECT *driver) +{ + TRACE("driver %p.\n", driver); +} + +NTSTATUS WINAPI DriverEntry(DRIVER_OBJECT *driver, UNICODE_STRING *path) +{ + TRACE("driver %p, path %s.\n", driver, debugstr_w(path->Buffer)); + + driver->DriverUnload = driver_unload; + + return STATUS_SUCCESS; +} + diff --git a/dlls/netio.sys/netio.sys.spec b/dlls/netio.sys/netio.sys.spec new file mode 100644 index 0000000000..792d600548 --- /dev/null +++ b/dlls/netio.sys/netio.sys.spec @@ -0,0 +1 @@ +# diff --git a/loader/wine.inf.in b/loader/wine.inf.in index 0a43cc779c..de0dd4e455 100644 --- a/loader/wine.inf.in +++ b/loader/wine.inf.in @@ -2617,6 +2617,7 @@ HKLM,%CurrentVersion%\Telephony\Country List\998,"SameAreaRule",,"G" 12,,ksecdd.sys,- 12,,mountmgr.sys,- 12,,ndis.sys,- +12,,netio.sys,- 12,,scsiport.sys,- 12,,tdi.sys,- 12,,usbd.sys,- @@ -2673,6 +2674,7 @@ HKLM,%CurrentVersion%\Telephony\Country List\998,"SameAreaRule",,"G" 12,,ksecdd.sys 12,,mountmgr.sys 12,,ndis.sys +12,,netio.sys 12,,scsiport.sys 12,,tdi.sys 12,,usbd.sys
From: Alistair Leslie-Hughes leslie_alistair@hotmail.com
Minor edits applied to original patch.
Signed-off-by: Paul Gofman pgofman@codeweavers.com --- include/ddk/wsk.h | 125 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 include/ddk/wsk.h
diff --git a/include/ddk/wsk.h b/include/ddk/wsk.h new file mode 100644 index 0000000000..7d3ccc9b51 --- /dev/null +++ b/include/ddk/wsk.h @@ -0,0 +1,125 @@ +/* + * Copyright 2020 Alistair Leslie-Hughes + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ +#ifndef _INC_WSK +#define _INC_WSK + +#include <winsock2.h> + +#ifdef __cplusplus +extern "C" { +#endif + +typedef void *PWSK_CLIENT; + +typedef struct _WSK_CLIENT_CONNECTION_DISPATCH WSK_CLIENT_CONNECTION_DISPATCH, *PWSK_CLIENT_CONNECTION_DISPATCH; + +typedef NTSTATUS (WINAPI *PFN_WSK_CLIENT_EVENT)(void *context, ULONG event, void *info, SIZE_T length); + +typedef struct _WSK_BUF +{ + PMDL Mdl; + ULONG Offset; + SIZE_T Length; +} WSK_BUF, *PWSK_BUF; + +typedef struct _WSK_DATA_INDICATION +{ + struct _WSK_DATA_INDICATION *Next; + WSK_BUF Buffer; +} WSK_DATA_INDICATION, *PWSK_DATA_INDICATION; + +typedef NTSTATUS (WINAPI *PFN_WSK_DISCONNECT_EVENT)(void *context, ULONG flags); + +typedef NTSTATUS (WINAPI *PFN_WSK_SEND_BACKLOG_EVENT)(PVOID socket_context, SIZE_T ideal_backlog_size); + +typedef NTSTATUS (WINAPI *PFN_WSK_SOCKET)(PWSK_CLIENT client, ADDRESS_FAMILY family, + USHORT type, ULONG protocol, ULONG flags, void *context, const void *dispatch, + PEPROCESS process, PETHREAD thread, PSECURITY_DESCRIPTOR security, PIRP irp); + +typedef NTSTATUS (WINAPI *PFN_WSK_SOCKET_CONNECT)(PWSK_CLIENT client, USHORT type, + ULONG protocol, PSOCKADDR local, PSOCKADDR remote, ULONG flags, void *context, + const WSK_CLIENT_CONNECTION_DISPATCH *dispatch, PEPROCESS process, PETHREAD owning, + PSECURITY_DESCRIPTOR descriptor, PIRP irp); + +typedef NTSTATUS (WINAPI *PFN_WSK_CONTROL_CLIENT)(PWSK_CLIENT client, ULONG control, + SIZE_T input_size, void *input, SIZE_T output_size, void *output, SIZE_T *returned, + PIRP irp); + +typedef NTSTATUS (WINAPI *PFN_WSK_GET_ADDRESS_INFO)(PWSK_CLIENT client, PUNICODE_STRING node_name, + PUNICODE_STRING service_name, ULONG name_space, GUID *provider, PADDRINFOEXW hints, + PADDRINFOEXW *result, PEPROCESS process, PETHREAD thread, PIRP irp); + +typedef void (WINAPI *PFN_WSK_FREE_ADDRESS_INFO)(PWSK_CLIENT client, PADDRINFOEXW addrinfo); + +typedef NTSTATUS (WINAPI *PFN_WSK_GET_NAME_INFO)(PWSK_CLIENT client, PSOCKADDR addr, + ULONG length, PUNICODE_STRING node_name, PUNICODE_STRING service_name, + ULONG flags, PEPROCESS process, PETHREAD thread, PIRP irp); + +typedef NTSTATUS (WINAPI* PFN_WSK_RECEIVE_EVENT)(void *context, ULONG flags, + PWSK_DATA_INDICATION indication, SIZE_T size, SIZE_T *accepted); + +typedef struct _WSK_PROVIDER_DISPATCH +{ + USHORT Version; + USHORT Reserved; + PFN_WSK_SOCKET WskSocket; + PFN_WSK_SOCKET_CONNECT WskSocketConnect; + PFN_WSK_CONTROL_CLIENT WskControlClient; + PFN_WSK_GET_ADDRESS_INFO WskGetAddressInfo; + PFN_WSK_FREE_ADDRESS_INFO WskFreeAddressInfo; + PFN_WSK_GET_NAME_INFO WskGetNameInfo; +} WSK_PROVIDER_DISPATCH, *PWSK_PROVIDER_DISPATCH; + +typedef struct _WSK_CLIENT_CONNECTION_DISPATCH +{ + PFN_WSK_RECEIVE_EVENT WskReceiveEvent; + PFN_WSK_DISCONNECT_EVENT WskDisconnectEvent; + PFN_WSK_SEND_BACKLOG_EVENT WskSendBacklogEvent; +} WSK_CLIENT_CONNECTION_DISPATCH, *PWSK_CLIENT_CONNECTION_DISPATCH; + +typedef struct _WSK_CLIENT_DISPATCH +{ + USHORT Version; + USHORT Reserved; + PFN_WSK_CLIENT_EVENT WskClientEvent; +} WSK_CLIENT_DISPATCH, *PWSK_CLIENT_DISPATCH; + +typedef struct _WSK_CLIENT_NPI +{ + void *ClientContext; + const WSK_CLIENT_DISPATCH *Dispatch; +} WSK_CLIENT_NPI, *PWSK_CLIENT_NPI; + +typedef struct _WSK_REGISTRATION +{ + ULONGLONG ReservedRegistrationState; + void *ReservedRegistrationContext; + KSPIN_LOCK ReservedRegistrationLock; +} WSK_REGISTRATION, *PWSK_REGISTRATION; + +typedef struct _WSK_PROVIDER_NPI +{ + PWSK_CLIENT Client; + const WSK_PROVIDER_DISPATCH *Dispatch; +} WSK_PROVIDER_NPI, *PWSK_PROVIDER_NPI; + +#ifdef __cplusplus +} +#endif + +#endif
Signed-off-by: Paul Gofman pgofman@codeweavers.com --- dlls/netio.sys/netio.c | 8 ++++++++ dlls/netio.sys/netio.sys.spec | 2 +- include/ddk/wsk.h | 2 ++ 3 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/dlls/netio.sys/netio.c b/dlls/netio.sys/netio.c index 862b08f0ac..a2cf20563b 100644 --- a/dlls/netio.sys/netio.c +++ b/dlls/netio.sys/netio.c @@ -24,10 +24,18 @@ #include "winioctl.h" #include "winternl.h" #include "ddk/wdm.h" +#include "ddk/wsk.h" #include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(netio);
+NTSTATUS WINAPI WskRegister(PWSK_CLIENT_NPI wsk_client_npi, PWSK_REGISTRATION wsk_registration) +{ + FIXME("wsk_client_npi %p, wsk_registration %p stub.\n", wsk_client_npi, wsk_registration); + + return STATUS_NOT_IMPLEMENTED; +} + static void WINAPI driver_unload(DRIVER_OBJECT *driver) { TRACE("driver %p.\n", driver); diff --git a/dlls/netio.sys/netio.sys.spec b/dlls/netio.sys/netio.sys.spec index 792d600548..90c3db4e7f 100644 --- a/dlls/netio.sys/netio.sys.spec +++ b/dlls/netio.sys/netio.sys.spec @@ -1 +1 @@ -# +@ stdcall WskRegister(ptr ptr) diff --git a/include/ddk/wsk.h b/include/ddk/wsk.h index 7d3ccc9b51..a8b36510d6 100644 --- a/include/ddk/wsk.h +++ b/include/ddk/wsk.h @@ -118,6 +118,8 @@ typedef struct _WSK_PROVIDER_NPI const WSK_PROVIDER_DISPATCH *Dispatch; } WSK_PROVIDER_NPI, *PWSK_PROVIDER_NPI;
+NTSTATUS WINAPI WskRegister(PWSK_CLIENT_NPI wsk_client_npi, PWSK_REGISTRATION wsk_registration); + #ifdef __cplusplus } #endif
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=72177
Your paranoid android.
=== debiant (build log) ===
../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ Task: The win32 Wine build failed
=== debiant (build log) ===
../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ Task: The wow32 Wine build failed
Signed-off-by: Paul Gofman pgofman@codeweavers.com --- dlls/netio.sys/netio.c | 5 +++++ dlls/netio.sys/netio.sys.spec | 1 + include/ddk/wsk.h | 1 + 3 files changed, 7 insertions(+)
diff --git a/dlls/netio.sys/netio.c b/dlls/netio.sys/netio.c index a2cf20563b..d00bbaf054 100644 --- a/dlls/netio.sys/netio.c +++ b/dlls/netio.sys/netio.c @@ -36,6 +36,11 @@ NTSTATUS WINAPI WskRegister(PWSK_CLIENT_NPI wsk_client_npi, PWSK_REGISTRATION ws return STATUS_NOT_IMPLEMENTED; }
+void WINAPI WskDeregister(PWSK_REGISTRATION wsk_registration) +{ + FIXME("wsk_registration %p stub.\n", wsk_registration); +} + static void WINAPI driver_unload(DRIVER_OBJECT *driver) { TRACE("driver %p.\n", driver); diff --git a/dlls/netio.sys/netio.sys.spec b/dlls/netio.sys/netio.sys.spec index 90c3db4e7f..235e827712 100644 --- a/dlls/netio.sys/netio.sys.spec +++ b/dlls/netio.sys/netio.sys.spec @@ -1 +1,2 @@ +@ stdcall WskDeregister(ptr) @ stdcall WskRegister(ptr ptr) diff --git a/include/ddk/wsk.h b/include/ddk/wsk.h index a8b36510d6..61f90c0e79 100644 --- a/include/ddk/wsk.h +++ b/include/ddk/wsk.h @@ -119,6 +119,7 @@ typedef struct _WSK_PROVIDER_NPI } WSK_PROVIDER_NPI, *PWSK_PROVIDER_NPI;
NTSTATUS WINAPI WskRegister(PWSK_CLIENT_NPI wsk_client_npi, PWSK_REGISTRATION wsk_registration); +void WINAPI WskDeregister(PWSK_REGISTRATION wsk_registration);
#ifdef __cplusplus }
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=72178
Your paranoid android.
=== debiant (build log) ===
../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ Task: The win32 Wine build failed
=== debiant (build log) ===
../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ Task: The wow32 Wine build failed
Signed-off-by: Paul Gofman pgofman@codeweavers.com --- dlls/netio.sys/netio.c | 9 +++++++++ dlls/netio.sys/netio.sys.spec | 1 + include/ddk/wsk.h | 2 ++ 3 files changed, 12 insertions(+)
diff --git a/dlls/netio.sys/netio.c b/dlls/netio.sys/netio.c index d00bbaf054..b5bc4517fb 100644 --- a/dlls/netio.sys/netio.c +++ b/dlls/netio.sys/netio.c @@ -29,6 +29,15 @@
WINE_DEFAULT_DEBUG_CHANNEL(netio);
+NTSTATUS WINAPI WskCaptureProviderNPI(PWSK_REGISTRATION wsk_registration, ULONG wait_timeout, + PWSK_PROVIDER_NPI wsk_provider_npi) +{ + FIXME("wsk_registration %p, wait_timeout %u, wsk_provider_npi %p stub.\n", + wsk_registration, wait_timeout, wsk_provider_npi); + + return STATUS_NOT_IMPLEMENTED; +} + NTSTATUS WINAPI WskRegister(PWSK_CLIENT_NPI wsk_client_npi, PWSK_REGISTRATION wsk_registration) { FIXME("wsk_client_npi %p, wsk_registration %p stub.\n", wsk_client_npi, wsk_registration); diff --git a/dlls/netio.sys/netio.sys.spec b/dlls/netio.sys/netio.sys.spec index 235e827712..2ec967d04b 100644 --- a/dlls/netio.sys/netio.sys.spec +++ b/dlls/netio.sys/netio.sys.spec @@ -1,2 +1,3 @@ +@ stdcall WskCaptureProviderNPI(ptr long ptr) @ stdcall WskDeregister(ptr) @ stdcall WskRegister(ptr ptr) diff --git a/include/ddk/wsk.h b/include/ddk/wsk.h index 61f90c0e79..ed7514c5ba 100644 --- a/include/ddk/wsk.h +++ b/include/ddk/wsk.h @@ -120,6 +120,8 @@ typedef struct _WSK_PROVIDER_NPI
NTSTATUS WINAPI WskRegister(PWSK_CLIENT_NPI wsk_client_npi, PWSK_REGISTRATION wsk_registration); void WINAPI WskDeregister(PWSK_REGISTRATION wsk_registration); +NTSTATUS WINAPI WskCaptureProviderNPI(PWSK_REGISTRATION wsk_registration, ULONG wait_timeout, + PWSK_PROVIDER_NPI wsk_provider_npi);
#ifdef __cplusplus }
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=72179
Your paranoid android.
=== debiant (build log) ===
../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ Task: The win32 Wine build failed
=== debiant (build log) ===
../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ Task: The wow32 Wine build failed
Signed-off-by: Paul Gofman pgofman@codeweavers.com --- dlls/netio.sys/netio.c | 5 +++++ dlls/netio.sys/netio.sys.spec | 1 + include/ddk/wsk.h | 1 + 3 files changed, 7 insertions(+)
diff --git a/dlls/netio.sys/netio.c b/dlls/netio.sys/netio.c index b5bc4517fb..3fac5df0e1 100644 --- a/dlls/netio.sys/netio.c +++ b/dlls/netio.sys/netio.c @@ -38,6 +38,11 @@ NTSTATUS WINAPI WskCaptureProviderNPI(PWSK_REGISTRATION wsk_registration, ULONG return STATUS_NOT_IMPLEMENTED; }
+void WINAPI WskReleaseProviderNPI(PWSK_REGISTRATION wsk_registration) +{ + FIXME("wsk_registration %p stub.\n", wsk_registration); +} + NTSTATUS WINAPI WskRegister(PWSK_CLIENT_NPI wsk_client_npi, PWSK_REGISTRATION wsk_registration) { FIXME("wsk_client_npi %p, wsk_registration %p stub.\n", wsk_client_npi, wsk_registration); diff --git a/dlls/netio.sys/netio.sys.spec b/dlls/netio.sys/netio.sys.spec index 2ec967d04b..f6de07bba7 100644 --- a/dlls/netio.sys/netio.sys.spec +++ b/dlls/netio.sys/netio.sys.spec @@ -1,3 +1,4 @@ @ stdcall WskCaptureProviderNPI(ptr long ptr) @ stdcall WskDeregister(ptr) @ stdcall WskRegister(ptr ptr) +@ stdcall WskReleaseProviderNPI(ptr) diff --git a/include/ddk/wsk.h b/include/ddk/wsk.h index ed7514c5ba..781a31cf60 100644 --- a/include/ddk/wsk.h +++ b/include/ddk/wsk.h @@ -122,6 +122,7 @@ NTSTATUS WINAPI WskRegister(PWSK_CLIENT_NPI wsk_client_npi, PWSK_REGISTRATION ws void WINAPI WskDeregister(PWSK_REGISTRATION wsk_registration); NTSTATUS WINAPI WskCaptureProviderNPI(PWSK_REGISTRATION wsk_registration, ULONG wait_timeout, PWSK_PROVIDER_NPI wsk_provider_npi); +void WINAPI WskReleaseProviderNPI(PWSK_REGISTRATION wsk_registration);
#ifdef __cplusplus }
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=72180
Your paranoid android.
=== debiant (build log) ===
../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ Task: The win32 Wine build failed
=== debiant (build log) ===
../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ Task: The wow32 Wine build failed
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=72176
Your paranoid android.
=== debiant (build log) ===
../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ Task: The win32 Wine build failed
=== debiant (build log) ===
../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ ../../../wine/include/windef.h:116:24: error: unknown type name ‘va_list’ Task: The wow32 Wine build failed