CECD Services: Difference between revisions

From 3dbrew
Jump to navigation Jump to search
Guiand (talk | contribs)
Created page with "Category:Services = CECD Service "cecd:u" = {| class="wikitable" border="1" |- ! Command Header ! Description |- | 0x000E0000 | ? |- | 0x000F0000 | ? |- |}"
 
Sorunome (talk | contribs)
CECD Service "cecd:s": Put in the proper header codes
 
(53 intermediate revisions by 10 users not shown)
Line 1: Line 1:
[[Category:Services]]
[[Category:Services]]
Streetpass stuff.
= CECD Service "cecd:u" =
= CECD Service "cecd:u" =
{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 5: Line 8:
!  Command Header
!  Command Header
!  Description
!  Description
|-
| 0x000100C2
| Open/[[CECDU:OpenRawFile|OpenRawFile]]
|-
| 0x00020042
| Read/[[CECDU:ReadRawFile|ReadRawFile]]
|-
| 0x00030104
| [[CECDU:ReadMessage|ReadMessage]]
|-
| 0x00040106
| [[CECDU:ReadMessageWithHMAC|ReadMessageWithHMAC]]
|-
| 0x00050042
| Write/[[CECDU:WriteRawFile|WriteRawFile]]
|-
| 0x00060104
| [[CECDU:WriteMessage|WriteMessage]]
|-
| 0x00070106
| [[CECDU:WriteMessageWithHMAC|WriteMessageWithHMAC]]
|-
| 0x00080102
| [[CECDU:Delete|Delete]]
|-
| 0x000900C2
| SetData (16*length+10 of CecMessageId buffer in cmdbuff[4] (always 16*8+10), CecMessageId* in cmdbuf[5])
|-
| 0x000A00C4
| ReadData/[[CECDU:GetSystemInfo|GetSystemInfo]]
|-
| 0x000B0040
| [[CECDU:Start|Start]]
|-
| 0x000C0040
| [[CECDU:Stop|Stop]]
|-
| 0x000D0082
| GetCecInfoBuffer
|-
|-
| 0x000E0000
| 0x000E0000
| GetCecdState (returns CecStateAbbreviated in cmdbuf[2])
|-
| 0x000F0000
| GetCecInfoEventHandle (returns event handle in cmdbuf[3])
|-
| 0x00100000
| GetChangeStateEventHandle (returns event handle in cmdbuf[3])
|-
| 0x00110104
| [[CECDU:OpenAndWrite|OpenAndWrite]]
|-
| 0x00120104
| [[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
|}
=== CecCommand ===
{| class="wikitable" border="1"
!  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 ===
{| class="wikitable" border="1"
!  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 ===
{| class="wikitable" border="1"
!  Type
!  Field
|-
| char[8]
| data
|-
|}
= 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
|-
| 0x040A0000
| [[CECDS:SprCreate|SprCreate]]
|-
| 0x040B0000
| [[CECDS:SprInitialise|SprInitialise]]
|-
| 0x040C0042
| [[CECDS:SprGetSendSlotsMetadata|SprGetSendSlotsMetadata]]
|-
| 0x040D0082
| [[CECDS:SprGetSlot|SprGetSlot]]
|-
| 0x040E0080
| [[CECDS:SprSetTitleSent|SprSetTitleSent]]
|-
| 0x040F0000
| [[CECDS:SprFinaliseSend|SprFinaliseSend]]
|-
| 0x04100000
| [[CECDS:SprStartRecv|SprStartRecv]]
|-
| 0x04110042
| [[CECDS:SprSetRecvSlotsMetadata|SprSetRecvSlotsMetadata]]
|-
| 0x041200C2
| [[CECDS:SprAddSlot|SprAddSlot]]
|-
| 0x04130000
| [[CECDS:SprFinaliseRecv|SprFinaliseRecv]]
|-
| 0x04140040
| [[CECDS:SprDone|SprDone]]
|-
| 0x04150000
| [[CECDS:GenHashConsoleUnique|GenHashConsoleUnique]]
|-
| 0x04160002
| ?
| ?
|-
|-
| 0x000F0000
| 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"
! 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
| 6
|
|}
= CECD Service "cecd:ndm" =
{| class="wikitable" border="1"
|-
!  Command Header
!  Description
|-
| 0x00010000
| Initialize
|-
| 0x00020000
| Deinitialize
|-
| 0x00030000
| ResumeDaemon
|-
| 0x00040040
| SuspendDaemon(bool immediately)
|-
| 0x00050000
| QueryStatus
|-
| 0x00060042
| GetNZoneInfo
|-
| 0x00070042
| SetNZoneSSIDList
|-
| 0x00080042
| SetNZoneMacFilter
|-
|-
|}
|}

Latest revision as of 20:26, 16 March 2025


Streetpass stuff.

CECD Service "cecd:u"

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

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

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

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 GetCecInfoEventHandleSys
0x040A0000 SprCreate
0x040B0000 SprInitialise
0x040C0042 SprGetSendSlotsMetadata
0x040D0082 SprGetSlot
0x040E0080 SprSetTitleSent
0x040F0000 SprFinaliseSend
0x04100000 SprStartRecv
0x04110042 SprSetRecvSlotsMetadata
0x041200C2 SprAddSlot
0x04130000 SprFinaliseRecv
0x04140040 SprDone
0x04150000 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.

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 6

CECD Service "cecd:ndm"

Command Header Description
0x00010000 Initialize
0x00020000 Deinitialize
0x00030000 ResumeDaemon
0x00040040 SuspendDaemon(bool immediately)
0x00050000 QueryStatus
0x00060042 GetNZoneInfo
0x00070042 SetNZoneSSIDList
0x00080042 SetNZoneMacFilter