geode/loader/dobby/source/UserMode/Thread/PlatformThread.h

36 lines
761 B
C
Raw Normal View History

2022-07-30 12:24:03 -04:00
#ifndef USER_MODE_PLATFORM_THREAD_H
#define USER_MODE_PLATFORM_THREAD_H
#include "common_header.h"
namespace zz {
class OSThread {
public:
typedef int LocalStorageKey;
static int GetCurrentProcessId();
static int GetCurrentThreadId();
// Thread-local storage.
static LocalStorageKey CreateThreadLocalKey();
static void DeleteThreadLocalKey(LocalStorageKey key);
static void *GetThreadLocal(LocalStorageKey key);
static int GetThreadLocalInt(LocalStorageKey key);
static void SetThreadLocal(LocalStorageKey key, void *value);
static void SetThreadLocalInt(LocalStorageKey key, int value);
static bool HasThreadLocal(LocalStorageKey key);
static void *GetExistingThreadLocal(LocalStorageKey key);
};
} // namespace zz
#endif