a7d7d0f253
Add the CMake build for the Swift + C++ macOS port, mirroring the refix layout: deps/ modules (Platform, Flags, Sanitizers, FindUnity), per-module static libraries (usb, auth, mt76, gip, hid, api), a Swift app entry point with a pure C bridge header, and a Unity test suite behind BUILD_TESTING. Swift requires the Ninja or Xcode generator; a guard in CMakeLists.txt rejects anything else. Co-Authored-By: qwen (qwen/qwen3.8-27b@q2_k_xl): scaffolded CMake build + tests
26 lines
970 B
C++
26 lines
970 B
C++
#pragma once
|
|
|
|
// ==============================================================================
|
|
// USB transport (IOKit / IOUSBFamily)
|
|
// ==============================================================================
|
|
// Owns the physical Xbox Wireless Dongle:
|
|
// VID 0x045E, PIDs 0x02E6 (old), 0x02FE (new), 0x02F9 (ASUS/Lenovo built-in),
|
|
// 0x091E (Surface Book 2).
|
|
//
|
|
// Port target: medusalix/xone transport/dongle.c + transport/mt76.c USB calls.
|
|
// Linux usb_control_msg()/usb_bulk_msg() map to IOUSBDeviceInterface
|
|
// DeviceRequest / IOUSBInterfaceInterface WritePipe+ReadPipe.
|
|
// ==============================================================================
|
|
|
|
#include <cstdint>
|
|
|
|
namespace xone::usb {
|
|
|
|
// Probe for a connected dongle and claim its WLAN interface
|
|
// (bInterfaceNumber 1).
|
|
// TODO(phase 2): IOKit implementation (IOServiceMatching, interface open,
|
|
// EP 0x04 bulk in/out + EP 0x05 interrupt in).
|
|
auto probe() -> bool;
|
|
|
|
} // namespace xone::usb
|