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.  | ||