Skip to content

Commit 737679c

Browse files
committed
Windows compatibility fixes
1 parent 4b06e49 commit 737679c

7 files changed

Lines changed: 271 additions & 488 deletions

File tree

CMakeLists.txt

Lines changed: 45 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,68 @@
11
cmake_minimum_required(VERSION 3.15)
22

3-
# This should go before project declaration.
4-
if (WIN32)
3+
# Set the toolchain file for vcpkg on Windows.
4+
if(WIN32)
55
set(CMAKE_TOOLCHAIN_FILE "$ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake")
6-
endif ()
6+
endif()
77

88
project(Rtl8812auNet)
99

10-
# the `pkg_check_modules` function is created with this call
10+
# Find pkg-config and then use it to locate libusb.
1111
find_package(PkgConfig REQUIRED)
12-
13-
# this calls create special `PkgConfig::LIBUSB` variables
14-
pkg_check_modules(LIBUSB REQUIRED IMPORTED_TARGET libusb-1.0)
12+
pkg_check_modules(libusb REQUIRED IMPORTED_TARGET libusb-1.0)
1513

1614
add_library(WiFiDriver
17-
src/logger.h
15+
src/logger.h
1816

19-
hal/Hal8812PhyReg.h
20-
hal/Hal8812PwrSeq.c
21-
hal/Hal8812PwrSeq.h
22-
hal/basic_types.h
23-
hal/hal8812a_fw.c
24-
hal/hal8812a_fw.h
25-
hal/hal_com_reg.h
26-
hal/rtl8812a_hal.h
27-
hal/rtl8812a_recv.h
28-
hal/rtl8812a_spec.h
17+
hal/Hal8812PhyReg.h
18+
hal/Hal8812PwrSeq.c
19+
hal/Hal8812PwrSeq.h
20+
hal/basic_types.h
21+
hal/hal8812a_fw.c
22+
hal/hal8812a_fw.h
23+
hal/hal_com_reg.h
24+
hal/rtl8812a_hal.h
25+
hal/rtl8812a_recv.h
26+
hal/rtl8812a_spec.h
2927

30-
src/ieee80211_radiotap.h
31-
src/EepromManager.cpp
32-
src/EepromManager.h
33-
src/Firmware.h
34-
src/FirmwareManager.cpp
35-
src/FirmwareManager.h
36-
src/FrameParser.cpp
37-
src/FrameParser.h
38-
src/HalModule.cpp
39-
src/HalModule.h
40-
src/ParsedRadioPacket.cpp
41-
src/RadioManagementModule.cpp
42-
src/RadioManagementModule.h
43-
src/Radiotap.c
44-
src/Rtl8812aDevice.cpp
45-
src/Rtl8812aDevice.h
46-
src/RtlUsbAdapter.cpp
47-
src/RtlUsbAdapter.h
48-
src/SelectedChannel.h
49-
src/WiFiDriver.cpp
50-
src/WiFiDriver.h
51-
src/registry_priv.h
28+
src/ieee80211_radiotap.h
29+
src/EepromManager.cpp
30+
src/EepromManager.h
31+
src/Firmware.h
32+
src/FirmwareManager.cpp
33+
src/FirmwareManager.h
34+
src/FrameParser.cpp
35+
src/FrameParser.h
36+
src/HalModule.cpp
37+
src/HalModule.h
38+
src/ParsedRadioPacket.cpp
39+
src/RadioManagementModule.cpp
40+
src/RadioManagementModule.h
41+
src/Radiotap.c
42+
src/Rtl8812aDevice.cpp
43+
src/Rtl8812aDevice.h
44+
src/RtlUsbAdapter.cpp
45+
src/RtlUsbAdapter.h
46+
src/SelectedChannel.h
47+
src/WiFiDriver.cpp
48+
src/WiFiDriver.h
49+
src/registry_priv.h
5250
)
5351

5452
target_compile_features(WiFiDriver PUBLIC cxx_std_20)
5553

56-
target_link_libraries(WiFiDriver PUBLIC
57-
PkgConfig::LIBUSB
58-
)
54+
# Link WiFiDriver with libusb as found via pkg-config.
55+
target_link_libraries(WiFiDriver PUBLIC PkgConfig::libusb)
5956

6057
target_include_directories(WiFiDriver PUBLIC hal)
6158
target_include_directories(WiFiDriver PUBLIC src)
6259

6360
add_executable(WiFiDriverDemo
64-
demo/main.cpp)
65-
61+
demo/main.cpp
62+
)
6663
target_link_libraries(WiFiDriverDemo PUBLIC WiFiDriver)
6764

