Difference between revisions of "CECD Services"
Jump to navigation
Jump to search
m (change names of 2 function) |
(add 0x40E name) |
||
(30 intermediate revisions by 9 users not shown) | |||
Line 10: | Line 10: | ||
|- | |- | ||
| 0x000100C2 | | 0x000100C2 | ||
− | | | + | | Open/[[CECDU:OpenRawFile|OpenRawFile]] |
|- | |- | ||
| 0x00020042 | | 0x00020042 | ||
− | | | + | | Read/[[CECDU:ReadRawFile|ReadRawFile]] |
|- | |- | ||
| 0x00030104 | | 0x00030104 | ||
− | | | + | | [[CECDU:ReadMessage|ReadMessage]] |
+ | |- | ||
+ | | 0x00040106 | ||
+ | | [[CECDU:ReadMessageWithHMAC|ReadMessageWithHMAC]] | ||
+ | |- | ||
+ | | 0x00050042 | ||
+ | | Write/[[CECDU:WriteRawFile|WriteRawFile]] | ||
+ | |- | ||
+ | | 0x00060104 | ||
+ | | [[CECDU:WriteMessage|WriteMessage]] | ||
|- | |- | ||
| 0x00070106 | | 0x00070106 | ||
− | | | + | | [[CECDU:WriteMessageWithHMAC|WriteMessageWithHMAC]] |
|- | |- | ||
| 0x00080102 | | 0x00080102 | ||
− | | | + | | [[CECDU:Delete|Delete]] |
|- | |- | ||
| 0x000900C2 | | 0x000900C2 | ||
− | | | + | | SetData (16*length+10 of CecMessageId buffer in cmdbuff[4] (always 16*8+10), CecMessageId* in cmdbuf[5]) |
|- | |- | ||
| 0x000A00C4 | | 0x000A00C4 | ||
− | | | + | | ReadData/[[CECDU:GetSystemInfo|GetSystemInfo]] |
|- | |- | ||
| 0x000B0040 | | 0x000B0040 | ||
− | | | + | | [[CECDU:Start|Start]] |
|- | |- | ||
| 0x000C0040 | | 0x000C0040 | ||
− | | | + | | [[CECDU:Stop|Stop]] |
|- | |- | ||
| 0x000D0082 | | 0x000D0082 | ||
− | | | + | | GetCecInfoBuffer |
|- | |- | ||
| 0x000E0000 | | 0x000E0000 | ||
− | | | + | | GetCecdState (returns CecStateAbbreviated in cmdbuf[2]) |
|- | |- | ||
| 0x000F0000 | | 0x000F0000 | ||
Line 49: | Line 58: | ||
|- | |- | ||
| 0x00110104 | | 0x00110104 | ||
− | | | + | | [[CECDU:OpenAndWrite|OpenAndWrite]] |
|- | |- | ||
| 0x00120104 | | 0x00120104 | ||
− | | [[CECDU: | + | | [[CECDU:OpenAndRead|OpenAndRead]] |
+ | |- | ||
+ | | 0x001E0082 | ||
+ | | [[CECDU:GetEventLog|GetEventLog]] | ||
+ | |- | ||
+ | | 0x001F0000 | ||
+ | | [[CECDU:GetEventLogStart|GetEventLogStart]] | ||
+ | |- | ||
+ | | 0x00200000 | ||
+ | | [[CECDU:GetEventLogEntryCount|GetEventLogEntryCount]] | ||
+ | |- | ||
+ | | 0x0021.... | ||
+ | | ? | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | === CecDataPathType === | ||
+ | {| class="wikitable" border="1" | ||
+ | ! 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> | ||
+ | |- | ||
+ | | CECMESSAGE_BOX_ICON || 101 | ||
+ | | data:/CEC/<id>/MBoxData.001 | ||
+ | |- | ||
+ | | CECMESSAGE_BOX_TITLE || 110 | ||
+ | | data:/CEC/<id>/MBoxData.010 | ||
|} | |} | ||
Line 162: | Line 232: | ||
| Corresponds to CEC_STATE_IDLE | | Corresponds to CEC_STATE_IDLE | ||
|- | |- | ||
− | | | + | | CEC_STATE_ABBREV_INACTIVE |
| 2 | | 2 | ||
| Corresponds to CEC_STATEs *FINISH*, *POST, and OVER_BOSS | | Corresponds to CEC_STATEs *FINISH*, *POST, and OVER_BOSS | ||
Line 179: | Line 249: | ||
|} | |} | ||
− | === | + | === CecMessageId === |
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
! Type | ! Type | ||
Line 189: | Line 259: | ||
|} | |} | ||
− | === | + | = 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 | ||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Command Header | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0401.... | ||
+ | | ? | ||
+ | |- | ||
+ | | 0x04020002 | ||
+ | | GetCecInfoEventHandleSys | ||
+ | |- | ||
+ | | 0x040A.... | ||
+ | | SprCreate | ||
+ | |- | ||
+ | | 0x040B.... | ||
+ | | SprInitialise | ||
+ | |- | ||
+ | | 0x040C0042 | ||
+ | | SprGetSendSlotsMetadata | ||
+ | |- | ||
+ | | 0x040D0082 | ||
+ | | SprGetSlot title_id, write_buffer, buffer_size | ||
+ | |- | ||
+ | | 0x040E.... | ||
+ | | SprSetTitleSent title_id, bool success | ||
+ | |- | ||
+ | | 0x040F.... | ||
+ | | SprFinaliseSend | ||
+ | |- | ||
+ | | 0x0410.... | ||
+ | | SprStartRecv | ||
+ | |- | ||
+ | | 0x04110042 | ||
+ | | SprAddSlotsMetadata | ||
+ | |- | ||
+ | | 0x041200C2 | ||
+ | | SprAddSlot | ||
+ | |- | ||
+ | | 0x0413.... | ||
+ | | SprFinaliseRecv | ||
+ | |- | ||
+ | | 0x0414.... | ||
+ | | SprDone bool success | ||
+ | |- | ||
+ | | 0x04150000 | ||
+ | | [[CECDS:GenHashConsoleUnique|GenHashConsoleUnique]] | ||
+ | |- | ||
+ | | 0x04160002 | ||
+ | | ? | ||
+ | |- | ||
+ | | 0x0417.... | ||
+ | | ? | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | === CecSprStatus === | ||
+ | This enum is used internally of the cecd service to keep track of which state of an SPR exchange it is in currently. | ||
+ | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
! Name | ! Name | ||
Line 195: | Line 325: | ||
! Notes | ! Notes | ||
|- | |- | ||
− | | | + | | CEC_SPR_SEND_RECV_START |
− | | | + | | 0 |
− | | | + | | The internal objects were just created |
+ | |- | ||
+ | | CEC_SPR_SEND_RECV_INIT | ||
+ | | 1 | ||
+ | | The internal objects for sending and receiving have been initialised | ||
+ | |- | ||
+ | | CEC_SPR_SEND_READY | ||
+ | | 2 | ||
+ | | The sysmodule is ready for SPR Send, now it is possible to fetch the SPR data needed | ||
+ | |- | ||
+ | | CEC_SPR_SEND | ||
+ | | 3 | ||
+ | | The other program should be sending the SPR request now | ||
+ | |- | ||
+ | | CEC_SPR_RECEIVE_READY | ||
+ | | 4 | ||
+ | | The sysmodule is ready to receive SPR data now | ||
+ | |- | ||
+ | | CEC_SPR_RECEIVE | ||
+ | | 5 | ||
+ | | The sysmodule is done receiving SPR data | ||
+ | |- | ||
+ | | CEC_SPR_CONNECTION_FINISHED_TCP | ||
+ | | 6 | ||
+ | | | ||
+ | |- | ||
+ | | CEC_SPR_CONNECTION_FINISHED | ||
+ | | 7 | ||
+ | | ??? Enum usage not found in source | ||
+ | |- | ||
+ | | CEC_SPR_SEND_POST | ||
+ | | 8 | ||
+ | | ??? Enum usage not found in source | ||
|- | |- | ||
− | | | + | | CEC_SPR_RECEIVE_POST |
− | | | + | | 9 |
− | | | + | | ??? Enum usage not found in source |
|- | |- | ||
− | | | + | | CEC_SPR_FINISHING |
− | | | + | | 0x0F |
− | | | + | | ??? Enum usage not found in source |
|- | |- | ||
+ | | CEC_SPR_FINISHED | ||
+ | | 0x10 | ||
+ | | ??? Enum usage not found in source | ||
|} | |} | ||
Line 215: | Line 380: | ||
! Description | ! Description | ||
|- | |- | ||
− | | | + | | 0x00010000 |
| Initialize | | Initialize | ||
|- | |- | ||
− | | | + | | 0x00020000 |
| Deinitialize | | Deinitialize | ||
|- | |- | ||
− | | | + | | 0x00030000 |
| ResumeDaemon | | ResumeDaemon | ||
|- | |- | ||
− | | | + | | 0x00040040 |
| SuspendDaemon(bool immediately) | | SuspendDaemon(bool immediately) | ||
+ | |- | ||
+ | | 0x00050000 | ||
+ | | QueryStatus | ||
+ | |- | ||
+ | | 0x00060042 | ||
+ | | GetNZoneInfo | ||
+ | |- | ||
+ | | 0x00070042 | ||
+ | | SetNZoneSSIDList | ||
+ | |- | ||
+ | | 0x00080042 | ||
+ | | SetNZoneMacFilter | ||
|- | |- | ||
|} | |} |
Latest revision as of 16:45, 5 December 2024
Streetpass stuff.
CECD Service "cecd:u"[edit]
Command Header | Description |
---|---|
0x000100C2 | Open/OpenRawFile |
0x00020042 | Read/ReadRawFile |
0x00030104 | ReadMessage |
0x00040106 | ReadMessageWithHMAC |
0x00050042 | Write/WriteRawFile |
0x00060104 | WriteMessage |
0x00070106 | WriteMessageWithHMAC |
0x00080102 | Delete |
0x000900C2 | SetData (16*length+10 of CecMessageId buffer in cmdbuff[4] (always 16*8+10), CecMessageId* in cmdbuf[5]) |
0x000A00C4 | ReadData/GetSystemInfo |
0x000B0040 | Start |
0x000C0040 | Stop |
0x000D0082 | GetCecInfoBuffer |
0x000E0000 | GetCecdState (returns CecStateAbbreviated in cmdbuf[2]) |
0x000F0000 | GetCecInfoEventHandle (returns event handle in cmdbuf[3]) |
0x00100000 | GetChangeStateEventHandle (returns event handle in cmdbuf[3]) |
0x00110104 | OpenAndWrite |
0x00120104 | OpenAndRead |
0x001E0082 | GetEventLog |
0x001F0000 | GetEventLogStart |
0x00200000 | GetEventLogEntryCount |
0x0021.... | ? |
CecDataPathType[edit]
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> | |
CECMESSAGE_BOX_ICON | 101 | data:/CEC/<id>/MBoxData.001 |
CECMESSAGE_BOX_TITLE | 110 | data:/CEC/<id>/MBoxData.010 |
CecCommand[edit]
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[edit]
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[edit]
Type | Field |
---|---|
char[8] | data |
CECD Service "cecd:s"[edit]
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 | GetCecInfoEventHandleSys |
0x040A.... | SprCreate |
0x040B.... | SprInitialise |
0x040C0042 | SprGetSendSlotsMetadata |
0x040D0082 | SprGetSlot title_id, write_buffer, buffer_size |
0x040E.... | SprSetTitleSent title_id, bool success |
0x040F.... | SprFinaliseSend |
0x0410.... | SprStartRecv |
0x04110042 | SprAddSlotsMetadata |
0x041200C2 | SprAddSlot |
0x0413.... | SprFinaliseRecv |
0x0414.... | SprDone bool success |
0x04150000 | GenHashConsoleUnique |
0x04160002 | ? |
0x0417.... | ? |
CecSprStatus[edit]
This enum is used internally of the cecd service to keep track of which state of an SPR exchange it is in currently.
Name | Value | Notes |
---|---|---|
CEC_SPR_SEND_RECV_START | 0 | The internal objects were just created |
CEC_SPR_SEND_RECV_INIT | 1 | The internal objects for sending and receiving have been initialised |
CEC_SPR_SEND_READY | 2 | The sysmodule is ready for SPR Send, now it is possible to fetch the SPR data needed |
CEC_SPR_SEND | 3 | The other program should be sending the SPR request now |
CEC_SPR_RECEIVE_READY | 4 | The sysmodule is ready to receive SPR data now |
CEC_SPR_RECEIVE | 5 | The sysmodule is done receiving SPR data |
CEC_SPR_CONNECTION_FINISHED_TCP | 6 | |
CEC_SPR_CONNECTION_FINISHED | 7 | ??? Enum usage not found in source |
CEC_SPR_SEND_POST | 8 | ??? Enum usage not found in source |
CEC_SPR_RECEIVE_POST | 9 | ??? Enum usage not found in source |
CEC_SPR_FINISHING | 0x0F | ??? Enum usage not found in source |
CEC_SPR_FINISHED | 0x10 | ??? Enum usage not found in source |
CECD Service "cecd:ndm"[edit]
Command Header | Description |
---|---|
0x00010000 | Initialize |
0x00020000 | Deinitialize |
0x00030000 | ResumeDaemon |
0x00040040 | SuspendDaemon(bool immediately) |
0x00050000 | QueryStatus |
0x00060042 | GetNZoneInfo |
0x00070042 | SetNZoneSSIDList |
0x00080042 | SetNZoneMacFilter |