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
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
|
?
|