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.
sm:
Initialize
Word |
Value
|
0 |
0x00000004
|
1 |
0x8000000A
|
2 |
0x00000001
|
0-1 |
Pid
|
0 |
"SFCI"
|
1 |
0x00000000
|
2 |
Always 0.
|
GetService
Word |
Value
|
0 |
0x00000004
|
1 |
0x0000000A
|
0 |
"SFCI"
|
1 |
0x00000001
|
2 |
Service name, zero padded and casted to u64.
|
RegisterService
Word |
Value
|
0 |
0x00000004
|
1 |
0x0000000C
|
0 |
"SFCI"
|
1 |
0x00000002
|
2 |
Service name, zero padded and casted to u64.
|
3 |
Max sessions? 32-bit integer.
|
4 |
Unknown bool
|
UnregisterService
Word |
Value
|
0 |
0x00000004
|
1 |
0x0000000A
|
0 |
"SFCI"
|
1 |
0x00000003
|
2 |
Service name, zero padded and casted to u64.
|
Service List
Service names
|
Description
|
Notes
|
acc:u1, acc:aa, acc:su
|
Account services
|
u1: User, su: Admin
|
aoc:u
|
AddOn Content services
|
|
appletAE, appletOE
|
Applet services
|
|
apm, apm:p, apm:sys
|
?
|
|
arp:r, arp:w
|
Activity Report services?
|
r: Reader, w: Writer
|
audin:a, audin:d, audin:u, audout:a, audout:d, audout:u, audren:a, audren:d, audren:u
|
Audio services
|
|
bgtc:t, bgtc:sc
|
Task services
|
|
bpc, bpc:r
|
BPC services
|
|
bsd:u, bsd:s
|
Sockets services
|
|
btm, btm:dbg, btm:sys
|
Bluetooth services?
|
|
caps:a, caps:c, caps:sc, caps:ss
|
Capture services
|
a: Album, ss: Screenshot
|
erpt:c, erpt:r
|
Error Report services
|
|
es
|
ETicket services?
|
|
fan
|
?
|
|
fatal:u, fatal:p
|
Fatal Error services
|
u: User, p: Privileged?
|
fgm
|
?
|
|
friend:u, friend:v, friend:m, friend:s, friend:a
|
Friend services
|
|
fsp-srv, fsp-ldr, fsp-pr
|
Filesystem services
|
srv: Main, ldr: Loader, pr: Program Registry
|
gpio
|
GPIO services
|
|
hid, hid:dbg, hid:sys
|
HID services
|
|
i2c, i2c:pcv
|
I2C services
|
|
irs, irs:sys
|
IR Sensor services?
|
|
lbl
|
?
|
|
ldn:m, ldn:s, ldn:u
|
Local Network Monitor services
|
|
ldr:pm, ldr:ro, ldr:shel
|
Loader services
|
|
lm
|
Log services
|
|
lr
|
?
|
|
mii:u, mii:e
|
Mii services
|
|
ncm
|
Content Manager services
|
|
nifm:u, nifm:a, nifm:s
|
Network Interface services
|
|
nim, nim:shp
|
NIM services
|
shp: eShop
|
npns:u, npns:s
|
?
|
|
ns:am, ns:su, ns:dev
|
NS Services
|
am: Application Manager, su: System Update
|
nsd:u, nsd:a
|
NSD services
|
|
ntc
|
?
|
|
nvdrv:a, nvdrv:s, nvdrv:t, nvmemp, mm:u
|
NV services
|
|
omm
|
?
|
|
ovln:rcv, ovln:snd
|
Overlay Notification services
|
rcv: Receiver, snd: Sender
|
pcie
|
PCIe services
|
|
pctl, pctl:a, pctl:s, pctl:r
|
Parental Control services
|
|
pcv, pcv:imm
|
?
|
|
pdm:ntfy, pdm:qry
|
Play Log services
|
|
pl:u
|
Shared Font services
|
|
pm:bm, pm:shell
|
Process Manager services
|
|
prepo:u, prepo:s, prepo:m, prepo:a
|
Play Report services
|
|
psm
|
?
|
|
pwm
|
?
|
|
set, set:fd, set:cal, set:sys
|
Settings services
|
cal: Calendar?, sys: System Settings
|
sfdnsres
|
DNS resolver services
|
|
spsm
|
?
|
|
ssl
|
SSL services
|
|
tc
|
?
|
|
time:u, time:a, time:s
|
Time services
|
|
ts
|
?
|
|
uart
|
UART services
|
|
vi:m, vi:s, vi:u
|
Display services
|
|