Services API: Difference between revisions
No edit summary |
|||
Line 10: | Line 10: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || [[# | | 0 || [[#RegisterClient]] | ||
|- | |- | ||
| 1 || [[# | | 1 || [[#GetServiceHandle]] | ||
|- | |- | ||
| 2 || [[#RegisterService]] | | 2 || [[#RegisterService]] | ||
Line 18: | Line 18: | ||
| 3 || [[#UnregisterService]] | | 3 || [[#UnregisterService]] | ||
|- | |- | ||
| 4 || [11.0.0+] | | 4 || [11.0.0+] [[#DetachClient]] | ||
|} | |} | ||
== | == RegisterClient == | ||
Takes a | Takes a PID-descriptor and a reserved input u64. | ||
== | == GetServiceHandle == | ||
Takes a zero-padded service name encoded as an u64 integer. Returns a handle. | Takes a zero-padded service name encoded as an u64 integer. Returns a handle. | ||
== RegisterService == | == RegisterService == | ||
Takes a zero-padded service name encoded as an u64 integer, an u8 bool | Takes a zero-padded service name encoded as an u64 integer, an u8 bool '''IsLight''', and a s32 '''MaxSessions''' at the next word. Returns a handle. | ||
== UnregisterService == | == UnregisterService == | ||
Takes a zero-padded service name encoded as an u64 integer. | Takes a zero-padded service name encoded as an u64 integer. | ||
== DetachClient == | |||
Takes a PID-descriptor and a reserved input u64. | |||
= sm:m = | = sm:m = | ||
Line 46: | Line 49: | ||
== RegisterProcess == | == RegisterProcess == | ||
Takes a | Takes a PID and two type-0x5 input buffers with the ACID and ACI0 service lists. That data originates from [[NPDM]]. | ||
== UnregisterProcess == | == UnregisterProcess == | ||
Takes a | Takes a PID. | ||
= Service List = | = Service List = |