Difference between revisions of "Services API"

From Nintendo Switch Brew
Jump to navigation Jump to search
(Apparently this wiki is case sensitive)
 
(124 intermediate revisions by 12 users not shown)
Line 1: Line 1:
 
Services are system processes running in the background which wait for incoming requests. When a process wants to communicate with a service, it first needs to get a handle to the named service, and then it can communicate with the service via inter-process communication (each service has a name up to 8 characters).
 
Services are system processes running in the background which wait for incoming requests. When a process wants to communicate with a service, it first needs to get a handle to the named service, and then it can communicate with the service via inter-process communication (each service has a name up to 8 characters).
  
Handles for services are retrieved from the service manager port, "sm:". Manager service "sm:m" also exists. Services are an abstraction of ports, they operate the same way except regular ports can have their handles retrieved directly from a SVC.
+
Handles for services are retrieved from the service manager port, "sm:", and are released via svcCloseHandle or when a process is terminated or crashes. Manager service "sm:m" also exists. Services are an abstraction of ports, they operate the same way except regular ports can have their handles retrieved directly from a SVC. Services are also able to limit the number of handles given to other processes.
  
 
= sm: =
 
= sm: =
 +
This is "nn::sm::detail::IUserInterface".
 +
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
 
! 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 ==
{| class="wikitable" border="1"
+
Takes a PID-descriptor and a reserved input u64.
|-
 
! Word || Value
 
|-
 
| 0 || 0x00000004
 
|-
 
| 1 || 0x8000000A
 
|-
 
| 2 || 0x00000001
 
|- style="border-top: double"
 
| 0-1 || Pid
 
|- style="border-top: double"
 
| 0 || "SFCI"
 
|-
 
| 1 || 0x00000000
 
|-
 
| 2 || Always 0.
 
|}
 
  
== GetService ==
+
== GetServiceHandle ==
{| class="wikitable" border="1"
+
Takes a zero-padded service name encoded as an u64 integer. Returns a handle.
|-
 
! Word || Value
 
|-
 
| 0 || 0x00000004
 
|-
 
| 1 || 0x0000000A
 
|- style="border-top: double"
 
| 0 || "SFCI"
 
|-
 
| 1 || 0x00000001
 
|-
 
| 2 || Service name, zero padded and casted to u64.
 
|}
 
  
 
== RegisterService ==
 
== RegisterService ==
{| class="wikitable" border="1"
+
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.
|-
+
 
! Word || Value
+
[12.0.0+] This is only available with tipc.
|-
 
| 0 || 0x00000004
 
|-
 
| 1 || 0x0000000C
 
|- style="border-top: double"
 
| 0 || "SFCI"
 
|-
 
| 1 || 0x00000002
 
|-
 
| 2 || Service name, zero padded and casted to u64.
 
|-
 
| 3 || Max sessions? 32-bit integer.
 
|-
 
| 4 || Unknown bool
 
|}
 
  
 
== UnregisterService ==
 
== UnregisterService ==
 +
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 =
 +
This is "nn::sm::detail::IManagerInterface".
 +
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! Word || Value
+
! Cmd || Name
 
|-
 
|-
| 0 || 0x00000004
+
| 0 || [[#RegisterProcess]]
 
|-
 
|-
| 1 || 0x0000000A
+
| 1 || [[#UnregisterProcess]]
|- style="border-top: double"
 
| 0 || "SFCI"
 
|-
 
| 1 || 0x00000003
 
|-
 
| 2 || Service name, zero padded and casted to u64.
 
 
|}
 
|}
  
= sm:m =
+
== RegisterProcess ==
This service is presumably equivalent to 3DS "srv:pm".
+
Takes a PID and two type-0x5 input buffers with the ACID and ACI0 service lists. That data originates from [[NPDM]].
 +
 
 +
== UnregisterProcess ==
 +
Takes a PID.
  
 
= Service List =
 
= Service List =
Line 99: Line 65:
 
! scope="col" width="200" | Notes
 
! scope="col" width="200" | Notes
 
|-
 
|-
| acc:u0, acc:u1, acc:aa, acc:su
+
| [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, (htc?), irs, irs:sys, xcd:sys
+
| [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
+
| appletAE, appletOE, idle:sys, omm, spsm, [5.0.0-10.2.0] tcap, [6.0.0+] caps:su, [8.0.0+] apm
| Applet services, [[OMM services]]
+
| [[Applet Manager services]]
|
+
|  
 
|-
 
|-
| aoc:u, ovln:rcv, ovln:snd, ns:am2, ns:dev, ns:ec, ns:rid, ns:rt, ns:su, ns:vm, ns:web
+
| [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, [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. Version [[3.0.0]] replaced ns:am with ns:am2, ns:ec, ns:rid, ns:rt, ns:vm, and ns:web.
+
| am: Application Manager, su: System Update
 
|-
 
|-
| apm, apm:p, apm:sys, fgm, fgm:0, fgm:9, (fgm:dbg?)
+
| [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
| [[APM services]]
+
| [[PPC services]]
|
+
|
 
|-
 
|-
| arp:r, arp:w, bgtc:t, 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]]
| r: Reader, w: Writer
+
|  
 
|-
 
|-
| 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, codecctl, hwopus
+
| [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]]
 
|
 
|
 
|-
 
|-
| <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, prepo:a</nowiki>
+
| <nowiki>banana</nowiki>
 +
| [[Profiler services]]
 +
| Not currently available on retail units.
 +
|-
 +
| <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]]
 
|
 
|
 
|-
 
|-
| bpc, bpc:r, pcv, 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
| [[BPC services]]
+
[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]]
 
|
 
|
 
|-
 
|-
| 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]], [[NSD services]]
+
| [[Sockets services]]
 
