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==