Module: wine Branch: master Commit: 82ed15f97599a09ec35658f770fbf6f740ffa4d5 URL: https://gitlab.winehq.org/wine/wine/-/commit/82ed15f97599a09ec35658f770fbf6f...
Author: Hans Leidekker hans@codeweavers.com Date: Mon Feb 6 16:40:49 2023 +0100
wpcap: Implement pcap_bufsize().
---
dlls/wpcap/unixlib.c | 7 +++++++ dlls/wpcap/unixlib.h | 6 ++++++ dlls/wpcap/wpcap.c | 11 +++++++++++ dlls/wpcap/wpcap.spec | 2 +- 4 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/dlls/wpcap/unixlib.c b/dlls/wpcap/unixlib.c index c65a13a1c15..ed753c0d6fd 100644 --- a/dlls/wpcap/unixlib.c +++ b/dlls/wpcap/unixlib.c @@ -55,6 +55,12 @@ static NTSTATUS wrap_breakloop( void *args ) return STATUS_SUCCESS; }
+static NTSTATUS wrap_bufsize( void *args ) +{ + const struct bufsize_params *params = args; + return pcap_bufsize( (pcap_t *)(ULONG_PTR)params->handle ); +} + static NTSTATUS wrap_can_set_rfmon( void *args ) { const struct can_set_rfmon_params *params = args; @@ -436,6 +442,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] = { wrap_activate, wrap_breakloop, + wrap_bufsize, wrap_can_set_rfmon, wrap_close, wrap_compile, diff --git a/dlls/wpcap/unixlib.h b/dlls/wpcap/unixlib.h index 403158af978..740be3ad12e 100644 --- a/dlls/wpcap/unixlib.h +++ b/dlls/wpcap/unixlib.h @@ -75,6 +75,11 @@ struct breakloop_params UINT64 handle; };
+struct bufsize_params +{ + UINT64 handle; +}; + struct can_set_rfmon_params { UINT64 handle; @@ -322,6 +327,7 @@ enum pcap_funcs { unix_activate, unix_breakloop, + unix_bufsize, unix_can_set_rfmon, unix_close, unix_compile, diff --git a/dlls/wpcap/wpcap.c b/dlls/wpcap/wpcap.c index 5c25e4a2708..f3b203f983d 100644 --- a/dlls/wpcap/wpcap.c +++ b/dlls/wpcap/wpcap.c @@ -108,6 +108,17 @@ void CDECL pcap_breakloop( struct pcap *pcap ) PCAP_CALL( breakloop, ¶ms ); }
+int CDECL pcap_bufsize( struct pcap *pcap ) +{ + struct bufsize_params params; + + TRACE( "%p\n", pcap ); + + if (!pcap) return 0; + params.handle = pcap->handle; + return PCAP_CALL( bufsize, ¶ms ); +} + int CDECL pcap_can_set_rfmon( struct pcap *pcap ) { struct can_set_rfmon_params params; diff --git a/dlls/wpcap/wpcap.spec b/dlls/wpcap/wpcap.spec index 5c26ad0c24e..7a59dda3caf 100644 --- a/dlls/wpcap/wpcap.spec +++ b/dlls/wpcap/wpcap.spec @@ -4,7 +4,7 @@ @ stub bpf_validate @ stub eproto_db @ cdecl pcap_activate(ptr) -@ stub pcap_bufsize +@ cdecl pcap_bufsize(ptr) @ cdecl pcap_breakloop(ptr) @ cdecl pcap_can_set_rfmon(ptr) @ cdecl pcap_close(ptr)