Services API: Difference between revisions

No edit summary
Remove duplicate
 
(20 intermediate revisions by 4 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.
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 172: Line 203:
| style="background: green" | Yes
| style="background: green" | Yes
| [5.0.0+] hidbus
| [5.0.0+] hidbus
| [[HID services]]
|
|-
| style="background: red" | No
| style="background: green" | Yes
| [20.1.0+] hidc:s
| [[HID services]]
|
|-
| style="background: red" | No
| style="background: green" | Yes
| [20.1.0+] hidc:d
| [[HID services]]
| [[HID services]]
|  
|  
Line 274: 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 653: Line 684:
| hwopus
| hwopus
| [[Audio services]]
| [[Audio services]]
| [20.1.0+] Removed on Switch 2.
| [20.1.0+] Added on Switch 2.
|-
|-
| style="background: green" | Yes
| style="background: green" | Yes
Line 664: Line 695:
| style="background: green" | Yes
| style="background: green" | Yes
| [6.0.0+] auddev
| [6.0.0+] auddev
| [[Audio services]]
|
|-
| style="background: red" | No
| style="background: green" | Yes
| auddev:s
| [[Audio services]]
| [[Audio services]]
|  
|  
Line 862: Line 899:
| style="background: red" | No
| style="background: red" | No
| pcv:imm
| pcv:imm
| [[PCV services]]
|
|-
| style="background: green" | Yes
| style="background: green" | Yes
| time:u
| [[PCV services]]
|
|-
| style="background: green" | Yes
| style="background: green" | Yes
| time:a
| [[PCV services]]
|
|-
| style="background: green" | Yes
| style="background: green" | Yes
| time:s
| [[PCV services]]
| [[PCV services]]
|  
|  
Line 902: Line 921:
|-
|-
| style="background: green" | Yes
| style="background: green" | Yes
| style="background: green" | Yes
| style="background: red" | No
| [2.0.0-8.1.0] time:u
| [2.0.0-8.1.0] time:u
| [[PCV services]]
| [[PCV services]]
Line 908: Line 927:
|-
|-
| style="background: green" | Yes
| style="background: green" | Yes
| style="background: green" | Yes
| style="background: red" | No
| [2.0.0-8.1.0] time:a
| [2.0.0-8.1.0] time:a
| [[PCV services]]
| [[PCV services]]
Line 914: Line 933:
|-
|-
| style="background: green" | Yes
| style="background: green" | Yes
| style="background: green" | Yes
| style="background: red" | No
| [2.0.0-8.1.0] time:s
| [2.0.0-8.1.0] time:s
| [[PCV services]]
| [[PCV services]]
Line 1,508: Line 1,527:
|-
|-
| style="background: green" | Yes
| style="background: green" | Yes
| style="background: red" | No
| style="background: green" | Yes
| [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
| style="background: red" | No
| style="background: green" | Yes
| [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
| style="background: red" | No
| style="background: green" | Yes
| [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,543: Line 1,562:
|  
|  
|-
|-
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| style="background: green" | Yes
| [20.1.0+] ldr:cmpt
| ldr:dmnt
| [[Loader services]]
|
|-
| style="background: green" | Yes
| style="background: green" | Yes
| [3.0.0+] ldr:pm
| [[Loader services]]
|
|-
| style="background: green" | Yes
| style="background: green" | Yes
| ldr:shel
| [[Loader services]]
| [[Loader services]]
|  
|  
Line 1,598: Line 1,605:
|-
|-
| style="background: green" | Yes
| style="background: green" | Yes
| style="background: red" | No
|  
| ncm:v
| ncm:v
| [[NCM services]]
| [[NCM services]]
Line 1,702: Line 1,709:
| style="background: green" | Yes
| style="background: green" | Yes
| npns:s
| npns:s
| [[NPNS services]]
|
|-
| style="background: red" | No
| style="background: green" | Yes
| [20.1.0+] npns:a
| [[NPNS services]]
| [[NPNS services]]
|  
|  
Line 1,940: Line 1,953:
|-
|-
| style="background: green" | Yes
| style="background: green" | Yes
| style="background: red" | No
|  
| set:fd
| set:fd
| [[Settings services]]
| [[Settings services]]
Line 2,080: Line 2,093:
| style="background: green" | Yes
| style="background: green" | Yes
| spl:hid
| spl:hid
| [[SPL services]]
| Removed with [20.1.0+].
|-
| style="background: red" | No
| style="background: green" | Yes
| spl:ldn
| [[SPL services]]
|
|-
| style="background: red" | No
| style="background: green" | Yes
| [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:ldn
| [20.1.0+] spl:lrp
| [[SPL services]]
| [[SPL services]]
|  
|  
Line 2,234: Line 2,259:
|-
|-
| style="background: green" | Yes
| style="background: green" | Yes
| style="background: red" | No
|  
| [4.0.0+] mig:usr
| [4.0.0+] mig:usr
| [[Migration services]]
| [[Migration services]]
Line 2,296: Line 2,321:
| style="background: red" | No
| style="background: red" | No
| [14.0.0+] ommdisp
| [14.0.0+] ommdisp
| [[OMM services]]
|
|-
| style="background: red" | No
| style="background: green" | Yes
| omm:s
| [[OMM services]]
| [[OMM services]]
|  
|  
Line 2,379: Line 2,410:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| imf
| [20.1.0+] chat:sa
| [[Switch 2: IMF services|IMF services]]
| [[Switch 2: Chat services|Chat services]]
|  
|  
|-
|-
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| imf:fe
| [20.1.0+] chat:ch
| [[Switch 2: IMF services|IMF services]]
| [[Switch 2: Chat services|Chat services]]
|  
|  
|-
|-
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| vi2:v
| [20.1.0+] chat:ds
|  
| [[Switch 2: Chat services|Chat services]]
|  
|  
|-
|-
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| vi2:m1
| [20.1.0+] chat:alb
|  
| [[Switch 2: Chat services|Chat services]]
|  
|  
|-
|-
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| vi2:m2
| [20.1.0+] chat:con
|  
| [[Switch 2: Chat services|Chat services]]
|  
|  
|-
|-
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| gsv:sv
| [20.1.0+] chat:myp
|  
| [[Switch 2: Chat services|Chat services]]
|  
|  
|-
|-
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| gsv:s3
| [20.1.0+] chat:hdr
|  
| [[Switch 2: Chat services|Chat services]]
|  
|  
|-
|-
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| gsv:s4
| [20.1.0+] chat:nxs
|  
| [[Switch 2: Chat services|Chat services]]
|  
|  
|-
|-
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| gpuk:drv
| [20.1.0+] chat:set
|  
| [[Switch 2: Chat services|Chat services]]
|  
|  
|-
|-
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| gpuk:gsv
| imf
|  
| [[Switch 2: IMF services|IMF services]]
|  
|
|-
| style="background: red" | No
| style="background: green" | Yes
| imf:fe
| [[Switch 2: IMF services|IMF services]]
|
|-
| style="background: red" | No
| style="background: green" | Yes
| vi2:v
|
|
|-
| style="background: red" | No
| style="background: green" | Yes
| vi2:m1
|
|
|-
| style="background: red" | No
| style="background: green" | Yes
| vi2:m2
|
|
|-
| style="background: red" | No
| style="background: green" | Yes
| gsv:m
| [[Switch 2: GSV services|GSV services]]
|
|-
| style="background: red" | No
| style="background: green" | Yes
| gsv:t
| [[Switch 2: GSV services|GSV services]]
|
|-
| style="background: red" | No
| style="background: green" | Yes
| gsv:sv
| [[Switch 2: GSV services|GSV services]]
|
|-
| style="background: red" | No
| style="background: green" | Yes
| gsv:s3
| [[Switch 2: GSV services|GSV services]]
|
|-
| style="background: red" | No
| style="background: green" | Yes
| gsv:s4
| [[Switch 2: GSV services|GSV services]]
|
|-
| style="background: red" | No
| style="background: green" | Yes
| gpuk:drv
|
|
|-
| style="background: red" | No
| style="background: green" | Yes
| gpuk:gsv
|
|
|-
| style="background: red" | No
| style="background: green" | Yes
| hdcp
|
|
|-
| style="background: red" | No
| style="background: green" | Yes
| vic:u
|
|
|-
| style="background: red" | No
| style="background: green" | Yes
| [20.1.0+] tsec:m
|
|
|-
| style="background: red" | No
| style="background: green" | Yes
| caps2:s
|
|
|-
| style="background: red" | No
| style="background: green" | Yes
| caps2:r
|
|
|-
| style="background: red" | No
| style="background: green" | Yes
| fs:stcfg
|
|
|-
| style="background: red" | No
| style="background: green" | Yes
| dt
| [[Switch 2: DT services|DT services]]
|
|-
| style="background: red" | No
| style="background: green" | Yes
| spi
|
|
|-
| style="background: red" | No
| style="background: green" | Yes
| btp:dbg
|
|
|-
| style="background: red" | No
| style="background: green" | Yes
| syncpt:s
|
|
|-
| style="background: red" | No
| style="background: green" | Yes
| host1x
|
|
|-
| style="background: red" | No
| style="background: green" | Yes
| batlog
|
|
|-
| style="background: red" | No
| style="background: green" | Yes
| powctl
|
|
|-
| style="background: red" | No
| style="background: green" | Yes
| bpmpmr:c
|
|
|-
| style="background: red" | No
| style="background: green" | Yes
| bpmpmr:d
|  
|  
|-
|-
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| hdcp
| bpmpmr:i
|  
|  
|  
|  
Line 2,445: Line 2,632:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| vic:u
| bpmpmr:m
|  
|  
|  
|  
Line 2,451: Line 2,638:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| caps2:s
| bpmpmr:u
|
|
|-
| style="background: red" | No
| style="background: green" | Yes
| caps2:r
|
|
|-
| style="background: red" | No
| style="background: green" | Yes
| fs:stcfg
|
|
|-
| style="background: red" | No
| style="background: green" | Yes
| dt
|  
|  
|  
|  
Line 2,475: Line 2,644:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| spi
| [20.1.0+] lcs
|  
|  
|  
|  
Line 2,481: Line 2,650:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| btp:dbg
| [20.1.0+] lrp:u
|  
|  
|  
|  
Line 2,487: Line 2,656:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| syncpt:s
| [20.1.0+] lrp:d
|  
|  
|  
|  
Line 2,493: Line 2,662:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| host1x
| [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
| batlog
| [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
| bpmpmr:c
| [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
| bpmpmr:d
| [20.1.0+] spch:a
|  
|  
|  
|  
Line 2,517: Line 2,686:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| bpmpmr:i
| [20.0.0+] stpl:u
|  
|  
|  
|  
Line 2,523: Line 2,692:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| bpmpmr:m
| [20.0.0+] stpl:sys
|  
|  
|  
|  
Line 2,529: Line 2,698:
| style="background: red" | No
| style="background: red" | No
| style="background: green" | Yes
| style="background: green" | Yes
| bpmpmr:u
| [20.0.0+] stpl:dbg
|  
|  
|  
|  
|}
|}