From e2bdfdab089a4a1e2ec38a2fefdfebf066362ed1 Mon Sep 17 00:00:00 2001 From: Michael Scire Date: Thu, 28 Mar 2019 21:19:07 -0700 Subject: [PATCH] libstrat: add constants for title ids. --- include/stratosphere.hpp | 4 +- include/stratosphere/title_ids.hpp | 198 +++++++++++++++++++++++++++++ 2 files changed, 201 insertions(+), 1 deletion(-) create mode 100644 include/stratosphere/title_ids.hpp diff --git a/include/stratosphere.hpp b/include/stratosphere.hpp index 91506899..97ef6a20 100644 --- a/include/stratosphere.hpp +++ b/include/stratosphere.hpp @@ -35,4 +35,6 @@ #include "stratosphere/services.hpp" -#include "stratosphere/results.hpp" \ No newline at end of file +#include "stratosphere/results.hpp" + +#include "stratosphere/title_ids.hpp" \ No newline at end of file diff --git a/include/stratosphere/title_ids.hpp b/include/stratosphere/title_ids.hpp new file mode 100644 index 00000000..0dcdc926 --- /dev/null +++ b/include/stratosphere/title_ids.hpp @@ -0,0 +1,198 @@ +/* + * Copyright (c) 2018 Atmosphère-NX + * + * This program is free software; you can redistribute it and/or modify it + * under the terms and conditions of the GNU General Public License, + * version 2, as published by the Free Software Foundation. + * + * This program is distributed in the hope it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +/* System Modules. */ +static constexpr u64 TitleId_SystemStart = 0x0100000000000000ul; + +static constexpr u64 TitleId_Fs = 0x0100000000000000ul; +static constexpr u64 TitleId_Loader = 0x0100000000000001ul; +static constexpr u64 TitleId_Ncm = 0x0100000000000002ul; +static constexpr u64 TitleId_Pm = 0x0100000000000003ul; +static constexpr u64 TitleId_Sm = 0x0100000000000004ul; +static constexpr u64 TitleId_Boot = 0x0100000000000005ul; +static constexpr u64 TitleId_Usb = 0x0100000000000006ul; +static constexpr u64 TitleId_Tma = 0x0100000000000007ul; +static constexpr u64 TitleId_Boot2 = 0x0100000000000008ul; +static constexpr u64 TitleId_Settings = 0x0100000000000009ul; +static constexpr u64 TitleId_Bus = 0x010000000000000Aul; +static constexpr u64 TitleId_Bluetooth = 0x010000000000000Bul; +static constexpr u64 TitleId_Bcat = 0x010000000000000Cul; +static constexpr u64 TitleId_Dmnt = 0x010000000000000Dul; +static constexpr u64 TitleId_Friends = 0x010000000000000Eul; +static constexpr u64 TitleId_Nifm = 0x010000000000000Ful; +static constexpr u64 TitleId_Ptm = 0x0100000000000010ul; +static constexpr u64 TitleId_Shell = 0x0100000000000011ul; +static constexpr u64 TitleId_BsdSockets = 0x0100000000000012ul; +static constexpr u64 TitleId_Hid = 0x0100000000000013ul; +static constexpr u64 TitleId_Audio = 0x0100000000000014ul; +static constexpr u64 TitleId_LogManager = 0x0100000000000015ul; +static constexpr u64 TitleId_Wlan = 0x0100000000000016ul; +static constexpr u64 TitleId_Cs = 0x0100000000000017ul; +static constexpr u64 TitleId_Ldn = 0x0100000000000018ul; +static constexpr u64 TitleId_NvServices = 0x0100000000000019ul; +static constexpr u64 TitleId_Pcv = 0x010000000000001Aul; +static constexpr u64 TitleId_Ppc = 0x010000000000001Bul; +static constexpr u64 TitleId_NvnFlinger = 0x010000000000001Cul; +static constexpr u64 TitleId_Pcie = 0x010000000000001Dul; +static constexpr u64 TitleId_Account = 0x010000000000001Eul; +static constexpr u64 TitleId_Ns = 0x010000000000001Ful; +static constexpr u64 TitleId_Nfc = 0x0100000000000020ul; +static constexpr u64 TitleId_Psc = 0x0100000000000021ul; +static constexpr u64 TitleId_CapSrv = 0x0100000000000022ul; +static constexpr u64 TitleId_Am = 0x0100000000000023ul; +static constexpr u64 TitleId_Ssl = 0x0100000000000024ul; +static constexpr u64 TitleId_Nim = 0x0100000000000025ul; +static constexpr u64 TitleId_Cec = 0x0100000000000026ul; +static constexpr u64 TitleId_Tspm = 0x0100000000000027ul; +static constexpr u64 TitleId_Spl = 0x0100000000000028ul; +static constexpr u64 TitleId_Lbl = 0x0100000000000029ul; +static constexpr u64 TitleId_Btm = 0x010000000000002Aul; +static constexpr u64 TitleId_Erpt = 0x010000000000002Bul; +static constexpr u64 TitleId_Time = 0x010000000000002Cul; +static constexpr u64 TitleId_Vi = 0x010000000000002Dul; +static constexpr u64 TitleId_Pctl = 0x010000000000002Eul; +static constexpr u64 TitleId_Npns = 0x010000000000002Ful; +static constexpr u64 TitleId_Eupld = 0x0100000000000030ul; +static constexpr u64 TitleId_Arp = 0x0100000000000031ul; +static constexpr u64 TitleId_Glue = 0x0100000000000031ul; +static constexpr u64 TitleId_Eclct = 0x0100000000000032ul; +static constexpr u64 TitleId_Es = 0x0100000000000033ul; +static constexpr u64 TitleId_Fatal = 0x0100000000000034ul; +static constexpr u64 TitleId_Grc = 0x0100000000000035ul; +static constexpr u64 TitleId_Creport = 0x0100000000000036ul; +static constexpr u64 TitleId_Ro = 0x0100000000000037ul; +static constexpr u64 TitleId_Profiler = 0x0100000000000038ul; +static constexpr u64 TitleId_Sdb = 0x0100000000000039ul; +static constexpr u64 TitleId_Migration = 0x010000000000003Aul; +static constexpr u64 TitleId_Jit = 0x010000000000003Bul; +static constexpr u64 TitleId_JpegDec = 0x010000000000003Cul; +static constexpr u64 TitleId_SafeMode = 0x010000000000003Dul; +static constexpr u64 TitleId_Olsc = 0x010000000000003Eul; +static constexpr u64 TitleId_Dt = 0x010000000000003Ful; +static constexpr u64 TitleId_Nd = 0x0100000000000040ul; + +static constexpr u64 TitleId_SystemEnd = 0x01000000000007FFul; + +/* System Data Archives. */ +static constexpr u64 TitleId_ArchiveStart = 0x0100000000000800ul; +static constexpr u64 TitleId_ArchiveCertStore = 0x0100000000000800ul; +static constexpr u64 TitleId_ArchiveErrorMessage = 0x0100000000000801ul; +static constexpr u64 TitleId_ArchiveMiiModel = 0x0100000000000802ul; +static constexpr u64 TitleId_ArchiveBrowserDll = 0x0100000000000803ul; +static constexpr u64 TitleId_ArchiveHelp = 0x0100000000000804ul; +static constexpr u64 TitleId_ArchiveSharedFont = 0x0100000000000805ul; +static constexpr u64 TitleId_ArchiveNgWord = 0x0100000000000806ul; +static constexpr u64 TitleId_ArchiveSsidList = 0x0100000000000807ul; +static constexpr u64 TitleId_ArchiveDictionary = 0x0100000000000808ul; +static constexpr u64 TitleId_ArchiveSystemVersion = 0x0100000000000809ul; +static constexpr u64 TitleId_ArchiveAvatarImage = 0x010000000000080Aul; +static constexpr u64 TitleId_ArchiveLocalNews = 0x010000000000080Bul; +static constexpr u64 TitleId_ArchiveEula = 0x010000000000080Cul; +static constexpr u64 TitleId_ArchiveUrlBlackList = 0x010000000000080Dul; +static constexpr u64 TitleId_ArchiveTimeZoneBinar = 0x010000000000080Eul; +static constexpr u64 TitleId_ArchiveCertStoreCruiser = 0x010000000000080Ful; +static constexpr u64 TitleId_ArchiveFontNintendoExtension = 0x0100000000000810ul; +static constexpr u64 TitleId_ArchiveFontStandard = 0x0100000000000811ul; +static constexpr u64 TitleId_ArchiveFontKorean = 0x0100000000000812ul; +static constexpr u64 TitleId_ArchiveFontChineseTraditional = 0x0100000000000813ul; +static constexpr u64 TitleId_ArchiveFontChineseSimple = 0x0100000000000814ul; +static constexpr u64 TitleId_ArchiveFontBfcpx = 0x0100000000000815ul; +static constexpr u64 TitleId_ArchiveSystemUpdate = 0x0100000000000816ul; + +static constexpr u64 TitleId_ArchiveFirmwareDebugSettings = 0x0100000000000818ul; +static constexpr u64 TitleId_ArchiveBootImagePackage = 0x0100000000000819ul; +static constexpr u64 TitleId_ArchiveBootImagePackageSafe = 0x010000000000081Aul; +static constexpr u64 TitleId_ArchiveBootImagePackageExFat = 0x010000000000081Bul; +static constexpr u64 TitleId_ArchiveBootImagePackageExFatSafe = 0x010000000000081Cul; +static constexpr u64 TitleId_ArchiveFatalMessage = 0x010000000000081Dul; +static constexpr u64 TitleId_ArchiveControllerIcon = 0x010000000000081Eul; +static constexpr u64 TitleId_ArchivePlatformConfigIcosa = 0x010000000000081Ful; +static constexpr u64 TitleId_ArchivePlatformConfigCopper = 0x0100000000000820ul; +static constexpr u64 TitleId_ArchivePlatformConfigHoag = 0x0100000000000821ul; +static constexpr u64 TitleId_ArchiveControllerFirmware = 0x0100000000000822ul; +static constexpr u64 TitleId_ArchiveNgWord2 = 0x0100000000000823ul; +static constexpr u64 TitleId_ArchivePlatformConfigIcosaMariko = 0x0100000000000824ul; +static constexpr u64 TitleId_ArchiveApplicationBlackList = 0x0100000000000825ul; +static constexpr u64 TitleId_ArchiveRebootlessSystemUpdateVersion = 0x0100000000000826ul; +static constexpr u64 TitleId_ArchiveContentActionTable = 0x0100000000000827ul; + +static constexpr u64 TitleId_ArchiveEnd = 0x0100000000000FFFul; + +/* System Applets. */ +static constexpr u64 TitleId_AppletStart = 0x0100000000001000ul; + +static constexpr u64 TitleId_AppletQlaunch = 0x0100000000001000ul; +static constexpr u64 TitleId_AppletAuth = 0x0100000000001001ul; +static constexpr u64 TitleId_AppletCabinet = 0x0100000000001002ul; +static constexpr u64 TitleId_AppletController = 0x0100000000001003ul; +static constexpr u64 TitleId_AppletDataErase = 0x0100000000001004ul; +static constexpr u64 TitleId_AppletError = 0x0100000000001005ul; +static constexpr u64 TitleId_AppletNetConnect = 0x0100000000001006ul; +static constexpr u64 TitleId_AppletPlayerSelect = 0x0100000000001007ul; +static constexpr u64 TitleId_AppletSwkbd = 0x0100000000001008ul; +static constexpr u64 TitleId_AppletMiiEdit = 0x0100000000001009ul; +static constexpr u64 TitleId_AppletWeb = 0x010000000000100Aul; +static constexpr u64 TitleId_AppletShop = 0x010000000000100Bul; +static constexpr u64 TitleId_AppletOverlayDisp = 0x010000000000100Cul; +static constexpr u64 TitleId_AppletPhotoViewer = 0x010000000000100Dul; +static constexpr u64 TitleId_AppletSet = 0x010000000000100Eul; +static constexpr u64 TitleId_AppletOfflineWeb = 0x010000000000100Ful; +static constexpr u64 TitleId_AppletLoginShare = 0x0100000000001010ul; +static constexpr u64 TitleId_AppletWifiWebAuth = 0x0100000000001011ul; +static constexpr u64 TitleId_AppletStarter = 0x0100000000001012ul; +static constexpr u64 TitleId_AppletMyPage = 0x0100000000001013ul; +static constexpr u64 TitleId_AppletPlayReport = 0x0100000000001014ul; +static constexpr u64 TitleId_AppletMaintenanceMenu = 0x0100000000001015ul; + +static constexpr u64 TitleId_AppletGift = 0x010000000000101Aul; +static constexpr u64 TitleId_AppletDummyShop = 0x010000000000101Bul; +static constexpr u64 TitleId_AppletUserMigration = 0x010000000000101Cul; +static constexpr u64 TitleId_AppletEncounter = 0x010000000000101Dul; + +static constexpr u64 TitleId_AppletEncounter = 0x0100000000001020ul; + +static constexpr u64 TitleId_AppletEnd = 0x0100000000001FFFul; + +/* Debug Applets. */ + +/* Debug Modules. */ + +/* Factory Setup. */ + +/* Applications. */ +static constexpr u64 TitleId_ApplicationStart = 0x0100000000010000ul; +static constexpr u64 TitleId_ApplicationEnd = 0x01FFFFFFFFFFFFFFul; + +/* Target Tools. */ + +/* Helper functions. */ +static inline bool TitleIdIsSystem(const u64 title_id) { + return TitleId_SystemStart <= title_id && title_id <= TitleId_SystemEnd; +} + +static inline bool TitleIdIsArchive(const u64 title_id) { + return TitleId_ArchiveStart <= title_id && title_id <= TitleId_ArchiveEnd; +} + +static inline bool TitleIdIsApplet(const u64 title_id) { + return TitleId_AppletStart <= title_id && title_id <= TitleId_AppletEnd; +} + +static inline bool TitleIdIsApplication(const u64 title_id) { + return TitleId_ApplicationStart <= title_id && title_id <= TitleId_ApplicationEnd; +} \ No newline at end of file