|
 
|
 
|-
 
|-
| btdrv
+
| btdrv, [5.0.0+] bt
 
| [[Bluetooth Driver services]]
 
| [[Bluetooth Driver services]]
 
|  
 
|  
 
|-
 
|-
| btm, btm:dbg, btm:sys
+
| btm, btm:dbg, btm:sys, [5.0.0+] btm:u
| Battery services
+
| [[BTM services]]
 
|  
 
|  
 
|-
 
|-
| caps:a, caps:c
+
| caps:a, caps:c, [1.0.0] mm:u, [5.0.0+] caps:u
 
| [[Capture services]]
 
| [[Capture services]]
 
| a: AlbumAccessor, c: AlbumControl
 
| a: AlbumAccessor, c: AlbumControl
 
|-
 
|-
| caps:sc, caps:ss, mm:u, vi:m, vi:s, vi:u, cec-mgr
+
| [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]]
|
 
|-
 
| csrng
 
| [[Secure RNG services]]
 
 
|  
 
|  
 
|-
 
|-
 
| dispdrv
 
| dispdrv
| Nvnflinger services
+
| [[Nvnflinger services]]
 
|
 
|
 
|-
 
|-
| erpt:c, erpt:r
+
| dmnt:-
| Error Report services
+
| [[Debug Monitor services]]
 +
| Not currently available on retail units.
 +
|-
 +
| erpt:c, erpt:r, [13.0.0+] sprof:bg, [13.0.0+] sprof:sp
 +
| [[Error Report services]]
 
|
 
|
 
|-
 
|-
| es
+
| eupld:c, eupld:r
| ETicket services
+
| [[Error Upload services]]
 
|
 
|
 
|-
 
|-
| fan, psm, tc, ts
+
| es, [13.0.0+] ndrm:la, [13.0.0+] ndrm:lu
| PTM services
+
| [[ETicket services]]
 
|
 
|
 +
|-
 +
| 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]]
 +
| pcm is not available on retail units.
 
|-
 
|-
 
| fatal:u, fatal:p
 
| fatal:u, fatal:p
| Fatal Error services
+
| [[Fatal services]]
| u: User, p: Privileged
+
|  
 
|-
 
|-
| friend:u, friend:v, friend:m, friend:s, friend:a
+
| 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 187: Line 164:
 
| srv: Main, ldr: Loader, pr: Program Registry
 
| srv: Main, ldr: Loader, pr: Program Registry
 
|-
 
|-
| gpio, i2c, i2c:pcv, pinmux, pwm, uart
+
| gpio, i2c, i2c:pcv, pinmux, pwm, uart, [3.0.0+] sasbus, [8.1.1+] led
 
| [[Bus services]]
 
| [[Bus services]]
 
|
 
|
 
|-
 
|-
| lbl
+
| htc, htcs, htc:tenv, file_io, gds, tma_log, tmagent
 +
| [[TMA services]]
 +
|
 +
|-
 +
| jit:u
 +
| [[JIT services]]
 +
|
 +
|-
 +
| [1.0.0-9.2.0] lbl
 
| [[Backlight services]]
 
| [[Backlight services]]
 
|  
 
|  
 
|-
 
|-
| ldn:m, ldn:s, ldn:u
+
| 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
| [[Local Network Monitor services]]
+
| [[LDN services]]
 
|
 
|
 
|-
 
|-
| ldr:pm, ldr:shel
+
| [1.0.0+] ldr:pm, ldr:ro, ldr:shel, ldr:dmnt
 +
 
 +
[3.0.0+] ldr:pm, ldr:shel, ldr:dmnt
 
| [[Loader services]]
 
| [[Loader services]]
| Prior to version [[3.0.0]], ldr:ro and ldr:dmnt were hosted by ldr instead of ro.
+
|
 
|-
 