6865
add_executable(WiFiDriverTxDemo
69-
txdemo/main.cpp)
70-
target_link_libraries(WiFiDriverTxDemo PUBLIC WiFiDriver)
66+
txdemo/main.cpp
67+
)
68+
target_link_libraries(WiFiDriverTxDemo PUBLIC WiFiDriver PRIVATE PkgConfig::libusb)

src/FrameParser.h

Lines changed: 56 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,7 @@ struct pkt_attrib
374374
u8 rtsen;
375375
u8 cts2self;
376376
union Keytype dot11tkiptxmickey;
377-
/* union Keytype dot11tkiprxmickey; */
377+
/* union Keytype dot11tkiprxmickey; */
378378
union Keytype dot118021x_UncstKey;
379379

380380
// #ifdef CONFIG_TDLS
@@ -400,6 +400,9 @@ struct pkt_attrib
400400
u8 inject; /* == a5 if injected */
401401
};
402402

403+
#if defined(_MSC_VER)
404+
#pragma pack(push, 1)
405+
#endif
403406
struct rtw_ieee80211_hdr
404407
{
405408
u16 frame_ctl;
@@ -408,9 +411,18 @@ struct rtw_ieee80211_hdr
408411
u8 addr2[ETH_ALEN];
409412
u8 addr3[ETH_ALEN];
410413
u16 seq_ctl;
411-
u8 addr4[ETH_ALEN];
412-
} __attribute__((packed));
414+
}
415+
#if !defined(_MSC_VER)
416+
__attribute__((packed))
417+
#endif
418+
;
419+
#if defined(_MSC_VER)
420+
#pragma pack(pop)
421+
#endif
413422

423+
#if defined(_MSC_VER)
424+
#pragma pack(push, 1)
425+
#endif
414426
struct rtw_ieee80211_hdr_3addr
415427
{
416428
u16 frame_ctl;
@@ -419,8 +431,18 @@ struct rtw_ieee80211_hdr_3addr
419431
u8 addr2[ETH_ALEN];
420432
u8 addr3[ETH_ALEN];
421433
u16 seq_ctl;
422-
} __attribute__((packed));
434+
}
435+
#if !defined(_MSC_VER)
436+
__attribute__((packed))
437+
#endif
438+
;
439+
#if defined(_MSC_VER)
440+
#pragma pack(pop)
441+
#endif
423442

443+
#if defined(_MSC_VER)
444+
#pragma pack(push, 1)
445+
#endif
424446
struct rtw_ieee80211_hdr_qos
425447
{
426448
u16 frame_ctl;
@@ -431,8 +453,18 @@ struct rtw_ieee80211_hdr_qos
431453
u16 seq_ctl;
432454
u8 addr4[ETH_ALEN];
433455
u16 qc;
434-
} __attribute__((packed));
456+
}
457+
#if !defined(_MSC_VER)
458+
__attribute__((packed))
459+
#endif
460+
;
461+
#if defined(_MSC_VER)
462+
#pragma pack(pop)
463+
#endif
435464

465+
#if defined(_MSC_VER)
466+
#pragma pack(push, 1)
467+
#endif
436468
struct rtw_ieee80211_hdr_3addr_qos
437469
{
438470
u16 frame_ctl;
@@ -442,16 +474,33 @@ struct rtw_ieee80211_hdr_3addr_qos
442474
u8 addr3[ETH_ALEN];
443475
u16 seq_ctl;
444476
u16 qc;
445-
} __attribute__((packed));
477+
}
478+
#if !defined(_MSC_VER)
479+
__attribute__((packed))
480+
#endif
481+
;
482+
#if defined(_MSC_VER)
483+
#pragma pack(pop)
484+
#endif
446485

486+
#if defined(_MSC_VER)
487+
#pragma pack(push, 1)
488+
#endif
447489
struct eapol
448490
{
449491
u8 snap[6];
450492
u16 ethertype;
451493
u8 version;
452494
u8 type;
453495
u16 length;
454-
} __attribute__((packed));
496+
}
497+
#if !defined(_MSC_VER)
498+
__attribute__((packed))
499+
#endif
500+
;
501+
#if defined(_MSC_VER)
502+
#pragma pack(pop)
503+
#endif
455504

456505
struct tx_desc
457506
{

src/HalModule.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
#include "rtl8812a_hal.h"
88
#include "rtl8812a_spec.h"
99

10+
#include <chrono>
1011
#include <memory>
1112
#include <thread>
1213

src/RadioManagementModule.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#include "Hal8812PhyReg.h"
33
#include "registry_priv.h"
44

5+
#include <chrono>
56
#include <map>
67
#include <thread>
78
#include <vector>

0 commit comments

Comments
 (0)