LDN services: Difference between revisions
No edit summary |
|||
Line 379: | Line 379: | ||
This is used immediately after object creation. | This is used immediately after object creation. | ||
With [7.0.0+] [[#InitializeWithVersion|InitializeWithVersion]] is used instead. The cmd impl for Initialize uses [[#InitializeWithVersion|InitializeWithVersion]] with | With [7.0.0+] [[#InitializeWithVersion|InitializeWithVersion]] is used instead. The cmd impl for Initialize uses [[#InitializeWithVersion|InitializeWithVersion]] with version=0. | ||
=== Finalize === | === Finalize === | ||
Line 398: | Line 398: | ||
=== InitializeWithVersion === | === InitializeWithVersion === | ||
Takes an input PID, | Takes an input PID, a s32 version, and an u64 pid_placeholder. | ||
Official sw uses hard-coded value 0x1 for the | Official sw uses hard-coded value 0x1 for the version. | ||
The | The version must not be negative. | ||
Internally this calls a func with params: (..., PID, &{u16 value 0x38}). On success, this then calls another func (which sets two state fields to the input) with params: (state, 0) (these state fields are used during [[#Authentication]] to check which service is being used). | Internally this calls a func with params: (..., PID, &{u16 value 0x38}). On success, this then calls another func (which sets two state fields to the input) with params: (state, 0) (these state fields are used during [[#Authentication]] to check which service is being used). | ||
Line 411: | Line 411: | ||
=== InitializeWithPriority === | === InitializeWithPriority === | ||
Takes an input PID, | Takes an input PID, a s32 version, an u32, and an u64 pid_placeholder. | ||
This is similar to [[#InitializeWithVersion|InitializeWithVersion]], with the additional cmd input u32 now being passed directly to the init func which is called here. | This is similar to [[#InitializeWithVersion|InitializeWithVersion]], with the additional cmd input u32 now being passed directly to the init func which is called here. | ||
Line 615: | Line 615: | ||
=== InitializeWithVersion === | === InitializeWithVersion === | ||
Takes an input PID, | Takes an input PID, a s32, and an u64 pid_placeholder. | ||
Official sw uses | Official sw uses the same input value as with [[#InitializeWithVersion|InitializeWithVersion]]. | ||
This is identical to [[#InitializeWithVersion|InitializeWithVersion]] except different params are used for the funcs called internally: the u16 value is 0x5A, and the value for the second func is 1. | This is identical to [[#InitializeWithVersion|InitializeWithVersion]] except different params are used for the funcs called internally: the u16 value is 0x5A, and the value for the second func is 1. |