Difference between revisions of "Services API"

From Nintendo Switch Brew
Jump to navigation Jump to search
(Undo revision 791 by Qlutoo (talk))
 
(162 intermediate revisions by 14 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:". 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.
 
 
|}
 
|}
 +
 +
== 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 List =
Line 96: Line 65:
 
! scope="col" width="200" | Notes
 
! scope="col" width="200" | Notes
 
|-
 
|-
| 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]]
| u1: User, su: Admin
+
| u0: System, u1: User, su: Admin, aa: Baas
 
|-
 
|-
| aoc:u
+
| [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
| AddOn Content services  
+
| [[HID services]]
 
|
 
|
 
|-
 
|-
| appletAE, appletOE
+
| appletAE, appletOE, idle:sys, omm, spsm, [5.0.0-10.2.0] tcap, [6.0.0+] caps:su, [8.0.0+] apm
| Applet 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]]
 +
|  
 
|-
 
|-
| apm, apm:p, apm:sys
+
| [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]]
 
|
 
|
 
|-
 
|-
| arp:r, arp:w
+
| <nowiki>banana</nowiki>
| Activity Report services?
+
| [[Profiler services]]
| r: Reader, w: Writer
+
| Not currently available on retail units.
 
|-
 
|-
| audin:a, audin:d, audin:u, audout:a, audout:d, audout:u, audren:a, audren:d, audren:u
+
| <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
| Audio services
+
| [[BCAT services]]
 
|
 
|
 
|-
 
|-
| bgtc:t, bgtc:sc
+
| [1.0.0] bpc:c, bpc:b, bpc:r, bpc:w, pcv, pcv:arb, pcv:imm, time:u, time:a, time:s
| Task 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]]
 
|
 
|
 
|-
 
|-
| bpc, bpc:r
+
| 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
| [[BPC services]]
+
| [[Sockets services]]
 
|
 
|
 
|-
 
|-
| bsd:u, bsd:s
+
| btdrv, [5.0.0+] bt
| Sockets services
+
| [[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]]
 
|
 
|
 
|-
 
|-
| btm, btm:dbg, btm:sys
+
| dmnt:-
| Bluetooth services?
+
| [[Debug Monitor services]]
|  
+
| Not currently available on retail units.
 
|-
 
|-
| caps:a, caps:c, caps:sc, caps:ss
+
| erpt:c, erpt:r, [13.0.0+] sprof:bg, [13.0.0+] sprof:sp
| Capture services
+
| [[Error Report services]]
| a: Album, ss: Screenshot
+
|
 
|-
 
|-
| erpt:c, erpt:r
+
| eupld:c, eupld:r
| Error Report services
+
| [[Error Upload services]]
 
|
 
|
 
|-
 
|-
| es
+
| es, [13.0.0+] ndrm:la, [13.0.0+] ndrm:lu
| ETicket services?
+
| [[ETicket services]]
 
|
 
|
 
|-
 
|-
| fan
+
| 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?
 
|-
 
| fgm
 
| ?
 
 
|  
 
|  
 
|-
 
|-
| 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 168: Line 164:
 
| srv: Main, ldr: Loader, pr: Program Registry
 
| srv: Main, ldr: Loader, pr: Program Registry
 
|-
 
|-
| gpio
+
| gpio, i2c, i2c:pcv, pinmux, pwm, uart, [3.0.0+] sasbus, [8.1.1+] led
| GPIO services
+
| [[Bus services]]
|
 
|-
 
| hid, hid:dbg, hid:sys
 
| [[HID services]]
 
 
|
 
|
 
|-
 
|-
| i2c, i2c:pcv
+
| htc, htcs, htc:tenv, file_io, gds, tma_log, tmagent
| [[I2C services]]
+
| [[TMA services]]
 
|  
 
|  
 
|-
 
|-
| irs, irs:sys
+
| jit:u
| IR Sensor services?
+
| [[JIT services]]
 
|  
 
|  
 
|-
 
|-
| lbl
+
| [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:ro, 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]]
 
|
 
|
 
|-
 
|-
| lm
+
| lm, lm:get
| Log services
+
| [[Log services]]
 
|
 
|
 
|-
 
|-
| lr
+
| manu
| ?
+
| [[Manu Services]]
|
+
| "Manufacturing", present in factory firmware but not installed on retail systems.
 
|-
 
|-
| mii:u, mii:e
+
| lr, ncm, ncm:v
| Mii services
+
| [[NCM services]]
 
|
 
|
 
|-
 
