| 134 | } |
| 135 | |
| 136 | Result ERRF_SetUserString(const char* user_string) |
| 137 | { |
| 138 | Result ret = errfInit(); |
| 139 | size_t size = strnlen(user_string, 256); |
| 140 | |
| 141 | if (R_FAILED(ret)) |
| 142 | return ret; |
| 143 | |
| 144 | u32 *cmdbuf = getThreadCommandBuffer(); |
| 145 | |
| 146 | cmdbuf[0] = IPC_MakeHeader(0x2,1,2); // 0x20042 |
| 147 | cmdbuf[1] = size; // unused |
| 148 | cmdbuf[2] = IPC_Desc_StaticBuffer(size, 0); |
| 149 | cmdbuf[3] = (u32)user_string; |
| 150 | |
| 151 | if (R_SUCCEEDED(ret = svcSendSyncRequest(errfHandle))) |
| 152 | ret = cmdbuf[1]; |
| 153 | |
| 154 | errfExit(); |
| 155 | return ret; |
| 156 | } |
| 157 | |
| 158 | void ERRF_ExceptionHandler(ERRF_ExceptionInfo* excep, CpuRegisters* regs) |
| 159 | { |
nothing calls this directly
no test coverage detected