Line 18: |
Line 18: |
| | | |
| == Initialize == | | == Initialize == |
− | {| class="wikitable" border="1"
| + | Takes a pid descriptor. |
− | |-
| |
− | ! Word || Value
| |
− | |-
| |
− | | 0 || 0x00000004
| |
− | |-
| |
− | | 1 || 0x8000000A
| |
− | |-
| |
− | | 2 || 0x00000001
| |
− | |- style="border-top: double"
| |
− | | 0-1 || Pid
| |
− | |- style="border-top: double"
| |
− | | 0 || "SFCI"
| |
− | |-
| |
− | | 1 || 0x00000000
| |
− | |-
| |
− | | 2 || Always 0.
| |
− | |}
| |
| | | |
| == GetService == | | == GetService == |
− | {| class="wikitable" border="1"
| + | Takes a zero-padded service name encoded as a u64 integer. |
− | |-
| |
− | ! Word || Value
| |
− | |-
| |
− | | 0 || 0x00000004
| |
− | |-
| |
− | | 1 || 0x0000000A
| |
− | |- style="border-top: double"
| |
− | | 0 || "SFCI"
| |
− | |-
| |
− | | 1 || 0x00000001
| |
− | |-
| |
− | | 2 || Service name, zero padded and casted to u64.
| |
− | |}
| |
| | | |
| == RegisterService == | | == RegisterService == |
− | {| class="wikitable" border="1"
| |
− | |-
| |
− | ! Word || Value
| |
− | |-
| |
− | | 0 || 0x00000004
| |
− | |-
| |
− | | 1 || 0x0000000C
| |
− | |- style="border-top: double"
| |
− | | 0 || "SFCI"
| |
− | |-
| |
− | | 1 || 0x00000002
| |
− | |-
| |
− | | 2 || Service name, zero padded and casted to u64.
| |
− | |-
| |
− | | 3 || Max sessions? 32-bit integer.
| |
− | |-
| |
− | | 4 || Unknown bool
| |
− | |}
| |
| | | |
| == UnregisterService == | | == UnregisterService == |
− | {| class="wikitable" border="1"
| |
− | |-
| |
− | ! Word || Value
| |
− | |-
| |
− | | 0 || 0x00000004
| |
− | |-
| |
− | | 1 || 0x0000000A
| |
− | |- style="border-top: double"
| |
− | | 0 || "SFCI"
| |
− | |-
| |
− | | 1 || 0x00000003
| |
− | |-
| |
− | | 2 || Service name, zero padded and casted to u64.
| |
− | |}
| |
| | | |
| = sm:m = | | = sm:m = |
Line 93: |
Line 31: |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
− | ! Cmd || Name || Arguments || Notes | + | ! Cmd || Name |
| |- | | |- |
− | | 0 || RegisterProcess || u32 PID + 2 A Descriptors (unknown, probably service access lists of some kind) || | + | | 0 || [[#RegisterProcess]] |
| |- | | |- |
− | | 1 || UnregisterProcess || u32 PID || | + | | 1 || [[#UnregisterProcess]] |
| |} | | |} |
| + | |
| + | == RegisterProcess == |
| + | Takes a pid and two A descriptors with the ACID and ACI0 service lists. That data originates from [[NPDM]]. |
| + | |
| + | == UnregisterProcess == |
| + | Takes a pid. |
| | | |
| = Service List = | | = Service List = |