citra-nightly/src/core/hle/hle.h

38 lines
793 B
C
Raw Normal View History

// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2
// Refer to the license.txt file included.
#pragma once
#include "common/common_types.h"
#include "core/core.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
typedef void (*HLEFunc)();
struct HLEFunction {
u32 id;
HLEFunc func;
const char* name;
};
struct HLEModule {
const char* name;
int num_funcs;
const HLEFunction* func_table;
};
#define PARAM(n) Core::g_app_core->GetReg(n)
#define RETURN(n) Core::g_app_core->SetReg(0, n)
namespace HLE {
void Init();
void Shutdown();
void RegisterModule(const char *name, int num_functions, const HLEFunction *func_table);
} // namespace