1 #pragma once 2 3 #include "Iop_Module.h" 4 5 class CIopBios; 6 7 namespace Iop 8 { 9 class CThevent : public CModule 10 { 11 public: 12 CThevent(CIopBios&, uint8*); 13 virtual ~CThevent(); 14 15 std::string GetId() const override; 16 std::string GetFunctionName(unsigned int) const override; 17 void Invoke(CMIPS&, unsigned int) override; 18 19 private: 20 struct EVENT 21 { 22 uint32 attributes; 23 uint32 options; 24 uint32 initValue; 25 }; 26 27 uint32 CreateEventFlag(EVENT*); 28 uint32 DeleteEventFlag(uint32); 29 uint32 SetEventFlag(uint32, uint32); 30 uint32 iSetEventFlag(uint32, uint32); 31 uint32 ClearEventFlag(uint32, uint32); 32 uint32 WaitEventFlag(uint32, uint32, uint32, uint32); 33 uint32 PollEventFlag(uint32, uint32, uint32, uint32); 34 uint32 ReferEventFlagStatus(uint32, uint32); 35 36 uint8* m_ram = nullptr; 37 CIopBios& m_bios; 38 }; 39 } 40