Line 1: |
Line 1: |
− | 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". | + | 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 {{Service|nim:u}}. |
| | | |
− | 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. | + | Handles for services are retrieved from the [[Services|service manager port]], <code>srv:</code>. 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]]. |
Line 15: |
Line 15: |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[Filesystem services]] | | | [[Filesystem services]] |
− | | [[fs:USER]], [[fs:LDR]], [[fs:REG]] | + | | {{Service|fs:USER}}, {{Service|fs:LDR}}, {{Service|fs:REG}} |
| | USER: normal applications and system modules, LDR: loader, REG: register | | | USER: normal applications and system modules, LDR: loader, REG: register |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[Process Services]] | | | [[Process Services]] |
− | | [[ps:ps]] | + | | {{Service|ps:ps}} |
| | | | | |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[PXI Services]] | | | [[PXI Services]] |
− | | [[PxiFS0]], [[PxiFS1]], [[PxiFSB]], [[PxiFSR]], [[PxiPM]], [[pxi:am9]], [[pxi:dev]], [[pxi:mc]], [[pxi:ps9]] | + | | {{Service|PxiFS0}}, {{Service|PxiFS1}}, {{Service|PxiFSB}}, {{Service|PxiFSR}}, {{Service|PxiPM}}, {{Service|pxi:am9}}, {{Service|pxi:dev}}, {{Service|pxi:mc}}, {{Service|pxi:ps9}} |
| | | | | |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[Application Manager Services]] | | | [[Application Manager Services]] |
− | | [[am:app]], [[am:net]], [[am:u]], [[am:sys]], [[am:pipe]] | + | | {{Service|am:app}}, {{Service|am:net}}, {{Service|am:u}}, {{Service|am:sys}}, {{Service|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]]) | | | 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]] | + | | {{Service|pm:app}}, {{Service|pm:dbg}} |
| | app: launching titles, dbg: launching titles with debugging enabled | | | 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]] | + | | {{Service|nim:aoc}}, {{Service|nim:ndm}}, {{Service|nim:s}}, {{Service|nim:u}} |
| | aoc: DLC, ndm: for [[NDM Services|ndm]], s: for eShop, u: for updater | | | 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]] | + | | {{Service|cfg:u}}, {{Service|cfg:s}}, {{Service|cfg:i}}, {{Service|cfg:nor}} |
| | u: for user, s: for system, i: for initialization/formatting, nor: accesses wifi SPI flash | | | 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]] | + | | {{Service|ns:s}}, {{Service|ns:p}}, {{Service|ns:c}}, {{Service|APT:A}}, {{Service|APT:S}}, {{Service|APT:U}} |
| | ns:s: for system, ns:p: power (shutdown/reboot), ns:c: ?, APT:A: application, APT:S: system, APT:U: user | | | 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 |
| | [[RO Services]] | | | [[RO Services]] |
− | | [[ldr:ro]] | + | | {{Service|ldr:ro}} |
| | | | | |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[NDM Services]] | | | [[NDM Services]] |
− | | [[ndm:u]] | + | | {{Service|ndm:u}} |
| | | | | |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[CSND Services]] | | | [[CSND Services]] |
− | | [[csnd:SND]] | + | | {{Service|csnd:SND}} |
| | | | | |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[Camera Services]] | | | [[Camera Services]] |
− | | [[cam:u]], [[y2r:u]], [[cam:s]], [[cam:c]], [[cam:q]] (New3DS only) | + | | {{Service|cam:u}}, {{Service|y2r:u}}, {{Service|cam:s}}, {{Service|cam:c}}, {{Service|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]] | + | | {{Service|cdc:HID}}, {{Service|cdc:MIC}}, {{Service|cdc:CSN}}, {{Service|cdc:DSP}}, {{Service|cdc:LGY}}, {{Service|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: ? | | | 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]] | + | | {{Service|dlp:CLNT}}, {{Service|dlp:FKCL}}, {{Service|dlp:SRVR}} |
| | CLNT: client, FKCL: fake client, SRVR: server | | | CLNT: client, FKCL: fake client, SRVR: server |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[DSP Services]] | | | [[DSP Services]] |
− | | [[dsp::DSP]] | + | | {{Service|dsp::DSP}} |
| | | | | |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[GSP Services]] | | | [[GSP Services]] |
− | | [[gsp::Lcd]], [[gsp::Gpu]] | + | | {{Service|gsp::Lcd}}, {{Service|gsp::Gpu}} |
| | Lcd: LCD control, Gpu: GPU control | | | Lcd: LCD control, Gpu: GPU control |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[BOSS Services]] | | | [[BOSS Services]] |
− | | [[boss:U]], [[boss:P]], [[boss:M]] | + | | {{Service|boss:U}}, {{Service|boss:P}}, {{Service|boss:M}} |
| | U: user, P: privileged, M: for [[NDM Services|ndm]] | | | 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:ndm]] | + | | {{Service|cecd:u}}, {{Service|cecd:s}}, {{Service|cecd:ndm}} |
| | u: user, s: system, ndm: for [[NDM Services|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]] | + | | {{Service|ir:u}}, {{Service|ir:USER}}, {{Service|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::NFC]], [[i2c::QTM]] | + | | {{Service|i2c::MCU}}, {{Service|i2c::CAM}}, {{Service|i2c::LCD}}, {{Service|i2c::DEB}}, {{Service|i2c::HID}}, {{Service|i2c::IR}}, {{Service|i2c::EEP}}, {{Service|i2c::NFC}}, {{Service|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:NFC]], [[gpio:QTM]] | + | | {{Service|gpio:CDC}}, {{Service|gpio:MCU}}, {{Service|gpio:HID}}, {{Service|gpio:NWM}}, {{Service|gpio:IR}}, {{Service|gpio:NFC}}, {{Service|gpio:QTM}} |
| | | | | |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[HID Services]] | | | [[HID Services]] |
− | | [[hid:NFC]], [[hid:QTM]], [[hid:SPVR]], [[hid:USER ]] | + | | {{Service|hid:NFC}}, {{Service|hid:QTM}}, {{Service|hid:SPVR}}, {{Service|hid:USER}} |
| | NFC: near-field communication (amiibo), QTM: head tracking device (related to [[QTM_Services|QTM Services]])?, SPVR: system privileged? | | | 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]] | + | | {{Service|ptm:gets}}, {{Service|ptm:play}}, {{Service|ptm:s}}, {{Service|ptm:sets}}, {{Service|ptm:sysm}}, {{Service|ptm:u}} |
| | gets: get system time, play: play history, s: system, sets: set system time, sysm: system menu (homemenu/testmenu), u: user | | | 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::CEC]], [[nwm::EXT]], [[nwm::INF]], [[nwm::SAP]], [[nwm::SOC]], [[nwm::TST]], [[nwm::UDS]] | + | | {{Service|nwm::CEC}}, {{Service|nwm::EXT}}, {{Service|nwm::INF}}, {{Service|nwm::SAP}}, {{Service|nwm::SOC}}, {{Service|nwm::TST}}, {{Service|nwm::UDS}} |
| | CEC: streetpass, EXT: ?, INF: infrastructure, SAP: ?, SOC: socket, UDS: local WLAN, TST: ? | | | 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]] | + | | {{Service|http:C}} |
| | C: connection | | | C: connection |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[SSL Services]] | | | [[SSL Services]] |
− | | [[ssl:C]] | + | | {{Service|ssl:C}} |
| | C: connection | | | C: connection |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[Socket Services]] | | | [[Socket Services]] |
− | | [[soc:P]], [[soc:U]] | + | | {{Service|soc:P}}, {{Service|soc:U}} |
| | P: privileged, U: user | | | P: privileged, U: user |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[AC Services]] | | | [[AC Services]] |
− | | [[ac:i]], [[ac:u]] | + | | {{Service|ac:i}}, {{Service|ac:u}} |
| | i: internal, u: user | | | i: internal, u: user |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[Friend Services]] | | | [[Friend Services]] |
− | | [[frd:a]], [[frd:n]], [[frd:u]] | + | | {{Service|frd:a}}, {{Service|frd:n}}, {{Service|frd:u}} |
| | a: admin, n: for [[NDM Services|ndm]], u: user | | | a: admin, n: for [[NDM Services|ndm]], u: user |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[News Services]] | | | [[News Services]] |
− | | [[:news:s]], [[:news:u]] | + | | {{Service|news:s}}, {{Service|news:u}} |
| | s: system, u:user | | | 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]] | + | | {{Service|pdn:s}}, {{Service|pdn:d}}, {{Service|pdn:i}}, {{Service|pdn:g}}, {{Service|pdn:c}} |
| | | | | |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[SPI Services]] | | | [[SPI Services]] |
− | | [[SPI::NOR]], [[SPI::CD2]], [[SPI::CS2]], [[SPI::CS3]], [[SPI::DEF]] | + | | {{Service|SPI::NOR}}, {{Service|SPI::CD2}}, {{Service|SPI::CS2}}, {{Service|SPI::CS3}}, {{Service|SPI::DEF}} |
| | | | | |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[Loader Services]] | | | [[Loader Services]] |
− | | [[Loader]] | + | | {{Service|Loader}} |
| | | | | |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[MCU Services]] | | | [[MCU Services]] |
− | | [[mcu::CAM]], [[mcu::GPU]], [[mcu::HID]], [[mcu::RTC]], [[mcu::SND]], [[mcu::NWM]], [[mcu::HWC]], [[mcu::PLS]], [[mcu::CDC]] | + | | {{Service|mcu::CAM}}, {{Service|mcu::GPU}}, {{Service|mcu::HID}}, {{Service|mcu::RTC}}, {{Service|mcu::SND}}, {{Service|mcu::NWM}}, {{Service|mcu::HWC}}, {{Service|mcu::PLS}}, {{Service|mcu::CDC}} |
| | | | | |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[MIC Services]] | | | [[MIC Services]] |
− | | [[mic:u]] | + | | {{Service|mic:u}} |
| | | | | |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[ACT Services]] | | | [[ACT Services]] |
− | | [[act:a]], [[act:u]] | + | | {{Service|act:a}}, {{Service|act:u}} |
| | a: admin, u: user | | | a: admin, u: user |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[MP Services]] | | | [[MP Services]] |
− | | [[mp:u]] | + | | {{Service|mp:u}} |
| | | | | |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | [[NFC Services]] | | | [[NFC Services]] |
− | | [[nfc:dev]], [[nfc:m]], [[nfc:p]], [[nfc:r]], [[nfc:s]], [[nfc:u]] | + | | {{Service|nfc:dev}}, {{Service|nfc:m}}, {{Service|nfc:p}}, {{Service|nfc:r}}, {{Service|nfc:s}}, {{Service|nfc:u}} |
| | dev: developer, m: ? p: passthrough?, r: raw?, s: system, u: user | | | dev: developer, m: ? p: passthrough?, r: raw?, s: system, u: user |
| |- | | |- |