IPC Helpers: Implement MappedBuffer translation helper for new interface

This commit is contained in:
wwylele 2017-07-14 22:38:35 +03:00
parent 3ecf650bf9
commit cef6b15de4
2 changed files with 26 additions and 7 deletions

View file

@ -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);