internet: add win32-internet.h internet header wrapper

Undefines colliding symbols defined in winsock2.h.
This commit is contained in:
Gabriel Ferreira
2022-10-08 21:21:53 -03:00
parent 19433392de
commit a29d8ad552
2 changed files with 28 additions and 0 deletions

View File

@@ -253,6 +253,13 @@ set(header_files
model/windowed-filter.h
)
set(private_header_files)
if(WIN32)
set(private_header_files
model/win32-internet.h
)
endif()
set(test_sources
test/global-route-manager-impl-test-suite.cc
test/icmp-test.cc
@@ -333,6 +340,7 @@ build_lib(
LIBNAME internet
SOURCE_FILES ${source_files}
HEADER_FILES ${header_files}
PRIVATE_HEADER_FILES ${private_header_files}
LIBRARIES_TO_LINK
${libnetwork}
${libcore}

View File

@@ -0,0 +1,20 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
#ifndef WIN32_INTERNET_H
#define WIN32_INTERNET_H
/* Winsock2.h is a cursed header that
* causes multiple name collisions
*
* We use this private header to prevent them
*/
#include <winsock2.h>
#undef GetObject
#undef SetPort
#undef SendMessage
#undef CreateFile
#undef Rectangle
#undef interface
#endif // WIN32_INTERNET_H