hle.h 872 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // Copyright 2014 Citra Emulator Project
  2. // Licensed under GPLv2
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include "common/common_types.h"
  6. #include "core/core.h"
  7. ////////////////////////////////////////////////////////////////////////////////////////////////////
  8. namespace HLE {
  9. extern bool g_reschedule; ///< If true, immediately reschedules the CPU to a new thread
  10. typedef u32 Addr;
  11. typedef void (*Func)();
  12. struct FunctionDef {
  13. u32 id;
  14. Func func;
  15. std::string name;
  16. };
  17. struct ModuleDef {
  18. std::string name;
  19. int num_funcs;
  20. const FunctionDef* func_table;
  21. };
  22. void RegisterModule(std::string name, int num_functions, const FunctionDef *func_table);
  23. void CallSVC(u32 opcode);
  24. void Reschedule(const char *reason);
  25. void Init();
  26. void Shutdown();
  27. } // namespace