Services: Difference between revisions
Steveice10 (talk | contribs) m Names according to BPB. |
m Add missing category |
||
(31 intermediate revisions by 8 users not shown) | |||
Line 3: | Line 3: | ||
When a service is registered, [[SVC|svcCreatePort]] is used without a port-name. This means that the port is inaccessible via the port SVCs outside of sm-module. See below for getting a session handle for sending commands to services. | When a service is registered, [[SVC|svcCreatePort]] is used without a port-name. This means that the port is inaccessible via the port SVCs outside of sm-module. See below for getting a session handle for sending commands to services. | ||
Processes with PID less than or equal to the number of NATIVE_FIRM built-in modules (fs, sm, pm, pxi, ldr) have access to all services. This value is obtained from [[SVC|svcGetSystemInfo]]. | Processes with PID less than or equal to the number of NATIVE_FIRM built-in modules (fs, sm, pm, pxi, ldr) have access to all services. This value is obtained from [[SVC|svcGetSystemInfo]]. Other processes are limited to access services listed in their [[NCCH/Extended_Header#ARM11_Local_System_Capabilities|service access control list]], as passed to [[SRVPM:RegisterProcess]]. | ||
Attempting to use [[SRV: | Attempting to use [[SRV:GetServiceHandle|GetServiceHandle]] with a service that the process has access to when that service isn't registered will block until it is registered. | ||
==Service Manager Port "srv:"== | ==Service Manager Port "srv:"== | ||
Line 56: | Line 56: | ||
|} | |} | ||
==Service Manager Process-Manager Port "srv:pm"== | It appears these "port" commands can be used for transferring arbitrary handles, however [[SRV:GetPort|GetPort]] still uses the same service-access-control validation as [[SRV:GetServiceHandle|GetServiceHandle]]. Despite this fact, it appears that a "port" and a service with the same name can coexist independently. | ||
==Service Manager Process-Manager Port/Service "srv:pm"== | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
! Command Header, prior to [[7.0.0-13]] | ! Command Header (port), prior to [[7.0.0-13]] | ||
! Command Header | ! Command Header (service), post [[7.0.0-13]] | ||
! Description | ! Description | ||
|- | |- | ||
Line 86: | Line 88: | ||
|- | |- | ||
! ID | ! ID | ||
! Published by | |||
! Subscribed by | |||
! Description | ! Description | ||
|- | |- | ||
| 0x100 | | 0x100 | ||
| This indicates that | | | ||
| Not Needed | |||
| This indicates that the recipient must terminate. | |||
|- | |||
| 0x101 | |||
| PTM | |||
| NS | |||
| Signaled on sleep mode entry. | |||
|- | |||
| 0x102 | |||
| PTM | |||
| NS | |||
| Sleep Mode related? | |||
|- | |||
| 0x103 | |||
| PTM | |||
| NS, CSND, NWM, AC, NIM | |||
| Fired on sleep mode entry (Kernel state is modified by PTM after publishing this) | |||
|- | |- | ||
| 0x104 | | 0x104 | ||
| This indicates that the system is entering sleep mode. (PTM | | PTM | ||
| HID | |||
| This indicates that the system is entering sleep mode. (Kernel state is modified by PTM before publishing this) | |||
|- | |- | ||
| 0x105 | | 0x105 | ||
| PTM | |||
| NS, DSP, CSND, GSP, CODEC, CAMERA, HID, QTM, MIC, IR, NWM, FRIENDS, AC, CECD, ACT, NDM, NIM | |||
| This indicates that the system has exited sleep mode. | | This indicates that the system has exited sleep mode. | ||
|- | |||
| 0x106 | |||
| PTM | |||
| NS, MIC, AC, NEWS, CECD, BOSS | |||
| Fired after sleep mode exit. | |||
|- | |||
| 0x107 | |||
| PTM | |||
| NWM, CECD, BOSS, NDM, NIM, NEWS | |||
| Unknown. | |||
|- | |- | ||
| 0x108 | | 0x108 | ||
| | | PTM | ||
| GSP, QTM | |||
| System is going to Power Down. | |||
|- | |||
| 0x109 | |||
| CFG | |||
| GSP | |||
| CFG block 0x00050001 has been modified, change LCD brightness/PWM settings | |||
|- | |||
| 0x10B | |||
| CFG | |||
| CAMERA | |||
| ? | |||
|- | |- | ||
| 0x10C | | 0x10C | ||
| | | PM | ||
| | |||
| A Regular application has started. | |||
|- | |- | ||
| 0x110-0x11F | | 0x110-0x11F | ||
| | | PM | ||
| NS | |||
| Sent on application exit. See [[PMApp:LaunchTitle#Launch_Flags|PM launch flags]]. | |||
|- | |- | ||
| 0x179 | | 0x179 | ||
| | | PM | ||
| PTM, NS | |||
| All processes other than PTM and NS have terminated. | |||
|- | |||
| 0x200 | |||
| | |||
| NS | |||
| Signaled just before sleep mode is exited from. | |||
|- | |- | ||
| 0x202 | | 0x202 | ||
| MCU | |||
| NS | |||
| POWER button pressed | | POWER button pressed | ||
|- | |||
| 0x203 | |||
| MCU | |||
| NS | |||
| POWER button held long | |||
|- | |- | ||
| 0x204 | | 0x204 | ||
| | | MCU | ||
| NS | |||
| HOME button pressed | |||
|- | |- | ||
| 0x205 | | 0x205 | ||
| HOME button | | MCU | ||
| NS | |||
| HOME button released | |||
|- | |- | ||
| 0x206 | | 0x206 | ||
| | | MCU / NWM | ||
| NWM | |||
| The physical Wi-Fi slider state changed | |||
|- | |- | ||
| 0x207 | | 0x207 | ||
| | |||
| MENU | |||
| SD card inserted | | SD card inserted | ||
|- | |- | ||
| 0x208 | | 0x208 | ||
| | |||
| MENU | |||
| Game cartridge inserted | | Game cartridge inserted | ||
|- | |- | ||
| 0x209 | | 0x209 | ||
| | |||
| NS, MENU | |||
| SD card removed | | SD card removed | ||
|- | |- | ||
| 0x20A | | 0x20A | ||
| | |||
| NS, MENU | |||
| Game cartridge removed | | Game cartridge removed | ||
|- | |- | ||
| 0x20B | | 0x20B | ||
| | |||
| NS, MENU | |||
| Game cartridge inserted or removed | | Game cartridge inserted or removed | ||
|- | |||
| 0x20C | |||
| MCU | |||
| PTM | |||
| Published on a fatal hardware condition, when the MCU WDT triggers, ptm throws fatal error F960D407 in receipt of this | |||
|- | |||
| 0x20D | |||
| MCU | |||
| GSP | |||
| Charger plugged out. | |||
|- | |||
| 0x20E | |||
| MCU | |||
| GSP | |||
| Charger plugged in. | |||
|- | |||
| 0x20F | |||
| MCU | |||
| | |||
| Published by the mcu module when (bitmask & 0x8000) is true (started charging). This bitmask is obtained by reading i2c register 0x10. | |||
|- | |||
| 0x210 | |||
| MCU | |||
| | |||
| Published by the mcu module when (bitmask & 0x4000) is true (stopped charging). This bitmask is obtained by reading i2c register 0x10. | |||
|- | |||
| 0x211 | |||
| PTM | |||
| | |||
| Battery very low (5%) | |||
|- | |||
| 0x212 | |||
| PTM | |||
| | |||
| Battery low (10%) | |||
|- | |||
| 0x213 | |||
| NS | |||
| CODEC, HID, GSP, CAMERA, MIC, NDM, QTM, PTM | |||
| Shell opened. | |||
|- | |||
| 0x214 | |||
| NS | |||
| CODEC, HID, GSP, CAMERA, MIC, NDM, QTM, PTM. | |||
| Shell closed. | |||
|- | |||
| 0x300 | |||
| AC | |||
| NDM, MENU | |||
| Signaled after sleep mode exit and during system boot. | |||
|- | |||
| 0x301 | |||
| AC | |||
| FRIENDS, NDM | |||
| Signaled just before sleep mode is exited from. | |||
|- | |- | ||
| 0x302 | | 0x302 | ||
| | | NWM | ||
| NDM, SOCKET, FRIENDS, AC | |||
| WiFi is turning off, triggered by using the WiFi switch on O3DS models and the toggle in the N3DS HOME menu (maybe disconnecting from any connected networks?) | |||
|- | |||
| 0x303 | |||
| NWM | |||
| CECD, NDM | |||
| WiFi has turned off. (fires shortly after 0x302) | |||
|- | |||
| 0x304 | |||
| NWM | |||
| CECD, NDM, SOCKET | |||
| WiFi was turned on. | |||
|} | |} | ||
[[Category:Services]] |