Difference between revisions of "Services"

From 3dbrew
Jump to navigation Jump to search
Line 9: Line 9:
 
| 0x00010002
 
| 0x00010002
 
| Initialize
 
| Initialize
 +
|-
 +
| 0x00020000
 +
| GetProcSemaphore
 
|-
 
|-
 
| 0x00030100
 
| 0x00030100
| RegisterService1? (u32 cmdid, u64 portname, u32 strlen, u32 flags?)
+
| RegisterService (8-byte servicename, u32 strlen, u32 flags?)
 
|-
 
|-
 
| 0x000400C0
 
| 0x000400C0
| RegisterService2? (u32 cmdid, u64 portname, u32 strlen)
+
| UnregisterService (8-byte servicename, u32 strlen)
 
|-
 
|-
 
| 0x00050100
 
| 0x00050100
| GetServiceHandle
+
| GetServiceHandle (same input as RegisterService)
 
|}
 
|}

Revision as of 21:08, 1 April 2014

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.


Command Header Description
0x00010002 Initialize
0x00020000 GetProcSemaphore
0x00030100 RegisterService (8-byte servicename, u32 strlen, u32 flags?)
0x000400C0 UnregisterService (8-byte servicename, u32 strlen)
0x00050100 GetServiceHandle (same input as RegisterService)