Services API: Difference between revisions
No edit summary |
|||
Line 489: | Line 489: | ||
| | | | ||
|- | |- | ||
| news:a | | <nowiki>news:a</nowiki> | ||
| [[BCAT services]] | | [[BCAT services]] | ||
| | | | ||
|- | |- | ||
| news:c | | <nowiki>news:c</nowiki> | ||
| [[BCAT services]] | | [[BCAT services]] | ||
| | | | ||
|- | |- | ||
| news:m | | <nowiki>news:m</nowiki> | ||
| [[BCAT services]] | | [[BCAT services]] | ||
| | | | ||
|- | |- | ||
| news:p | | <nowiki>news:p</nowiki> | ||
| [[BCAT services]] | | [[BCAT services]] | ||
| | | |
Revision as of 06:55, 15 June 2025
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 Name | Hosted by | Notes |
---|---|---|
[1.0.0-12.1.0] acc:u0 | Account services | |
[1.0.0-12.1.0] acc:u1 | Account services | |
acc:aa | Account services | |
acc:su | Account services | |
[5.0.0+] dauth:0 | Account services | |
[13.0.0+] acc:e | Account services | |
[13.0.0+] acc:e:u1 | Account services | |
[13.0.0+] acc:e:u2 | Account services | |
[1.0.0-8.1.0] ahid:cd | HID services | |
[1.0.0-8.1.0] ahid:hdr | HID services | |
hid | HID services | |
hid:dbg | HID services | |
hid:sys | HID services | |
irs | HID services | |
irs:sys | HID services | |
xcd:sys | HID services | |
[3.0.0-7.0.1] hid:tmp | HID services | |
[5.0.0+] hidbus | HID services | |
appletAE | Applet Manager services | |
appletOE | Applet Manager services | |
[1.0.0-13.2.1] idle:sys | Applet Manager services | |
[1.0.0-13.2.1] omm | Applet Manager services | |
[1.0.0-13.2.1] spsm | Applet Manager services | |
[5.0.0-10.2.0] tcap | Applet Manager services | |
[6.0.0+] caps:su | Applet Manager services | |
[8.0.0+] apm | Applet Manager services | |
[1.0.0-2.3.0] aoc:u | NS Services | |
mii:u | NS Services | |
mii:e | NS Services | |
ns:am | NS Services | |
ns:su | NS Services | |
ns:dev | NS Services | |
pl:u | NS Services | |
ovln:rcv | NS Services | |
ovln:snd | NS Services | |
pdm:ntfy | NS Services | |
pdm:qry | NS Services | |
[3.0.0+] aoc:u | NS Services | |
ns:am2 | NS Services | |
ns:dev | NS Services | |
ns:ec | NS Services | |
ns:rid | NS Services | |
ns:rt | NS Services | |
ns:su | NS Services | |
ns:vm | NS Services | |
ns:web | NS Services | |
[1.0.0-7.0.1] ovln:rcv | NS Services | |
[1.0.0-7.0.1] ovln:snd | NS Services | |
[11.0.0+] ns:ro | NS Services | |
[13.0.0+] acc:su | NS Services | |
[13.0.0+] acc:u0 | NS Services | |
[13.0.0+] acc:u1 | NS Services | |
[15.0.0+] ns:sweb | NS Services | |
[1.0.0-8.1.0] apm:dbg | PPC services | |
[1.0.0-8.1.0] apm:sys | PPC services | |
[1.0.0] fgm:1 | PPC services | |
fgm:2 | PPC services | |
fgm:3 | PPC services | |
fgm:4 | PPC services | |
fgm:5 | PPC services | |
fgm:6 | PPC services | |
fgm:7 | PPC services | |
[1.0.0-8.1.0] fgm | PPC services | |
[1.0.0-8.1.0] fgm:0 | PPC services | |
[1.0.0-8.1.0] fgm:9 | PPC services | |
[1.0.0-8.1.0] fgm:dbg | PPC services | |
[1.0.0-7.0.1] apm | PPC services | |
[1.0.0-7.0.1] apm:p | PPC services | |
[8.0.0-8.1.0] apm:am | PPC services | |
arp:r | Glue services | |
arp:w | Glue services | |
[2.0.0+] bgtc:t | Glue services | |
[2.0.0+] bgtc:sc | Glue services | |
[9.0.0+] time:a | Glue services | |
[9.0.0+] time:r | Glue services | |
[9.0.0+] time:u | Glue services | |
[9.0.0+] notif:a | Glue services | |
[9.0.0+] notif:s | Glue services | |
[11.0.0+] ectx:aw | Glue services | |
[11.0.0+] ectx:r | Glue services | |
[11.0.0+] ectx:w | Glue services | |
[16.0.0+] pl:u | Glue services | |
[1.0.0-10.2.0] audin:a | Audio services | |
[1.0.0-10.2.0] audin:d | Audio services | |
audin:u | Audio services | |
[1.0.0-10.2.0] audout:a | Audio services | |
[1.0.0-10.2.0] audout:d | Audio services | |
audout:u | Audio services | |
[1.0.0-10.2.0] audren:a | Audio services | |
[1.0.0-10.2.0] audren:d | Audio services | |
audren:u | Audio services | |
audrec:a | Audio services | |
audrec:d | Audio services | |
audrec:u | Audio services | |
audctl | Audio services | |
[1.0.0-2.3.0] codecctl | Audio services | |
hwopus | Audio services | |
auddebug | Audio services | |
[6.0.0+] auddev | Audio services | |
[11.0.0+] aud:a | Audio services | |
[11.0.0+] aud:d | Audio services | |
banana | Profiler services | Not currently available on retail units. |
[2.0.0+] bcat:a | BCAT services | |
[2.0.0+] bcat:u | BCAT services | |
[2.0.0+] bcat:m | BCAT services | |
[2.0.0+] bcat:s | BCAT services | |
news:a | BCAT services | |
news:c | BCAT services | |
news:m | BCAT services | |
news:p | BCAT services | |
news:v | BCAT services | |
prepo:u | BCAT services | |
prepo:s | BCAT services | |
prepo:m | BCAT services | |
[1.0.0-5.1.0] prepo:a | BCAT services | |
[1.0.0] prepo:d | BCAT services | |
[6.0.0+] prepo:a2 | BCAT services | |
[13.0.0+] mnpp:app | BCAT services | |
[13.0.0+] mnpp:sys | BCAT services | |
[13.0.0+] mnpp:web | BCAT services | |
[1.0.0] bpc:c | PCV services | |
bpc:b | PCV services | |
bpc:r | PCV services | |
bpc:w | PCV services | |
pcv | PCV services | |
pcv:arb | PCV services | |
pcv:imm | PCV services | |
time:u | PCV services | |
time:a | PCV services | |
time:s | PCV services | |
[2.0.0+] bpc | PCV services | |
bpc:r | PCV services | |
pcv | PCV services | |
[2.0.0-8.1.0] time:u | PCV services | |
[2.0.0-8.1.0] time:a | PCV services | |
[2.0.0-8.1.0] time:s | PCV services | |
[1.0.0-7.0.1] pcv:arb | PCV services | |
[1.0.0-7.0.1] pcv:imm | PCV services | |
[8.0.0+] clkrst | PCV services | |
[8.0.0+] clkrst:a | PCV services | |
[8.0.0+] clkrst:i | PCV services | |
[8.0.0+] rgltr | PCV services | |
[8.0.0+] rtc | PCV services | |
bsd:u | Sockets services | |
bsd:s | Sockets services | |
[15.0.0+] bsd:nu | Sockets services | |
bsdcfg | Sockets services | |
[17.0.0+] ifcfg | Sockets services | |
[18.0.0+] bsd:a | Sockets services | |
[1.0.0-14.1.2] ethc:c | Sockets services | |
[1.0.0-14.1.2] ethc:i | Sockets services | |
nsd:u | Sockets services | |
nsd:a | Sockets services | |
sfdnsres | Sockets services | |
[18.0.0+] dns:priv | Sockets services | |
btdrv | Bluetooth Driver services | |
[5.0.0+] bt | Bluetooth Driver services | |
btm | BTM services | |
btm:dbg | BTM services | |
btm:sys | BTM services | |
[5.0.0+] btm:u | BTM services | |
caps:a | Capture services | |
caps:c | Capture services | |
[1.0.0] mm:u | Capture services | |
[5.0.0+] caps:u | Capture services | |
[2.0.0+] caps:sc | Display services | |
[2.0.0+] caps:ss | Display services | |
vi:m | Display services | |
vi:s | Display services | |
vi:u | Display services | |
cec-mgr | Display services | |
[2.0.0+] mm:u | Display services | |
[3.0.0-5.1.0] caps:su | Display services | |
[11.0.0+] lbl | Display services | |
dispdrv | Nvnflinger services | |
dmnt:- | Debug Monitor services Not currently available on retail units. | |
erpt:c | Error Report services | |
erpt:r | Error Report services | |
[13.0.0+] sprof:bg | Error Report services | |
[13.0.0+] sprof:sp | Error Report services | |
eupld:c | Error Upload services | |
eupld:r | Error Upload services | |
es | ETicket services | |
[13.0.0+] ndrm:la | ETicket services | |
[13.0.0+] ndrm:lu | ETicket services | |
fan | PTM services | |
psm | PTM services | |
tc | PTM services | |
ts | PTM services | |
pcm (pcm is not available on retail units.) | PTM services | |
[9.0.0+] apm:sys | PTM services | |
[9.0.0+] fgm | PTM services | |
[9.0.0+] fgm:0 | PTM services | |
[9.0.0+] fgm:9 | PTM services | |
[9.0.0+] fgm:dbg | PTM services | |
[9.0.0+] apm:am | PTM services | |
[10.0.0-10.2.0] lbl | PTM services | |
fatal:u | Fatal services | |
fatal:p | Fatal services | |
friend:u | Friend services | |
friend:v | Friend services | |
friend:m | Friend services | |
friend:s | Friend services | |
friend:a | Friend services | |
[5.0.0-6.0.0] nd:app | Friend services | |
[5.0.0-6.0.0] nd:sys | Friend services | |
fsp-srv | Filesystem services | |
fsp-ldr | Filesystem services | |
fsp-pr | Filesystem services | |
gpio | Bus services | |
i2c | Bus services | |
i2c:pcv | Bus services | |
pinmux | Bus services | |
pwm | Bus services | |
uart | Bus services | |
[3.0.0+] sasbus | Bus services | |
[8.1.1+] led | Bus services | |
htc | TMA services | |
htcs | TMA services | |
htc:tenv | TMA services | |
file_io | TMA services | |
gds | TMA services | |
tma_log | TMA services | |
tmagent | TMA services | |
jit:u | JIT services | |
[1.0.0-9.2.0] lbl | Backlight services | |
ldn:m | LDN services | |
ldn:s | LDN services | |
ldn:u | LDN services | |
[5.0.0-6.0.0] ndd | LDN services | |
[9.0.0+] lp2p:app | LDN services | |
[9.0.0+] lp2p:sys | LDN services | |
[9.1.0+] lp2p:m | LDN services | |
[1.0.0+] ldr:pm | Loader services | |
ldr:ro | Loader services | |
ldr:shel | Loader services | |
ldr:dmnt | Loader services | |
[3.0.0+] ldr:pm | Loader services | |
ldr:shel | Loader services | |
ldr:dmnt | Loader services | |
lm | Log services | |
lm:get | Log services | |
manu | Manu Services | "Manufacturing". Present in factory firmware but not installed on retail systems. |
lr | NCM services | |
ncm | NCM services | |
ncm:v | NCM services | |
nfc:am | NFC services | |
nfc:mf:u | NFC services | |
nfc:user | NFC services | |
nfc:sys | NFC services | |
nfp:user | NFC services | |
nfp:dbg | NFC services | |
nfp:sys | NFC services | |
nifm:u | Network Interface services | |
nifm:a | Network Interface services | |
nifm:s | Network Interface services | |
nim | NIM services | |
nim:shp | NIM services | |
ntc | NIM services | |
[5.0.0+] nim:eca | NIM services | |
[7.0.0+] nim:ecas | NIM services | |
npns:u | NPNS services | |
npns:s | NPNS services | |
nvdrv:a | NV services | |
nvdrv:s | NV services | |
nvdrv:t | NV services | |
nvdrv | NV services | |
nvdrvdbg | NV services | |
nvgem:c | NV services | |
nvgem:cd | NV services | |
nvmemp | NV services | |
[10.0.0+] nvdbg:d | NV services | |
pcie | PCIe services | |
[6.0.0+] pcie:log | PCIe services | |
pctl | Parental Control services | |
pctl:a | Parental Control services | |
pctl:s | Parental Control services | |
pctl:r | Parental Control services | |
pm:bm | Process Manager services | |
pm:info | Process Manager services | |
pm:shell | Process Manager services | |
psc:c | PSC services | |
psc:m | PSC services | |
[5.0.0+] srepo:u | PSC services | |
[5.0.0+] srepo:a | PSC services | |
[8.0.0+] ovln:rcv | PSC services | |
[8.0.0+] ovln:snd | PSC services | |
[9.0.0+] psc:l | PSC services | |
[9.0.0+] time:su | PSC services | |
[9.0.0+] time:s | PSC services | |
[9.0.0+] time:al | PSC services | |
[9.0.0+] time:m | PSC services | |
[9.0.0+] time:p | PSC services | |
[9.0.0+] ins:r | PSC services | |
[9.0.0+] ins:s | PSC services | |
[11.0.0+] hshl:set | PSC services | |
[11.0.0+] hshl:sys | PSC services | |
[3.0.0+] ldr:ro | RO services | |
ro:dmnt | RO services | |
[7.0.0+] ro:1 | RO services | |
set | Settings services | |
set:fd | Settings services | |
set:cal | Settings services | |
set:sys | Settings services | |
[3.0.0+] mii:u | Shared Database services | |
[3.0.0+] mii:e | Shared Database services | |
[3.0.0+] pdm:ntfy | Shared Database services | |
[3.0.0+] pdm:qry | Shared Database services | |
[3.0.0-15.0.1] pl:u | Shared Database services | |
[5.0.0+] miiimg | Shared Database services | |
[6.0.0+] avm | Shared Database services | |
[9.0.0+] pl:s | Shared Database services | |
ssl | SSL services | |
[15.0.0+] ssl:s | SSL services | |
csrng | SPL services | |
spl: | SPL services | |
[4.0.0+] spl:mig | SPL services | |
[4.0.0+] spl:fs | SPL services | |
[4.0.0+] spl:ssl | SPL services | |
[4.0.0+] spl:es | SPL services | |
[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 services | |
usb:hs | USB services | |
usb:pd | USB services | |
usb:pd:c | USB services | |
[1.0.0] usb:pd:m | USB services | |
usb:pm | USB services | |
[7.0.0+] usb:hs:a | USB services | |
[7.0.0+] usb:qdb | USB services | |
[8.0.0+] usb:obsv | USB services | |
[1.0.0-14.1.2] wlan:inf | WLAN services | |
[1.0.0-14.1.2] wlan:lcl | WLAN services | |
[1.0.0-14.1.2] wlan:lg | WLAN services | |
[1.0.0-14.1.2] wlan:lga | WLAN services | |
[1.0.0-14.1.2] wlan:sg | WLAN services | |
[1.0.0-14.1.2] wlan:soc | WLAN services | |
[6.0.0-14.1.2] wlan:dtc | WLAN services | |
[15.0.0+] wlan | WLAN services | |
[15.0.0+] wlan:nd | WLAN services | |
[15.0.0+] wlan:p | WLAN services | |
[4.0.0+] grc:c | GRC services | |
[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 | OLSC services | |
[10.0.0+] olsc:u | OLSC services | |
[13.1.0+] spbg:sp | OLSC services | |
[9.0.0+] ngct:s | NGCT services | |
[9.0.0+] ngct:u | NGCT services | |
[10.0.0+] pgl | PGL services | |
[11.0.0+] capmtp | Capmtp services | |
[14.0.0+] omm | OMM services | |
[14.0.0+] ommdisp | OMM services | |
[14.0.0+] idle:sys | OMM services | |
[14.0.0+] spsm | OMM services | |
[15.0.0+] eth:nd | Ethernet services | |
[16.0.0+] ngc:u | NGC services |