smm_ams: Add HasMitm extension

This commit is contained in:
Michael Scire 2018-11-30 00:50:45 -08:00
parent 0bec72ca36
commit 8fbefee37e
2 changed files with 40 additions and 1 deletions

View File

@ -25,6 +25,7 @@ Result smManagerAmsInitialize(void);
void smManagerAmsExit(void); void smManagerAmsExit(void);
Result smManagerAmsEndInitialDefers(void); Result smManagerAmsEndInitialDefers(void);
Result smManagerAmsHasMitm(bool *out, const char* name);
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@ -66,4 +66,42 @@ Result smManagerAmsEndInitialDefers(void) {
return rc; return rc;
} }
Result smManagerAmsHasMitm(bool *out, const char* name) {
IpcCommand c;
ipcInitialize(&c);
struct {
u64 magic;
u64 cmd_id;
u64 service_name;
} *raw;
raw = serviceIpcPrepareHeader(&g_smManagerAmsSrv, &c, sizeof(*raw));
raw->magic = SFCI_MAGIC;
raw->cmd_id = 65001;
raw->service_name = smEncodeName(name);
Result rc = serviceIpcDispatch(&g_smManagerAmsSrv);
if (R_SUCCEEDED(rc)) {
IpcParsedCommand r;
struct {
u64 magic;
u64 result;
u8 has_mitm;
} *resp;
serviceIpcParse(&g_smManagerAmsSrv, &r, sizeof(*resp));
resp = r.Raw;
rc = resp->result;
if (R_SUCCEEDED(rc)) {
*out = has_mitm != 0;
}
}
return rc;
}