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 |  |