Difference between revisions of "NPNS services"

From Nintendo Switch Brew
Jump to navigation Jump to search
(npns: fix)
(npns: move function notes to bottom. Link from both services.)
Line 14: Line 14:
 
| 3 || Receive
 
| 3 || Receive
 
|-
 
|-
| 4 || ReceiveRaw
+
| 4 || [[#ReceiveRaw]]
 
|-
 
|-
 
| 5 || GetReceiveEvent
 
| 5 || GetReceiveEvent
Line 46: Line 46:
 
| 153 || [8.0.0+] GetDropEventWithHandover
 
| 153 || [8.0.0+] GetDropEventWithHandover
 
|}
 
|}
 
=== ListenAll ===
 
Stubbed. Returns 0x7fc9a on [1.0.0] and 0x36dc9a on later versions.
 
 
=== ListenTo ===
 
Takes an input u64 program id.
 
  
 
[5.0.0+] CreateToken/DestroyToken now takes an additional 8-bytes of input and a PID.
 
[5.0.0+] CreateToken/DestroyToken now takes an additional 8-bytes of input and a PID.
 
=== CreateNotificationReceiver ===
 
Returns an [[#INotificationReceiver]].
 
 
== INotificationReceiver ==
 
This is "nn::npns::INotificationReceiver".
 
 
This was added with [7.0.0+].
 
 
{| class="wikitable" border="1"
 
|-
 
! Cmd || Name || Notes
 
|-
 
| 1 || ListenTo || Takes a total of 8-bytes of input, no output.
 
|-
 
| 2 || ListenToMyApplicationId || Takes a total of 8-bytes of input and a PID, no output.
 
|-
 
| 3 || Receive || Takes a total of 2-bytes of input and a type-0x6 output buffer.
 
|-
 
| 4 || GetReceiveEvent || No input, returns an output handle.
 
|}
 
  
 
= npns:s =
 
= npns:s =
Line 83: Line 56:
 
! Cmd || Name
 
! Cmd || Name
 
|-
 
|-
| 1 || ListenAll
+
| 1 || [[#ListenAll]]
 
|-
 
|-
| 2 || ListenTo
+
| 2 || [[#ListenTo]]
 
|-
 
|-
 
| 3 || Receive
 
| 3 || Receive
 
|-
 
|-
| 4 || ReceiveRaw
+
| 4 || [[#ReceiveRaw]]
 
|-
 
|-
 
| 5 || GetReceiveEvent
 
| 5 || GetReceiveEvent
Line 159: Line 132:
 
| 202 || [3.0.0+] RequestChangeStateForceAsync
 
| 202 || [3.0.0+] RequestChangeStateForceAsync
 
|}
 
|}
 +
 +
[5.0.0+] CreateToken/DestroyToken now takes an additional 8-bytes of input and a PID.
 +
 +
=== ListenAll ===
 +
Stubbed. Returns 0x7fc9a on [1.0.0] and 0x36dc9a on later versions.
 +
 +
=== ListenTo ===
 +
Takes an input u64 program id.
 +
 +
=== ReceiveRaw ===
 +
Stubbed. Returns 0x7fc9a on [1.0.0] and 0x36dc9a on later versions.
  
 
=== ListenUndelivered ===
 
=== ListenUndelivered ===
 
Same as calling [[#ListenTo]] with program id 0.
 
Same as calling [[#ListenTo]] with program id 0.
  
[5.0.0+] CreateToken/DestroyToken now takes an additional 8-bytes of input and a PID.
+
=== CreateNotificationReceiver ===
 +
Returns an [[#INotificationReceiver]].
 +
 
 +
== INotificationReceiver ==
 +
This is "nn::npns::INotificationReceiver".
 +
 
 +
This was added with [7.0.0+].
 +
 
 +
{| class="wikitable" border="1"
 +
|-
 +
! Cmd || Name || Notes
 +
|-
 +
| 1 || [[#ListenTo]] || Takes a total of 8-bytes of input, no output.
 +
|-
 +
| 2 || ListenToMyApplicationId || Takes a total of 8-bytes of input and a PID, no output.
 +
|-
 +
| 3 || Receive || Takes a total of 2-bytes of input and a type-0x6 output buffer.
 +
|-
 +
| 4 || GetReceiveEvent || No input, returns an output handle.
 +
|}
  
 
[[Category:Services]]
 
[[Category:Services]]

Revision as of 01:02, 21 July 2020

This is used for Push Notifications.

npns:u

This is "nn::npns::INpnsUser".

Cmd Name
1 #ListenAll
2 #ListenTo
3 Receive
4 #ReceiveRaw
5 GetReceiveEvent
7 GetStateChangeEvent
21 CreateToken
23 DestroyToken
25 QueryIsTokenValid
26 [5.0.0+] ListenToMyApplicationId
101 Suspend
102 Resume
103 GetState
104 [3.0.0+] GetStatistics
111 GetJid
120 [7.0.0+] #CreateNotificationReceiver
151 [8.0.0+] GetStateWithHandover
152 [8.0.0+] GetStateChangeEventWithHandover
153 [8.0.0+] GetDropEventWithHandover

[5.0.0+] CreateToken/DestroyToken now takes an additional 8-bytes of input and a PID.

npns:s

This is "nn::npns::INpnsSystem".

Cmd Name
1 #ListenAll
2 #ListenTo
3 Receive
4 #ReceiveRaw
5 GetReceiveEvent
6 #ListenUndelivered
7 GetStateChangeEvent
11 SubscribeTopic
12 UnsubscribeTopic
13 QueryIsTopicExist
21 CreateToken
22 CreateTokenWithApplicationId
23 DestroyToken
24 DestroyTokenWithApplicationId
25 QueryIsTokenValid
26 [5.0.0+] ListenToMyApplicationId
31 UploadTokenToBaaS
32 DestroyTokenForBaaS
33 [7.0.0+] CreateTokenForBaas
34 [7.0.0+] SetBaasDeviceAccountIdList
101 Suspend
102 Resume
103 GetState
104 [3.0.0+] GetStatistics
105 [3.0.0+] GetPlayReportRequestEvent
111 GetJid
112 CreateJid
113 DestroyJid
114 AttachJid
115 DetachJid
120 [7.0.0+] #CreateNotificationReceiver
151 [8.0.0+] GetStateWithHandover
152 [8.0.0+] GetStateChangeEventWithHandover
153 [8.0.0+] GetDropEventWithHandover
161 [10.0.0+] GetRequestChangeStateCancelEvent
162 [10.0.0+] RequestChangeStateForceTimedWithCancelEvent
201 [3.0.0+] RequestChangeStateForceTimed
202 [3.0.0+] RequestChangeStateForceAsync

[5.0.0+] CreateToken/DestroyToken now takes an additional 8-bytes of input and a PID.

ListenAll

Stubbed. Returns 0x7fc9a on [1.0.0] and 0x36dc9a on later versions.

ListenTo

Takes an input u64 program id.

ReceiveRaw

Stubbed. Returns 0x7fc9a on [1.0.0] and 0x36dc9a on later versions.

ListenUndelivered

Same as calling #ListenTo with program id 0.

CreateNotificationReceiver

Returns an #INotificationReceiver.

INotificationReceiver

This is "nn::npns::INotificationReceiver".

This was added with [7.0.0+].

Cmd Name Notes
1 #ListenTo Takes a total of 8-bytes of input, no output.
2 ListenToMyApplicationId Takes a total of 8-bytes of input and a PID, no output.
3 Receive Takes a total of 2-bytes of input and a type-0x6 output buffer.
4 GetReceiveEvent No input, returns an output handle.