Services API: Difference between revisions

Behemoth (talk | contribs)
(7 intermediate revisions by 3 users not shown)
Line 10: Line 10:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || [[#Initialize]]
| 0 || [[#RegisterClient]]
|-
|-
| 1 || [[#GetService]]
| 1 || [[#GetServiceHandle]]
|-
|-
| 2 || [[#RegisterService]]
| 2 || [[#RegisterService]]
|-
|-
| 3 || [[#UnregisterService]]
| 3 || [[#UnregisterService]]
|-
| 4 || [11.0.0+] [[#DetachClient]]
|}
|}


== Initialize ==
== RegisterClient ==
Takes a pid descriptor and a reserved input u64.
Takes a PID-descriptor and a reserved input u64.


== GetService ==
== GetServiceHandle ==
Takes a zero-padded service name encoded as an u64 integer. Returns a handle.
Takes a zero-padded service name encoded as an u64 integer. Returns a handle.


== RegisterService ==
== RegisterService ==
Takes a zero-padded service name encoded as an u64 integer, an u8 bool is_light, and a s32 max_sessions at the next word. Returns a handle.
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.


== UnregisterService ==
== UnregisterService ==
Takes a zero-padded service name encoded as an u64 integer.
Takes a zero-padded service name encoded as an u64 integer.
== DetachClient ==
Takes a PID-descriptor and a reserved input u64.


= sm:m =
= sm:m =
Line 44: Line 49:


== RegisterProcess ==
== RegisterProcess ==
Takes a pid and two A descriptors with the ACID and ACI0 service lists. That data originates from [[NPDM]].
Takes a PID and two type-0x5 input buffers with the ACID and ACI0 service lists. That data originates from [[NPDM]].


== UnregisterProcess ==
== UnregisterProcess ==
Takes a pid.
Takes a PID.


= Service List =
= Service List =
Line 64: Line 69:
|
|
|-
|-
| appletAE, appletOE, idle:sys, omm, spsm, [5.0.0+] tcap, [6.0.0+] caps:su, [8.0.0+] apm  
| appletAE, appletOE, idle:sys, omm, spsm, [5.0.0-10.2.0] tcap, [6.0.0+] caps:su, [8.0.0+] apm  
| [[Applet Manager services]]
| [[Applet Manager services]]
|  
|  
Line 70: Line 75:
| [1.0.0-2.3.0] aoc:u, mii:u, mii:e, ns:am, ns:su, ns:dev, pl:u, ovln:rcv, ovln:snd, pdm:ntfy, pdm:qry
| [1.0.0-2.3.0] aoc:u, mii:u, mii:e, ns:am, ns:su, ns:dev, pl:u, ovln:rcv, ovln:snd, pdm:ntfy, pdm:qry


[3.0.0+] aoc:u, ns:am2, ns:dev, ns:ec, ns:rid, ns:rt, ns:su, ns:vm, ns:web, [1.0.0-7.0.1] ovln:rcv, [1.0.0-7.0.1] ovln:snd
[3.0.0+] aoc:u, ns:am2, ns:dev, ns:ec, ns:rid, ns:rt, ns:su, ns:vm, ns:web, [1.0.0-7.0.1] ovln:rcv, [1.0.0-7.0.1] ovln:snd, [11.0.0+] ns:ro
| [[NS Services]]
| [[NS Services]]
| am: Application Manager, su: System Update
| am: Application Manager, su: System Update
Line 78: Line 83:
|   
|   
|-
|-
| arp:r, arp:w, [2.0.0+] bgtc:t, [2.0.0+] bgtc:sc, [9.0.0+] time:a, [9.0.0+] time:r, [9.0.0+] time:u, [9.0.0+] notif:a, [9.0.0+] notif:s
| arp:r, arp:w, [2.0.0+] bgtc:t, [2.0.0+] bgtc:sc, [9.0.0+] time:a, [9.0.0+] time:r, [9.0.0+] time:u, [9.0.0+] notif:a, [9.0.0+] notif:s, [11.0.0+] ectx:aw, [11.0.0+] ectx:r, [11.0.0+] ectx:w
| [[Glue services]]
| [[Glue services]]
|  
|  
|-
|-
| audin:a, audin:d, audin:u, audout:a, audout:d, audout:u, audren:a, audren:d, audren:u, audrec:a, audrec:d, audrec:u, audctl, [1.0.0-2.3.0] codecctl, hwopus, auddebug, [6.0.0+] auddev
| [1.0.0-10.2.0] audin:a, [1.0.0-10.2.0] audin:d, audin:u, [1.0.0-10.2.0] audout:a, [1.0.0-10.2.0] audout:d, audout:u, [1.0.0-10.2.0] audren:a, [1.0.0-10.2.0] audren:d, audren:u, audrec:a, audrec:d, audrec:u, audctl, [1.0.0-2.3.0] codecctl, hwopus, auddebug, [6.0.0+] auddev, [11.0.0+] aud:a, [11.0.0+] aud:d
| [[Audio services]]
| [[Audio services]]
|
|
Line 115: Line 120:
| a: AlbumAccessor, c: AlbumControl
| a: AlbumAccessor, c: AlbumControl
|-
|-
| [2.0.0+] caps:sc, [2.0.0+] caps:ss, vi:m, vi:s, vi:u, cec-mgr, [2.0.0+] mm:u, [3.0.0-5.1.0] caps:su
| [2.0.0+] caps:sc, [2.0.0+] caps:ss, vi:m, vi:s, vi:u, cec-mgr, [2.0.0+] mm:u, [3.0.0-5.1.0] caps:su, [11.0.0+] lbl
| [[Display services]]
| [[Display services]]
|  
|  
Line 139: Line 144:
|
|
|-
|-
| fan, psm, tc, ts, <nowiki>pcm</nowiki>, [9.0.0+] apm:sys, [9.0.0+] fgm, [9.0.0+] fgm:0, [9.0.0+] fgm:9, [9.0.0+] fgm:dbg, [9.0.0+] apm:am
| fan, psm, tc, ts, <nowiki>pcm</nowiki>, [9.0.0+] apm:sys, [9.0.0+] fgm, [9.0.0+] fgm:0, [9.0.0+] fgm:9, [9.0.0+] fgm:dbg, [9.0.0+] apm:am, [10.0.0-10.2.0] lbl
| [[PTM services]]
| [[PTM services]]
| pcm is not available on retail units.
| pcm is not available on retail units.
Line 165: Line 170:
| jit:u
| jit:u
| [[JIT services]]
| [[JIT services]]
| Not currently available on retail units.
|  
|-
|-
| lbl
| [1.0.0-9.2.0] lbl
| [[Backlight services]]
| [[Backlight services]]
|  
|  
Line 209: Line 214:
|
|
|-
|-
| nvdrv:a, nvdrv:s, nvdrv:t, nvdrv, nvdrvdbg, nvgem:c, nvgem:cd, nvmemp
| nvdrv:a, nvdrv:s, nvdrv:t, nvdrv, nvdrvdbg, nvgem:c, nvgem:cd, nvmemp, [10.0.0+] nvdbg:d
| [[NV services]]
| [[NV services]]
|
|
Line 225: Line 230:
|
|
|-
|-
| psc:c, psc:m, [5.0.0+] srepo:u, [5.0.0+] srepo:a, [8.0.0+] ovln:rcv, [8.0.0+] ovln:snd, [9.0.0+] psc:l, [9.0.0+] time:su, [9.0.0+] time:s, [9.0.0+] time:al, [9.0.0+] time:m, [9.0.0+] time:p, [9.0.0+] ins:r, [9.0.0+] ins:s
| psc:c, psc:m, [5.0.0+] srepo:u, [5.0.0+] srepo:a, [8.0.0+] ovln:rcv, [8.0.0+] ovln:snd, [9.0.0+] psc:l, [9.0.0+] time:su, [9.0.0+] time:s, [9.0.0+] time:al, [9.0.0+] time:m, [9.0.0+] time:p, [9.0.0+] ins:r, [9.0.0+] ins:s, [11.0.0+] hshl:set, [11.0.0+] hshl:sys
| [[PSC services]]
| [[PSC services]]
|  
|  
Line 277: Line 282:
|  
|  
|-
|-
| [6.0.0+] olsc:s
| [6.0.0+] olsc:s, [10.0.0+] olsc:u
| [[OLSC services]]
| [[OLSC services]]
|  
|  
Line 283: Line 288:
| [9.0.0+] ngct:s, [9.0.0+] ngct:u
| [9.0.0+] ngct:s, [9.0.0+] ngct:u
| [[NGCT services]]
| [[NGCT services]]
|
|-
| [10.0.0+] pgl
| [[PGL services]]
|
|-
| [11.0.0+] capmtp
| [[Capmtp services]]
|  
|  
|}
|}


[[Category:Services]]
[[Category:Services]]