Nvnflinger services: Difference between revisions

Lioncache (talk | contribs)
Document the specifics of the type parameter for AdjustRefcount
 
(4 intermediate revisions by 2 users not shown)
Line 15: Line 15:
| 2 || [[#GetNativeHandle]]
| 2 || [[#GetNativeHandle]]
|-
|-
| 3 || [[#TransactParcelAuto]]
| 3 || [3.0.0+] [[#TransactParcelAuto]]
|}
|}


Line 22: Line 22:
Command(s) from here are constantly used while displaying gfx.
Command(s) from here are constantly used while displaying gfx.


TransactParcel is used by 1.0.0 official user-processes, while starting with {unknown version} TransactParcelAuto is used instead.
TransactParcel is used by 1.0.0 official user-processes, while starting with 3.0.0 TransactParcelAuto is used instead.
 
For IHOSBinderDriver, the below '''ID''' is loaded from the layer's [[Display_services#NativeWindow]].


== TransactParcel ==
== TransactParcel ==
Takes a s32 (Binder ID?), an u32 ('''code'''), a type-0x5 input buffer ('''parcel_data'''), a type-0x6 output buffer ('''parcel_reply''') and an input u32 ('''flags'''). Each word is placed immediately after the previous word.
Takes a s32 ('''ID'''), an u32 ('''code'''), a type-0x5 input buffer ('''parcel_data'''), a type-0x6 output buffer ('''parcel_reply''') and an input u32 ('''flags'''). Each word is placed immediately after the previous word.


Analogous to "onTransact" from "android.os.IServiceManager".
Analogous to "onTransact" from "android.os.IServiceManager".


== AdjustRefcount ==
== AdjustRefcount ==
Takes 3 input s32s: {Binder ID?}, '''addval''', and '''type'''.  Each word immediately follows the previous word. No additional output.
 
Takes 3 input s32s: '''ID''', '''addval''', and '''type'''.  Each word immediately follows the previous word. No additional output.
 
'''type''' indicates whether the strong reference count or weak reference count will be affected. 0 indicates the weak reference count, while 1 indicates the strong reference count.


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 50: Line 55:


== GetNativeHandle ==
== GetNativeHandle ==
Takes an input s32 and u32, with the latter immediately following the previous word. Returns an output event handle.
Takes an input s32 ('''ID''') and u32, with the latter immediately following the previous word. Returns an output event handle.


== TransactParcelAuto ==
== TransactParcelAuto ==
Takes a s32 (Binder ID?), an u32 ('''code'''), a type-0x21 input buffer ('''parcel_data'''), a type-0x22 output buffer ('''parcel_reply''') and an input u32 ('''flags'''). Each word is placed immediately after the previous word.
Takes a s32 ('''ID'''), an u32 ('''code'''), a type-0x21 input buffer ('''parcel_data'''), a type-0x22 output buffer ('''parcel_reply''') and an input u32 ('''flags'''). Each word is placed immediately after the previous word.
 
[[Category:Services]]