Difference between revisions of "Services API"

From Nintendo Switch Brew
Jump to navigation Jump to search
(Created page with "Just like the 3DS/N3DS, the Switch exposes an API which communicates with certain services. Services are system processes running in the background which wait for incoming req...")
 
 
(203 intermediate revisions by 15 users not shown)
Line 1: Line 1:
Just like the 3DS/N3DS, the Switch exposes an API which communicates with certain services. 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:". 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: =
 +
This is "nn::sm::detail::IUserInterface".
 +
 
 +
{| class="wikitable" border="1"
 +
|-
 +
! 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".
  
List of services (non-exhaustive):
+
{| class="wikitable" border="1"
 +
|-
 +
! 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 =
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 10: Line 65:
 
! scope="col" width="200" | Notes
 
! scope="col" width="200" | Notes
 
|-
 
|-
| nvmemp
+
| [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
| NVIDIA Memory Profiling service
+
| [[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]]
 
|
 
|
 
|-
 
|-
| nvdrv:a
+
| appletAE, appletOE, idle:sys, omm, spsm, [5.0.0-10.2.0] tcap, [6.0.0+] caps:su, [8.0.0+] apm
| NVIDIA Graphics Driver service
+
| [[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]]
 
|
 
|
 
|-
 
|-
| acc:u1
+
| <nowiki>banana</nowiki>
| Account System service
+
| [[Profiler services]]
| u1: for user 1?
+
| Not currently available on retail units.
 
|-
 
|-
| appletAE
+
| <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
| Applet Accessor service
+
| [[BCAT services]]
 
|
 
|
 
|-
 
|-
| audren:u
+
| [1.0.0] bpc:c, bpc:b, bpc:r, bpc:w, pcv, pcv:arb, pcv:imm, time:u, time:a, time:s
| Audio Renderer service
+
[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]]
 
|
 
|
 
|-
 
|-
| audout:u
+
| 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
| Audio Out service
+
| [[Sockets services]]
 
|
 
|
 
|-
 
|-
| caps:a, caps:ss
+
| btdrv, [5.0.0+] bt
| Capture service
+
| [[Bluetooth Driver services]]
| a: Album, ss: Screenshot
+
|
 +
|-
 +
| btm, btm:dbg, btm:sys, [5.0.0+] btm:u
 +
| [[BTM services]]
 +
|
 
|-
 
|-
| nim:shp
+
| caps:a, caps:c, [1.0.0] mm:u, [5.0.0+] caps:u
| NIM service
+
| [[Capture services]]
| shp: eShop
+
| a: AlbumAccessor, c: AlbumControl
 
|-
 
|-
| fatal:u
+
| [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
| Fatal service
+
| [[Display services]]
 +
|
 +
|-
 +
| dispdrv
 +
| [[Nvnflinger services]]
 
|
 
|
 
|-
 
|-
| fsp-srv
+
| dmnt:-
| File System Proxy service
+
| [[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]]
 
|
 
|
 
|-
 
|-
| hid, hid:dbg, hid:sys
+
| eupld:c, eupld:r
| HID service
+
| [[Error Upload services]]
 
|
 
|
 
|-
 
|-
| ldn:m
+
| es, [13.0.0+] ndrm:la, [13.0.0+] ndrm:lu
| Local Network Monitor service
+
| [[ETicket services]]
 
|
 
|
 
|-
 
|-
| lm
+
| 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
| Log service
+
| [[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]]
 
|
 
|
 
|-
 
|-
| nifm:u, nifm:a, nifm:s
+
| fsp-srv, fsp-ldr, fsp-pr
| Network Interface service
+
| [[Filesystem services]]
| u: User?, a: Application?, s: Static?
+
| 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]]
 +
|
 
|-
 
|-
| ns:am
+
| [1.0.0-9.2.0] lbl
| NS service
+
| [[Backlight services]]
| am: Application Manager
+
|  
 
|-
 
|-
| nsd:u, nsd:a
+
| 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
| NSD service
+
| [[LDN services]]
 
|
 
|
 
|-
 
|-
| pl:u
+
| [1.0.0+] ldr:pm, ldr:ro, ldr:shel, ldr:dmnt
| Shared Font Manager service
+
 
 +
[3.0.0+] ldr:pm, ldr:shel, ldr:dmnt
 +
| [[Loader services]]
 
|
 
|
 
|-
 
|-
| prepo:u, prepo:s, prepo:m, prepo:a
+
| lm, lm:get
| Prepo(?) service
+
| [[Log services]]
 
|
 
|
 
|-
 
|-
| set, set:sys
+
| manu
| Settings service
+
| [[Manu Services]]
| sys: System settings
+
| "Manufacturing", present in factory firmware but not installed on retail systems.
 
|-
 
|-
| bsd:u, bsd:s
+
| lr, ncm, ncm:v
| Sockets service
+
| [[NCM services]]
 
|
 
|
 
|-
 
|-
| sfdnsres
+
| nfc:am, nfc:mf:u, nfc:user, nfc:sys, nfp:user, nfp:dbg, nfp:sys
| DNS resolver service
+
| [[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]]
 
|
 
|
 
|-
 
|-
| ssl
+
| pcie, [6.0.0+] pcie:log
| SSL service
+
| [[PCIe services]]
 
|
 
|
 
|-
 
|-
| time:u, time:a, time:s
+
| pctl, pctl:a, pctl:s, pctl:r
| Time service
+
| [[Parental Control services]]
 
|
 
|
 
|-
 
|-
| vi:m, vi:s, vi:u
+
| pm:bm, pm:info, pm:shell
| VI (Camera?) service
+
| [[Process Manager services]]
 
|
 
|
 
|-
 
|-
| erpt:c
+
| 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
| ERPT(?) service
+
| [[PSC services]]
 +
|
 +
|-
 +
| [3.0.0+] ldr:ro, ro:dmnt, [7.0.0+] ro:1
 +
| [[RO services]]
 
|
 
|
 
|-
 
|-
| ldr:ro
+
| set, set:fd, set:cal, set:sys
| RO service
+
| [[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]]
 
|
 
|
 
|-
 
|-
| mm:u
+
| ssl, [15.0.0+] ssl:s
| NvMM service
+
| [[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]]
 
|}
 
|}
 +
 +
[[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