libnx/nx/source/services/fatal.c
plutoo 3926969ebc Minor changes
* Refactored system/*
* Implemented all of tmem
* Introduced virtmem
2017-10-07 15:32:57 +02:00

40 lines
789 B
C

// Copyright 2017 plutoo
#include <switch.h>
void fatalSimple(Result err) {
Result rc = 0;
if (!smHasInitialized()) {
rc = smInitialize();
}
if (R_SUCCEEDED(rc)) {
Handle srv;
rc = smGetService(&srv, "fatal:u");
if (R_SUCCEEDED(rc)) {
IpcCommand c;
ipcInitialize(&c);
ipcSendPid(&c);
struct {
u64 magic;
u64 cmd_id;
u64 result;
u64 unknown;
} *raw;
raw = ipcPrepareHeader(&c, sizeof(*raw));
raw->magic = SFCI_MAGIC;
raw->cmd_id = 0;
raw->result = err;
raw->unknown = 0;
ipcDispatch(srv);
}
}
((void(*)())0xBADC0DE)();
}