shadPS4/src/Core/PS4/HLE/Kernel/ThreadManagement.h

33 lines
876 B
C
Raw Normal View History

2023-07-17 22:46:25 +02:00
#pragma once
2023-07-18 17:54:46 +02:00
#include <pthread.h>
#include <sched.h>
#include "../../../../types.h"
2023-07-17 22:46:25 +02:00
namespace HLE::Libs::LibKernel::ThreadManagement {
2023-07-18 17:54:46 +02:00
struct PthreadAttrInternal;
2023-07-18 18:28:28 +02:00
using SceKernelSchedParam = ::sched_param;
2023-07-18 17:54:46 +02:00
using ScePthreadAttr = PthreadAttrInternal*;
struct PthreadInternal {
pthread_t p;
};
struct PthreadAttrInternal {
u64 affinity;
size_t guard_size;
int policy;
bool detached;
pthread_attr_t p;
};
class PThreadCxt {};
//HLE FUNCTIONS
int scePthreadAttrInit(ScePthreadAttr* attr);
int scePthreadAttrSetdetachstate(ScePthreadAttr* attr, int detachstate);
int scePthreadAttrSetinheritsched(ScePthreadAttr* attr, int inheritSched);
int scePthreadAttrSetschedparam(ScePthreadAttr* attr, const SceKernelSchedParam* param);
int scePthreadAttrSetschedpolicy(ScePthreadAttr* attr, int policy);
} // namespace HLE::Libs::LibKernel::ThreadManagement