CECD Services
Streetpass stuff.
CECD Service "cecd:u"
| Command Header | Description |
|---|---|
| 0x000100C2 | OpenMailbox |
| 0x00020042 | ? |
| 0x00030104 | ReadRawMessageFile |
| 0x00070106 | WriteMessageToMailbox (16*length+10 of CecMessageId buffer in cmdbuff[9] (always 16*8+10), CecMessageId* in cmdbuf[10]) |
| 0x00080102 | DeleteMailbox |
| 0x000900C2 | ? (16*length+10 of CecMessageId buffer in cmdbuff[4] (always 16*8+10), CecMessageId* in cmdbuf[5]) |
| 0x000A00C4 | GetSystemInfo |
| 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 |
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:ndm"
| Command Header | Description |
|---|---|
| 0x0001.... | Initialize |
| 0x0002.... | Deinitialize |
| 0x0003.... | ResumeDaemon |
| 0x0004.... | SuspendDaemon(bool immediately) |