summaryrefslogtreecommitdiff
path: root/include/pso/TSocket.h
diff options
context:
space:
mode:
authormrb0nk500 <b0nk@b0nk.xyz>2023-03-06 16:19:36 -0400
committermrb0nk500 <b0nk@b0nk.xyz>2023-03-06 16:19:36 -0400
commit06d75ece6452a33f11afd7e5ec3dd1f916c8583f (patch)
tree6a3b5d45eee8d64630a647d04a43638ebef91605 /include/pso/TSocket.h
parent306a76cb444102bc207ee16e8a65aa9e90bbd37a (diff)
TProtocol: Match both `parse_packet()`, and `run_task()`
Diffstat (limited to 'include/pso/TSocket.h')
-rw-r--r--include/pso/TSocket.h23
1 files changed, 13 insertions, 10 deletions
diff --git a/include/pso/TSocket.h b/include/pso/TSocket.h
index c55dd08..6f79e13 100644
--- a/include/pso/TSocket.h
+++ b/include/pso/TSocket.h
@@ -13,15 +13,18 @@ union ipv4_addr {
TArray<u8, 4> addr_bytes;
};
-class TSocket : private TObject {
-private:
+extern u16 to_be_uint16_t(u16 val);
+extern u16 to_le_uint16_t(u16 val);
+
+class TSocket : public TObject {
+public:
ipv4_addr m_dst_addr;
u16 m_dst_port;
u16 m_src_port;
ipv4_addr m_src_addr;
s16 m_sock_fd;
- u8 m_sock_flags;
- bool m_buffer_cleared;
+ char m_is_invalid_packet;
+ char m_buffer_cleared;
s16 m_size;
s16 m_buffer_offset;
u32 m_unused;
@@ -49,19 +52,19 @@ public:
int is_empty();
void set_flags(u8 flags) {
- m_sock_flags |= flags;
+ m_is_invalid_packet |= flags;
};
void clear_flags(u8 flags) {
- m_sock_flags &= ~flags;
+ m_is_invalid_packet &= ~flags;
};
void toggle_flags(u8 flags) {
- m_sock_flags ^= flags;
+ m_is_invalid_packet ^= flags;
};
u8 get_flags(u8 flags) {
- return m_sock_flags & flags;
+ return m_is_invalid_packet & flags;
};
PRIVATE_MEMBER_ACCESSORS(ipv4_addr, dst_addr);
@@ -69,8 +72,8 @@ public:
PRIVATE_MEMBER_ACCESSORS(u16, src_port);
PRIVATE_MEMBER_ACCESSORS(ipv4_addr, src_addr);
PRIVATE_MEMBER_ACCESSORS(s16, sock_fd);
- PRIVATE_MEMBER_ACCESSORS(u8, sock_flags);
- PRIVATE_MEMBER_ACCESSORS(bool, buffer_cleared);
+ PRIVATE_MEMBER_ACCESSORS(char, is_invalid_packet);
+ PRIVATE_MEMBER_ACCESSORS(char, buffer_cleared);
PRIVATE_MEMBER_ACCESSORS(s16, size);
PRIVATE_MEMBER_ACCESSORS(s16, buffer_offset);
PRIVATE_MEMBER_ACCESSORS(u32, unused);