CECD Services
Revision as of 03:55, 9 September 2016 by Wwylele (talk | contribs) (→CECD Service "cecd:u": constructing)
Streetpass stuff.
CECD Service "cecd:u"
Command Header | Description |
---|---|
0x000100C2 | OpenRawFile (cmdbuff[1] title_id, cmdbuff[2] CecDataPathType, cmdbuff[3] fileflag?, cmdbuff[4~5] ProcessID_descriptor) |
0x00020042 | ReadRawFile (cmdbuff[1] buffer_size, cmdbuff[2] BufferMappingDescriptor(W), cmdbuff[3] buffer_addr) |
0x00030104 | ReadMessage (cmdbuff[1] title_id, cmdbuff[2](bool?) is_out_box?, cmdbuff[3] message_id_size=16, cmdbuff[4] buffer_size, cmdbuff[5] BufferMappingDescriptor(R)=16*8+10, cmdbuff[6] CecMessageId*, cmdbuff[7] BufferMappingDescriptor(W), cmdbuff[8] buffer_addr) |
0x00040106 | ReadMessageWithHMAC (cmdbuff[1] title_id, cmdbuff[2](bool?) is_out_box?, cmdbuff[3] message_id_size=16, cmdbuff[4] buffer_size, cmdbuff[5] BufferMappingDescriptor(R)=16*8+10, cmdbuff[6] CecMessageId*, cmdbuff[7] BufferMappingDescriptor(R), cmdbuff[8] HMAC_addr, cmdbuff[9] BufferMappingDescriptor(W), cmdbuff[10] buffer_addr) |
0x00050042 | WriteRawFile (cmdbuff[1] buffer_size, cmdbuff[2] BufferMappingDescriptor(R), cmdbuff[3] buffer_addr) |
0x00060104 | WriteMessage (cmdbuff[1] title_id, cmdbuff[2](bool?) is_out_box?, cmdbuff[3] message_id_size=16, cmdbuff[4] buffer_size, cmdbuff[5] BufferMappingDescriptor(R), cmdbuff[6] buffer_addr, cmdbuff[7] BufferMappingDescriptor(RW)=16*8+10, cmdbuff[8] CecMessageId*) |
0x00070106 | WriteMessageWithHMAC (cmdbuff[1] title_id, cmdbuff[2](bool?) is_out_box?, cmdbuff[3] message_id_size=16, cmdbuff[4] buffer_size, cmdbuff[5] BufferMappingDescriptor(R), cmdbuff[6] buffer_addr, cmdbuff[7] BufferMappingDescriptor(R), cmdbuff[8] HMAC_addr, cmdbuff[9] BufferMappingDescriptor(RW)=16*8+10, cmdbuff[10] CecMessageId*) |
0x00080102 | DeleteMailbox (cmdbuff[1] title_id, cmdbuff[2] CecDataPathType, cmdbuff[3]?, cmdbuff[4] message_id_size?, cmdbuff[5] BufferMappingDescriptor(R), cmdbuff[6] CecMessageId*?) |
0x000900C2 | ? (16*length+10 of CecMessageId buffer in cmdbuff[4] (always 16*8+10), CecMessageId* in cmdbuf[5]) |
0x000A00C4 | GetSystemInfo (cmdbuff[1] buffer_size, cmdbuff[2] info_type, cmdbuff[3]param_size?, cmdbuff[4] BufferMappingDescriptor(R), cmdbuff[5] param_addr?, cmdbuff[6] BufferMappingDescriptor(W), cmdbuff[7] buffer_addr) |
0x000B0040 | RunCommand |
0x000C0040 | RunCommandAlt (seems to be the same as RunCommand besides some extra checks) |
0x000D0082 | ? |
0x000E0000 | GetCecStateAbbreviated (returns CecStateAbbreviated in cmdbuf[2]) |
0x000F0000 | GetCecInfoEventHandle (returns event handle in cmdbuf[3]) |
0x00100000 | GetChangeStateEventHandle (returns event handle in cmdbuf[3]) |
0x00110104 | OpenAndWrite (cmdbuf[3]: CecMessageType type, cmdbuf[5]: 0x20, cmdbuf[6]: u8* data_buf, cmdbuf[7]: u32 16*data_size+10) |
0x00120104 | OpenAndRead |
0x001E0082 | ? |
0x001F.... | ? |
0x0020.... | ? |
0x0021.... | ? |
CecDataPathType
Name | Value | Notes |
---|---|---|
CEC_PATH_MBOX_LIST | 1 | data:/CEC/MBoxList____ |
CEC_PATH_MBOX_INFO | 2 | data:/CEC/<id>/MBoxInfo____ |
CEC_PATH_INBOX_INFO | 3 | data:/CEC/<id>/InBox__/BoxInfo_____ |
CEC_PATH_OUTBOX_INFO | 4 | data:/CEC/<id>/OutBox__/BoxInfo_____ |
CEC_PATH_OUTBOX_INDEX | 5 | data:/CEC/<id>/OutBox__/OBIndex_____ |
CEC_PATH_INBOX_MSG | 6 | data:/CEC/<id>/InBox__/_<message_id> |
CEC_PATH_OUTBOX_MSG | 7 | data:/CEC/<id>/OutBox__/_<message_id> |
CEC_PATH_ROOT_DIR | 10 | data:/CEC |
CEC_PATH_MBOX_DIR | 11 | data:/CEC/<id> |
CEC_PATH_INBOX_DIR | 12 | data:/CEC/<id>/InBox__ |
CEC_PATH_OUTBOX_DIR | 13 | data:/CEC/<id>/OutBox__ |
101 thru 199 (inclusive) | data:/CEC/<id>/MBoxData.0<i-100> |
CecCommand
Name | Value | Notes |
---|---|---|
CEC_COMMAND_NONE | 0 | |
CEC_COMMAND_START | 1 | |
CEC_COMMAND_RESET_START | 2 | |
CEC_COMMAND_READYSCAN | 3 | |
CEC_COMMAND_READYSCANWAIT | 4 | |
CEC_COMMAND_STARTSCAN | 5 | |
CEC_COMMAND_RESCAN | 6 | |
CEC_COMMAND_NDM_RESUME | 7 | |
CEC_COMMAND_NDM_SUSPEND | 8 | |
CEC_COMMAND_NDM_SUSPEND_IMMEDIATE | 9 | |
CEC_COMMAND_STOPWAIT | 0xA | |
CEC_COMMAND_STOP | 0xB | |
CEC_COMMAND_STOP_FORCE | 0xC | |
CEC_COMMAND_STOP_FORCE_WAIT | 0xD | |
CEC_COMMAND_RESET_FILTER | 0xE | |
CEC_COMMAND_DAEMON_STOP | 0xF | |
CEC_COMMAND_DAEMON_START | 0x10 | |
CEC_COMMAND_EXIT | 0x11 | |
CEC_COMMAND_OVER_BOSS | 0x12 | |
CEC_COMMAND_OVER_BOSS_FORCE | 0x13 | |
CEC_COMMAND_OVER_BOSS_FORCE_WAIT | 0x14 | |
CEC_COMMAND_END | 0x15 |
CecStateAbbreviated
Name | Value | Notes |
---|---|---|
CEC_STATE_ABBREV_IDLE | 1 | Corresponds to CEC_STATE_IDLE |
CEC_STATE_ABBREV_INACTIVE | 2 | Corresponds to CEC_STATEs *FINISH*, *POST, and OVER_BOSS |
CEC_STATE_ABBREV_SCANNING | 3 | Corresponds to CEC_STATE_SCANNING |
CEC_STATE_ABBREV_WLREADY? | 4 | Corresponds to CEC_STATE_WIRELESS_READY when some unknown bool is true |
CEC_STATE_ABBREV_OTHER | 5 | Corresponds to CEC_STATEs besides *FINISH*, *POST, and OVER_BOSS and those listed here |
CecMessageId
Type | Field |
---|---|
char[8] | data |
CecMessageType
Name | Value | Notes |
---|---|---|
? | 0x2 | Corresponds to some 0x60-byte data |
CECMESSAGE_BOX_ICON | 0x65 | Corresponds to the StreetPass "box" icon |
CECMESSAGE_BOX_TITLE | 0x6E | Corresponds to the StreetPass "box" title |
CECD Service "cecd:s"
This contains a similar (probably the same) command handler from 0x0001.... to 0x0021.... as them in cecd:u. In addition, it also contains
Command Header | Description |
---|---|
0x0401.... | ? |
0x04020002 | ? |
0x040A.... | ? |
0x040B.... | ? |
0x040C0042 | ? |
0x040D0082 | ? |
0x040E.... | ? |
0x040F.... | ? |
0x0410.... | ? |
0x04110042 | ? |
0x041200C2 | ? |
0x0413.... | ? |
0x0414.... | ? |
0x0415.... | ? |
0x04160002 | ? |
0x0417.... | ? |
CECD Service "cecd:ndm"
Command Header | Description |
---|---|
0x0001.... | Initialize |
0x0002.... | Deinitialize |
0x0003.... | ResumeDaemon |
0x0004.... | SuspendDaemon(bool immediately) |
0x0005.... | ? |
0x00060042 | ? |
0x00070042 | ? |
0x00080042 | ? |