Services API

From 3dbrew
Jump to: navigation, search

Nintendo provides application developers with an API, which communicate with certain services. Services, in this sense, 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 interprocess communication. Each service has a name up to 8 characters, for example "nim:u".

Handles for services are retrieved from the service manager port, "srv:". Services are an abstraction of ports, they operate the same way except regular ports can have their handles retrieved directly from a SVC.

For a description of how commands and arguments are passed to services, see IPC Command Structure.

List of services (grouped by the process which provides them):

Old3ds Services Service names Notes
Yes Filesystem services‎ fs:USER, fs:LDR, fs:REG USER: normal applications and system modules, LDR: loader, REG: register
Yes Process Services‎ ps:ps
Yes PXI Services‎ PxiFS0, PxiFS1, PxiFSB, PxiFSR, PxiPM, pxi:am9, pxi:dev, pxi:mc, pxi:ps9
Yes Application Manager Services am:app, am:net, am:u, am:sys, am:pipe app: am for applications, net: network installation (nim), u: local installation, sys: am for system titles, pipe: not an actual port (internally used to represent the FSFile-like interface)
Yes Process Manager Services pm:app, pm:dbg app: launching titles, dbg: launching titles with debugging enabled
Yes NIM Services nim:aoc, nim:ndm, nim:s, nim:u aoc: DLC, ndm: for ndm, s: for eShop, u: for updater
Yes Config Services cfg:u, cfg:s, cfg:i, cfg:nor u: for user, s: for system, i: for initialization/formatting, nor: accesses wifi SPI flash
Yes NS and APT Services ns:s, ns:p, ns:c, APT:A, APT:S, APT:U ns:s: for system, ns:p: power (shutdown/reboot), ns:c: ?, APT:A: application, APT:S: system, APT:U: user
Yes RO Services ldr:ro
Yes NDM Services ndm:u
Yes CSND Services csnd:SND
Yes Camera Services cam:u, y2r:u, cam:s, cam:c, cam:q (New3DS only)
Yes Codec Services cdc:HID, cdc:MIC, cdc:CSN, cdc:DSP, cdc:LGY, cdc:CHK HID: human interface device, MIC: microphone, CSN: for csnd?, DSP: for dsp?, LGY: legacy (some kind of backwards compat?), CHK: ?
Yes DLP Services dlp:CLNT, dlp:FKCL, dlp:SRVR CLNT: client, FKCL: fake client, SRVR: server
Yes DSP Services dsp::DSP
Yes GSP Services gsp::Lcd, gsp::Gpu Lcd: LCD control, Gpu: GPU control
Yes BOSS Services boss:U, boss:P, boss:M U: user, P: privileged, M: for ndm
Yes CECD Services cecd:u, cecd:s, cecd:ndm u: user, s: system, ndm: for ndm
Yes IR Services ir:u, ir:USER, ir:rst
Yes I2C Services i2c::MCU, i2c::CAM, i2c::LCD, i2c::DEB, i2c::HID, i2c::IR, i2c::EEP, i2c::NFC, i2c::QTM
Yes GPIO Services gpio:CDC, gpio:MCU, gpio:HID, gpio:NWM, gpio:IR, gpio:NFC, gpio:QTM
Yes HID Services hid:NFC, hid:QTM, hid:SPVR, hid:USER NFC: near-field communication (amiibo), QTM: head tracking device (related to QTM Services)?, SPVR: system privileged?
Yes PTM Services ptm:gets, ptm:play, ptm:s, ptm:sets, ptm:sysm, ptm:u gets: get system time, play: play history, s: system, sets: set system time, sysm: system menu (homemenu/testmenu), u: user
Yes NWM Services nwm::CEC, nwm::EXT, nwm::INF, nwm::SAP, nwm::SOC, nwm::TST, nwm::UDS CEC: streetpass, EXT: ?, INF: infrastructure, SAP: ?, SOC: socket, UDS: local WLAN, TST: ?
Yes HTTP Services http:C C: connection
Yes SSL Services ssl:C C: connection
Yes Socket Services soc:P, soc:U P: privileged, U: user
Yes AC Services ac:i, ac:u i: internal, u: user
Yes Friend Services frd:a, frd:n, frd:u a: admin, n: for ndm, u: user
Yes News Services news:s, news:u s: system, u:user
Yes PDN Services pdn:s, pdn:d, pdn:i, pdn:g, pdn:c
Yes SPI Services SPI::NOR, SPI::CD2, SPI::CS2, SPI::CS3, SPI::DEF
Yes Loader Services Loader
Yes MCU Services mcu::CAM, mcu::GPU, mcu::HID, mcu::RTC, mcu::SND, mcu::NWM, mcu::HWC, mcu::PLS, mcu::CDC
Yes MIC Services mic:u
Yes ACT Services act:a, act:u a: admin, u: user
Yes MP Services mp:u
Yes NFC Services nfc:dev, nfc:m, nfc:p, nfc:r, nfc:s, nfc:u dev: developer, m: ? p: passthrough?, r: raw?, s: system, u: user
No MVD Services
No QTM Services

List of PXI services:

List of ports:

See Error codes.