Play-/Source/iop/Iop_Thsema.h
jpd002 bd8ca82f58 Cleanup.
git-svn-id: http://svn.purei.org/purei/trunk@954 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-06-24 23:10:12 +00:00

40 lines
746 B
C++

#ifndef _IOP_THSEMA_H_
#define _IOP_THSEMA_H_
#include "Iop_Module.h"
#include "IopBios.h"
namespace Iop
{
class CThsema : public CModule
{
public:
CThsema(CIopBios&, uint8*);
virtual ~CThsema();
std::string GetId() const;
std::string GetFunctionName(unsigned int) const;
void Invoke(CMIPS&, unsigned int);
private:
struct SEMAPHORE
{
uint32 attributes;
uint32 options;
uint32 initialCount;
uint32 maxCount;
};
uint32 CreateSemaphore(const SEMAPHORE*);
uint32 DeleteSemaphore(uint32);
uint32 WaitSemaphore(uint32);
uint32 SignalSemaphore(uint32);
uint32 iSignalSemaphore(uint32);
uint8* m_ram;
CIopBios& m_bios;
};
}
#endif