mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 13:50:03 +00:00 
			
		
		
		
	- moved Handle/Result definitions to kernel.h
- added ResetType enum
This commit is contained in:
		
							parent
							
								
									8fba88d5d5
								
							
						
					
					
						commit
						772abad778
					
				
					 6 changed files with 19 additions and 14 deletions
				
			
		|  | @ -6,7 +6,8 @@ | |||
| 
 | ||||
| #include "common/common_types.h" | ||||
| 
 | ||||
| typedef s32 Handle; | ||||
| typedef u32 Handle; | ||||
| typedef s32 Result; | ||||
| 
 | ||||
| enum KernelIDType { | ||||
|     KERNEL_ID_TYPE_THREAD       = 1, | ||||
|  |  | |||
|  | @ -42,8 +42,6 @@ enum WaitType { | |||
|     WAITTYPE_SYNCH, | ||||
| }; | ||||
| 
 | ||||
| typedef s32 Handle; | ||||
| 
 | ||||
| class Thread : public KernelObject { | ||||
| public: | ||||
| 
 | ||||
|  |  | |||
|  | @ -11,6 +11,8 @@ | |||
| #include "common/common.h" | ||||
| #include "common/common_types.h" | ||||
| #include "core/mem_map.h" | ||||
| 
 | ||||
| #include "core/hle/kernel/kernel.h" | ||||
| #include "core/hle/syscall.h" | ||||
| 
 | ||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ||||
|  | @ -70,14 +72,14 @@ public: | |||
|     } | ||||
| 
 | ||||
|     /// Allocates a new handle for the service
 | ||||
|     Syscall::Handle NewHandle() { | ||||
|         Syscall::Handle handle = (m_handles.size() << 16) | m_uid; | ||||
|     Handle NewHandle() { | ||||
|         Handle handle = (m_handles.size() << 16) | m_uid; | ||||
|         m_handles.push_back(handle); | ||||
|         return handle; | ||||
|     } | ||||
| 
 | ||||
|     /// Frees a handle from the service
 | ||||
|     void DeleteHandle(Syscall::Handle handle) { | ||||
|     void DeleteHandle(Handle handle) { | ||||
|         for(auto iter = m_handles.begin(); iter != m_handles.end(); ++iter) { | ||||
|             if(*iter == handle) { | ||||
|                 m_handles.erase(iter); | ||||
|  | @ -90,7 +92,7 @@ public: | |||
|      * Called when svcSendSyncRequest is called, loads command buffer and executes comand | ||||
|      * @return Return result of svcSendSyncRequest passed back to user app | ||||
|      */ | ||||
|     Syscall::Result Sync() { | ||||
|     Result Sync() { | ||||
|         u32* cmd_buff = GetCommandBuffer(); | ||||
|         auto itr = m_functions.find(cmd_buff[0]); | ||||
| 
 | ||||
|  | @ -124,7 +126,7 @@ protected: | |||
| private: | ||||
|     u32 m_uid; | ||||
|      | ||||
|     std::vector<Syscall::Handle>    m_handles; | ||||
|     std::vector<Handle>    m_handles; | ||||
|     std::map<u32, FunctionInfo>     m_functions; | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -23,7 +23,7 @@ void GetProcSemaphore(Service::Interface* self) { | |||
| } | ||||
| 
 | ||||
| void GetServiceHandle(Service::Interface* self) { | ||||
|     Syscall::Result res = 0; | ||||
|     Result res = 0; | ||||
|     u32* cmd_buff = Service::GetCommandBuffer(); | ||||
| 
 | ||||
|     std::string port_name = std::string((const char*)&cmd_buff[1], 0, Service::kMaxPortSize); | ||||
|  |  | |||
|  | @ -30,7 +30,7 @@ public: | |||
|      * Called when svcSendSyncRequest is called, loads command buffer and executes comand | ||||
|      * @return Return result of svcSendSyncRequest passed back to user app | ||||
|      */ | ||||
|     Syscall::Result Sync(); | ||||
|     Result Sync(); | ||||
| 
 | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -7,7 +7,7 @@ | |||
| #include "common/common_types.h" | ||||
| 
 | ||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ||||
| // SVC structures
 | ||||
| // SVC types
 | ||||
| 
 | ||||
| struct MemoryInfo { | ||||
|     u32 base_address; | ||||
|  | @ -31,14 +31,18 @@ struct ThreadContext { | |||
|     u32 fpexc; | ||||
| }; | ||||
| 
 | ||||
| enum ResetType { | ||||
|     RESETTYPE_ONESHOT, | ||||
|     RESETTYPE_STICKY, | ||||
|     RESETTYPE_PULSE, | ||||
|     RESETTYPE_MAX_BIT = (1u << 31), | ||||
| }; | ||||
| 
 | ||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ||||
| // Namespace Syscall
 | ||||
| 
 | ||||
| namespace Syscall { | ||||
| 
 | ||||
| typedef u32 Handle; | ||||
| typedef s32 Result; | ||||
| 
 | ||||
| void Register(); | ||||
| 
 | ||||
| } // namespace
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue