htc: implement much of worker receive logic

This commit is contained in:
Michael Scire 2021-02-08 14:11:01 -08:00 committed by SciresM
parent 8f85cc17dc
commit 679fec2ddc
19 changed files with 565 additions and 12 deletions

View file

@ -22,9 +22,14 @@
namespace ams::htclow {
class Worker {
private:
static_assert(sizeof(ctrl::HtcctrlPacketHeader) <= sizeof(PacketHeader));
static_assert(sizeof(ctrl::HtcctrlPacketBody) <= sizeof(PacketBody));
private:
u32 m_thread_stack_size;
u8 m_04[0x7C024]; /* TODO... not knowing what an almost 128 KB field is is embarassing. */
u8 m_packet_header[sizeof(PacketHeader)];
u8 m_send_packet_body[sizeof(PacketBody)];
u8 m_receive_packet_body[sizeof(PacketBody)];
mem::StandardAllocator *m_allocator;
mux::Mux *m_mux;
ctrl::HtcctrlService *m_service;
@ -58,6 +63,9 @@ namespace ams::htclow {
Result ProcessReceive();
Result ProcessSend();
Result ProcessReceive(const ctrl::HtcctrlPacketHeader &header);
Result ProcessReceive(const PacketHeader &header);
};
}