mirror of https://github.com/yuzu-mirror/yuzu
				
				
				
			- renamed hle_syscall to just syscall
- added service.h as an initial service interfacepull/8/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