|-
| lm
+
| lm, lm:get
| Log services
+
| [[Log services]]
 
|
 
|
 +
|-
 +
| manu
 +
| [[Manu Services]]
 +
| "Manufacturing", present in factory firmware but not installed on retail systems.
 
|-
 
|-
 
| lr, ncm, ncm:v
 
| lr, ncm, ncm:v
| [[Location Resolver services]]
+
| [[NCM services]]
 
|
 
|
 
|-
 
|-
| nfc:am, nfc:mf:u, nfc:user, nfc:sys
+
| nfc:am, nfc:mf:u, nfc:user, nfc:sys, nfp:user, nfp:dbg, nfp:sys
| NFC services
+
| [[NFC services]]
 
|  
 
|  
 
|-
 
|-
Line 219: Line 210:
 
|  
 
|  
 
|-
 
|-
| nim, nim:shp, ntc
+
| nim, nim:shp, ntc, [5.0.0+] nim:eca, [7.0.0+] nim:ecas
 
| [[NIM services]]
 
| [[NIM services]]
| shp: eShop
+
|  
 
|-
 
|-
 
| npns:u, npns:s
 
| npns:u, npns:s
| NPNS services
+
| [[NPNS services]]
 
|
 
|
 
|-
 
|-
| 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]]
 
|
 
|
 
|-
 
|-
| pcie
+
| pcie, [6.0.0+] pcie:log
 
| [[PCIe services]]
 
| [[PCIe services]]
 
|
 
|
 
|-
 
|-
 
| pctl, pctl:a, pctl:s, pctl:r
 
| pctl, pctl:a, pctl:s, pctl:r
| Parental Control services
+
| [[Parental Control services]]
 
|
 
|
 
|-
 
|-
Line 243: Line 234:
 
|
 
|
 
|-
 
|-
| psc:c, psc:m
+
| 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]]
 
|  
 
|  
 
|-
 
|-
| ldr:ro, ro:dmnt
+
| [3.0.0+] ldr:ro, ro:dmnt, [7.0.0+] ro:1
| [[Loader services|RO services]]
+
| [[RO services]]
| These services were split out of LDR into RO in version [[3.0.0]]
+
|
 
|-
 
|-
 
| set, set:fd, set:cal, set:sys
 
| set, set:fd, set:cal, set:sys
Line 255: Line 246:
 
| cal: calibration, sys: System Settings
 
| cal: calibration, sys: System Settings
 
|-
 
|-
| mii:u, mii:e, pdm:ntfy, pdm:qry, pl:u
+
| [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]]
| These services were split out of NS into SDB in version [[3.0.0]]
+
|
 
|-
 
|-
| ssl
+
| ssl, [15.0.0+] ssl:s
 
| [[SSL services]]
 
| [[SSL services]]
 
|
 
|
 
|-
 
|-
| spl:
+
| 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]]
 
|  
 
|  
 
|-
 
|-
| usb:ds, usb:hs, usb:pd, usb:pd:c, usb:pm
+
| sf-uds
| USB services
+
| ?
 +
| System debug applet "recovery" has access to this service, but it doesn't appear to exist.
 +
|-
 +
| tspm
 +
| ?
 +
| Applications on [1.0.0] used to have access to this service, but it doesn't appear to be present on retail devices.
 +
|-
 +
| usb:ds, usb:hs, usb:pd, usb:pd:c, [1.0.0] usb:pd:m, usb:pm, [7.0.0+] usb:hs:a, [7.0.0+] usb:qdb, [8.0.0+] usb:obsv
 +
| [[USB services]]
 
|  
 
|  
 
|-
 
|-
| wlan:inf, wlan:lcl, wlan:lg, wlan:lga, wlan:sg, wlan:soc
+
| [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]]
 
|
 
|
 +
|-
 +
| [4.0.0+] grc:c, [6.0.0+] grc:d
 +
| [[GRC services]]
 +
|
 +
|-
 +
| [4.0.0+] mig:usr
 +
| [[Migration services]]
 +
|
 +
|-
 +
| [4.0.0+] caps:dc
 +
| [[Jpegdec services]]
 +
|
 +
|-
 +
| [6.0.0+] olsc:s, [10.0.0+] olsc:u, [13.1.0+] spbg:sp
 +
| [[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]]
 +
|
 +
|-
 +
| [15.0.0+] eth:nd
 +
| [[Ethernet services]]
 +
|-
 +
| [16.0.0+] ngc:u
 +
| [[NGC services]]
 
|}
 
|}
  
 
[[Category:Services]]
 
[[Category:Services]]

Latest revision as of 20:24, 30 March 2024

Services are system processes running in the background which wait for incoming requests. When a process wants to communicate with a service, it first needs to get a handle to the named service, and then it can communicate with the service via inter-process communication (each service has a name up to 8 characters).

