Changes

no edit summary
Line 29: Line 29:  
All of these Open*Proxy commands except [[#OpenLibraryAppletProxy]] take the same input as [[#OpenApplicationProxy]], with the same user-process retry-loop as [[#OpenApplicationProxy]]. These Open*Proxy commands (including appletOE) doesn't seem to usable from processes which aren't actual applets (such as sysmodules), at least for applet-types which aren't already in use.
 
All of these Open*Proxy commands except [[#OpenLibraryAppletProxy]] take the same input as [[#OpenApplicationProxy]], with the same user-process retry-loop as [[#OpenApplicationProxy]]. These Open*Proxy commands (including appletOE) doesn't seem to usable from processes which aren't actual applets (such as sysmodules), at least for applet-types which aren't already in use.
   −
OpenLibraryAppletProxyOld eventually calls the same func as [[#OpenLibraryAppletProxy]], except that the AppletAttribute is all-zero.
+
OpenLibraryAppletProxyOld eventually calls the same func as [[#OpenLibraryAppletProxy]], except that the [[#AppletAttribute]] is all-zero.
    
This service is used by all system non-regular-applications.
 
This service is used by all system non-regular-applications.
Line 43: Line 43:  
Returns an [[#ILibraryAppletProxy]].
 
Returns an [[#ILibraryAppletProxy]].
   −
Takes a [[IPC_Marshalling|reserved]] input u64(official user-processes use hard-coded value 0), a PID,a process copy-handle(cur-proc handle alias), and an 0x80-byte type-0x15 input buffer '''AppletAttribute'''.
+
Takes a [[IPC_Marshalling|reserved]] input u64(official user-processes use hard-coded value 0), a PID,a process copy-handle(cur-proc handle alias), and a type-0x15 input buffer containing an [[#AppletAttribute]].
    
Official user-processes use the same retry loop with this as the other Open*Proxy commands.
 
Official user-processes use the same retry loop with this as the other Open*Proxy commands.
Line 2,549: Line 2,549:  
= AppletResourceUserId =
 
= AppletResourceUserId =
 
This u64 is officially called "nn::applet::AppletResourceUserId". Used by a number of non-AM services.
 
This u64 is officially called "nn::applet::AppletResourceUserId". Used by a number of non-AM services.
 +
 +
= AppletAttribute =
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset || Size || Description
 +
|-
 +
| 0x0 || 0x1 || Flag. When non-zero, two state fields are set to 1.
 +
|-
 +
| 0x1 || 0x7F || Unused
 +
|}
 +
 +
This is "nn::am::AppletAttribute". This struct is 0x8-bytes.
 +
 +
This is used by [[#OpenLibraryAppletProxy]].
    
= LibraryAppletInfo =
 
= LibraryAppletInfo =