Changes

1,304 bytes added ,  03:29, 31 March 2019
Created page with "This is the Parental Controls authentication applet. See AM_services#Library_Applets. == Library Applet Versions == {| class="wikitable" border="1" |- ! System Version ||..."
This is the Parental Controls authentication applet.
See [[AM_services#Library_Applets]].

== Library Applet Versions ==
{| class="wikitable" border="1"
|-
! System Version || Value
|-
| [1.0.0+] || 0x1
|-
| [4.0.0+] || 0x2
|}

== Arg ==
{| class="wikitable" border="1"
|-
! Offset || Size || Description
|-
| 0x0 || 0x4 || Always set to 0 by the user-process.
|-
| 0x4 || 0x4 || Type
|-
| 0x8 || 0x3 || u8 arg0, arg1, arg2
|-
| 0xB || 0x1 || Padding
|}

The arg storage is 0xC-bytes.

Types:
* 0x0 <code>ShowParentalAuthentication</code>: With the <code>(bool)</code> func, arg0 is set to the input bool, with the rest set to zero.
** With the other func available with [4.0.0+], 3 u8s from the input struct are copied to the u8 arg fields. The <code>ShowAuthenticatorForConfiguration</code> wrapper func for this passes the following arg* values: 1, 0, 1.
* 0x1 <code>RegisterParentalPasscode</code>: arg* fields are all-zero.
* 0x2 <code>ChangeParentalPasscode</code>: arg* fields are all-zero.

== Usage ==
User-processes should push a common arguments struct as well as the [[#Arg]] struct. Once the applet finishes running successfully, it will return an output 4-byte storage containing the Result (an error is thrown if no storage is available / storage size is 0).

[[Category:Library Applets]]