Files
sphaira/sphaira/include/defines.hpp

551 lines
22 KiB
C++

#pragma once
#include <switch.h>
#include <experimental/scope>
enum {
Module_Svc = 1,
Module_Fs = 2,
Module_Os = 3,
Module_Htcs = 4,
Module_Ncm = 5,
Module_Dd = 6,
Module_Osdbg = 7,
Module_Lr = 8,
Module_Ldr = 9,
Module_Sf = 10,
Module_Sf_Hipc = 11,
Module_Tma = 12,
Module_Dmnt = 13,
Module_Gds = 14,
Module_Pm = 15,
Module_Ns = 16,
Module_Bsdsockets = 17,
Module_Htc = 18,
Module_Tsc = 19,
Module_Kvdb = 20,
Module_Sm = 21,
Module_Ro = 22,
Module_Gc = 23,
Module_Sdmmc = 24,
Module_Ovln = 25,
Module_Spl = 26,
Module_Socket = 27,
Module_Htclow = 29,
Module_Ddsf = 30,
Module_Htcfs = 31,
Module_Async = 32,
Module_Util = 33,
Module_Tipc = 35,
Module_Anif = 37,
Module_Crt = 39,
Module_Eth = 100,
Module_I2c = 101,
Module_Gpio = 102,
Module_Uart = 103,
Module_Cpad = 104,
Module_Settings = 105,
Module_Ftm = 106,
Module_Wlan = 107,
Module_Xcd = 108,
Module_Tmp451 = 109,
Module_Nifm = 110,
Module_Codec = 111,
Module_Lsm6ds3 = 112,
Module_Bluetooth = 113,
Module_Vi = 114,
Module_Nfp = 115,
Module_Time = 116,
Module_Fgm = 117,
Module_Oe = 118,
Module_Bh1730fvc = 119,
Module_Pcie = 120,
Module_Friends = 121,
Module_Bcat = 122,
Module_Ssl = 123,
Module_Account = 124,
Module_News = 125,
Module_Mii = 126,
Module_Nfc = 127,
Module_Am = 128,
Module_Prepo = 129,
Module_Ahid = 130,
Module_Applet = 131,
Module_Ae = 132,
Module_Pcv = 133,
Module_Usb_Pd = 134,
Module_Bpc = 135,
Module_Psm = 136,
Module_Nim = 137,
Module_Psc = 138,
Module_Tc = 139,
Module_Usb = 140,
Module_Nsd = 141,
Module_Pctl = 142,
Module_Btm = 143,
Module_La = 144,
Module_Es = 145,
Module_Ngc = 146,
Module_Erpt = 147,
Module_Apm = 148,
Module_Cec = 149,
Module_Profiler = 150,
Module_Eupld = 151,
Module_Lidbe = 152,
Module_Audio = 153,
Module_Npns = 154,
Module_Http = 155,
Module_Idle = 156,
Module_Arp = 157,
Module_Updater = 158,
Module_Swkbd = 159,
Module_Netdiag = 160,
Module_Nfc_Mifare = 161,
Module_Err = 162,
Module_Fatal = 163,
Module_Ec = 164,
Module_Spsm = 165,
Module_Aoc = 166,
Module_Bgtc = 167,
Module_Creport = 168,
Module_Sasbus = 169,
Module_Pl = 170,
Module_Audioctrl = 172,
Module_Lbl = 173,
Module_Jit = 175,
Module_Hdcp = 176,
Module_Omm = 177,
Module_Pdm = 178,
Module_Olsc = 179,
Module_Srepo = 180,
Module_Dauth = 181,
Module_Stdfu = 182,
Module_Dbg = 183,
Module_Dhcps = 186,
Module_Spi = 187,
Module_Avm = 188,
Module_Pwm = 189,
Module_Rtc = 191,
Module_Regulator = 192,
Module_Led = 193,
Module_Sio = 195,
Module_Pcm = 196,
Module_Clkrst = 197,
Module_Powctl = 198,
Module_Audio_Old = 201,
Module_Hid = 202,
Module_Ldn = 203,
Module_Cs = 204,
Module_Irsensor = 205,
Module_Capsrv = 206,
Module_Manu = 208,
Module_Atk = 209,
Module_Web = 210,
Module_Lcs = 211,
Module_Grc = 212,
Module_Repair = 213,
Module_Album = 214,
Module_Rid = 215,
Module_Migration = 216,
Module_Migration_Idc = 217,
Module_Hidbus = 218,
Module_Ens = 219,
Module_Websocket = 223,
Module_Dcdmtp = 227,
Module_Pgl = 228,
Module_Notification = 229,
Module_Ins = 230,
Module_Lp2p = 231,
Module_Rcd = 232,
Module_Icm40607 = 233,
Module_Prc = 235,
Module_Tma_Htc = 237,
Module_Ectx = 238,
Module_Mnpp = 239,
Module_Hshl = 240,
Module_Capmtp = 242,
Module_Dp2hdmi = 244,
Module_Cradle = 245,
Module_Sprofile = 246,
Module_Icm42607p = 248,
Module_Ndrm = 250,
Module_Fst2 = 251,
Module_Nex = 306,
Module_Npln = 321,
Module_Tspm = 499,
Module_Devmenu = 500,
};
enum SvcError {
SvcError_OutOfSessions = 0xE01,
SvcError_InvalidArgument = 0x1C01,
SvcError_NotImplemented = 0x4201,
SvcError_StopProcessingException = 0x6C01,
SvcError_NoSynchronizationObject = 0x7201,
SvcError_TerminationRequested = 0x7601,
SvcError_NoEvent = 0x8C01,
SvcError_InvalidSize = 0xCA01,
SvcError_InvalidAddress = 0xCC01,
SvcError_OutOfResource = 0xCE01,
SvcError_OutOfMemory = 0xD001,
SvcError_OutOfHandles = 0xD201,
SvcError_InvalidCurrentMemory = 0xD401,
SvcError_InvalidNewMemoryPermission = 0xD801,
SvcError_InvalidMemoryRegion = 0xDC01,
SvcError_InvalidPriority = 0xE001,
SvcError_InvalidCoreId = 0xE201,
SvcError_InvalidHandle = 0xE401,
SvcError_InvalidPointer = 0xE601,
SvcError_InvalidCombination = 0xE801,
SvcError_TimedOut = 0xEA01,
SvcError_Cancelled = 0xEC01,
SvcError_OutOfRange = 0xEE01,
SvcError_InvalidEnumValue = 0xF001,
SvcError_NotFound = 0xF201,
SvcError_Busy = 0xF401,
SvcError_SessionClosed = 0xF601,
SvcError_NotHandled = 0xF801,
SvcError_InvalidState = 0xFA01,
SvcError_ReservedUsed = 0xFC01,
SvcError_NotSupported = 0xFE01,
SvcError_Debug = 0x10001,
SvcError_NoThread = 0x10201,
SvcError_UnknownThread = 0x10401,
SvcError_PortClosed = 0x10601,
SvcError_LimitReached = 0x10801,
SvcError_InvalidMemoryPool = 0x10A01,
SvcError_ReceiveListBroken = 0x20401,
SvcError_OutOfAddressSpace = 0x20601,
SvcError_MessageTooLarge = 0x20801,
SvcError_InvalidProcessId = 0x40A01,
SvcError_InvalidThreadId = 0x40C01,
SvcError_InvalidId = 0x40E01,
SvcError_ProcessTerminated = 0x41001,
};
enum FsError {
FsError_PathNotFound = 0x202,
FsError_PathAlreadyExists = 0x402,
FsError_TargetLocked = 0xE02,
FsError_UsableSpaceNotEnoughMmcCalibration = 0x4602,
FsError_UsableSpaceNotEnoughMmcSafe = 0x4802,
FsError_UsableSpaceNotEnoughMmcUser = 0x4A02,
FsError_UsableSpaceNotEnoughMmcSystem = 0x4C02,
FsError_UsableSpaceNotEnoughSdCard = 0x4E02,
FsError_UnsupportedSdkVersion = 0x6402,
FsError_MountNameAlreadyExists = 0x7802,
FsError_PartitionNotFound = 0x7D202,
FsError_TargetNotFound = 0x7D402,
FsError_PortSdCardNoDevice = 0xFA202,
FsError_GameCardCardNotInserted = 0x13B002,
FsError_GameCardCardNotActivated = 0x13B402,
FsError_GameCardInvalidSecureAccess = 0x13D802,
FsError_GameCardInvalidNormalAccess = 0x13DA02,
FsError_GameCardInvalidAccessAcrossMode = 0x13DC02,
FsError_GameCardInitialDataMismatch = 0x13E002,
FsError_GameCardInitialNotFilledWithZero = 0x13E202,
FsError_GameCardKekIndexMismatch = 0x13E402,
FsError_GameCardCardHeaderReadFailure = 0x13EE02,
FsError_GameCardShouldTransitFromInitialToNormal = 0x145002,
FsError_GameCardShouldTransitFromNormalModeToSecure = 0x145202,
FsError_GameCardShouldTransitFromNormalModeToDebug = 0x145402,
FsError_GameCardSendFirmwareFailure = 0x149402,
FsError_GameCardReceiveCertificateFailure = 0x149A02,
FsError_GameCardSendSocCertificateFailure = 0x14A002,
FsError_GameCardReceiveRandomValueFailure = 0x14AA02,
FsError_GameCardSendRandomValueFailure = 0x14AC02,
FsError_GameCardReceiveDeviceChallengeFailure = 0x14B602,
FsError_GameCardRespondDeviceChallengeFailure = 0x14B802,
FsError_GameCardSendHostChallengeFailure = 0x14BA02,
FsError_GameCardReceiveChallengeResponseFailure = 0x14BC02,
FsError_GameCardChallengeAndResponseFailure = 0x14BE02,
FsError_GameCardSplGenerateRandomBytesFailure = 0x14D802,
FsError_GameCardReadRegisterFailure = 0x14DE02,
FsError_GameCardWriteRegisterFailure = 0x14E002,
FsError_GameCardEnableCardBusFailure = 0x14E202,
FsError_GameCardGetCardHeaderFailure = 0x14E402,
FsError_GameCardAsicStatusError = 0x14E602,
FsError_GameCardChangeGcModeToSecureFailure = 0x14E802,
FsError_GameCardChangeGcModeToDebugFailure = 0x14EA02,
FsError_GameCardReadRmaInfoFailure = 0x14EC02,
FsError_GameCardStateCardSecureModeRequired = 0x150802,
FsError_GameCardStateCardDebugModeRequired = 0x150A02,
FsError_GameCardCommandReadId1Failure = 0x155602,
FsError_GameCardCommandReadId2Failure = 0x155802,
FsError_GameCardCommandReadId3Failure = 0x155A02,
FsError_GameCardCommandReadPageFailure = 0x155E02,
FsError_GameCardCommandWritePageFailure = 0x156202,
FsError_GameCardCommandRefreshFailure = 0x156402,
FsError_GameCardCommandReadCrcFailure = 0x156C02,
FsError_GameCardCommandEraseFailure = 0x156E02,
FsError_GameCardCommandReadDevParamFailure = 0x157002,
FsError_GameCardCommandWriteDevParamFailure = 0x157202,
FsError_GameCardDebugCardReceivedIdMismatch = 0x16B002,
FsError_GameCardDebugCardId1Mismatch = 0x16B202,
FsError_GameCardDebugCardId2Mismatch = 0x16B402,
FsError_GameCardFsCheckHandleInGetStatusFailure = 0x171402,
FsError_GameCardFsCheckHandleInCreateReadOnlyFailure = 0x172002,
FsError_GameCardFsCheckHandleInCreateSecureReadOnlyFailure = 0x172202,
FsError_NotImplemented = 0x177202,
FsError_AlreadyExists = 0x177602,
FsError_OutOfRange = 0x177A02,
FsError_AllocationMemoryFailedInFatFileSystemA = 0x190202,
FsError_AllocationMemoryFailedInFatFileSystemB = 0x190402,
FsError_AllocationMemoryFailedInFatFileSystemC = 0x190602,
FsError_AllocationMemoryFailedInFatFileSystemD = 0x190802,
FsError_AllocationMemoryFailedInFatFileSystemE = 0x190A02,
FsError_AllocationMemoryFailedInFatFileSystemF = 0x190C02,
FsError_AllocationMemoryFailedInFatFileSystemG = 0x190E02,
FsError_AllocationMemoryFailedInFatFileSystemH = 0x191002,
FsError_AllocationMemoryFailedInSdCardA = 0x195802,
FsError_AllocationMemoryFailedInSdCardB = 0x195A02,
FsError_AllocationMemoryFailedInSystemSaveDataA = 0x195C02,
FsError_AllocationMemoryFailedInRomFsFileSystemA = 0x195E02,
FsError_AllocationMemoryFailedInRomFsFileSystemB = 0x196002,
FsError_AllocationMemoryFailedInRomFsFileSystemC = 0x196202,
FsError_AllocationMemoryFailedInSdmmcStorageServiceA = 0x1A3E02,
FsError_AllocationMemoryFailedInBuiltInStorageCreatorA = 0x1A4002,
FsError_AllocationMemoryFailedInRegisterA = 0x1A4A02,
FsError_IncorrectSaveDataFileSystemMagicCode = 0x21BC02,
FsError_InvalidAcidFileSize = 0x234202,
FsError_InvalidAcidSize = 0x234402,
FsError_InvalidAcid = 0x234602,
FsError_AcidVerificationFailed = 0x234802,
FsError_InvalidNcaSignature = 0x234A02,
FsError_NcaHeaderSignature1VerificationFailed = 0x234C02,
FsError_NcaHeaderSignature2VerificationFailed = 0x234E02,
FsError_NcaFsHeaderHashVerificationFailed = 0x235002,
FsError_InvalidNcaKeyIndex = 0x235202,
FsError_InvalidNcaFsHeaderEncryptionType = 0x235602,
FsError_InvalidNcaPatchInfoIndirectSize = 0x235802,
FsError_InvalidNcaPatchInfoAesCtrExSize = 0x235A02,
FsError_InvalidNcaPatchInfoAesCtrExOffset = 0x235C02,
FsError_InvalidNcaId = 0x235E02,
FsError_InvalidNcaHeader = 0x236002,
FsError_InvalidNcaFsHeader = 0x236202,
FsError_InvalidHierarchicalSha256BlockSize = 0x236802,
FsError_InvalidHierarchicalSha256LayerCount = 0x236A02,
FsError_HierarchicalSha256BaseStorageTooLarge = 0x236C02,
FsError_HierarchicalSha256HashVerificationFailed = 0x236E02,
FsError_InvalidSha256PartitionHashTarget = 0x244402,
FsError_Sha256PartitionHashVerificationFailed = 0x244602,
FsError_PartitionSignatureVerificationFailed = 0x244802,
FsError_Sha256PartitionSignatureVerificationFailed = 0x244A02,
FsError_InvalidPartitionEntryOffset = 0x244C02,
FsError_InvalidSha256PartitionMetaDataSize = 0x244E02,
FsError_InvalidFatFileNumber = 0x249802,
FsError_InvalidFatFormatBisUser = 0x249C02,
FsError_InvalidFatFormatBisSystem = 0x249E02,
FsError_InvalidFatFormatBisSafe = 0x24A002,
FsError_InvalidFatFormatBisCalibration = 0x24A202,
FsError_AesXtsFileSystemFileHeaderCorruptedOnFileOpen = 0x250E02,
FsError_AesXtsFileSystemFileNoHeaderOnFileOpen = 0x251002,
FsError_FatFsFormatUnsupportedSize = 0x280202,
FsError_FatFsFormatInvalidBpb = 0x280402,
FsError_FatFsFormatInvalidParameter = 0x280602,
FsError_FatFsFormatIllegalSectorsA = 0x280802,
FsError_FatFsFormatIllegalSectorsB = 0x280A02,
FsError_FatFsFormatIllegalSectorsC = 0x280C02,
FsError_FatFsFormatIllegalSectorsD = 0x280E02,
FsError_UnexpectedInMountTableA = 0x296A02,
FsError_TooLongPath = 0x2EE602,
FsError_InvalidCharacter = 0x2EE802,
FsError_InvalidPathFormat = 0x2EEA02,
FsError_DirectoryUnobtainable = 0x2EEC02,
FsError_InvalidOffset = 0x2F5A02,
FsError_InvalidSize = 0x2F5C02,
FsError_NullptrArgument = 0x2F5E02,
FsError_InvalidAlignment = 0x2F6002,
FsError_InvalidMountName = 0x2F6202,
FsError_ExtensionSizeTooLarge = 0x2F6402,
FsError_ExtensionSizeInvalid = 0x2F6602,
FsError_FileExtensionWithoutOpenModeAllowAppend = 0x307202,
FsError_UnsupportedCommitTarget = 0x313A02,
FsError_UnsupportedSetSizeForNotResizableSubStorage = 0x313C02,
FsError_UnsupportedSetSizeForResizableSubStorage = 0x313E02,
FsError_UnsupportedSetSizeForMemoryStorage = 0x314002,
FsError_UnsupportedOperateRangeForMemoryStorage = 0x314202,
FsError_UnsupportedOperateRangeForFileStorage = 0x314402,
FsError_UnsupportedOperateRangeForFileHandleStorage = 0x314602,
FsError_UnsupportedOperateRangeForSwitchStorage = 0x314802,
FsError_UnsupportedOperateRangeForStorageServiceObjectAdapter = 0x314A02,
FsError_UnsupportedWriteForAesCtrCounterExtendedStorage = 0x314C02,
FsError_UnsupportedSetSizeForAesCtrCounterExtendedStorage = 0x314E02,
FsError_UnsupportedOperateRangeForAesCtrCounterExtendedStorage = 0x315002,
FsError_UnsupportedWriteForAesCtrStorageExternal = 0x315202,
FsError_UnsupportedSetSizeForAesCtrStorageExternal = 0x315402,
FsError_UnsupportedSetSizeForAesCtrStorage = 0x315602,
FsError_UnsupportedSetSizeForHierarchicalIntegrityVerificationStorage = 0x315802,
FsError_UnsupportedOperateRangeForHierarchicalIntegrityVerificationStorage = 0x315A02,
FsError_UnsupportedSetSizeForIntegrityVerificationStorage = 0x315C02,
FsError_UnsupportedOperateRangeForWritableIntegrityVerificationStorage = 0x315E02,
FsError_UnsupportedOperateRangeForIntegrityVerificationStorage = 0x316002,
FsError_UnsupportedSetSizeForBlockCacheBufferedStorage = 0x316202,
FsError_UnsupportedOperateRangeForWritableBlockCacheBufferedStorage = 0x316402,
FsError_UnsupportedOperateRangeForBlockCacheBufferedStorage = 0x316602,
FsError_UnsupportedWriteForIndirectStorage = 0x316802,
FsError_UnsupportedSetSizeForIndirectStorage = 0x316A02,
FsError_UnsupportedOperateRangeForIndirectStorage = 0x316C02,
FsError_UnsupportedWriteForZeroStorage = 0x316E02,
FsError_UnsupportedSetSizeForZeroStorage = 0x317002,
FsError_UnsupportedSetSizeForHierarchicalSha256Storage = 0x317202,
FsError_UnsupportedWriteForReadOnlyBlockCacheStorage = 0x317402,
FsError_UnsupportedSetSizeForReadOnlyBlockCacheStorage = 0x317602,
FsError_UnsupportedSetSizeForIntegrityRomFsStorage = 0x317802,
FsError_UnsupportedSetSizeForDuplexStorage = 0x317A02,
FsError_UnsupportedOperateRangeForDuplexStorage = 0x317C02,
FsError_UnsupportedSetSizeForHierarchicalDuplexStorage = 0x317E02,
FsError_UnsupportedGetSizeForRemapStorage = 0x318002,
FsError_UnsupportedSetSizeForRemapStorage = 0x318202,
FsError_UnsupportedOperateRangeForRemapStorage = 0x318402,
FsError_UnsupportedSetSizeForIntegritySaveDataStorage = 0x318602,
FsError_UnsupportedOperateRangeForIntegritySaveDataStorage = 0x318802,
FsError_UnsupportedSetSizeForJournalIntegritySaveDataStorage = 0x318A02,
FsError_UnsupportedOperateRangeForJournalIntegritySaveDataStorage = 0x318C02,
FsError_UnsupportedGetSizeForJournalStorage = 0x318E02,
FsError_UnsupportedSetSizeForJournalStorage = 0x319002,
FsError_UnsupportedOperateRangeForJournalStorage = 0x319202,
FsError_UnsupportedSetSizeForUnionStorage = 0x319402,
FsError_UnsupportedSetSizeForAllocationTableStorage = 0x319602,
FsError_UnsupportedReadForWriteOnlyGameCardStorage = 0x319802,
FsError_UnsupportedSetSizeForWriteOnlyGameCardStorage = 0x319A02,
FsError_UnsupportedWriteForReadOnlyGameCardStorage = 0x319C02,
FsError_UnsupportedSetSizeForReadOnlyGameCardStorage = 0x319E02,
FsError_UnsupportedOperateRangeForReadOnlyGameCardStorage = 0x31A002,
FsError_UnsupportedSetSizeForSdmmcStorage = 0x31A202,
FsError_UnsupportedOperateRangeForSdmmcStorage = 0x31A402,
FsError_UnsupportedOperateRangeForFatFile = 0x31A602,
FsError_UnsupportedOperateRangeForStorageFile = 0x31A802,
FsError_UnsupportedSetSizeForInternalStorageConcatenationFile = 0x31AA02,
FsError_UnsupportedOperateRangeForInternalStorageConcatenationFile = 0x31AC02,
FsError_UnsupportedQueryEntryForConcatenationFileSystem = 0x31AE02,
FsError_UnsupportedOperateRangeForConcatenationFile = 0x31B002,
FsError_UnsupportedSetSizeForZeroBitmapFile = 0x31B202,
FsError_UnsupportedOperateRangeForFileServiceObjectAdapter = 0x31B402,
FsError_UnsupportedOperateRangeForAesXtsFile = 0x31B602,
FsError_UnsupportedWriteForRomFsFileSystem = 0x31B802,
FsError_UnsupportedCommitProvisionallyForRomFsFileSystem = 0x31BA02,
FsError_UnsupportedGetTotalSpaceSizeForRomFsFileSystem = 0x31BC02,
FsError_UnsupportedWriteForRomFsFile = 0x31BE02,
FsError_UnsupportedOperateRangeForRomFsFile = 0x31C002,
FsError_UnsupportedWriteForReadOnlyFileSystem = 0x31C202,
FsError_UnsupportedCommitProvisionallyForReadOnlyFileSystem = 0x31C402,
FsError_UnsupportedGetTotalSpaceSizeForReadOnlyFileSystem = 0x31C602,
FsError_UnsupportedWriteForReadOnlyFile = 0x31C802,
FsError_UnsupportedOperateRangeForReadOnlyFile = 0x31CA02,
FsError_UnsupportedWriteForPartitionFileSystem = 0x31CC02,
FsError_UnsupportedCommitProvisionallyForPartitionFileSystem = 0x31CE02,
FsError_UnsupportedWriteForPartitionFile = 0x31D002,
FsError_UnsupportedOperateRangeForPartitionFile = 0x31D202,
FsError_UnsupportedOperateRangeForTmFileSystemFile = 0x31D402,
FsError_UnsupportedWriteForSaveDataInternalStorageFileSystem = 0x31D602,
FsError_UnsupportedCommitProvisionallyForApplicationTemporaryFileSystem = 0x31DC02,
FsError_UnsupportedCommitProvisionallyForSaveDataFileSystem = 0x31DE02,
FsError_UnsupportedCommitProvisionallyForDirectorySaveDataFileSystem = 0x31E002,
FsError_UnsupportedWriteForZeroBitmapHashStorageFile = 0x31E202,
FsError_UnsupportedSetSizeForZeroBitmapHashStorageFile = 0x31E402,
FsError_NcaExternalKeyUnregisteredDeprecated = 0x326602,
FsError_FileNotClosed = 0x326E02,
FsError_DirectoryNotClosed = 0x327002,
FsError_WriteModeFileNotClosed = 0x327202,
FsError_AllocatorAlreadyRegistered = 0x327402,
FsError_DefaultAllocatorAlreadyUsed = 0x327602,
FsError_AllocatorAlignmentViolation = 0x327A02,
FsError_UserNotExist = 0x328202,
FsError_FileNotFound = 0x339402,
FsError_DirectoryNotFound = 0x339602,
FsError_MappingTableFull = 0x346402,
FsError_OpenCountLimit = 0x346A02,
FsError_MultiCommitFileSystemLimit = 0x346C02,
FsError_MapFull = 0x353602,
FsError_NotMounted = 0x35F202,
FsError_DbmKeyNotFound = 0x3DBC02,
FsError_DbmFileNotFound = 0x3DBE02,
FsError_DbmDirectoryNotFound = 0x3DC002,
FsError_DbmAlreadyExists = 0x3DC402,
FsError_DbmKeyFull = 0x3DC602,
FsError_DbmDirectoryEntryFull = 0x3DC802,
FsError_DbmFileEntryFull = 0x3DCA02,
FsError_DbmInvalidOperation = 0x3DD402,
};
enum OsError {
OsError_ResultNoPermission = 0x203,
OsError_ResultAccessViolation = 0x403,
OsError_ResultBadRequest = 0x603,
OsError_ResultBusy = 0x803,
OsError_ResultDeadlock = 0xA03,
OsError_ResultInvalidAddress = 0xC03,
OsError_ResultInvalidParameter = 0xE03,
OsError_ResultOutOfMemory = 0x1003,
OsError_ResultOutOfResource = 0x1203,
OsError_InvalidHandle = 0x3EA03,
OsError_InvalidCurrentMemoryState = 0x3EC03,
OsError_InvalidTransferMemoryState = 0x3EE03,
OsError_InvalidTransferMemorySize = 0x3F003,
OsError_ResultInternalError = 0x7FE03,
};
enum NcmError {
NcmError_ContentNotFound = 0xA05,
NcmError_ContentMetaNotFound = 0xE05,
NcmError_UnknownStorage = 0x1805,
NcmError_InvalidContentMetaDatabase = 0xDC05,
NcmError_WriteToReadOnlyContentStorage = 0x17C05,
};
#define R_SUCCEED() return 0
#define R_THROW(_rc) return _rc
#define R_TRY_RESULT(r, _result) { \
if (const auto _rc = (r); R_FAILED(_rc)) { \
R_THROW(_result); \
} \
}
#define R_TRY(r) { \
if (const auto _rc = (r); R_FAILED(_rc)) { \
R_THROW(_rc); \
} \
}
#define R_UNLESS(expr, res) { \
if (!(expr)) { \
R_THROW(res); \
} \
}
#define CONCATENATE_IMPL(s1, s2) s1##s2
#define CONCATENATE(s1, s2) CONCATENATE_IMPL(s1, s2)
#define ANONYMOUS_VARIABLE(pref) CONCATENATE(pref, __COUNTER__)
#define ON_SCOPE_EXIT(_f) std::experimental::scope_exit ANONYMOUS_VARIABLE(SCOPE_EXIT_STATE_){[&] { _f; }};
#define ON_SCOPE_FAIL(_f) std::experimental::scope_exit ANONYMOUS_VARIABLE(SCOPE_EXIT_STATE_){[&] { if (R_FAILED(rc)) { _f; } }};
#define ON_SCOPE_SUCCESS(_f) std::experimental::scope_exit ANONYMOUS_VARIABLE(SCOPE_EXIT_STATE_){[&] { if (R_SUCCEEDED(rc)) { _f; } }};
#if 0
constexpr auto cexprHash(const char *str, std::size_t v = 0) noexcept -> std::size_t {
return (*str == 0) ? v : 31 * cexprHash(str + 1) + *str;
}
constexpr auto cexprStrlen(const char *str) noexcept -> std::size_t {
return (*str != 0) ? 1 + cexprStrlen(str + 1) : 0;
}
inline void showError(const char* title, const char* desc, Result rc) {
const auto type = appletGetAppletType();
if (type == AppletType_Application || type == AppletType_SystemApplication) {
ErrorApplicationConfig cfg;
errorApplicationCreate(&cfg, title, desc);
errorApplicationSetNumber(&cfg, rc);
errorApplicationShow(&cfg);
} else {
ErrorSystemConfig cfg;
errorSystemCreate(&cfg, title, desc);
errorSystemSetResult(&cfg, rc);
errorSystemShow(&cfg);
}
}
#endif