Line 1: |
Line 1: |
− | 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". | + | Nintendo provides application developers with an API, which communicate with certain services. Services, in this sense, are [[Title_list#00040130_-_System_Modules|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. | + | Handles for services are retrieved from the [[Services|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]]. | | For a description of how commands and arguments are passed to services, see [[IPC Command Structure]]. |
| | | |
− | List of services: | + | List of services (grouped by the process which provides them): |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 16: |
Line 16: |
| | [[Filesystem services]] | | | [[Filesystem services]] |
| | fs:USER, fs:LDR, fs:REG | | | fs:USER, fs:LDR, fs:REG |
− | | | + | | USER: normal applications and system modules, LDR: loader, REG: register |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[Process Services]] | | | [[Process Services]] |
− | | | + | | ps:ps |
| | | | | |
| |- | | |- |
Line 31: |
Line 31: |
| | [[Application Manager Services]] | | | [[Application Manager Services]] |
| | am:app, am:net, am:u, am:sys, am:pipe | | | am:app, am:net, am:u, am:sys, am:pipe |
− | | | + | | app: am for applications, net: network installation ([[NIM_Services|nim]]), u: local installation, sys: am for system titles, pipe: not an actual port (internally used to represent the [[Application_Manager_Services#File_service|FSFile-like interface]]) |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[Process Manager Services]] | | | [[Process Manager Services]] |
| | pm:app, pm:dbg | | | pm:app, pm:dbg |
− | | | + | | app: launching titles, dbg: launching titles with debugging enabled |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[NIM Services]] | | | [[NIM Services]] |
| | nim:aoc, nim:ndm, nim:s, nim:u | | | nim:aoc, nim:ndm, nim:s, nim:u |
− | | | + | | aoc: DLC, ndm: for [[NDM Services|ndm]], s: for eShop, u: for updater |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[Config Services]] | | | [[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 |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[NS|NS and APT Services]] | | | [[NS|NS and APT Services]] |
| | ns:s, ns:p, ns:c, APT:A, APT:S, APT:U | | | 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 |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
Line 60: |
Line 60: |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[NDM Services]] | | | [[NDM Services]] |
− | | | + | | ndm:u |
| | | | | |
| |- | | |- |
Line 71: |
Line 71: |
| | [[Camera Services]] | | | [[Camera Services]] |
| | cam:u, y2r:u, cam:s, cam:c, cam:q (New3DS only) | | | cam:u, y2r:u, cam:s, cam:c, cam:q (New3DS only) |
− | | | + | | |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[Codec Services]] | | | [[Codec Services]] |
| | cdc:HID, cdc:MIC, cdc:CSN, cdc:DSP, cdc:LGY, cdc:CHK | | | cdc:HID, cdc:MIC, cdc:CSN, cdc:DSP, cdc:LGY, cdc:CHK |
− | | | + | | HID: human interface device, MIC: microphone, CSN: for [[CSND_Services|csnd]]?, DSP: for [[DSP_Services|dsp]]?, LGY: legacy (some kind of backwards compat?), CHK: ? |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[DLP Services]] | | | [[DLP Services]] |
| | dlp:CLNT, dlp:FKCL, dlp:SRVR | | | dlp:CLNT, dlp:FKCL, dlp:SRVR |
− | | | + | | CLNT: client, FKCL: fake client, SRVR: server |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
Line 91: |
Line 91: |
| | [[GSP Services]] | | | [[GSP Services]] |
| | gsp::Lcd, gsp::Gpu | | | gsp::Lcd, gsp::Gpu |
− | | | + | | Lcd: LCD control, Gpu: GPU control |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[BOSS Services]] | | | [[BOSS Services]] |
− | | boss:U | + | | boss:U, boss:P, boss:M |
− | | | + | | U: user, P: privileged, M: for [[NDM Services|ndm]] |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[CECD Services]] | | | [[CECD Services]] |
− | | cecd:u, cecd:s | + | | cecd:u, cecd:s, cecd:ndm |
− | | | + | | u: user, s: system, ndm: for [[NDM Services|ndm]] |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[IR Services]] | | | [[IR Services]] |
− | | | + | | ir:u, ir:USER, ir:rst |
| | | | | |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[I2C Services]] | | | [[I2C Services]] |
− | | i2c::MCU, i2c::CAM, i2c::LCD, i2c::DEB, i2c::HID, i2c::IR, i2c::EEP | + | | i2c::MCU, i2c::CAM, i2c::LCD, i2c::DEB, i2c::HID, i2c::IR, i2c::EEP, i2c::NFC, i2c::QTM |
− | | | + | | |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[GPIO Services]] | | | [[GPIO Services]] |
− | | gpio:CDC, gpio:MCU, gpio:HID, gpio:NWM, gpio:IR | + | | gpio:CDC, gpio:MCU, gpio:HID, gpio:NWM, gpio:IR, gpio:NFC, gpio:QTM |
− | | | + | | |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[HID Services]] | | | [[HID Services]] |
| | hid:NFC, hid:QTM, hid:SPVR, hid:USER | | | hid:NFC, hid:QTM, hid:SPVR, hid:USER |
− | | | + | | NFC: near-field communication (amiibo), QTM: head tracking device (related to [[QTM_Services|QTM Services]])?, SPVR: system privileged? |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[PTM Services]] | | | [[PTM Services]] |
| | ptm:gets, ptm:play, ptm:s, ptm:sets, ptm:sysm, ptm:u | | | 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 |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[NWM Services]] | | | [[NWM Services]] |
− | | nwm::UDS | + | | 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: ? |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[HTTP Services]] | | | [[HTTP Services]] |
| | http:C | | | http:C |
− | | | + | | C: connection |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[SSL Services]] | | | [[SSL Services]] |
| | ssl:C | | | ssl:C |
− | | | + | | C: connection |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[Socket Services]] | | | [[Socket Services]] |
| | soc:P, soc:U | | | soc:P, soc:U |
− | | | + | | P: privileged, U: user |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[AC Services]] | | | [[AC Services]] |
| | ac:i, ac:u | | | ac:i, ac:u |
− | | | + | | i: internal, u: user |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[Friend Services]] | | | [[Friend Services]] |
− | | frd:a, frd:u | + | | frd:a, frd:n, frd:u |
− | | | + | | a: admin, n: for [[NDM Services|ndm]], u: user |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[News Services]] | | | [[News Services]] |
− | | | + | | <nowiki>news:s, news:u</nowiki> |
− | | | + | | s: system, u:user |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[PDN Services]] | | | [[PDN Services]] |
| + | | pdn:s, pdn:d, pdn:i, pdn:g, pdn:c |
| | | | | |
− | |
| |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[SPI Services]] | | | [[SPI Services]] |
− | | | + | | SPI::NOR, SPI::CD2, SPI::CS2, SPI::CS3, SPI::DEF |
| | | | | |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[Loader Services]] | | | [[Loader Services]] |
− | | | + | | Loader |
| | | | | |
| |- | | |- |
Line 191: |
Line 191: |
| | [[ACT Services]] | | | [[ACT Services]] |
| | act:a, act:u | | | act:a, act:u |
− | | | + | | a: admin, u: user |
| + | |- |
| + | | style="background: green" | Yes |
| + | | [[MP Services]] |
| + | | mp:u |
| + | | |
| |- | | |- |
− | | style="background: red" | No | + | | style="background: green" | Yes |
| | [[NFC Services]] | | | [[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 |
| |- | | |- |
| | style="background: red" | No | | | style="background: red" | No |