Services API: Difference between revisions

No edit summary
No edit summary
 
Line 56: Line 56:
|-
|-
| 1 || [[#UnregisterProcess]]
| 1 || [[#UnregisterProcess]]
|-
| 2 || [S2] [[#RegisterProcess2|RegisterProcess2]]
|}
|}


== RegisterProcess ==
== RegisterProcess ==
Takes a PID and two type-0x5 input buffers '''AccessRightsLimit''' and '''AccessRights'''. No output.
Takes an input u64 PID and two type-0x5 input buffers '''AccessRightsLimit''' and '''AccessRights'''. No output.


'''AccessRightsLimit''' and '''AccessRights''' contain the [[NPDM#ACID|ACID]] and [[NPDM#ACI0|ACI0]] service lists, respectively.
'''AccessRightsLimit''' and '''AccessRights''' contain the [[NPDM#ACID|ACID]] and [[NPDM#ACI0|ACI0]] service lists, respectively.


== UnregisterProcess ==
== UnregisterProcess ==
Takes a PID. No output.
Takes an input u64 PID. No output.
 
== RegisterProcess2 ==
Takes an input u64 PID, a [[#ServiceSwitchType]], and two type-0x5 input buffers.


= ServiceName =
= ServiceName =
This is "nn::sm::ServiceName". This is an u64 encoded from a zero-padded string.
This is "nn::sm::ServiceName". This is an u64 encoded from a zero-padded string.
= ServiceSwitchType =
This is u8 enum "nn::sm::ServiceSwitchType".
This is Switch 2 exclusive.


= Service List =
= Service List =