Services API: Difference between revisions
Service bruteforce 2: Electric Boogaloo |
Remove duplicate |
||
| (23 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 | Takes an input [[#ServiceName|ServiceName]]. Returns an output Service handle. | ||
== RegisterService == | == RegisterService == | ||
Takes | Takes an input [[#ServiceName|ServiceName]], an input bool '''IsLight''' and an input s32 '''MaxSessions'''. Returns an output Service handle. | ||
[ | [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 | Takes an input [[#ServiceName|ServiceName]]. No output. | ||
[ | [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 | 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 | 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]] | | [[NS Services]] | ||
| | | | ||
| Line 653: | Line 684: | ||
| hwopus | | hwopus | ||
| [[Audio services]] | | [[Audio services]] | ||
| [20.1.0+] | | [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 710: | Line 747: | ||
|- | |- | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| | | style="background: green" | Yes | ||
| banana | | banana | ||
| [[Profiler services]] | | [[Profiler services]] | ||
| Line 862: | Line 899: | ||
| style="background: red" | No | | style="background: red" | No | ||
| pcv:imm | | pcv:imm | ||
| [[PCV services]] | | [[PCV services]] | ||
| | | | ||
| Line 902: | Line 921: | ||
|- | |- | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| style="background: | | 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: | | 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: | | 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,045: | Line 1,064: | ||
| | | | ||
|- | |- | ||
| style="background: red" | No | |||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| style="background: red" | No | | bt:sys | ||
| btm | | [[Bluetooth Driver services]] | ||
| [[BTM services]] | | | ||
|- | |||
| style="background: red" | No | |||
| style="background: green" | Yes | |||
| bt:dbg | |||
| [[Bluetooth Driver services]] | |||
| | |||
|- | |||
| style="background: green" | Yes | |||
| style="background: red" | No | |||
| btm | |||
| [[BTM services]] | |||
| | | | ||
|- | |- | ||
| Line 1,276: | Line 1,307: | ||
| style="background: red" | No | | style="background: red" | No | ||
| [9.0.0+] fgm:dbg | | [9.0.0+] fgm:dbg | ||
| [[PTM services]] | |||
| | |||
|- | |||
| style="background: red" | No | |||
| style="background: green" | Yes | |||
| fgm:test | |||
| [[PTM services]] | | [[PTM services]] | ||
| | | | ||
| Line 1,412: | Line 1,449: | ||
|- | |- | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| | | style="background: green" | Yes | ||
| htc | | htc | ||
| [[TMA services]] | | [[TMA services]] | ||
| Line 1,418: | Line 1,455: | ||
|- | |- | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| | | style="background: green" | Yes | ||
| htcs | | htcs | ||
| [[TMA services]] | | [[TMA services]] | ||
| Line 1,424: | Line 1,461: | ||
|- | |- | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| | | style="background: green" | Yes | ||
| htc:tenv | | htc:tenv | ||
| [[TMA services]] | | [[TMA services]] | ||
| Line 1,490: | Line 1,527: | ||
|- | |- | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| style="background: | | 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: | | 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: | | 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,525: | Line 1,562: | ||
| | | | ||
|- | |- | ||
| style="background: red" | No | |||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| [20.1.0+] ldr:cmpt | |||
| [[Loader services]] | |||
| [ | |||
| [[Loader services]] | |||
| | | | ||
|- | |- | ||
| Line 1,580: | Line 1,605: | ||
|- | |- | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| | | | ||
| ncm:v | | ncm:v | ||
| [[NCM services]] | | [[NCM services]] | ||
| Line 1,684: | 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,922: | Line 1,953: | ||
|- | |- | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| | | | ||
| set:fd | | set:fd | ||
| [[Settings services]] | | [[Settings services]] | ||
| Line 2,063: | Line 2,094: | ||
| spl:hid | | spl:hid | ||
| [[SPL services]] | | [[SPL services]] | ||
| | | Removed with [20.1.0+]. | ||
|- | |- | ||
| style="background: red" | No | | style="background: red" | No | ||
| Line 2,071: | Line 2,102: | ||
| | | | ||
|- | |- | ||
| style="background: red" | No | |||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| [20.1.0+] spl:rep | |||
| [[SPL services]] | |||
| | |||
|- | |||
| style="background: red" | No | | style="background: red" | No | ||
| | | style="background: green" | Yes | ||
| [20.1.0+] spl:lrp | |||
| [[SPL services]] | |||
| | | | ||
| System debug applet "recovery" has access to this service but it doesn't appear to exist. | |- | ||
| style="background: green" | Yes | |||
| style="background: red" | No | |||
| sf-uds | |||
| | |||
| System debug applet "recovery" has access to this service but it doesn't appear to exist. | |||
|- | |- | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| Line 2,216: | Line 2,259: | ||
|- | |- | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| | | | ||
| [4.0.0+] mig:usr | | [4.0.0+] mig:usr | ||
| [[Migration services]] | | [[Migration services]] | ||
| Line 2,278: | 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,321: | Line 2,370: | ||
| [16.0.0+] ngc:u | | [16.0.0+] ngc:u | ||
| [[NGC services]] | | [[NGC services]] | ||
| | |||
|- | |||
| style="background: red" | No | |||
| style="background: green" | Yes | |||
| chat:a | |||
| [[Switch 2: Chat services|Chat services]] | |||
| | |||
|- | |||
| style="background: red" | No | |||
| style="background: green" | Yes | |||
| chat:u | |||
| [[Switch 2: Chat services|Chat services]] | |||
| | | | ||
|- | |- | ||
| Line 2,349: | Line 2,410: | ||
| style="background: red" | No | | style="background: red" | No | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| | | [20.1.0+] chat:sa | ||
| | | [[Switch 2: Chat services|Chat services]] | ||
| | | | ||
|- | |- | ||
| style="background: red" | No | | style="background: red" | No | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| | | [20.1.0+] chat:ch | ||
| | | [[Switch 2: Chat services|Chat services]] | ||
| | | | ||
|- | |- | ||
| style="background: red" | No | | style="background: red" | No | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| | | [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 | ||
| | | [20.1.0+] chat:alb | ||
| [[Switch 2: Chat services|Chat services]] | |||
| | | | ||
|- | |||
| style="background: red" | No | |||
| style="background: green" | Yes | |||
| [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 | ||
| | | [20.1.0+] chat:myp | ||
| [[Switch 2: Chat services|Chat services]] | |||
| | | | ||
|- | |||
| style="background: red" | No | |||
| style="background: green" | Yes | |||
| [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 | ||
| | | [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 | ||
| | | [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 | ||
| | | imf | ||
| | | [[Switch 2: IMF services|IMF services]] | ||
| | | | ||
|- | |- | ||
| style="background: red" | No | | style="background: red" | No | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| | | imf:fe | ||
| | | [[Switch 2: IMF services|IMF services]] | ||
| | | | ||
|- | |- | ||
| style="background: red" | No | | style="background: red" | No | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| | | vi2:v | ||
| | | | ||
| | | | ||
| Line 2,409: | Line 2,482: | ||
| style="background: red" | No | | style="background: red" | No | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| | | vi2:m1 | ||
| | | | ||
| | | | ||
| Line 2,415: | Line 2,488: | ||
| style="background: red" | No | | style="background: red" | No | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| | | vi2:m2 | ||
| | | | ||
| | | | ||
| Line 2,421: | Line 2,494: | ||
| style="background: red" | No | | style="background: red" | No | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| | | gsv:m | ||
| | | [[Switch 2: GSV services|GSV services]] | ||
| | | | ||
|- | |- | ||
| style="background: red" | No | | style="background: red" | No | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| caps2:r | | 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 | |||
| | |||
| | | | ||
|- | |- | ||
| Line 2,434: | Line 2,567: | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| fs:stcfg | | 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: green" | Yes | |||
| bpmpmr:i | |||
| | |||
| | |||
|- | |||
| style="background: red" | No | |||
| style="background: green" | Yes | |||
| bpmpmr:m | |||
| | |||
| | |||
|- | |||
| style="background: red" | No | |||
| style="background: green" | Yes | |||
| bpmpmr:u | |||
| | |||
| | |||
|- | |||
| style="background: red" | No | |||
| style="background: green" | Yes | |||
| [20.1.0+] lcs | |||
| | |||
| | |||
|- | |||
| style="background: red" | No | |||
| style="background: green" | Yes | |||
| [20.1.0+] lrp:u | |||
| | |||
| | |||
|- | |||
| style="background: red" | No | |||
| style="background: green" | Yes | |||
| [20.1.0+] lrp:d | |||
| | |||
| | |||
|- | |||
| style="background: red" | No | |||
| style="background: green" | Yes | |||
| [20.1.0+] cam:u | |||
| [[Switch 2: Camera services|Camera services]] | |||
| | |||
|- | |||
| style="background: red" | No | |||
| style="background: green" | Yes | |||
| [20.1.0+] cam:s | |||
| [[Switch 2: Camera services|Camera services]] | |||
| | |||
|- | |||
| style="background: red" | No | |||
| style="background: green" | Yes | |||
| [20.1.0+] cam:m | |||
| [[Switch 2: Camera services|Camera services]] | |||
| | |||
|- | |||
| style="background: red" | No | |||
| style="background: green" | Yes | |||
| [20.1.0+] spch:a | |||
| | |||
| | |||
|- | |||
| style="background: red" | No | |||
| style="background: green" | Yes | |||
| [20.0.0+] stpl:u | |||
| | |||
| | |||
|- | |||
| style="background: red" | No | |||
| style="background: green" | Yes | |||
| [20.0.0+] stpl:sys | |||
| | |||
| | |||
|- | |||
| style="background: red" | No | |||
| style="background: green" | Yes | |||
| [20.0.0+] stpl:dbg | |||
| | | | ||
| | | | ||
|} | |} | ||