2015-06-11 15:12:16 -07:00
|
|
|
// Copyright 2015 Citra Emulator Project
|
|
|
|
// Licensed under GPLv2 or any later version
|
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
namespace Service {
|
2016-02-01 22:17:41 -08:00
|
|
|
|
|
|
|
class Interface;
|
|
|
|
|
2015-06-11 15:12:16 -07:00
|
|
|
namespace AM {
|
|
|
|
|
|
|
|
/**
|
2016-04-08 12:44:00 -07:00
|
|
|
* AM::GetTitleCount service function
|
2015-06-11 15:12:16 -07:00
|
|
|
* Gets the number of installed titles in the requested media type
|
|
|
|
* Inputs:
|
|
|
|
* 0 : Command header (0x00010040)
|
|
|
|
* 1 : Media type to load the titles from
|
|
|
|
* Outputs:
|
|
|
|
* 1 : Result, 0 on success, otherwise error code
|
|
|
|
* 2 : The number of titles in the requested media type
|
|
|
|
*/
|
2016-04-08 12:44:00 -07:00
|
|
|
void GetTitleCount(Service::Interface* self);
|
2015-06-11 15:12:16 -07:00
|
|
|
|
|
|
|
/**
|
2016-04-08 12:44:00 -07:00
|
|
|
* AM::FindContentInfos service function
|
|
|
|
* Inputs:
|
|
|
|
* 1 : MediaType
|
|
|
|
* 2-3 : u64, Title ID
|
|
|
|
* 4 : Content count
|
|
|
|
* 6 : Content IDs pointer
|
|
|
|
* 8 : Content Infos pointer
|
|
|
|
* Outputs:
|
|
|
|
* 1 : Result, 0 on success, otherwise error code
|
|
|
|
*/
|
|
|
|
void FindContentInfos(Service::Interface* self);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* AM::ListContentInfos service function
|
|
|
|
* Inputs:
|
|
|
|
* 1 : Content count
|
|
|
|
* 2 : MediaType
|
|
|
|
* 3-4 : u64, Title ID
|
|
|
|
* 5 : Start Index
|
|
|
|
* 7 : Content Infos pointer
|
|
|
|
* Outputs:
|
|
|
|
* 1 : Result, 0 on success, otherwise error code
|
|
|
|
* 2 : Number of content infos returned
|
|
|
|
*/
|
|
|
|
void ListContentInfos(Service::Interface* self);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* AM::DeleteContents service function
|
|
|
|
* Inputs:
|
|
|
|
* 1 : MediaType
|
|
|
|
* 2-3 : u64, Title ID
|
|
|
|
* 4 : Content count
|
|
|
|
* 6 : Content IDs pointer
|
|
|
|
* Outputs:
|
|
|
|
* 1 : Result, 0 on success, otherwise error code
|
|
|
|
*/
|
|
|
|
void DeleteContents(Service::Interface* self);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* AM::GetTitleList service function
|
2015-06-11 15:12:16 -07:00
|
|
|
* Loads information about the desired number of titles from the desired media type into an array
|
|
|
|
* Inputs:
|
2016-04-08 12:44:00 -07:00
|
|
|
* 1 : Title count
|
2015-06-11 15:12:16 -07:00
|
|
|
* 2 : Media type to load the titles from
|
2016-04-08 12:44:00 -07:00
|
|
|
* 4 : Title IDs output pointer
|
2015-06-11 15:12:16 -07:00
|
|
|
* Outputs:
|
|
|
|
* 1 : Result, 0 on success, otherwise error code
|
|
|
|
* 2 : The number of titles loaded from the requested media type
|
|
|
|
*/
|
2016-04-08 12:44:00 -07:00
|
|
|
void GetTitleList(Service::Interface* self);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* AM::GetTitleInfo service function
|
|
|
|
* Inputs:
|
|
|
|
* 1 : u8 Mediatype
|
|
|
|
* 2 : Total titles
|
|
|
|
* 4 : TitleIDList pointer
|
|
|
|
* 6 : TitleList pointer
|
|
|
|
* Outputs:
|
|
|
|
* 1 : Result, 0 on success, otherwise error code
|
|
|
|
*/
|
|
|
|
void GetTitleInfo(Service::Interface* self);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* AM::GetDataTitleInfos service function
|
|
|
|
* Wrapper for AM::GetTitleInfo
|
|
|
|
* Inputs:
|
|
|
|
* 1 : u8 Mediatype
|
|
|
|
* 2 : Total titles
|
|
|
|
* 4 : TitleIDList pointer
|
|
|
|
* 6 : TitleList pointer
|
|
|
|
* Outputs:
|
|
|
|
* 1 : Result, 0 on success, otherwise error code
|
|
|
|
*/
|
|
|
|
void GetDataTitleInfos(Service::Interface* self);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* AM::ListDataTitleTicketInfos service function
|
|
|
|
* Inputs:
|
|
|
|
* 1 : Ticket count
|
|
|
|
* 2-3 : u64, Title ID
|
|
|
|
* 4 : Start Index?
|
|
|
|
* 5 : (TicketCount * 24) << 8 | 0x4
|
|
|
|
* 6 : Ticket Infos pointer
|
|
|
|
* Outputs:
|
|
|
|
* 1 : Result, 0 on success, otherwise error code
|
|
|
|
* 2 : Number of ticket infos returned
|
|
|
|
*/
|
|
|
|
void ListDataTitleTicketInfos(Service::Interface* self);
|
2015-06-11 15:12:16 -07:00
|
|
|
|
2015-07-20 22:12:13 -07:00
|
|
|
/**
|
|
|
|
* AM::GetNumContentInfos service function
|
|
|
|
* Inputs:
|
|
|
|
* 0 : Command header (0x100100C0)
|
2016-04-08 12:44:00 -07:00
|
|
|
* 1 : MediaType
|
|
|
|
* 2-3 : u64, Title ID
|
2015-07-20 22:12:13 -07:00
|
|
|
* Outputs:
|
|
|
|
* 1 : Result, 0 on success, otherwise error code
|
|
|
|
* 2 : Number of content infos plus one
|
|
|
|
*/
|
|
|
|
void GetNumContentInfos(Service::Interface* self);
|
|
|
|
|
2016-04-08 12:44:00 -07:00
|
|
|
/**
|
|
|
|
* AM::DeleteTicket service function
|
|
|
|
* Inputs:
|
|
|
|
* 1-2 : u64, Title ID
|
|
|
|
* Outputs:
|
|
|
|
* 1 : Result, 0 on success, otherwise error code
|
|
|
|
*/
|
|
|
|
void DeleteTicket(Service::Interface* self);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* AM::GetTicketCount service function
|
|
|
|
* Outputs:
|
|
|
|
* 1 : Result, 0 on success, otherwise error code
|
|
|
|
* 2 : Total titles
|
|
|
|
*/
|
|
|
|
void GetTicketCount(Service::Interface* self);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* AM::GetTicketList service function
|
|
|
|
* Inputs:
|
|
|
|
* 1 : Number of TicketList
|
|
|
|
* 2 : Number to skip
|
|
|
|
* 4 : TicketList pointer
|
|
|
|
* Outputs:
|
|
|
|
* 1 : Result, 0 on success, otherwise error code
|
|
|
|
* 2 : Total TicketList
|
|
|
|
*/
|
|
|
|
void GetTicketList(Service::Interface* self);
|
|
|
|
|
2015-06-11 15:12:16 -07:00
|
|
|
/// Initialize AM service
|
|
|
|
void Init();
|
|
|
|
|
|
|
|
/// Shutdown AM service
|
|
|
|
void Shutdown();
|
|
|
|
|
|
|
|
} // namespace AM
|
|
|
|
} // namespace Service
|