Switch 2: Chat services
These services are S2-only.
chat:a
chat:u
This is "nn::chat::IUserService".
Official sw uses domains with this.
| Cmd | Name |
|---|---|
| 0 | |
| 2 | |
| 10 | |
| 11 | GetRoomInfo |
| 14 | GetLocalCameraImageProcessingMode |
| 15 | SetLocalCameraZoomMagnification |
| 16 | GetLocalCameraZoomMagnification |
| 20 | |
| 21 | SetScreenSharingDisallowList |
| 22 | ClearScreenSharingDisallowList |
| 23 | SetScreenSharingMode |
| 40 | GetRealtimeAudioLevels |
| 51 | CalculateRequiredAudioStreamWorkBufferSize |
| 60 | SetSharingKey |
| 61 | ClearSharingKey |
| 70 | |
| 71 | |
| 72 |
Cmd0
No input, returns an IUserShimScopedObject.
Cmd2
No input, returns an IUserLayoutCustomizationShimScopedObject.
GetRoomInfo
Official sw also exposes this as GetChattingUid, with data being extracted from the cmd output.
Cmd70
Official sw uses this prior to launching the relevant applet with ForChatStart (applet is only launched if cmd output is non-zero).
Cmd71
Official sw uses this prior to launching the relevant applet with ForCameraSharingGuide (applet is only launched if cmd output is non-zero).
Cmd72
Official sw uses this prior to launching the relevant applet with ForCameraConfiguration (applet is only launched if cmd output is non-zero).
IUserShimScopedObject
This is "nn::chat::IUserShimScopedObject".
| Cmd | Name |
|---|---|
| 1 | |
| 2 | AttachToRoomInfoChangedEvent |
| 3 | AttachToLocalCameraImageProcessingModeChangedEvent |
| 4 | AttachToLocalCameraZoomMagnificationChangedEvent |
| 10 | StartLocalCameraStreaming |
| 11 | StopLocalCameraStreaming |
| 20 | StartRemoteCameraStreaming |
| 21 | StopRemoteCameraStreaming |
| 30 | CreateAudioStreamWorkBuffer |
| 31 | DestroyAudioStreamWorkBuffer |
| 32 | GetAudioStreamCapacityFrameCount |
| 33 | StartAudioStreamRecording |
| 34 | StopAudioStreamRecording |
| 35 | GetAudioStreamFreeFrameCount |
| 36 | GetAudioStreamFilledFrameCount |
| 37 | ReadAudioStream |
Cmd1
No input, returns an output Event handle with EventClearMode=0.
AttachToRoomInfoChangedEvent
No input, returns an output Event handle with EventClearMode=0.
AttachToLocalCameraImageProcessingModeChangedEvent
No input, returns an output Event handle with EventClearMode=0.
AttachToLocalCameraZoomMagnificationChangedEvent
No input, returns an output Event handle with EventClearMode=0.
IUserLayoutCustomizationShimScopedObject
This is "nn::chat::IUserLayoutCustomizationShimScopedObject".
Official sw from BeginFullScreenWithLocalCameraAvailableSection uses cmd20 cmd10, cmd11, cmd13 (the exact cmds used depends on input). Depending on input, this may also launch the relevant applet with ForFullScreen.
| Cmd | Name |
|---|---|
| 0 | Initialize |
| 1 | |
| 10 | |
| 11 | |
| 12 | EndFullScreenWithLocalCameraAvailableSection |
| 13 | |
| 20 |
Initialize
Takes a PID, an input u64 pid_reserved, no output.
Cmd1
No input, returns an output Event handle with EventClearMode=0.
Used by official sw immediately after Initialize.
Cmd10
No input/output.
Cmd11
No input, returns an output u64.
EndFullScreenWithLocalCameraAvailableSection
No input/output.
Cmd13
No input, returns an output u8 and a 0x10-byte struct.
Cmd20
No input, returns an output u8.
chat:ps
chat:sp
chat:dbg
chat:wu
This is "nn::chat::IWebUserService".
| Cmd | Name |
|---|---|
| 1 |
Cmd1
No input. Returns an IWebUserShimScopedObject.
IWebUserShimScopedObject
This is "nn::chat::IWebUserShimScopedObject".
| Cmd | Name |
|---|---|
| 1 | |
| 2 | |
| 3 |
Cmd0
No input, returns an output u8.
Cmd1
No input, returns an output Event handle with EventClearMode=0.
Cmd2
No input, returns an output u32.