Line 1:
Line 1:
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]](svcConnectToPort).
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]](svcConnectToPort).
−
+
==Service Manager Port "srv:"==
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 11:
Line 11:
|-
|-
| 0x00020000
| 0x00020000
−
| GetProcSemaphore
+
| GetProcSemaphore (the handle from this gets signaled when notifications for this process gets triggered)
|-
|-
| 0x00030100
| 0x00030100
Line 21:
Line 21:
| 0x00050100
| 0x00050100
| GetServiceHandle (same input as RegisterService)
| GetServiceHandle (same input as RegisterService)
+
|-
+
| 0x00090040
+
| This enables the specified notificationID for the current process.
+
|-
+
| 0x000B0000
+
| This returns the notificationID which was triggered, if any(see GetProcSemaphore).
+
|}
+
+
==Notifications==
+
{| class="wikitable" border="1"
+
|-
+
! ID
+
! Description
+
|-
+
| 0x100
+
| This indicates that all processes must terminate: power-off, reboot, or [[FIRM]]-launch.
+
|-
+
| 0x204
+
| This indicates that the HOME button was pressed.
|}
|}