Applet Manager services: Difference between revisions

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 =