Services API: Difference between revisions

Service List: Remove duplicates.
Remove duplicate
 
(8 intermediate revisions by 3 users not shown)
Line 5: Line 5:
= sm: =
= sm: =
This is "nn::sm::detail::IUserInterface".
This is "nn::sm::detail::IUserInterface".
[12.0.0+] This is now a TIPC interface so the command numbers are subtracted by 16.


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 22: Line 24:


== RegisterClient ==
== RegisterClient ==
Takes a PID-descriptor and a reserved input u64. The input u64 is not sent with TIPC.
Takes a PID-descriptor and a reserved input u64. No output.
 
[12.0.0+] Now only takes a PID-descriptor with TIPC.


== GetServiceHandle ==
== GetServiceHandle ==
Takes a zero-padded service name encoded as an u64 integer. Returns a handle.
Takes an input [[#ServiceName|ServiceName]]. Returns an output Service handle.


== RegisterService ==
== RegisterService ==
Takes a zero-padded service name encoded as an u64 integer, an u8 bool '''IsLight''', and a s32 '''MaxSessions''' at the next word. Returns a handle.
Takes an input [[#ServiceName|ServiceName]], an input bool '''IsLight''' and an input s32 '''MaxSessions'''. Returns an output Service handle.


[12.0.0+] This is only available with tipc.
[S2] [20.0.0+] Now takes an input [[#ServiceSpace|ServiceSpace]], a [[#ServiceName|ServiceName]], an input bool '''IsLight''' and an input s32 '''MaxSessions'''. Returns an output Service handle.


== UnregisterService ==
== UnregisterService ==
Takes a zero-padded service name encoded as an u64 integer.
Takes an input [[#ServiceName|ServiceName]]. No output.


[12.0.0+] This is only available with tipc.
[S2] [20.0.0+] Now takes an input [[#ServiceSpace|ServiceSpace]] and a [[#ServiceName|ServiceName]]. No output.


== DetachClient ==
== DetachClient ==
Takes a PID-descriptor and a reserved input u64.
Takes a PID-descriptor and a reserved input u64. No output.


= sm:m =
= sm:m =
This is "nn::sm::detail::IManagerInterface".
This is "nn::sm::detail::IManagerInterface".
[12.0.0+] This is now a TIPC interface so the command numbers are subtracted by 16.


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 50: Line 56:
|-
|-
| 1 || [[#UnregisterProcess]]
| 1 || [[#UnregisterProcess]]
|-
| 2 || [S2] [[#RegisterProcess2|RegisterProcess2]]
|-
| 3 || [S2] [20.0.0+] [[#EnableServiceSwitchType1Debug|EnableServiceSwitchType1Debug]]
|}
|}


== RegisterProcess ==
== RegisterProcess ==
Takes a PID and two type-0x5 input buffers with the ACID and ACI0 service lists. That data originates from [[NPDM]].
Takes an input u64 PID and two type-0x5 input buffers '''AccessRightsLimit''' and '''AccessRights'''. No output.
 
'''AccessRightsLimit''' and '''AccessRights''' contain the [[NPDM#ACID|ACID]] and [[NPDM#ACI0|ACI0]] service lists, respectively.


== UnregisterProcess ==
== UnregisterProcess ==
Takes a PID.
Takes an input u64 PID. No output.
 
== RegisterProcess2 ==
Takes an input u64 PID, a [[#ServiceSwitchType]], and two type-0x5 input buffers.
 
== EnableServiceSwitchType1Debug ==
No input/output.
 
= ServiceName =
This is "nn::sm::ServiceName". This is an u64 encoded from a zero-padded string.
 
= ServiceSwitchType =
This is u8 enum "nn::sm::ServiceSwitchType".
 
This is Switch 2 exclusive.
 
= ServiceSpace =
This is u32 enum "nn::sm::ServiceSpace".
 
This is Switch 2 exclusive.


= Service List =
= Service List =
Line 177: Line 208:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| hidc:s
| [20.1.0+] hidc:s
| [[HID services]]
| [[HID services]]
|  
|  
Line 183: Line 214:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| hidc:d
| [20.1.0+] hidc:d
| [[HID services]]
| [[HID services]]
|  
|  
Line 286: Line 317:
| style="background: green" | Yes
| style="background: green" | Yes
| pl:u
| pl:u
| [[NS Services]]
|
|-
| style="background: green" | Yes
| style="background: green" | Yes
| ovln:rcv
| [[NS Services]]
|
|-
| style="background: green" | Yes
| style="background: green" | Yes
| ovln:snd
| [[NS Services]]
| [[NS Services]]
|  
|  
Line 1,511: Line 1,530:
| [9.0.0+] lp2p:app
| [9.0.0+] lp2p:app
| [[LDN services]]
| [[LDN services]]
|  
| [20.1.0+] Added on Switch 2.
|-
|-
| style="background: green" | Yes
| style="background: green" | Yes
Line 1,517: Line 1,536:
| [9.0.0+] lp2p:sys
| [9.0.0+] lp2p:sys
| [[LDN services]]
| [[LDN services]]
|  
| [20.1.0+] Added on Switch 2.
|-
|-
| style="background: green" | Yes
| style="background: green" | Yes
Line 1,523: Line 1,542:
| [9.1.0+] lp2p:m
| [9.1.0+] lp2p:m
| [[LDN services]]
| [[LDN services]]
|  
| [20.1.0+] Added on Switch 2.
|-
|-
| style="background: green" | Yes
| style="background: green" | Yes
Line 1,540: Line 1,559:
| style="background: green" | Yes
| style="background: green" | Yes
| ldr:shel
| ldr:shel
| [[Loader services]]
|
|-
| style="background: red" | No
| style="background: green" | Yes
| [20.1.0+] ldr:cmpt
| [[Loader services]]
| [[Loader services]]
|  
|  
Line 1,689: Line 1,714:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| npns:a
| [20.1.0+] npns:a
| [[NPNS services]]
| [[NPNS services]]
|  
|  
Line 2,079: Line 2,104:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| spl:rep
| [20.1.0+] spl:rep
| [[SPL services]]
| [[SPL services]]
|  
|  
Line 2,085: Line 2,110:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| spl:lrp
| [20.1.0+] spl:lrp
| [[SPL services]]
| [[SPL services]]
|  
|  
Line 2,385: Line 2,410:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| chat:sa
| [20.1.0+] chat:sa
| [[Switch 2: Chat services|Chat services]]
| [[Switch 2: Chat services|Chat services]]
|  
|  
Line 2,391: Line 2,416:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| chat:ch
| [20.1.0+] chat:ch
| [[Switch 2: Chat services|Chat services]]
| [[Switch 2: Chat services|Chat services]]
|  
|  
Line 2,397: Line 2,422:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| chat:ds
| [20.1.0+] chat:ds
| [[Switch 2: Chat services|Chat services]]
| [[Switch 2: Chat services|Chat services]]
|  
|  
Line 2,403: Line 2,428:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| chat:alb
| [20.1.0+] chat:alb
| [[Switch 2: Chat services|Chat services]]
| [[Switch 2: Chat services|Chat services]]
|  
|  
Line 2,409: Line 2,434:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| chat:con
| [20.1.0+] chat:con
| [[Switch 2: Chat services|Chat services]]
| [[Switch 2: Chat services|Chat services]]
|  
|  
Line 2,415: Line 2,440:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| chat:myp
| [20.1.0+] chat:myp
| [[Switch 2: Chat services|Chat services]]
| [[Switch 2: Chat services|Chat services]]
|  
|  
Line 2,421: Line 2,446:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| chat:hdr
| [20.1.0+] chat:hdr
| [[Switch 2: Chat services|Chat services]]
| [[Switch 2: Chat services|Chat services]]
|  
|  
Line 2,427: Line 2,452:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| chat:nxs
| [20.1.0+] chat:nxs
| [[Switch 2: Chat services|Chat services]]
| [[Switch 2: Chat services|Chat services]]
|  
|  
Line 2,433: Line 2,458:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| chat:set
| [20.1.0+] chat:set
| [[Switch 2: Chat services|Chat services]]
| [[Switch 2: Chat services|Chat services]]
|  
|  
Line 2,470: Line 2,495:
| style="background: green" | Yes
| style="background: green" | Yes
| gsv:m
| gsv:m
|  
| [[Switch 2: GSV services|GSV services]]
|  
|  
|-
|-
Line 2,476: Line 2,501:
| style="background: green" | Yes
| style="background: green" | Yes
| gsv:t
| gsv:t
|  
| [[Switch 2: GSV services|GSV services]]
|  
|  
|-
|-
Line 2,482: Line 2,507:
| style="background: green" | Yes
| style="background: green" | Yes
| gsv:sv
| gsv:sv
|  
| [[Switch 2: GSV services|GSV services]]
|  
|  
|-
|-
Line 2,488: Line 2,513:
| style="background: green" | Yes
| style="background: green" | Yes
| gsv:s3
| gsv:s3
|  
| [[Switch 2: GSV services|GSV services]]
|  
|  
|-
|-
Line 2,494: Line 2,519:
| style="background: green" | Yes
| style="background: green" | Yes
| gsv:s4
| gsv:s4
|  
| [[Switch 2: GSV services|GSV services]]
|  
|  
|-
|-
Line 2,523: Line 2,548:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| tsec:m
| [20.1.0+] tsec:m
|  
|  
|  
|  
Line 2,619: Line 2,644:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| lcs
| [20.1.0+] lcs
|  
|  
|  
|  
Line 2,625: Line 2,650:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| lrp:u
| [20.1.0+] lrp:u
|  
|  
|  
|  
Line 2,631: Line 2,656:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| lrp:d
| [20.1.0+] lrp:d
|  
|  
|  
|  
Line 2,637: Line 2,662:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| cam:u
| [20.1.0+] cam:u
|  
| [[Switch 2: Camera services|Camera services]]
|  
|  
|-
|-
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| cam:s
| [20.1.0+] cam:s
|  
| [[Switch 2: Camera services|Camera services]]
|  
|  
|-
|-
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| cam:m
| [20.1.0+] cam:m
|  
| [[Switch 2: Camera services|Camera services]]
|  
|  
|-
|-
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| spch:a
| [20.1.0+] spch:a
|  
|  
|  
|  
Line 2,661: Line 2,686:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| stpl:u
| [20.0.0+] stpl:u
|  
|  
|  
|  
Line 2,667: Line 2,692:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| stpl:sys
| [20.0.0+] stpl:sys
|  
|  
|  
|  
Line 2,673: Line 2,698:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| stpl:dbg
| [20.0.0+] stpl:dbg
|  
|  
|  
|  
|}
|}