Difference between revisions of "Services API"

From Nintendo Switch Brew
Jump to navigation Jump to search
 
(195 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".
  
List of services (non-exhaustive):
+
{| 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".
 +
 
 +
{| 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
 
|-
 
|-
| acc:u1
+
| [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]]
| u1: for user 1?
+
| u0: System, u1: User, su: Admin, aa: Baas
 
|-
 
|-
| appletAE
+
| [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
| Applet Accessor services
+
| [[HID services]]
 
|
 
|
 
|-
 
|-
| aoc:u
+
| appletAE, appletOE, idle:sys, omm, spsm, [5.0.0-10.2.0] tcap, [6.0.0+] caps:su, [8.0.0+] apm
| AddOn Content services  
+
| [[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]]
 
|
 
|
 
|-
 
|-
| audren:u
+
| <nowiki>banana</nowiki>
| Audio Renderer services
+
| [[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]]
 
|
 
|
 
|-
 
|-
| audout:u
+
| [1.0.0] bpc:c, bpc:b, bpc:r, bpc:w, pcv, pcv:arb, pcv:imm, time:u, time:a, time:s
| Audio Out 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
+
| 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]]
 
|
 
|
 
|-
 
|-
| caps:a, caps:c, caps:ss
+
| btdrv, [5.0.0+] bt
| Capture services
+
| [[Bluetooth Driver services]]
| a: Album, ss: Screenshot
+
|
 +
|-
 +
| 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]]
 +
|
 
|-
 
|-
| fatal:u
+
| dispdrv
| Fatal Error services
+
| [[Nvnflinger services]]
 
|
 
|
 
|-
 
|-
| fsp-srv
+
| dmnt:-
| [[Filesystem 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]]
 
|
 
|
 
|-
 
|-
| hid, hid:dbg, hid:sys
+
| eupld:c, eupld:r
| HID services
+
| [[Error Upload services]]
 
|
 
|
 
|-
 
|-
| ldn:m
+
| es, [13.0.0+] ndrm:la, [13.0.0+] ndrm:lu
| Local Network Monitor services
+
| [[ETicket services]]
 
|
 
|
 
|-
 
|-
| ldr:ro
+
| 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
| RO services
+
| [[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]]
 
|
 
|
 
|-
 
|-
| ldr:shel
+
| fsp-srv, fsp-ldr, fsp-pr
| [[Loader services]]
+
| [[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]]
 
|
 
|
 
|-
 
|-
| lm
+
| htc, htcs, htc:tenv, file_io, gds, tma_log, tmagent
| Log services
+
| [[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]]
 
|
 
|
 
|-
 
|-
| lr
+
| [1.0.0+] ldr:pm, ldr:ro, ldr:shel, ldr:dmnt
| ?
+
 
 +
[3.0.0+] ldr:pm, ldr:shel, ldr:dmnt
 +
| [[Loader services]]
 
|
 
|
 
|-
 
|-
| erpt:c
+
| lm, lm:get
| ERPT(?) services
+
| [[Log services]]
 
|
 
|
 
|-
 
|-
| mii:u, mii:e
+
| manu
| Mii services
+
| [[Manu Services]]
 +
| "Manufacturing", present in factory firmware but not installed on retail systems.
 +
|-
 +
| lr, ncm, ncm:v
 +
| [[NCM services]]
 
|
 
|
 
|-
 
|-
| mm:u
+
| nfc:am, nfc:mf:u, nfc:user, nfc:sys, nfp:user, nfp:dbg, nfp:sys
| NvMM services
+
| [[NFC services]]
|
+
|  
 
|-
 
|-
 
| nifm:u, nifm:a, nifm:s
 
| nifm:u, nifm:a, nifm:s
| Network Interface services
+
| [[Network Interface services]]
| u: User, a: Applet, s: System
+
|  
 
|-
 
|-
| nim:shp
+
| nim, nim:shp, ntc, [5.0.0+] nim:eca, [7.0.0+] nim:ecas
| NIM services
+
| [[NIM services]]
| shp: eShop
+
|  
 
|-
 
|-
| ns:am, ns:su, ns:dev
+
| npns:u, npns:s
| [[NS Services]]
+
| [[NPNS services]]
| am: Application Manager, su: System Update
+
|
 
|-
 
|-
| nsd:u, nsd:a
+
| nvdrv:a, nvdrv:s, nvdrv:t, nvdrv, nvdrvdbg, nvgem:c, nvgem:cd, nvmemp, [10.0.0+] nvdbg:d
| NSD services
+
| [[NV services]]
 
|
 
|
 
|-
 
|-
| nvmemp
+
| pcie, [6.0.0+] pcie:log
| NVIDIA Memory Profiling services
+
| [[PCIe services]]
 
|
 
|
 
|-
 
|-
| nvdrv:a
+
| pctl, pctl:a, pctl:s, pctl:r
| [[NV services]]
+
| [[Parental Control services]]
 
|
 
|
 
|-
 
|-
| ovln:rcv, ovln:snd
+
| pm:bm, pm:info, pm:shell
| Overlay Notification services
+
| [[Process Manager services]]
 
|
 
|
 
|-
 
|-
| pdm:ntfy, pdm:qry
+
| 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
| Play Log services
+
| [[PSC services]]
 +
|
 +
|-
 +
| [3.0.0+] ldr:ro, ro:dmnt, [7.0.0+] ro:1
 +
| [[RO services]]
 
|
 
|
 
|-
 
|-
| pl:u
+
| set, set:fd, set:cal, set:sys
| Shared Font services
+
| [[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]]
 
|
 
|
 
|-
 
|-
| pm:bm, pm:shell
+
| ssl, [15.0.0+] ssl:s
| Process Manager services
+
| [[SSL services]]
 
|
 
|
 
|-
 
|-
| prepo:u, prepo:s, prepo:m, prepo:a
+
| 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
| Prepo(?) services
+
| [[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]]
 
|
 
|
 
|-
 
|-
| set, set:sys
+
| [4.0.0+] grc:c, [6.0.0+] grc:d
| Settings services
+
| [[GRC services]]
| sys: System settings
+
|
 +
|-
 +
| [4.0.0+] mig:usr
 +
| [[Migration services]]
 +
|
 
|-
 
|-
| sfdnsres
+
| [4.0.0+] caps:dc
| DNS resolver services
+
| [[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]]
 +
|  
 
|-
 
|-
| ssl
+
| [11.0.0+] capmtp
| SSL services
+
| [[Capmtp services]]
|
+
|  
 
|-
 
|-
| time:u, time:a, time:s
+
| [15.0.0+] eth:nd
| Time services
+
| [[Ethernet services]]
|
 
 
|-
 
|-
| vi:m, vi:s, vi:u
+
| [16.0.0+] ngc:u
| VI (Camera?) services
+
| [[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