[Kernel] Fix macro collisions with macOS system headers

Rename IPPROTO_TCP/UDP/VDP enum values to XE_IPPROTO_* to avoid
collision with macOS <netinet/in.h> macros. Add #undef WAIT_ANY
guard for macOS <sys/wait.h> macro.
This commit is contained in:
Herman S.
2026-03-27 00:06:53 +09:00
parent 46613f1126
commit 8cd7f69cbc
3 changed files with 8 additions and 5 deletions

View File

@@ -70,9 +70,9 @@ X_STATUS XSocket::Initialize(AddressFamily af, Type type, Protocol proto) {
type_ = type; type_ = type;
proto_ = proto; proto_ = proto;
if (proto == Protocol::IPPROTO_VDP) { if (proto == Protocol::XE_IPPROTO_VDP) {
// VDP is a layer on top of UDP. // VDP is a layer on top of UDP.
proto = Protocol::IPPROTO_UDP; proto = Protocol::XE_IPPROTO_UDP;
} }
native_handle_ = socket(af, type, proto); native_handle_ = socket(af, type, proto);

View File

@@ -90,13 +90,13 @@ class XSocket : public XObject {
}; };
enum Protocol { enum Protocol {
IPPROTO_TCP = 6, XE_IPPROTO_TCP = 6,
IPPROTO_UDP = 17, XE_IPPROTO_UDP = 17,
// LIVE Voice and Data Protocol // LIVE Voice and Data Protocol
// https://blog.csdn.net/baozi3026/article/details/4277227 // https://blog.csdn.net/baozi3026/article/details/4277227
// Format: [cbGameData][GameData(encrypted)][VoiceData(unencrypted)] // Format: [cbGameData][GameData(encrypted)][VoiceData(unencrypted)]
IPPROTO_VDP = 254, XE_IPPROTO_VDP = 254,
}; };
XSocket(KernelState* kernel_state); XSocket(KernelState* kernel_state);

View File

@@ -222,6 +222,9 @@ struct X_KPCR {
uint8_t unk_2AC[0x2C]; // 0x2AC uint8_t unk_2AC[0x2C]; // 0x2AC
}; };
#ifdef WAIT_ANY
#undef WAIT_ANY
#endif
enum : uint16_t { enum : uint16_t {
WAIT_ALL = 0, WAIT_ALL = 0,
WAIT_ANY = 1, WAIT_ANY = 1,