Services: Difference between revisions
No edit summary |
|||
Line 28: | Line 28: | ||
| This returns the notificationID which was triggered, if any(see GetProcSemaphore). | | This returns the notificationID which was triggered, if any(see GetProcSemaphore). | ||
|} | |} | ||
==Service Manager Process-Manager Port "srv:pm"== | |||
{| class="wikitable" border="1" | |||
|- | |||
! Command Header, prior to [[7.0.0-13]] | |||
! Description | |||
|- | |||
| 0x04030082 | |||
| (u32 procid, u32 wordsz, <nowiki>((wordsz<<16) | 2)</nowiki>, serviceaccesscontrol*) Register. | |||
|- | |||
| 0x04040040 | |||
| (u32 procid) Unregister. | |||
|} | |||
The Register command registers a process with the service-manager, which includes registering the serviceaccesscontrol for the process which normally originates from the [[NCCH/Extended_Header|exheader]]. | |||
Prior to to [[7.0.0-13]], the commands listed for "srv:" were also accessible under this port with the same command-headers. Starting with [[7.0.0-13]], the commandIDs for these "srv:pm" commands were changed. "srv:pm" was originally vulnerable, this was fixed with [[7.0.0-13]], see [[3DS_exploits|here]]. Originally any process could use "srv:pm", however starting with [[7.0.0-13]] this was restricted to a maximum of 1 session. The only system title which uses "srv:pm" is the [[Process_Manager_Services|Process Manager]]. | |||
==Notifications== | ==Notifications== |