Difference between revisions of "Auth Applet"
Jump to navigation
Jump to search
(Created page with "This is the Parental Controls authentication applet. See AM_services#Library_Applets. == Library Applet Versions == {| class="wikitable" border="1" |- ! System Version ||...") |
(→Arg) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | This is the Parental Controls authentication applet. | + | This is the Parental Controls authentication applet. This applet is used by [[qlaunch]]. |
See [[AM_services#Library_Applets]]. | See [[AM_services#Library_Applets]]. | ||
Line 29: | Line 29: | ||
Types: | Types: | ||
− | * 0x0 <code>ShowParentalAuthentication</code>: With the <code>(bool)</code> func, arg0 is set to the input bool, with the rest set to zero. | + | * 0x0 <code>ShowParentalAuthentication</code>: With the <code>(bool)</code> func, arg0 is set to the input bool, with the rest set to zero. false = temporarily disable Parental Controls. true = validate the input PIN. |
− | ** 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. | + | ** 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. This is for checking the PIN, used when changing system-settings. |
− | * 0x1 <code>RegisterParentalPasscode</code>: arg* fields are all-zero. | + | * 0x1 <code>RegisterParentalPasscode</code>: arg* fields are all-zero. This is for registering the Parental Controls PIN. |
− | * 0x2 <code>ChangeParentalPasscode</code>: arg* fields are all-zero. | + | * 0x2 <code>ChangeParentalPasscode</code>: arg* fields are all-zero. This is for changing the Parental Controls PIN. |
+ | |||
+ | If non-Register is used where a PIN is not already registered, the applet will throw a fatalerr once the user finishes entering the PIN (unknown for <code>ShowAuthenticatorForConfiguration</code>). | ||
== Usage == | == Usage == |
Latest revision as of 00:49, 2 April 2019
This is the Parental Controls authentication applet. This applet is used by qlaunch. See AM_services#Library_Applets.
Library Applet Versions
System Version | Value |
---|---|
[1.0.0+] | 0x1 |
[4.0.0+] | 0x2 |
Arg
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
ShowParentalAuthentication
: With the(bool)
func, arg0 is set to the input bool, with the rest set to zero. false = temporarily disable Parental Controls. true = validate the input PIN.- With the other func available with [4.0.0+], 3 u8s from the input struct are copied to the u8 arg fields. The
ShowAuthenticatorForConfiguration
wrapper func for this passes the following arg* values: 1, 0, 1. This is for checking the PIN, used when changing system-settings.
- With the other func available with [4.0.0+], 3 u8s from the input struct are copied to the u8 arg fields. The
- 0x1
RegisterParentalPasscode
: arg* fields are all-zero. This is for registering the Parental Controls PIN. - 0x2
ChangeParentalPasscode
: arg* fields are all-zero. This is for changing the Parental Controls PIN.
If non-Register is used where a PIN is not already registered, the applet will throw a fatalerr once the user finishes entering the PIN (unknown for ShowAuthenticatorForConfiguration
).
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).