[Kernel] Rename sin_zero due to #define on Android
This commit is contained in:
parent
44847abb98
commit
9d992e3d06
|
@ -950,7 +950,7 @@ dword_result_t NetDll_recvfrom(dword_t caller, dword_t socket_handle,
|
||||||
from_ptr->sin_family = native_from.sin_family;
|
from_ptr->sin_family = native_from.sin_family;
|
||||||
from_ptr->sin_port = native_from.sin_port;
|
from_ptr->sin_port = native_from.sin_port;
|
||||||
from_ptr->sin_addr = native_from.sin_addr;
|
from_ptr->sin_addr = native_from.sin_addr;
|
||||||
memset(from_ptr->sin_zero, 0, 8);
|
std::memset(from_ptr->x_sin_zero, 0, sizeof(from_ptr->x_sin_zero));
|
||||||
}
|
}
|
||||||
if (fromlen_ptr) {
|
if (fromlen_ptr) {
|
||||||
*fromlen_ptr = native_fromlen;
|
*fromlen_ptr = native_fromlen;
|
||||||
|
|
|
@ -9,6 +9,8 @@
|
||||||
|
|
||||||
#include "src/xenia/kernel/xsocket.h"
|
#include "src/xenia/kernel/xsocket.h"
|
||||||
|
|
||||||
|
#include <cstring>
|
||||||
|
|
||||||
#include "xenia/base/platform.h"
|
#include "xenia/base/platform.h"
|
||||||
#include "xenia/kernel/kernel_state.h"
|
#include "xenia/kernel/kernel_state.h"
|
||||||
#include "xenia/kernel/xam/xam_module.h"
|
#include "xenia/kernel/xam/xam_module.h"
|
||||||
|
@ -200,7 +202,7 @@ int XSocket::RecvFrom(uint8_t* buf, uint32_t buf_len, uint32_t flags,
|
||||||
from->sin_family = nfrom.sin_family;
|
from->sin_family = nfrom.sin_family;
|
||||||
from->sin_addr = ntohl(nfrom.sin_addr.s_addr); // BE <- BE
|
from->sin_addr = ntohl(nfrom.sin_addr.s_addr); // BE <- BE
|
||||||
from->sin_port = nfrom.sin_port;
|
from->sin_port = nfrom.sin_port;
|
||||||
memset(&from->sin_zero, 0, 8);
|
std::memset(from->x_sin_zero, 0, sizeof(from->x_sin_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (from_len) {
|
if (from_len) {
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
#ifndef XENIA_KERNEL_XSOCKET_H_
|
#ifndef XENIA_KERNEL_XSOCKET_H_
|
||||||
#define XENIA_KERNEL_XSOCKET_H_
|
#define XENIA_KERNEL_XSOCKET_H_
|
||||||
|
|
||||||
|
#include <cstring>
|
||||||
#include <queue>
|
#include <queue>
|
||||||
|
|
||||||
#include "xenia/base/byte_order.h"
|
#include "xenia/base/byte_order.h"
|
||||||
|
@ -42,7 +43,8 @@ struct XSOCKADDR_IN {
|
||||||
// Always big-endian!
|
// Always big-endian!
|
||||||
xe::be<uint16_t> sin_port;
|
xe::be<uint16_t> sin_port;
|
||||||
xe::be<uint32_t> sin_addr;
|
xe::be<uint32_t> sin_addr;
|
||||||
char sin_zero[8];
|
// sin_zero is defined as __pad on Android, so prefixed here.
|
||||||
|
char x_sin_zero[8];
|
||||||
};
|
};
|
||||||
|
|
||||||
// Xenia native sockaddr_in
|
// Xenia native sockaddr_in
|
||||||
|
@ -53,7 +55,7 @@ struct N_XSOCKADDR_IN {
|
||||||
sin_family = other.sin_family;
|
sin_family = other.sin_family;
|
||||||
sin_port = other.sin_port;
|
sin_port = other.sin_port;
|
||||||
sin_addr = other.sin_addr;
|
sin_addr = other.sin_addr;
|
||||||
std::memset(sin_zero, 0, 8);
|
std::memset(x_sin_zero, 0, sizeof(x_sin_zero));
|
||||||
|
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
@ -61,7 +63,8 @@ struct N_XSOCKADDR_IN {
|
||||||
uint16_t sin_family;
|
uint16_t sin_family;
|
||||||
xe::be<uint16_t> sin_port;
|
xe::be<uint16_t> sin_port;
|
||||||
xe::be<uint32_t> sin_addr;
|
xe::be<uint32_t> sin_addr;
|
||||||
char sin_zero[8];
|
// sin_zero is defined as __pad on Android, so prefixed here.
|
||||||
|
char x_sin_zero[8];
|
||||||
};
|
};
|
||||||
|
|
||||||
class XSocket : public XObject {
|
class XSocket : public XObject {
|
||||||
|
|
Loading…
Reference in New Issue