Added result.h.

This commit is contained in:
yellows8 2017-09-08 18:05:50 -04:00
parent 3b48bab62a
commit 6c05799e8c
2 changed files with 21 additions and 0 deletions

View File

@ -9,6 +9,7 @@ extern "C" {
#endif #endif
#include <switch/types.h> #include <switch/types.h>
#include <switch/result.h>
#include <switch/svc.h> #include <switch/svc.h>
#ifdef __cplusplus #ifdef __cplusplus

View File

@ -0,0 +1,20 @@
/**
* @file result.h
* @brief Switch result code tools
*/
#pragma once
#include "types.h"
/// Checks whether a result code indicates success.
#define R_SUCCEEDED(res) ((res)==0)
/// Checks whether a result code indicates failure.
#define R_FAILED(res) ((res)!=0)
/// Returns the module ID of a result code.
#define R_MODULE(res) ((res)&0x1FF)
/// Returns the description of a result code.
#define R_DESCRIPTION(res) (((res)>>9)&0x1FFF)
/// Builds a result code from its constituent components.
#define MAKERESULT(module,description) \
((((module)&0x1FF)) | ((description)&0x1FFF)<<9)