libnx/nx/include/switch/result.h
2018-01-20 13:56:12 +01:00

56 lines
1.5 KiB
C

/**
* @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)
#define MODULE_LIBNX 345
enum {
LIBNX_BADRELOC=1,
LIBNX_OUTOFMEM,
LIBNX_ALREADYMAPPED,
LIBNX_BADGETINFO_STACK,
LIBNX_BADGETINFO_HEAP,
LIBNX_BADQUERYMEMORY,
LIBNX_ALREADYINITIALIZED,
LIBNX_NOTINITIALIZED,
LIBNX_NOTFOUND,
LIBNX_IOERROR,
LIBNX_BADINPUT,
LIBNX_BADREENT,
LIBNX_BUFFERPRODUCER_ERROR,
LIBNX_HANDLETOOEARLY,
LIBNX_HEAPALLOCFAILED,
LIBNX_TOOMANYOVERRIDES,
LIBNX_PARCELERROR,
LIBNX_BADGFXINIT,
LIBNX_APPLETCMDIDNOTFOUND,
LIBNX_BADAPPLETRECEIVEMESSAGE,
LIBNX_BADAPPLETNOTIFYRUNNING,
LIBNX_BADAPPLETGETCURRENTFOCUSSTATE,
LIBNX_BADAPPLETGETOPERATIONMODE,
LIBNX_BADAPPLETGETPERFORMANCEMODE,
LIBNX_BADUSBCOMMSREAD,
LIBNX_INITFAIL_SM,
LIBNX_INITFAIL_AM,
LIBNX_INITFAIL_HID,
LIBNX_INITFAIL_FS,
LIBNX_BADGETINFO_RNG,
LIBNX_JITUNAVAILABLE,
LIBNX_WEIRDKERNEL
};