CC source-windivert.o source-windivert.c: In function 'WinDivertRegisterQueue': source-windivert.c:267:18: error: implicit declaration of function 'WinDivertHelperCheckFilter'; did you mean 'WinDivertHelperEvalFilter'? [-Werror=implicit-function-declaration] 267 | bool valid = WinDivertHelperCheckFilter(filter_str, layer, &error_str, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ | WinDivertHelperEvalFilter source-windivert.c: In function 'WinDivertRecvHelper': source-windivert.c:461:49: warning: passing argument 4 of 'WinDivertRecv' from incompatible pointer type [-Wincompatible-pointer-types] 461 | MAX_PAYLOAD_SIZE, &p->windivert_v.addr, &pktlen); | ^~~~~~~~~~~~~~~~~~~~ | | | WINDIVERT_ADDRESS * In file included from source-windivert.h:31, from decode.h:70, from detect-engine-alert.h:28, from suricata-common.h:504, from source-windivert.c:28: C:/dev/WinDivert-2.2.0-A/include/windivert.h:242:23: note: expected 'UINT *' {aka 'unsigned int *'} but argument is of type 'WINDIVERT_ADDRESS *' 242 | __out_opt UINT *pRecvLen, | ~~~~~~^~~~~~~~ source-windivert.c:461:71: warning: passing argument 5 of 'WinDivertRecv' from incompatible pointer type [-Wincompatible-pointer-types] 461 | MAX_PAYLOAD_SIZE, &p->windivert_v.addr, &pktlen); | ^~~~~~~ | | | uint32_t * {aka unsigned int *} In file included from source-windivert.h:31, from decode.h:70, from detect-engine-alert.h:28, from suricata-common.h:504, from source-windivert.c:28: C:/dev/WinDivert-2.2.0-A/include/windivert.h:243:36: note: expected 'WINDIVERT_ADDRESS *' but argument is of type 'uint32_t *' {aka 'unsigned int *'} 243 | __out_opt WINDIVERT_ADDRESS *pAddr); | ~~~~~~~~~~~~~~~~~~~^~~~~ source-windivert.c:465:33: warning: passing argument 4 of 'WinDivertRecv' from incompatible pointer type [-Wincompatible-pointer-types] 465 | &p->windivert_v.addr, &pktlen); | ^~~~~~~~~~~~~~~~~~~~ | | | WINDIVERT_ADDRESS * In file included from source-windivert.h:31, from decode.h:70, from detect-engine-alert.h:28, from suricata-common.h:504, from source-windivert.c:28: C:/dev/WinDivert-2.2.0-A/include/windivert.h:242:23: note: expected 'UINT *' {aka 'unsigned int *'} but argument is of type 'WINDIVERT_ADDRESS *' 242 | __out_opt UINT *pRecvLen, | ~~~~~~^~~~~~~~ source-windivert.c:465:55: warning: passing argument 5 of 'WinDivertRecv' from incompatible pointer type [-Wincompatible-pointer-types] 465 | &p->windivert_v.addr, &pktlen); | ^~~~~~~ | | | uint32_t * {aka unsigned int *} In file included from source-windivert.h:31, from decode.h:70, from detect-engine-alert.h:28, from suricata-common.h:504, from source-windivert.c:28: C:/dev/WinDivert-2.2.0-A/include/windivert.h:243:36: note: expected 'WINDIVERT_ADDRESS *' but argument is of type 'uint32_t *' {aka 'unsigned int *'} 243 | __out_opt WINDIVERT_ADDRESS *pAddr); | ~~~~~~~~~~~~~~~~~~~^~~~~ source-windivert.c: In function 'WinDivertIfaceMatchFilter': source-windivert.c:633:12: error: 'WINDIVERT_ADDRESS' has no member named 'IfIdx' 633 | if_addr.IfIdx = if_index; | ^ source-windivert.c:638:39: warning: passing argument 3 of 'WinDivertHelperEvalFilter' makes integer from pointer without a cast [-Wint-conversion] 638 | dummy, sizeof(dummy), &if_addr); | ^~~~~ | | | uint8_t * {aka unsigned char *} In file included from source-windivert.h:31, from decode.h:70, from detect-engine-alert.h:28, from suricata-common.h:504, from source-windivert.c:28: C:/dev/WinDivert-2.2.0-A/include/windivert.h:580:22: note: expected 'UINT' {aka 'unsigned int'} but argument is of type 'uint8_t *' {aka 'unsigned char *'} 580 | __in UINT packetLen, | ~~~~~^~~~~~~~~ source-windivert.c:638:46: warning: passing argument 4 of 'WinDivertHelperEvalFilter' makes pointer from integer without a cast [-Wint-conversion] 638 | dummy, sizeof(dummy), &if_addr); | ^~~~~~~~~~~~~ | | | long long unsigned int In file included from source-windivert.h:31, from decode.h:70, from detect-engine-alert.h:28, from suricata-common.h:504, from source-windivert.c:28: C:/dev/WinDivert-2.2.0-A/include/windivert.h:581:42: note: expected 'const WINDIVERT_ADDRESS *' but argument is of type 'long long unsigned int' 581 | __in const WINDIVERT_ADDRESS *pAddr); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ source-windivert.c:637:13: error: too many arguments to function 'WinDivertHelperEvalFilter' 637 | match = WinDivertHelperEvalFilter(filter_string, WINDIVERT_LAYER_NETWORK, | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from source-windivert.h:31, from decode.h:70, from detect-engine-alert.h:28, from suricata-common.h:504, from source-windivert.c:28: C:/dev/WinDivert-2.2.0-A/include/windivert.h:577:22: note: declared here 577 | WINDIVERTEXPORT BOOL WinDivertHelperEvalFilter( | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from suricata-common.h:500, from source-windivert.c:28: source-windivert.c: In function 'ReceiveWinDivertThreadExitStats': source-windivert.c:721:15: warning: unknown conversion type character 'l' in format [-Wformat=] 721 | SCLogInfo("(%s) Packets %" PRIu32 ", Bytes %" PRIu64 ", Errors %" PRIu32 "", | ^~~~~~~~~~~~~~~~ util-debug.h:218:43: note: in definition of macro 'SCLogInfo' 218 | __FILE__, __FUNCTION__, __LINE__, __VA_ARGS__) | ^~~~~~~~~~~ source-windivert.c:721:15: warning: format '%u' expects argument of type 'unsigned int', but argument 8 has type 'uint64_t' {aka 'long long unsigned int'} [-Wformat=] 721 | SCLogInfo("(%s) Packets %" PRIu32 ", Bytes %" PRIu64 ", Errors %" PRIu32 "", | ^~~~~~~~~~~~~~~~ 722 | tv->name, wd_qv->pkts, wd_qv->bytes, wd_qv->errs); | ~~~~~~~~~~~~ | | | uint64_t {aka long long unsigned int} util-debug.h:218:43: note: in definition of macro 'SCLogInfo' 218 | __FILE__, __FUNCTION__, __LINE__, __VA_ARGS__) | ^~~~~~~~~~~ source-windivert.c:721:15: warning: too many arguments for format [-Wformat-extra-args] 721 | SCLogInfo("(%s) Packets %" PRIu32 ", Bytes %" PRIu64 ", Errors %" PRIu32 "", | ^~~~~~~~~~~~~~~~ util-debug.h:218:43: note: in definition of macro 'SCLogInfo' 218 | __FILE__, __FUNCTION__, __LINE__, __VA_ARGS__) | ^~~~~~~~~~~ source-windivert.c: In function 'WinDivertVerdictHelper': source-windivert.c:803:50: warning: passing argument 4 of 'WinDivertSend' from incompatible pointer type [-Wincompatible-pointer-types] 803 | GET_PKT_LEN(p), &p->windivert_v.addr, NULL); | ^~~~~~~~~~~~~~~~~~~~ | | | WINDIVERT_ADDRESS * In file included from source-windivert.h:31, from decode.h:70, from detect-engine-alert.h:28, from suricata-common.h:504, from source-windivert.c:28: C:/dev/WinDivert-2.2.0-A/include/windivert.h:265:23: note: expected 'UINT *' {aka 'unsigned int *'} but argument is of type 'WINDIVERT_ADDRESS *' 265 | __out_opt UINT *pSendLen, | ~~~~~~^~~~~~~~