Services API: Difference between revisions

 
(33 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-11.0.1] [[#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, and an u32 (session count) 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.
 
[12.0.0+] This is only available with tipc.


== UnregisterService ==
== UnregisterService ==
Takes a zero-padded service name encoded as an u64 integer.
Takes a zero-padded service name encoded as an u64 integer.
[12.0.0+] This is only available with tipc.
== DetachClient ==
Takes a PID-descriptor and a reserved input u64.


= sm:m =
= sm:m =
Line 44: Line 53:


== 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 56: Line 65:
! scope="col" width="200" | Notes
! scope="col" width="200" | Notes
|-
|-
| acc:u0, acc:u1, acc:aa, acc:su, [5.0.0+] dauth:0
| [1.0.0-12.1.0] acc:u0, [1.0.0-12.1.0] acc:u1, acc:aa, [1.0.0-12.1.0] acc:su, [5.0.0+] dauth:0, [13.0.0+] acc:e, [13.0.0+] acc:e:u1, [13.0.0+] acc:e:u2
| [[Account services]]
| [[Account services]]
| u0: System, u1: User, su: Admin, aa: Baas
| u0: System, u1: User, su: Admin, aa: Baas
|-
|-
| ahid:cd, ahid:hdr, hid, hid:dbg, hid:sys, irs, irs:sys, xcd:sys, [3.0.0-7.0.1] hid:tmp, [5.0.0+] hidbus
| [1.0.0-8.1.0] ahid:cd, [1.0.0-8.1.0] ahid:hdr, hid, hid:dbg, hid:sys, irs, irs:sys, xcd:sys, [3.0.0-7.0.1] hid:tmp, [5.0.0+] hidbus
| [[HID services]]
| [[HID services]]
|
|
|-
|-
| appletAE, appletOE, idle:sys, omm, spsm, [5.0.0+] tcap, [6.0.0+] caps:su, [8.0.0+] apm  
| appletAE, appletOE, [1.0.0-13.2.1] idle:sys, [1.0.0-13.2.1] omm, [1.0.0-13.2.1] 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 79:
| [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, [13.0.0+] acc:su, [13.0.0+] acc:u0, [13.0.0+] acc:u1, [15.0.0+] ns:sweb
| [[NS Services]]
| [[NS Services]]
| am: Application Manager, su: System Update
| am: Application Manager, su: System Update
|-
|-
| apm:dbg, apm:sys, fgm, fgm:0, fgm:9, fgm:dbg, [1.0.0-7.0.1] apm, [1.0.0-7.0.1] apm:p, [8.0.0+] apm:am
| [1.0.0-8.1.0] apm:dbg, [1.0.0-8.1.0] apm:sys, [1.0.0] fgm:1, fgm:2, fgm:3, fgm:4, fgm:5, fgm:6, fgm:7, [1.0.0-8.1.0] fgm, [1.0.0-8.1.0] fgm:0, [1.0.0-8.1.0] fgm:9, [1.0.0-8.1.0] fgm:dbg, [1.0.0-7.0.1] apm, [1.0.0-7.0.1] apm:p, [8.0.0-8.1.0] apm:am
| [[PPC services]]
| [[PPC services]]
| fgm:1, fgm:2, fgm:3, fgm:4, fgm:5, fgm:6 and fgm:7 used to exist, but are now deprecated.
|
|-
|-
| arp:r, arp:w, [2.0.0+] bgtc:t, [2.0.0+] bgtc:sc
| 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, [16.0.0+] pl:u
| [[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, [?-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 90: Line 99:
| Not currently available on retail units.
| Not currently available on retail units.
|-
|-
| <nowiki>bcat:a, bcat:u, bcat:m, bcat:s, news:a, news:c, news:m, news:p, news:v, prepo:u, prepo:s, prepo:m, [1.0.0-5.1.0] prepo:a, [6.0.0+] prepo:a2</nowiki>
| <nowiki>[2.0.0+] bcat:a, [2.0.0+] bcat:u, [2.0.0+] bcat:m, [2.0.0+] bcat:s, news:a, news:c, news:m, news:p, news:v, prepo:u, prepo:s, prepo:m, [1.0.0-5.1.0] prepo:a, [1.0.0] prepo:d, [6.0.0+] prepo:a2</nowiki>, [13.0.0+] mnpp:app, [13.0.0+] mnpp:sys, [13.0.0+] mnpp:web
| [[BCAT services]]
| [[BCAT services]]
|
|
|-
|-
| [1.0.0] bpc:c, bpc:b, bpc:r, bpc:w, pcv, pcv:arb, pcv:imm, time:u, time:a, time:s
| [1.0.0] bpc:c, bpc:b, bpc:r, bpc:w, pcv, pcv:arb, pcv:imm, time:u, time:a, time:s
[2.0.0+] bpc, bpc:r, pcv, time:u, time:a, time:s, [1.0.0-7.0.1] pcv:arb, [1.0.0-7.0.1] pcv:imm, [8.0.0+] clkrst, [8.0.0+] clkrst:a, [8.0.0+] clkrst:i, [8.0.0+] rgltr, [8.0.0+] rtc
[2.0.0+] bpc, bpc:r, pcv, [2.0.0-8.1.0] time:u, [2.0.0-8.1.0] time:a, [2.0.0-8.1.0] time:s, [1.0.0-7.0.1] pcv:arb, [1.0.0-7.0.1] pcv:imm, [8.0.0+] clkrst, [8.0.0+] clkrst:a, [8.0.0+] clkrst:i, [8.0.0+] rgltr, [8.0.0+] rtc
| [[PCV services]]
| [[PCV services]]
|
|
|-
|-
| bsd:u, bsd:s, bsdcfg, ethc:c, ethc:i, nsd:u, nsd:a, sfdnsres
| bsd:u, bsd:s, [15.0.0+] bsd:nu, bsdcfg, [17.0.0+] ifcfg, [18.0.0+] bsd:a, [1.0.0-14.1.2] ethc:c, [1.0.0-14.1.2] ethc:i, nsd:u, nsd:a, sfdnsres, [18.0.0+] dns:priv
| [[Sockets services]]
| [[Sockets services]]
|
|
Line 115: Line 124:
| 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, [4.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 127: Line 136:
| Not currently available on retail units.
| Not currently available on retail units.
|-
|-
| erpt:c, erpt:r
| erpt:c, erpt:r, [13.0.0+] sprof:bg, [13.0.0+] sprof:sp
| [[Error Report services]]
| [[Error Report services]]
|
|
Line 135: Line 144:
|
|
|-
|-
| es
| es, [13.0.0+] ndrm:la, [13.0.0+] ndrm:lu
| [[ETicket services]]
| [[ETicket services]]
|
|
|-
|-
| fan, psm, tc, ts, <nowiki>pcm</nowiki>
| 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 147: Line 156:
|  
|  
|-
|-
| friend:u, friend:v, friend:m, friend:s, friend:a, [5.0.0+] nd:app, nd:sys
| friend:u, friend:v, friend:m, friend:s, friend:a, [5.0.0-6.0.0] nd:app, [5.0.0-6.0.0] nd:sys
| [[Friend services]]
| [[Friend services]]
|
|
Line 155: Line 164:
| srv: Main, ldr: Loader, pr: Program Registry
| srv: Main, ldr: Loader, pr: Program Registry
|-
|-
| gpio, i2c, i2c:pcv, pinmux, pwm, uart, [3.0.0+] sasbus
| gpio, i2c, i2c:pcv, pinmux, pwm, uart, [3.0.0+] sasbus, [8.1.1+] led
| [[Bus services]]
| [[Bus services]]
|
|
Line 165: Line 174:
| 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]]
|  
|  
|-
|-
| ldn:m, ldn:s, ldn:u, [5.0.0+] ndd
| ldn:m, ldn:s, ldn:u, [5.0.0-6.0.0] ndd, [9.0.0+] lp2p:app, [9.0.0+] lp2p:sys, [9.1.0+] lp2p:m
| [[LDN services]]
| [[LDN services]]
|
|
Line 209: Line 218:
|
|
|-
|-
| 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 234:
|
|
|-
|-
| psc:c, psc:m, [5.0.0+] srepo:u, srepo:a, [8.0.0+] ovln:rcv, [8.0.0+] ovln:snd
| 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 237: Line 246:
| cal: calibration, sys: System Settings
| cal: calibration, sys: System Settings
|-
|-
| [3.0.0+] mii:u, mii:e, pdm:ntfy, pdm:qry, pl:u, [5.0.0+] miiimg, [6.0.0+] avm
| [3.0.0+] mii:u, [3.0.0+] mii:e, [3.0.0+] pdm:ntfy, [3.0.0+] pdm:qry, [3.0.0-15.0.1] pl:u, [5.0.0+] miiimg, [6.0.0+] avm, [9.0.0+] pl:s
| [[Shared Database services]]
| [[Shared Database services]]
|
|
|-
|-
| ssl
| ssl, [15.0.0+] ssl:s
| [[SSL services]]
| [[SSL services]]
|
|
|-
|-
| csrng, spl:, [4.0.0+] spl:mig, spl:fs, spl:ssl, spl:es, [5.0.0+] spl:manu
| csrng, spl:, [4.0.0+] spl:mig, [4.0.0+] spl:fs, [4.0.0+] spl:ssl, [4.0.0+] spl:es, [5.0.0+] spl:manu
| [[SPL services]]
| [[SPL services]]
|  
|  
Line 261: Line 270:
|  
|  
|-
|-
| wlan:inf, wlan:lcl, wlan:lg, wlan:lga, wlan:sg, wlan:soc, [6.0.0+] wlan:dtc
| [1.0.0-14.1.2] wlan:inf, [1.0.0-14.1.2] wlan:lcl, [1.0.0-14.1.2] wlan:lg, [1.0.0-14.1.2] wlan:lga, [1.0.0-14.1.2] wlan:sg, [1.0.0-14.1.2] wlan:soc, [6.0.0-14.1.2] wlan:dtc, [15.0.0+] wlan, [15.0.0+] wlan:nd, [15.0.0+] wlan:p
| [[WLAN services]]
| [[WLAN services]]
|
|
Line 277: Line 286:
|  
|  
|-
|-
| [6.0.0+] olsc:s
| [6.0.0+] olsc:s, [10.0.0+] olsc:u, [13.1.0+] spbg:sp
| [[OLSC services]]
| [[OLSC services]]
|
|-
| [9.0.0+] ngct:s, [9.0.0+] ngct:u
| [[NGCT services]]
|
|-
| [10.0.0+] pgl
| [[PGL services]]
|
|-
| [11.0.0+] capmtp
| [[Capmtp services]]
|
|-
| [14.0.0+] omm, [14.0.0+] ommdisp, [14.0.0+] idle:sys, [14.0.0+] spsm
| [[OMM services]]
|
|-
| [15.0.0+] eth:nd
| [[Ethernet services]]
|
|-
| [16.0.0+] ngc:u
| [[NGC services]]
|  
|  
|}
|}


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