CECD Services: Difference between revisions

Mailwl (talk | contribs)
Sorunome (talk | contribs)
CECD Service "cecd:s": Put in the proper header codes
 
(35 intermediate revisions by 10 users not shown)
Line 10: Line 10:
|-
|-
| 0x000100C2
| 0x000100C2
| ?
| Open/[[CECDU:OpenRawFile|OpenRawFile]]
|-
| 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
| ? (16*length+10 of CecMessage buffer in cmdbuff[9] (always 16*8+10), CecMessage* in cmdbuf[10])
| [[CECDU:WriteMessageWithHMAC|WriteMessageWithHMAC]]
|-
|-
| 0x00080102
| 0x00080102
| ?
| [[CECDU:Delete|Delete]]
|-
|-
| 0x000900C2
| 0x000900C2
| ? (16*length+10 of CecMessage buffer in cmdbuff[4] (always 16*8+10), CecMessage* in cmdbuf[5])
| 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
| GetCecStateAbbreviated (returns CecStateAbbreviated in cmdbuf[2])
| GetCecdState (returns CecStateAbbreviated in cmdbuf[2])
|-
|-
| 0x000F0000
| 0x000F0000
Line 46: Line 58:
|-
|-
| 0x00110104
| 0x00110104
| SetSendingData? (cmdbuf[3]: CecMessageType type, cmdbuf[5]: 0x20, cmdbuf[6]: u8* data_buf, cmdbuf[7]: u32 16*data_size+10)
| [[CECDU:OpenAndWrite|OpenAndWrite]]
|-
|-
| 0x00120104
| 0x00120104
| [[CECDU:ReadSavedData|ReadSavedData]]
| [[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 159: Line 232:
| Corresponds to CEC_STATE_IDLE
| Corresponds to CEC_STATE_IDLE
|-
|-
| CEC_STATE_ABBREV_NOT_LOCAL?
| 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 176: Line 249:
|}
|}


=== CecMessage ===
=== CecMessageId ===
{| class="wikitable" border="1"
{| class="wikitable" border="1"
!  Type
!  Type
Line 186: Line 259:
|}
|}


=== CecMessageType ===
= 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
| ?
|-
| 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 192: Line 325:
! Notes
! Notes
|-
|-
| ?
| CEC_SPR_SEND_RECV_START
| 0x2
| 0
| Corresponds to some 0x60-byte data
| 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
|-
|-
| CECMESSAGE_BOX_ICON
| CEC_SPR_RECEIVE_READY
| 0x65
| 4
| Corresponds to the StreetPass "box" icon
| The sysmodule is ready to receive SPR data now
|-
|-
| CECMESSAGE_BOX_TITLE
| CEC_SPR_RECEIVE
| 0x6E
| 5
| Corresponds to the StreetPass "box" title
| The sysmodule is done receiving SPR data
|-
|-
| CEC_SPR_CONNECTION_FINISHED
| 6
|
|}
|}


Line 212: Line 360:
!  Description
!  Description
|-
|-
| 0x0001....
| 0x00010000
| Initialize
| Initialize
|-
|-
| 0x0002....
| 0x00020000
| Deinitialize
| Deinitialize
|-
|-
| 0x0003....
| 0x00030000
| ResumeDaemon
| ResumeDaemon
|-
|-
| 0x0004....
| 0x00040040
| SuspendDaemon(bool immediately)
| SuspendDaemon(bool immediately)
|-
| 0x00050000
| QueryStatus
|-
| 0x00060042
| GetNZoneInfo
|-
| 0x00070042
| SetNZoneSSIDList
|-
| 0x00080042
| SetNZoneMacFilter
|-
|-
|}
|}