|-
| ncm
+
| nfc:am, nfc:mf:u, nfc:user, nfc:sys, nfp:user, nfp:dbg, nfp:sys
| [[Content Manager services]]
+
| [[NFC services]]
 
|  
 
|  
 
|-
 
|-
Line 216: Line 210:
 
|  
 
|  
 
|-
 
|-
| nim, nim:shp
+
| 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]]
 
|
 
|
 
|-
 
|-
| ns:am, ns:su, ns:dev
+
| nvdrv:a, nvdrv:s, nvdrv:t, nvdrv, nvdrvdbg, nvgem:c, nvgem:cd, nvmemp, [10.0.0+] nvdbg:d
| [[NS Services]]
+
| [[NV services]]
| am: Application Manager, su: System Update
+
|
 
|-
 
|-
| nsd:u, nsd:a
+
| pcie, [6.0.0+] pcie:log
| [[NSD services]]
+
| [[PCIe services]]
 
|
 
|
 
|-
 
|-
| ntc
+
| pctl, pctl:a, pctl:s, pctl:r
| ?
+
| [[Parental Control services]]
|  
+
|
 
|-
 
|-
| nvdrv:a, nvdrv:s, nvdrv:t, nvmemp, mm:u
+
| pm:bm, pm:info, pm:shell
| [[NV services]]
+
| [[Process Manager services]]
 
|
 
|
 
|-
 
|-
| omm
+
| 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]]
 
|  
 
|  
 
|-
 
|-
| ovln:rcv, ovln:snd
+
| [3.0.0+] ldr:ro, ro:dmnt, [7.0.0+] ro:1
| Overlay Notification services
+
| [[RO services]]
| rcv: Receiver, snd: Sender
 
|-
 
| pcie
 
| PCIe services
 
|
 
|-
 
| pctl, pctl:a, pctl:s, pctl:r
 
| Parental Control services
 
 
|
 
|
 
|-
 
|-
| pcv, pcv:imm
+
| set, set:fd, set:cal, set:sys
| ?
+
| [[Settings services]]
|  
+
| cal: calibration, sys: System Settings
 
|-
 
|-
| pdm:ntfy, pdm:qry
+
| [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
| Play Log services
+
| [[Shared Database services]]
 
|
 
|
 
|-
 
|-
| pl:u
+
| ssl, [15.0.0+] ssl:s
| Shared Font services
+
| [[SSL services]]
 
|
 
|
 
|-
 
|-
| pm:bm, pm:shell
+
| 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
| [[Process Manager services]]
+
| [[SPL services]]
|
+
|  
 
|-
 
|-
| prepo:u, prepo:s, prepo:m, prepo:a
+
| sf-uds
| [[Play Report services]]
+
| ?
|
+
| System debug applet "recovery" has access to this service, but it doesn't appear to exist.
 
|-
 
|-
| psm
+
| tspm
 
| ?
 
| ?
|  
+
| Applications on [1.0.0] used to have access to this service, but it doesn't appear to be present on retail devices.
 
|-
 
|-
| pwm
+
| 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]]
 
|  
 
|  
 
|-
 
|-
| set, set:fd, set:cal, set:sys
+
| [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
| [[Settings services]]
+
| [[WLAN services]]
| cal: Calendar?, sys: System Settings
+
|
 
|-
 
|-
| sfdnsres
+
| [4.0.0+] grc:c, [6.0.0+] grc:d
| DNS resolver services
+
| [[GRC services]]
|
+
|  
 
|-
 
|-
| spsm
+
| [4.0.0+] mig:usr
| ?
+
| [[Migration services]]
 
|  
 
|  
 
|-
 
|-
| ssl
+
| [4.0.0+] caps:dc
| SSL services
+
| [[Jpegdec services]]
|
+
|  
 
|-
 
|-
| tc
+
| [6.0.0+] olsc:s, [10.0.0+] olsc:u, [13.1.0+] spbg:sp
| ?
+
| [[OLSC services]]
 
|  
 
|  
 
|-
 
|-
| time:u, time:a, time:s
+
| [9.0.0+] ngct:s, [9.0.0+] ngct:u
| Time services
+
| [[NGCT services]]
|
+
|  
 
|-
 
|-
| ts
+
| [10.0.0+] pgl
| ?
+
| [[PGL services]]
 
|  
 
|  
 
|-
 
|-
| uart
+
| [11.0.0+] capmtp
| [[UART services]]
+
| [[Capmtp services]]
 
|  
 
|  
 
|-
 
|-
| vi:m, vi:s, vi:u
+
| [15.0.0+] eth:nd
| [[Display services]]
+
| [[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