From 9ff9ce5ad45d3d8a54d37752c09f00153220c4f5 Mon Sep 17 00:00:00 2001 From: plutoo Date: Thu, 21 Aug 2014 20:17:41 +0200 Subject: [PATCH] os: Added osStrError(). This will summarize an error-code given by the OS/sysmodules in few words. Useful for debugging. --- libctru/include/3ds/os.h | 1 + libctru/source/os.c | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/libctru/include/3ds/os.h b/libctru/include/3ds/os.h index e807f64..60a97b4 100644 --- a/libctru/include/3ds/os.h +++ b/libctru/include/3ds/os.h @@ -2,5 +2,6 @@ #define OS_H u32 osConvertVirtToPhys(u32 vaddr); +const char* osStrError(u32 error); #endif diff --git a/libctru/source/os.c b/libctru/source/os.c index 7d546a9..7d84af1 100644 --- a/libctru/source/os.c +++ b/libctru/source/os.c @@ -12,3 +12,32 @@ u32 osConvertVirtToPhys(u32 vaddr) return vaddr - 0x07000000; // VRAM return 0; } + +const char* osStrError(u32 error) { + switch((error>>26) & 0x3F) { + case 0: + return "Success."; + case 1: + return "Nothing happened."; + case 2: + return "Would block."; + case 3: + return "Not enough resources."; + case 4: + return "Not found."; + case 5: + return "Invalid state."; + case 6: + return "Unsupported."; + case 7: + return "Invalid argument."; + case 8: + return "Wrong argument."; + case 9: + return "Interrupted."; + case 10: + return "Internal error."; + default: + return "Unknown."; + } +}