Auth Applet
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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).