mirror of https://git.suyu.dev/suyu/suyu
- renamed hle_syscall to just syscall
- added service.h as an initial service interfacemerge-requests/60/head
parent
7ea7585898
commit
02fbd42e7f
@ -1,37 +0,0 @@
|
||||
// Copyright 2014 Citra Emulator Project
|
||||
// Licensed under GPLv2
|
||||
// Refer to the license.txt file included.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "common/common_types.h"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//template <class T>
|
||||
//class KernelObject {
|
||||
//public:
|
||||
// virtual ~KernelObject() {}
|
||||
//
|
||||
// T GetNative() const {
|
||||
// return m_native;
|
||||
// }
|
||||
//
|
||||
// void SetNative(const T& native) {
|
||||
// m_native = native;
|
||||
// }
|
||||
//
|
||||
// virtual const char *GetTypeName() {return "[BAD KERNEL OBJECT TYPE]";}
|
||||
// virtual const char *GetName() {return "[UNKNOWN KERNEL OBJECT]";}
|
||||
//
|
||||
//private:
|
||||
// T m_native;
|
||||
//};
|
||||
|
||||
//class Handle : public KernelObject<u32> {
|
||||
// const char* GetTypeName() {
|
||||
// return "Handle";
|
||||
// }
|
||||
//};
|
||||
|
||||
void Register_Syscall();
|
@ -0,0 +1,60 @@
|
||||
// Copyright 2014 Citra Emulator Project
|
||||
// Licensed under GPLv2
|
||||
// Refer to the license.txt file included.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "common/common_types.h"
|
||||
#include "core/hle/syscall.h"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Namespace Service
|
||||
|
||||
namespace Service {
|
||||
|
||||
typedef s32 NativeUID;
|
||||
|
||||
/// Interface to a CTROS service
|
||||
class Interface {
|
||||
public:
|
||||
|
||||
virtual ~Interface() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the UID for the serice
|
||||
* @return UID of service in native format
|
||||
*/
|
||||
NativeUID GetUID() const {
|
||||
return (NativeUID)m_uid;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the string name used by CTROS for a service
|
||||
* @return String name of service
|
||||
*/
|
||||
virtual std::string GetName() {
|
||||
return "[UNKNOWN SERVICE NAME]";
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the string name used by CTROS for a service
|
||||
* @return Port name of service
|
||||
*/
|
||||
virtual std::string GetPort() {
|
||||
return "[UNKNOWN SERVICE PORT]";
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when svcSendSyncRequest is called, loads command buffer and executes comand
|
||||
* @return Return result of svcSendSyncRequest passed back to user app
|
||||
*/
|
||||
virtual Syscall::Result Sync() = 0;
|
||||
|
||||
private:
|
||||
u32 m_uid;
|
||||
};
|
||||
|
||||
} // namespace
|
@ -0,0 +1,19 @@
|
||||
// Copyright 2014 Citra Emulator Project
|
||||
// Licensed under GPLv2
|
||||
// Refer to the license.txt file included.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "common/common_types.h"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Namespace Syscall
|
||||
|
||||
namespace Syscall {
|
||||
|
||||
typedef u32 Handle;
|
||||
typedef s32 Result;
|
||||
|
||||
void Register();
|
||||
|
||||
} // namespace
|
Loading…
Reference in New Issue