Handles for services are retrieved from the service manager port, "sm:", and are released via svcCloseHandle or when a process is terminated or crashes. Manager service "sm:m" also exists. Services are an abstraction of ports, they operate the same way except regular ports can have their handles retrieved directly from a SVC. Services are also able to limit the number of handles given to other processes.

sm:

This is "nn::sm::detail::IUserInterface".

Cmd Name
0 #RegisterClient
1 #GetServiceHandle
2 #RegisterService
3 #UnregisterService
4 [11.0.0-11.0.1] #DetachClient

RegisterClient

Takes a PID-descriptor and a reserved input u64.

GetServiceHandle

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

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.

[12.0.0+] This is only available with tipc.

UnregisterService

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

This is "nn::sm::detail::IManagerInterface".

Cmd Name
0 #RegisterProcess
1 #UnregisterProcess

RegisterProcess

Takes a PID and two type-0x5 input buffers with the ACID and ACI0 service lists. That data originates from NPDM.

UnregisterProcess

Takes a PID.

Service List

Service names Description Notes
[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 u0: System, u1: User, su: Admin, aa: Baas
[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
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
[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, [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 am: Application Manager, su: System Update
[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
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
[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
banana Profiler services Not currently available on retail units.
[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, [13.0.0+] mnpp:app, [13.0.0+] mnpp:sys, [13.0.0+] mnpp:web BCAT services
[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, [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
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
btdrv, [5.0.0+] bt Bluetooth Driver services
btm, btm:dbg, btm:sys, [5.0.0+] btm:u BTM services
caps:a, caps:c, [1.0.0] mm:u, [5.0.0+] caps:u Capture services 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, [11.0.0+] lbl Display services
dispdrv Nvnflinger services
dmnt:- Debug Monitor services Not currently available on retail units.
erpt:c, erpt:r, [13.0.0+] sprof:bg, [13.0.0+] sprof:sp Error Report services
eupld:c, eupld:r Error Upload services
es, [13.0.0+] ndrm:la, [13.0.0+] ndrm:lu ETicket services
fan, psm, tc, ts, pcm, [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 pcm is not available on retail units.
fatal:u, fatal:p Fatal services
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
fsp-srv, fsp-ldr, fsp-pr Filesystem services srv: Main, ldr: Loader, pr: Program Registry
gpio, i2c, i2c:pcv, pinmux, pwm, uart, [3.0.0+] sasbus, [8.1.1+] led Bus services
htc, htcs, htc:tenv, file_io, gds, tma_log, tmagent TMA services
jit:u JIT services
[1.0.0-9.2.0] lbl Backlight services
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
[1.0.0+] ldr:pm, ldr:ro, ldr:shel, ldr:dmnt

[3.0.0+] ldr:pm, ldr:shel, ldr:dmnt

Loader services
lm, lm:get Log services
manu Manu Services "Manufacturing", present in factory firmware but not installed on retail systems.
lr, ncm, ncm:v NCM services
nfc:am, nfc:mf:u, nfc:user, nfc:sys, nfp:user, nfp:dbg, nfp:sys NFC services
nifm:u, nifm:a, nifm:s Network Interface services
nim, nim:shp, ntc, [5.0.0+] nim:eca, [7.0.0+] nim:ecas NIM services
npns:u, npns:s NPNS services
nvdrv:a, nvdrv:s, nvdrv:t, nvdrv, nvdrvdbg, nvgem:c, nvgem:cd, nvmemp, [10.0.0+] nvdbg:d NV services
pcie, [6.0.0+] pcie:log PCIe services
pctl, pctl:a, pctl:s, pctl:r Parental Control services
pm:bm, pm:info, pm:shell Process Manager services
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
[3.0.0+] ldr:ro, ro:dmnt, [7.0.0+] ro:1 RO services
set, set:fd, set:cal, set:sys Settings services cal: calibration, sys: System Settings
[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
ssl, [15.0.0+] ssl:s SSL services
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
sf-uds ? System debug applet "recovery" has access to this service, but it doesn't appear to exist.
tspm ? Applications on [1.0.0] used to have access to this service, but it doesn't appear to be present on retail devices.
usb:ds, usb:hs, usb:pd, usb:pd:c, [1.0.0] usb:pd:m, usb:pm, [7.0.0+] usb:hs:a, [7.0.0+] usb:qdb, [8.0.0+] usb:obsv USB services
[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
[4.0.0+] grc:c, [6.0.0+] grc:d GRC services
[4.0.0+] mig:usr Migration services
[4.0.0+] caps:dc Jpegdec services
[6.0.0+] olsc:s, [10.0.0+] olsc:u, [13.1.0+] spbg:sp 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
[15.0.0+] eth:nd Ethernet services
[16.0.0+] ngc:u NGC services