mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-11-03 23:28:48 +00:00 
			
		
		
		
	IPC Helpers: Implement MappedBuffer translation helper for new interface
This commit is contained in:
		
							parent
							
								
									3ecf650bf9
								
							
						
					
					
						commit
						cef6b15de4
					
				
					 2 changed files with 26 additions and 7 deletions
				
			
		| 
						 | 
				
			
			@ -520,7 +520,7 @@ void DeleteContents(Service::Interface* self) {
 | 
			
		|||
    u8 media_type = rp.Pop<u8>();
 | 
			
		||||
    u64 title_id = rp.Pop<u64>();
 | 
			
		||||
    u32 content_count = rp.Pop<u32>();
 | 
			
		||||
    VAddr content_ids_in = rp.PopMappedBuffer();
 | 
			
		||||
    VAddr content_ids_in = rp.PopMappedBuffer(nullptr);
 | 
			
		||||
 | 
			
		||||
    IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
 | 
			
		||||
    rb.Push(RESULT_SUCCESS);
 | 
			
		||||
| 
						 | 
				
			
			@ -534,7 +534,7 @@ void GetProgramList(Service::Interface* self) {
 | 
			
		|||
 | 
			
		||||
    u32 count = rp.Pop<u32>();
 | 
			
		||||
    u8 media_type = rp.Pop<u8>();
 | 
			
		||||
    VAddr title_ids_output_pointer = rp.PopMappedBuffer();
 | 
			
		||||
    VAddr title_ids_output_pointer = rp.PopMappedBuffer(nullptr);
 | 
			
		||||
 | 
			
		||||
    if (!Memory::IsValidVirtualAddress(title_ids_output_pointer) || media_type > 2) {
 | 
			
		||||
        IPC::RequestBuilder rb = rp.MakeBuilder(2, 0);
 | 
			
		||||
| 
						 | 
				
			
			@ -679,7 +679,7 @@ void ListDataTitleTicketInfos(Service::Interface* self) {
 | 
			
		|||
    u32 ticket_count = rp.Pop<u32>();
 | 
			
		||||
    u64 title_id = rp.Pop<u64>();
 | 
			
		||||
    u32 start_index = rp.Pop<u32>();
 | 
			
		||||
    VAddr ticket_info_out = rp.PopMappedBuffer();
 | 
			
		||||
    VAddr ticket_info_out = rp.PopMappedBuffer(nullptr);
 | 
			
		||||
    VAddr ticket_info_write = ticket_info_out;
 | 
			
		||||
 | 
			
		||||
    for (u32 i = 0; i < ticket_count; i++) {
 | 
			
		||||
| 
						 | 
				
			
			@ -754,7 +754,7 @@ void GetTicketList(Service::Interface* self) {
 | 
			
		|||
    IPC::RequestParser rp(Kernel::GetCommandBuffer(), 9, 2, 2); // 0x00090082
 | 
			
		||||
    u32 ticket_list_count = rp.Pop<u32>();
 | 
			
		||||
    u32 ticket_index = rp.Pop<u32>();
 | 
			
		||||
    VAddr ticket_tids_out = rp.PopMappedBuffer();
 | 
			
		||||
    VAddr ticket_tids_out = rp.PopMappedBuffer(nullptr);
 | 
			
		||||
 | 
			
		||||
    IPC::RequestBuilder rb = rp.MakeBuilder(2, 0);
 | 
			
		||||
    rb.Push(RESULT_SUCCESS);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue