using System;
using System.Collections.Generic;
using Android.Runtime;
using Java.Interop;

namespace Com.Uhf.Api.Cls {

	// Metadata.xml XPath class reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']"
	[global::Android.Runtime.Register ("com/uhf/api/cls/JniModuleAPI", DoNotGenerateAcw=true)]
	public partial class JniModuleAPI : global::Java.Lang.Object {
		static readonly JniPeerMembers _members = new XAPeerMembers ("com/uhf/api/cls/JniModuleAPI", typeof (JniModuleAPI));

		internal static IntPtr class_ref {
			get { return _members.JniPeerType.PeerReference.Handle; }
		}

		[global::System.Diagnostics.DebuggerBrowsable (global::System.Diagnostics.DebuggerBrowsableState.Never)]
		[global::System.ComponentModel.EditorBrowsable (global::System.ComponentModel.EditorBrowsableState.Never)]
		public override global::Java.Interop.JniPeerMembers JniPeerMembers {
			get { return _members; }
		}

		[global::System.Diagnostics.DebuggerBrowsable (global::System.Diagnostics.DebuggerBrowsableState.Never)]
		[global::System.ComponentModel.EditorBrowsable (global::System.ComponentModel.EditorBrowsableState.Never)]
		protected override IntPtr ThresholdClass {
			get { return _members.JniPeerType.PeerReference.Handle; }
		}

		[global::System.Diagnostics.DebuggerBrowsable (global::System.Diagnostics.DebuggerBrowsableState.Never)]
		[global::System.ComponentModel.EditorBrowsable (global::System.ComponentModel.EditorBrowsableState.Never)]
		protected override global::System.Type ThresholdType {
			get { return _members.ManagedPeerType; }
		}

		protected JniModuleAPI (IntPtr javaReference, JniHandleOwnership transfer) : base (javaReference, transfer)
		{
		}

		// Metadata.xml XPath constructor reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/constructor[@name='JniModuleAPI' and count(parameter)=0]"
		[Register (".ctor", "()V", "")]
		public unsafe JniModuleAPI () : base (IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
		{
			const string __id = "()V";

			if (((global::Java.Lang.Object) this).Handle != IntPtr.Zero)
				return;

			try {
				var __r = _members.InstanceMethods.StartCreateInstance (__id, ((object) this).GetType (), null);
				SetHandle (__r.Handle, JniHandleOwnership.TransferLocalRef);
				_members.InstanceMethods.FinishCreateInstance (__id, this, null);
			} finally {
			}
		}

		public static unsafe int SDKVersion {
			// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='GetSDKVersion' and count(parameter)=0]"
			[Register ("GetSDKVersion", "()I", "")]
			get {
				const string __id = "GetSDKVersion.()I";
				try {
					var __rm = _members.StaticMethods.InvokeInt32Method (__id, null);
					return __rm;
				} finally {
				}
			}
		}

		static Delegate cb_AsyncGetNextTag_BaseType_IarrayB;
#pragma warning disable 0169
		static Delegate GetAsyncGetNextTag_BaseType_IarrayBHandler ()
		{
			if (cb_AsyncGetNextTag_BaseType_IarrayB == null)
				cb_AsyncGetNextTag_BaseType_IarrayB = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIL_I) n_AsyncGetNextTag_BaseType_IarrayB);
			return cb_AsyncGetNextTag_BaseType_IarrayB;
		}

		static int n_AsyncGetNextTag_BaseType_IarrayB (IntPtr jnienv, IntPtr native__this, int p0, IntPtr native_p1)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p1 = (byte[]) JNIEnv.GetArray (native_p1, JniHandleOwnership.DoNotTransfer, typeof (byte));
			int __ret = __this.AsyncGetNextTag_BaseType (p0, p1);
			if (p1 != null)
				JNIEnv.CopyArray (p1, native_p1);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='AsyncGetNextTag_BaseType' and count(parameter)=2 and parameter[1][@type='int'] and parameter[2][@type='byte[]']]"
		[Register ("AsyncGetNextTag_BaseType", "(I[B)I", "GetAsyncGetNextTag_BaseType_IarrayBHandler")]
		public virtual unsafe int AsyncGetNextTag_BaseType (int p0, byte[] p1)
		{
			const string __id = "AsyncGetNextTag_BaseType.(I[B)I";
			IntPtr native_p1 = JNIEnv.NewArray (p1);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [2];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (native_p1);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p1 != null) {
					JNIEnv.CopyArray (native_p1, p1);
					JNIEnv.DeleteLocalRef (native_p1);
				}
				global::System.GC.KeepAlive (p1);
			}
		}

		static Delegate cb_AsyncGetTagCount_IarrayI;
#pragma warning disable 0169
		static Delegate GetAsyncGetTagCount_IarrayIHandler ()
		{
			if (cb_AsyncGetTagCount_IarrayI == null)
				cb_AsyncGetTagCount_IarrayI = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIL_I) n_AsyncGetTagCount_IarrayI);
			return cb_AsyncGetTagCount_IarrayI;
		}

		static int n_AsyncGetTagCount_IarrayI (IntPtr jnienv, IntPtr native__this, int p0, IntPtr native_p1)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p1 = (int[]) JNIEnv.GetArray (native_p1, JniHandleOwnership.DoNotTransfer, typeof (int));
			int __ret = __this.AsyncGetTagCount (p0, p1);
			if (p1 != null)
				JNIEnv.CopyArray (p1, native_p1);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='AsyncGetTagCount' and count(parameter)=2 and parameter[1][@type='int'] and parameter[2][@type='int[]']]"
		[Register ("AsyncGetTagCount", "(I[I)I", "GetAsyncGetTagCount_IarrayIHandler")]
		public virtual unsafe int AsyncGetTagCount (int p0, int[] p1)
		{
			const string __id = "AsyncGetTagCount.(I[I)I";
			IntPtr native_p1 = JNIEnv.NewArray (p1);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [2];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (native_p1);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p1 != null) {
					JNIEnv.CopyArray (native_p1, p1);
					JNIEnv.DeleteLocalRef (native_p1);
				}
				global::System.GC.KeepAlive (p1);
			}
		}

		static Delegate cb_AsyncStartReading_IarrayIII;
#pragma warning disable 0169
		static Delegate GetAsyncStartReading_IarrayIIIHandler ()
		{
			if (cb_AsyncStartReading_IarrayIII == null)
				cb_AsyncStartReading_IarrayIII = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPILII_I) n_AsyncStartReading_IarrayIII);
			return cb_AsyncStartReading_IarrayIII;
		}

		static int n_AsyncStartReading_IarrayIII (IntPtr jnienv, IntPtr native__this, int p0, IntPtr native_p1, int p2, int p3)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p1 = (int[]) JNIEnv.GetArray (native_p1, JniHandleOwnership.DoNotTransfer, typeof (int));
			int __ret = __this.AsyncStartReading (p0, p1, p2, p3);
			if (p1 != null)
				JNIEnv.CopyArray (p1, native_p1);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='AsyncStartReading' and count(parameter)=4 and parameter[1][@type='int'] and parameter[2][@type='int[]'] and parameter[3][@type='int'] and parameter[4][@type='int']]"
		[Register ("AsyncStartReading", "(I[III)I", "GetAsyncStartReading_IarrayIIIHandler")]
		public virtual unsafe int AsyncStartReading (int p0, int[] p1, int p2, int p3)
		{
			const string __id = "AsyncStartReading.(I[III)I";
			IntPtr native_p1 = JNIEnv.NewArray (p1);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [4];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (native_p1);
				__args [2] = new JniArgumentValue (p2);
				__args [3] = new JniArgumentValue (p3);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p1 != null) {
					JNIEnv.CopyArray (native_p1, p1);
					JNIEnv.DeleteLocalRef (native_p1);
				}
				global::System.GC.KeepAlive (p1);
			}
		}

		static Delegate cb_AsyncStartReadingEx_IarrayIIIarrayB;
#pragma warning disable 0169
		static Delegate GetAsyncStartReadingEx_IarrayIIIarrayBHandler ()
		{
			if (cb_AsyncStartReadingEx_IarrayIIIarrayB == null)
				cb_AsyncStartReadingEx_IarrayIIIarrayB = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPILIIL_I) n_AsyncStartReadingEx_IarrayIIIarrayB);
			return cb_AsyncStartReadingEx_IarrayIIIarrayB;
		}

		static int n_AsyncStartReadingEx_IarrayIIIarrayB (IntPtr jnienv, IntPtr native__this, int p0, IntPtr native_p1, int p2, int p3, IntPtr native_p4)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p1 = (int[]) JNIEnv.GetArray (native_p1, JniHandleOwnership.DoNotTransfer, typeof (int));
			var p4 = (byte[]) JNIEnv.GetArray (native_p4, JniHandleOwnership.DoNotTransfer, typeof (byte));
			int __ret = __this.AsyncStartReadingEx (p0, p1, p2, p3, p4);
			if (p1 != null)
				JNIEnv.CopyArray (p1, native_p1);
			if (p4 != null)
				JNIEnv.CopyArray (p4, native_p4);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='AsyncStartReadingEx' and count(parameter)=5 and parameter[1][@type='int'] and parameter[2][@type='int[]'] and parameter[3][@type='int'] and parameter[4][@type='int'] and parameter[5][@type='byte[]']]"
		[Register ("AsyncStartReadingEx", "(I[III[B)I", "GetAsyncStartReadingEx_IarrayIIIarrayBHandler")]
		public virtual unsafe int AsyncStartReadingEx (int p0, int[] p1, int p2, int p3, byte[] p4)
		{
			const string __id = "AsyncStartReadingEx.(I[III[B)I";
			IntPtr native_p1 = JNIEnv.NewArray (p1);
			IntPtr native_p4 = JNIEnv.NewArray (p4);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [5];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (native_p1);
				__args [2] = new JniArgumentValue (p2);
				__args [3] = new JniArgumentValue (p3);
				__args [4] = new JniArgumentValue (native_p4);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p1 != null) {
					JNIEnv.CopyArray (native_p1, p1);
					JNIEnv.DeleteLocalRef (native_p1);
				}
				if (p4 != null) {
					JNIEnv.CopyArray (native_p4, p4);
					JNIEnv.DeleteLocalRef (native_p4);
				}
				global::System.GC.KeepAlive (p1);
				global::System.GC.KeepAlive (p4);
			}
		}

		static Delegate cb_AsyncStopReading_I;
#pragma warning disable 0169
		static Delegate GetAsyncStopReading_IHandler ()
		{
			if (cb_AsyncStopReading_I == null)
				cb_AsyncStopReading_I = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPI_I) n_AsyncStopReading_I);
			return cb_AsyncStopReading_I;
		}

		static int n_AsyncStopReading_I (IntPtr jnienv, IntPtr native__this, int p0)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return __this.AsyncStopReading (p0);
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='AsyncStopReading' and count(parameter)=1 and parameter[1][@type='int']]"
		[Register ("AsyncStopReading", "(I)I", "GetAsyncStopReading_IHandler")]
		public virtual unsafe int AsyncStopReading (int p0)
		{
			const string __id = "AsyncStopReading.(I)I";
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [1];
				__args [0] = new JniArgumentValue (p0);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
			}
		}

		static Delegate cb_AsyncStopReadingEx_I;
#pragma warning disable 0169
		static Delegate GetAsyncStopReadingEx_IHandler ()
		{
			if (cb_AsyncStopReadingEx_I == null)
				cb_AsyncStopReadingEx_I = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPI_I) n_AsyncStopReadingEx_I);
			return cb_AsyncStopReadingEx_I;
		}

		static int n_AsyncStopReadingEx_I (IntPtr jnienv, IntPtr native__this, int p0)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return __this.AsyncStopReadingEx (p0);
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='AsyncStopReadingEx' and count(parameter)=1 and parameter[1][@type='int']]"
		[Register ("AsyncStopReadingEx", "(I)I", "GetAsyncStopReadingEx_IHandler")]
		public virtual unsafe int AsyncStopReadingEx (int p0)
		{
			const string __id = "AsyncStopReadingEx.(I)I";
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [1];
				__args [0] = new JniArgumentValue (p0);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
			}
		}

		static Delegate cb_BlockErase_IIIIIarrayBS;
#pragma warning disable 0169
		static Delegate GetBlockErase_IIIIIarrayBSHandler ()
		{
			if (cb_BlockErase_IIIIIarrayBS == null)
				cb_BlockErase_IIIIIarrayBS = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIIIIILS_I) n_BlockErase_IIIIIarrayBS);
			return cb_BlockErase_IIIIIarrayBS;
		}

		static int n_BlockErase_IIIIIarrayBS (IntPtr jnienv, IntPtr native__this, int p0, int p1, int p2, int p3, int p4, IntPtr native_p5, short p6)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p5 = (byte[]) JNIEnv.GetArray (native_p5, JniHandleOwnership.DoNotTransfer, typeof (byte));
			int __ret = __this.BlockErase (p0, p1, p2, p3, p4, p5, p6);
			if (p5 != null)
				JNIEnv.CopyArray (p5, native_p5);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='BlockErase' and count(parameter)=7 and parameter[1][@type='int'] and parameter[2][@type='int'] and parameter[3][@type='int'] and parameter[4][@type='int'] and parameter[5][@type='int'] and parameter[6][@type='byte[]'] and parameter[7][@type='short']]"
		[Register ("BlockErase", "(IIIII[BS)I", "GetBlockErase_IIIIIarrayBSHandler")]
		public virtual unsafe int BlockErase (int p0, int p1, int p2, int p3, int p4, byte[] p5, short p6)
		{
			const string __id = "BlockErase.(IIIII[BS)I";
			IntPtr native_p5 = JNIEnv.NewArray (p5);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [7];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (p1);
				__args [2] = new JniArgumentValue (p2);
				__args [3] = new JniArgumentValue (p3);
				__args [4] = new JniArgumentValue (p4);
				__args [5] = new JniArgumentValue (native_p5);
				__args [6] = new JniArgumentValue (p6);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p5 != null) {
					JNIEnv.CopyArray (native_p5, p5);
					JNIEnv.DeleteLocalRef (native_p5);
				}
				global::System.GC.KeepAlive (p5);
			}
		}

		static Delegate cb_BlockPermaLock_IIIIIarrayBarrayBS;
#pragma warning disable 0169
		static Delegate GetBlockPermaLock_IIIIIarrayBarrayBSHandler ()
		{
			if (cb_BlockPermaLock_IIIIIarrayBarrayBS == null)
				cb_BlockPermaLock_IIIIIarrayBarrayBS = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIIIIILLS_I) n_BlockPermaLock_IIIIIarrayBarrayBS);
			return cb_BlockPermaLock_IIIIIarrayBarrayBS;
		}

		static int n_BlockPermaLock_IIIIIarrayBarrayBS (IntPtr jnienv, IntPtr native__this, int p0, int p1, int p2, int p3, int p4, IntPtr native_p5, IntPtr native_p6, short p7)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p5 = (byte[]) JNIEnv.GetArray (native_p5, JniHandleOwnership.DoNotTransfer, typeof (byte));
			var p6 = (byte[]) JNIEnv.GetArray (native_p6, JniHandleOwnership.DoNotTransfer, typeof (byte));
			int __ret = __this.BlockPermaLock (p0, p1, p2, p3, p4, p5, p6, p7);
			if (p5 != null)
				JNIEnv.CopyArray (p5, native_p5);
			if (p6 != null)
				JNIEnv.CopyArray (p6, native_p6);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='BlockPermaLock' and count(parameter)=8 and parameter[1][@type='int'] and parameter[2][@type='int'] and parameter[3][@type='int'] and parameter[4][@type='int'] and parameter[5][@type='int'] and parameter[6][@type='byte[]'] and parameter[7][@type='byte[]'] and parameter[8][@type='short']]"
		[Register ("BlockPermaLock", "(IIIII[B[BS)I", "GetBlockPermaLock_IIIIIarrayBarrayBSHandler")]
		public virtual unsafe int BlockPermaLock (int p0, int p1, int p2, int p3, int p4, byte[] p5, byte[] p6, short p7)
		{
			const string __id = "BlockPermaLock.(IIIII[B[BS)I";
			IntPtr native_p5 = JNIEnv.NewArray (p5);
			IntPtr native_p6 = JNIEnv.NewArray (p6);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [8];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (p1);
				__args [2] = new JniArgumentValue (p2);
				__args [3] = new JniArgumentValue (p3);
				__args [4] = new JniArgumentValue (p4);
				__args [5] = new JniArgumentValue (native_p5);
				__args [6] = new JniArgumentValue (native_p6);
				__args [7] = new JniArgumentValue (p7);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p5 != null) {
					JNIEnv.CopyArray (native_p5, p5);
					JNIEnv.DeleteLocalRef (native_p5);
				}
				if (p6 != null) {
					JNIEnv.CopyArray (native_p6, p6);
					JNIEnv.DeleteLocalRef (native_p6);
				}
				global::System.GC.KeepAlive (p5);
				global::System.GC.KeepAlive (p6);
			}
		}

		static Delegate cb_CloseReader_I;
#pragma warning disable 0169
		static Delegate GetCloseReader_IHandler ()
		{
			if (cb_CloseReader_I == null)
				cb_CloseReader_I = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPI_V) n_CloseReader_I);
			return cb_CloseReader_I;
		}

		static void n_CloseReader_I (IntPtr jnienv, IntPtr native__this, int p0)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			__this.CloseReader (p0);
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='CloseReader' and count(parameter)=1 and parameter[1][@type='int']]"
		[Register ("CloseReader", "(I)V", "GetCloseReader_IHandler")]
		public virtual unsafe void CloseReader (int p0)
		{
			const string __id = "CloseReader.(I)V";
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [1];
				__args [0] = new JniArgumentValue (p0);
				_members.InstanceMethods.InvokeVirtualVoidMethod (__id, this, __args);
			} finally {
			}
		}

		static Delegate cb_CustomCmd_BaseType_IIIarrayBarrayB;
#pragma warning disable 0169
		static Delegate GetCustomCmd_BaseType_IIIarrayBarrayBHandler ()
		{
			if (cb_CustomCmd_BaseType_IIIarrayBarrayB == null)
				cb_CustomCmd_BaseType_IIIarrayBarrayB = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIIILL_I) n_CustomCmd_BaseType_IIIarrayBarrayB);
			return cb_CustomCmd_BaseType_IIIarrayBarrayB;
		}

		static int n_CustomCmd_BaseType_IIIarrayBarrayB (IntPtr jnienv, IntPtr native__this, int p0, int p1, int p2, IntPtr native_p3, IntPtr native_p4)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p3 = (byte[]) JNIEnv.GetArray (native_p3, JniHandleOwnership.DoNotTransfer, typeof (byte));
			var p4 = (byte[]) JNIEnv.GetArray (native_p4, JniHandleOwnership.DoNotTransfer, typeof (byte));
			int __ret = __this.CustomCmd_BaseType (p0, p1, p2, p3, p4);
			if (p3 != null)
				JNIEnv.CopyArray (p3, native_p3);
			if (p4 != null)
				JNIEnv.CopyArray (p4, native_p4);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='CustomCmd_BaseType' and count(parameter)=5 and parameter[1][@type='int'] and parameter[2][@type='int'] and parameter[3][@type='int'] and parameter[4][@type='byte[]'] and parameter[5][@type='byte[]']]"
		[Register ("CustomCmd_BaseType", "(III[B[B)I", "GetCustomCmd_BaseType_IIIarrayBarrayBHandler")]
		public virtual unsafe int CustomCmd_BaseType (int p0, int p1, int p2, byte[] p3, byte[] p4)
		{
			const string __id = "CustomCmd_BaseType.(III[B[B)I";
			IntPtr native_p3 = JNIEnv.NewArray (p3);
			IntPtr native_p4 = JNIEnv.NewArray (p4);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [5];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (p1);
				__args [2] = new JniArgumentValue (p2);
				__args [3] = new JniArgumentValue (native_p3);
				__args [4] = new JniArgumentValue (native_p4);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p3 != null) {
					JNIEnv.CopyArray (native_p3, p3);
					JNIEnv.DeleteLocalRef (native_p3);
				}
				if (p4 != null) {
					JNIEnv.CopyArray (native_p4, p4);
					JNIEnv.DeleteLocalRef (native_p4);
				}
				global::System.GC.KeepAlive (p3);
				global::System.GC.KeepAlive (p4);
			}
		}

		static Delegate cb_DataTransportRecv_IarrayBII;
#pragma warning disable 0169
		static Delegate GetDataTransportRecv_IarrayBIIHandler ()
		{
			if (cb_DataTransportRecv_IarrayBII == null)
				cb_DataTransportRecv_IarrayBII = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPILII_I) n_DataTransportRecv_IarrayBII);
			return cb_DataTransportRecv_IarrayBII;
		}

		static int n_DataTransportRecv_IarrayBII (IntPtr jnienv, IntPtr native__this, int p0, IntPtr native_p1, int p2, int p3)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p1 = (byte[]) JNIEnv.GetArray (native_p1, JniHandleOwnership.DoNotTransfer, typeof (byte));
			int __ret = __this.DataTransportRecv (p0, p1, p2, p3);
			if (p1 != null)
				JNIEnv.CopyArray (p1, native_p1);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='DataTransportRecv' and count(parameter)=4 and parameter[1][@type='int'] and parameter[2][@type='byte[]'] and parameter[3][@type='int'] and parameter[4][@type='int']]"
		[Register ("DataTransportRecv", "(I[BII)I", "GetDataTransportRecv_IarrayBIIHandler")]
		public virtual unsafe int DataTransportRecv (int p0, byte[] p1, int p2, int p3)
		{
			const string __id = "DataTransportRecv.(I[BII)I";
			IntPtr native_p1 = JNIEnv.NewArray (p1);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [4];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (native_p1);
				__args [2] = new JniArgumentValue (p2);
				__args [3] = new JniArgumentValue (p3);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p1 != null) {
					JNIEnv.CopyArray (native_p1, p1);
					JNIEnv.DeleteLocalRef (native_p1);
				}
				global::System.GC.KeepAlive (p1);
			}
		}

		static Delegate cb_DataTransportSend_IarrayBII;
#pragma warning disable 0169
		static Delegate GetDataTransportSend_IarrayBIIHandler ()
		{
			if (cb_DataTransportSend_IarrayBII == null)
				cb_DataTransportSend_IarrayBII = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPILII_I) n_DataTransportSend_IarrayBII);
			return cb_DataTransportSend_IarrayBII;
		}

		static int n_DataTransportSend_IarrayBII (IntPtr jnienv, IntPtr native__this, int p0, IntPtr native_p1, int p2, int p3)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p1 = (byte[]) JNIEnv.GetArray (native_p1, JniHandleOwnership.DoNotTransfer, typeof (byte));
			int __ret = __this.DataTransportSend (p0, p1, p2, p3);
			if (p1 != null)
				JNIEnv.CopyArray (p1, native_p1);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='DataTransportSend' and count(parameter)=4 and parameter[1][@type='int'] and parameter[2][@type='byte[]'] and parameter[3][@type='int'] and parameter[4][@type='int']]"
		[Register ("DataTransportSend", "(I[BII)I", "GetDataTransportSend_IarrayBIIHandler")]
		public virtual unsafe int DataTransportSend (int p0, byte[] p1, int p2, int p3)
		{
			const string __id = "DataTransportSend.(I[BII)I";
			IntPtr native_p1 = JNIEnv.NewArray (p1);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [4];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (native_p1);
				__args [2] = new JniArgumentValue (p2);
				__args [3] = new JniArgumentValue (p3);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p1 != null) {
					JNIEnv.CopyArray (native_p1, p1);
					JNIEnv.DeleteLocalRef (native_p1);
				}
				global::System.GC.KeepAlive (p1);
			}
		}

		static Delegate cb_EraseDataOnReader_I;
#pragma warning disable 0169
		static Delegate GetEraseDataOnReader_IHandler ()
		{
			if (cb_EraseDataOnReader_I == null)
				cb_EraseDataOnReader_I = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPI_I) n_EraseDataOnReader_I);
			return cb_EraseDataOnReader_I;
		}

		static int n_EraseDataOnReader_I (IntPtr jnienv, IntPtr native__this, int p0)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return __this.EraseDataOnReader (p0);
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='EraseDataOnReader' and count(parameter)=1 and parameter[1][@type='int']]"
		[Register ("EraseDataOnReader", "(I)I", "GetEraseDataOnReader_IHandler")]
		public virtual unsafe int EraseDataOnReader (int p0)
		{
			const string __id = "EraseDataOnReader.(I)I";
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [1];
				__args [0] = new JniArgumentValue (p0);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
			}
		}

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='FirmwareLoadFromSerialPort' and count(parameter)=2 and parameter[1][@type='java.lang.String'] and parameter[2][@type='java.lang.String']]"
		[Register ("FirmwareLoadFromSerialPort", "(Ljava/lang/String;Ljava/lang/String;)I", "")]
		public static unsafe int FirmwareLoadFromSerialPort (string p0, string p1)
		{
			const string __id = "FirmwareLoadFromSerialPort.(Ljava/lang/String;Ljava/lang/String;)I";
			IntPtr native_p0 = JNIEnv.NewString (p0);
			IntPtr native_p1 = JNIEnv.NewString (p1);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [2];
				__args [0] = new JniArgumentValue (native_p0);
				__args [1] = new JniArgumentValue (native_p1);
				var __rm = _members.StaticMethods.InvokeInt32Method (__id, __args);
				return __rm;
			} finally {
				JNIEnv.DeleteLocalRef (native_p0);
				JNIEnv.DeleteLocalRef (native_p1);
			}
		}

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='GetDeviceVersion' and count(parameter)=2 and parameter[1][@type='java.lang.String'] and parameter[2][@type='byte[]']]"
		[Register ("GetDeviceVersion", "(Ljava/lang/String;[B)I", "")]
		public static unsafe int GetDeviceVersion (string p0, byte[] p1)
		{
			const string __id = "GetDeviceVersion.(Ljava/lang/String;[B)I";
			IntPtr native_p0 = JNIEnv.NewString (p0);
			IntPtr native_p1 = JNIEnv.NewArray (p1);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [2];
				__args [0] = new JniArgumentValue (native_p0);
				__args [1] = new JniArgumentValue (native_p1);
				var __rm = _members.StaticMethods.InvokeInt32Method (__id, __args);
				return __rm;
			} finally {
				JNIEnv.DeleteLocalRef (native_p0);
				if (p1 != null) {
					JNIEnv.CopyArray (native_p1, p1);
					JNIEnv.DeleteLocalRef (native_p1);
				}
				global::System.GC.KeepAlive (p1);
			}
		}

		static Delegate cb_GetGPI_IIarrayI;
#pragma warning disable 0169
		static Delegate GetGetGPI_IIarrayIHandler ()
		{
			if (cb_GetGPI_IIarrayI == null)
				cb_GetGPI_IIarrayI = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIIL_I) n_GetGPI_IIarrayI);
			return cb_GetGPI_IIarrayI;
		}

		static int n_GetGPI_IIarrayI (IntPtr jnienv, IntPtr native__this, int p0, int p1, IntPtr native_p2)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p2 = (int[]) JNIEnv.GetArray (native_p2, JniHandleOwnership.DoNotTransfer, typeof (int));
			int __ret = __this.GetGPI (p0, p1, p2);
			if (p2 != null)
				JNIEnv.CopyArray (p2, native_p2);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='GetGPI' and count(parameter)=3 and parameter[1][@type='int'] and parameter[2][@type='int'] and parameter[3][@type='int[]']]"
		[Register ("GetGPI", "(II[I)I", "GetGetGPI_IIarrayIHandler")]
		public virtual unsafe int GetGPI (int p0, int p1, int[] p2)
		{
			const string __id = "GetGPI.(II[I)I";
			IntPtr native_p2 = JNIEnv.NewArray (p2);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [3];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (p1);
				__args [2] = new JniArgumentValue (native_p2);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p2 != null) {
					JNIEnv.CopyArray (native_p2, p2);
					JNIEnv.DeleteLocalRef (native_p2);
				}
				global::System.GC.KeepAlive (p2);
			}
		}

		static Delegate cb_GetGPIEx_BaseType_IarrayB;
#pragma warning disable 0169
		static Delegate GetGetGPIEx_BaseType_IarrayBHandler ()
		{
			if (cb_GetGPIEx_BaseType_IarrayB == null)
				cb_GetGPIEx_BaseType_IarrayB = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIL_I) n_GetGPIEx_BaseType_IarrayB);
			return cb_GetGPIEx_BaseType_IarrayB;
		}

		static int n_GetGPIEx_BaseType_IarrayB (IntPtr jnienv, IntPtr native__this, int p0, IntPtr native_p1)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p1 = (byte[]) JNIEnv.GetArray (native_p1, JniHandleOwnership.DoNotTransfer, typeof (byte));
			int __ret = __this.GetGPIEx_BaseType (p0, p1);
			if (p1 != null)
				JNIEnv.CopyArray (p1, native_p1);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='GetGPIEx_BaseType' and count(parameter)=2 and parameter[1][@type='int'] and parameter[2][@type='byte[]']]"
		[Register ("GetGPIEx_BaseType", "(I[B)I", "GetGetGPIEx_BaseType_IarrayBHandler")]
		public virtual unsafe int GetGPIEx_BaseType (int p0, byte[] p1)
		{
			const string __id = "GetGPIEx_BaseType.(I[B)I";
			IntPtr native_p1 = JNIEnv.NewArray (p1);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [2];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (native_p1);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p1 != null) {
					JNIEnv.CopyArray (native_p1, p1);
					JNIEnv.DeleteLocalRef (native_p1);
				}
				global::System.GC.KeepAlive (p1);
			}
		}

		static Delegate cb_GetHardwareDetails_ILjava_lang_Object_;
#pragma warning disable 0169
		static Delegate GetGetHardwareDetails_ILjava_lang_Object_Handler ()
		{
			if (cb_GetHardwareDetails_ILjava_lang_Object_ == null)
				cb_GetHardwareDetails_ILjava_lang_Object_ = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIL_I) n_GetHardwareDetails_ILjava_lang_Object_);
			return cb_GetHardwareDetails_ILjava_lang_Object_;
		}

		static int n_GetHardwareDetails_ILjava_lang_Object_ (IntPtr jnienv, IntPtr native__this, int p0, IntPtr native_p1)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p1 = global::Java.Lang.Object.GetObject<global::Java.Lang.Object> (native_p1, JniHandleOwnership.DoNotTransfer);
			int __ret = __this.GetHardwareDetails (p0, p1);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='GetHardwareDetails' and count(parameter)=2 and parameter[1][@type='int'] and parameter[2][@type='java.lang.Object']]"
		[Register ("GetHardwareDetails", "(ILjava/lang/Object;)I", "GetGetHardwareDetails_ILjava_lang_Object_Handler")]
		public virtual unsafe int GetHardwareDetails (int p0, global::Java.Lang.Object p1)
		{
			const string __id = "GetHardwareDetails.(ILjava/lang/Object;)I";
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [2];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue ((p1 == null) ? IntPtr.Zero : ((global::Java.Lang.Object) p1).Handle);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				global::System.GC.KeepAlive (p1);
			}
		}

		static Delegate cb_GetHardwareDetails_BaseType_IarrayB;
#pragma warning disable 0169
		static Delegate GetGetHardwareDetails_BaseType_IarrayBHandler ()
		{
			if (cb_GetHardwareDetails_BaseType_IarrayB == null)
				cb_GetHardwareDetails_BaseType_IarrayB = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIL_I) n_GetHardwareDetails_BaseType_IarrayB);
			return cb_GetHardwareDetails_BaseType_IarrayB;
		}

		static int n_GetHardwareDetails_BaseType_IarrayB (IntPtr jnienv, IntPtr native__this, int p0, IntPtr native_p1)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p1 = (byte[]) JNIEnv.GetArray (native_p1, JniHandleOwnership.DoNotTransfer, typeof (byte));
			int __ret = __this.GetHardwareDetails_BaseType (p0, p1);
			if (p1 != null)
				JNIEnv.CopyArray (p1, native_p1);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='GetHardwareDetails_BaseType' and count(parameter)=2 and parameter[1][@type='int'] and parameter[2][@type='byte[]']]"
		[Register ("GetHardwareDetails_BaseType", "(I[B)I", "GetGetHardwareDetails_BaseType_IarrayBHandler")]
		public virtual unsafe int GetHardwareDetails_BaseType (int p0, byte[] p1)
		{
			const string __id = "GetHardwareDetails_BaseType.(I[B)I";
			IntPtr native_p1 = JNIEnv.NewArray (p1);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [2];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (native_p1);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p1 != null) {
					JNIEnv.CopyArray (native_p1, p1);
					JNIEnv.DeleteLocalRef (native_p1);
				}
				global::System.GC.KeepAlive (p1);
			}
		}

		static Delegate cb_GetLastDetailError_BaseType_IarrayB;
#pragma warning disable 0169
		static Delegate GetGetLastDetailError_BaseType_IarrayBHandler ()
		{
			if (cb_GetLastDetailError_BaseType_IarrayB == null)
				cb_GetLastDetailError_BaseType_IarrayB = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIL_I) n_GetLastDetailError_BaseType_IarrayB);
			return cb_GetLastDetailError_BaseType_IarrayB;
		}

		static int n_GetLastDetailError_BaseType_IarrayB (IntPtr jnienv, IntPtr native__this, int p0, IntPtr native_p1)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p1 = (byte[]) JNIEnv.GetArray (native_p1, JniHandleOwnership.DoNotTransfer, typeof (byte));
			int __ret = __this.GetLastDetailError_BaseType (p0, p1);
			if (p1 != null)
				JNIEnv.CopyArray (p1, native_p1);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='GetLastDetailError_BaseType' and count(parameter)=2 and parameter[1][@type='int'] and parameter[2][@type='byte[]']]"
		[Register ("GetLastDetailError_BaseType", "(I[B)I", "GetGetLastDetailError_BaseType_IarrayBHandler")]
		public virtual unsafe int GetLastDetailError_BaseType (int p0, byte[] p1)
		{
			const string __id = "GetLastDetailError_BaseType.(I[B)I";
			IntPtr native_p1 = JNIEnv.NewArray (p1);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [2];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (native_p1);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p1 != null) {
					JNIEnv.CopyArray (native_p1, p1);
					JNIEnv.DeleteLocalRef (native_p1);
				}
				global::System.GC.KeepAlive (p1);
			}
		}

		static Delegate cb_GetNextTag_BaseType_IarrayB;
#pragma warning disable 0169
		static Delegate GetGetNextTag_BaseType_IarrayBHandler ()
		{
			if (cb_GetNextTag_BaseType_IarrayB == null)
				cb_GetNextTag_BaseType_IarrayB = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIL_I) n_GetNextTag_BaseType_IarrayB);
			return cb_GetNextTag_BaseType_IarrayB;
		}

		static int n_GetNextTag_BaseType_IarrayB (IntPtr jnienv, IntPtr native__this, int p0, IntPtr native_p1)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p1 = (byte[]) JNIEnv.GetArray (native_p1, JniHandleOwnership.DoNotTransfer, typeof (byte));
			int __ret = __this.GetNextTag_BaseType (p0, p1);
			if (p1 != null)
				JNIEnv.CopyArray (p1, native_p1);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='GetNextTag_BaseType' and count(parameter)=2 and parameter[1][@type='int'] and parameter[2][@type='byte[]']]"
		[Register ("GetNextTag_BaseType", "(I[B)I", "GetGetNextTag_BaseType_IarrayBHandler")]
		public virtual unsafe int GetNextTag_BaseType (int p0, byte[] p1)
		{
			const string __id = "GetNextTag_BaseType.(I[B)I";
			IntPtr native_p1 = JNIEnv.NewArray (p1);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [2];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (native_p1);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p1 != null) {
					JNIEnv.CopyArray (native_p1, p1);
					JNIEnv.DeleteLocalRef (native_p1);
				}
				global::System.GC.KeepAlive (p1);
			}
		}

		static Delegate cb_GetTagData_IICIIarrayBarrayBS;
#pragma warning disable 0169
		static Delegate GetGetTagData_IICIIarrayBarrayBSHandler ()
		{
			if (cb_GetTagData_IICIIarrayBarrayBS == null)
				cb_GetTagData_IICIIarrayBarrayBS = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIICIILLS_I) n_GetTagData_IICIIarrayBarrayBS);
			return cb_GetTagData_IICIIarrayBarrayBS;
		}

		static int n_GetTagData_IICIIarrayBarrayBS (IntPtr jnienv, IntPtr native__this, int p0, int p1, char p2, int p3, int p4, IntPtr native_p5, IntPtr native_p6, short p7)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p5 = (byte[]) JNIEnv.GetArray (native_p5, JniHandleOwnership.DoNotTransfer, typeof (byte));
			var p6 = (byte[]) JNIEnv.GetArray (native_p6, JniHandleOwnership.DoNotTransfer, typeof (byte));
			int __ret = __this.GetTagData (p0, p1, p2, p3, p4, p5, p6, p7);
			if (p5 != null)
				JNIEnv.CopyArray (p5, native_p5);
			if (p6 != null)
				JNIEnv.CopyArray (p6, native_p6);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='GetTagData' and count(parameter)=8 and parameter[1][@type='int'] and parameter[2][@type='int'] and parameter[3][@type='char'] and parameter[4][@type='int'] and parameter[5][@type='int'] and parameter[6][@type='byte[]'] and parameter[7][@type='byte[]'] and parameter[8][@type='short']]"
		[Register ("GetTagData", "(IICII[B[BS)I", "GetGetTagData_IICIIarrayBarrayBSHandler")]
		public virtual unsafe int GetTagData (int p0, int p1, char p2, int p3, int p4, byte[] p5, byte[] p6, short p7)
		{
			const string __id = "GetTagData.(IICII[B[BS)I";
			IntPtr native_p5 = JNIEnv.NewArray (p5);
			IntPtr native_p6 = JNIEnv.NewArray (p6);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [8];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (p1);
				__args [2] = new JniArgumentValue (p2);
				__args [3] = new JniArgumentValue (p3);
				__args [4] = new JniArgumentValue (p4);
				__args [5] = new JniArgumentValue (native_p5);
				__args [6] = new JniArgumentValue (native_p6);
				__args [7] = new JniArgumentValue (p7);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p5 != null) {
					JNIEnv.CopyArray (native_p5, p5);
					JNIEnv.DeleteLocalRef (native_p5);
				}
				if (p6 != null) {
					JNIEnv.CopyArray (native_p6, p6);
					JNIEnv.DeleteLocalRef (native_p6);
				}
				global::System.GC.KeepAlive (p5);
				global::System.GC.KeepAlive (p6);
			}
		}

		static Delegate cb_Get_GPIEx_ILcom_uhf_api_cls_GpiInfo_ST_;
#pragma warning disable 0169
		static Delegate GetGet_GPIEx_ILcom_uhf_api_cls_GpiInfo_ST_Handler ()
		{
			if (cb_Get_GPIEx_ILcom_uhf_api_cls_GpiInfo_ST_ == null)
				cb_Get_GPIEx_ILcom_uhf_api_cls_GpiInfo_ST_ = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIL_I) n_Get_GPIEx_ILcom_uhf_api_cls_GpiInfo_ST_);
			return cb_Get_GPIEx_ILcom_uhf_api_cls_GpiInfo_ST_;
		}

		static int n_Get_GPIEx_ILcom_uhf_api_cls_GpiInfo_ST_ (IntPtr jnienv, IntPtr native__this, int p0, IntPtr native_p1)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p1 = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.GpiInfo_ST> (native_p1, JniHandleOwnership.DoNotTransfer);
			int __ret = __this.Get_GPIEx (p0, p1);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='Get_GPIEx' and count(parameter)=2 and parameter[1][@type='int'] and parameter[2][@type='com.uhf.api.cls.GpiInfo_ST']]"
		[Register ("Get_GPIEx", "(ILcom/uhf/api/cls/GpiInfo_ST;)I", "GetGet_GPIEx_ILcom_uhf_api_cls_GpiInfo_ST_Handler")]
		public virtual unsafe int Get_GPIEx (int p0, global::Com.Uhf.Api.Cls.GpiInfo_ST p1)
		{
			const string __id = "Get_GPIEx.(ILcom/uhf/api/cls/GpiInfo_ST;)I";
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [2];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue ((p1 == null) ? IntPtr.Zero : ((global::Java.Lang.Object) p1).Handle);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				global::System.GC.KeepAlive (p1);
			}
		}

		static Delegate cb_InitReader_arrayILjava_lang_String_I;
#pragma warning disable 0169
		static Delegate GetInitReader_arrayILjava_lang_String_IHandler ()
		{
			if (cb_InitReader_arrayILjava_lang_String_I == null)
				cb_InitReader_arrayILjava_lang_String_I = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPLLI_I) n_InitReader_arrayILjava_lang_String_I);
			return cb_InitReader_arrayILjava_lang_String_I;
		}

		static int n_InitReader_arrayILjava_lang_String_I (IntPtr jnienv, IntPtr native__this, IntPtr native_p0, IntPtr native_p1, int p2)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p0 = (int[]) JNIEnv.GetArray (native_p0, JniHandleOwnership.DoNotTransfer, typeof (int));
			var p1 = JNIEnv.GetString (native_p1, JniHandleOwnership.DoNotTransfer);
			int __ret = __this.InitReader (p0, p1, p2);
			if (p0 != null)
				JNIEnv.CopyArray (p0, native_p0);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='InitReader' and count(parameter)=3 and parameter[1][@type='int[]'] and parameter[2][@type='java.lang.String'] and parameter[3][@type='int']]"
		[Register ("InitReader", "([ILjava/lang/String;I)I", "GetInitReader_arrayILjava_lang_String_IHandler")]
		public virtual unsafe int InitReader (int[] p0, string p1, int p2)
		{
			const string __id = "InitReader.([ILjava/lang/String;I)I";
			IntPtr native_p0 = JNIEnv.NewArray (p0);
			IntPtr native_p1 = JNIEnv.NewString (p1);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [3];
				__args [0] = new JniArgumentValue (native_p0);
				__args [1] = new JniArgumentValue (native_p1);
				__args [2] = new JniArgumentValue (p2);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p0 != null) {
					JNIEnv.CopyArray (native_p0, p0);
					JNIEnv.DeleteLocalRef (native_p0);
				}
				JNIEnv.DeleteLocalRef (native_p1);
				global::System.GC.KeepAlive (p0);
			}
		}

		static Delegate cb_InitReader_Notype_arrayILjava_lang_String_I;
#pragma warning disable 0169
		static Delegate GetInitReader_Notype_arrayILjava_lang_String_IHandler ()
		{
			if (cb_InitReader_Notype_arrayILjava_lang_String_I == null)
				cb_InitReader_Notype_arrayILjava_lang_String_I = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPLLI_I) n_InitReader_Notype_arrayILjava_lang_String_I);
			return cb_InitReader_Notype_arrayILjava_lang_String_I;
		}

		static int n_InitReader_Notype_arrayILjava_lang_String_I (IntPtr jnienv, IntPtr native__this, IntPtr native_p0, IntPtr native_p1, int p2)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p0 = (int[]) JNIEnv.GetArray (native_p0, JniHandleOwnership.DoNotTransfer, typeof (int));
			var p1 = JNIEnv.GetString (native_p1, JniHandleOwnership.DoNotTransfer);
			int __ret = __this.InitReader_Notype (p0, p1, p2);
			if (p0 != null)
				JNIEnv.CopyArray (p0, native_p0);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='InitReader_Notype' and count(parameter)=3 and parameter[1][@type='int[]'] and parameter[2][@type='java.lang.String'] and parameter[3][@type='int']]"
		[Register ("InitReader_Notype", "([ILjava/lang/String;I)I", "GetInitReader_Notype_arrayILjava_lang_String_IHandler")]
		public virtual unsafe int InitReader_Notype (int[] p0, string p1, int p2)
		{
			const string __id = "InitReader_Notype.([ILjava/lang/String;I)I";
			IntPtr native_p0 = JNIEnv.NewArray (p0);
			IntPtr native_p1 = JNIEnv.NewString (p1);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [3];
				__args [0] = new JniArgumentValue (native_p0);
				__args [1] = new JniArgumentValue (native_p1);
				__args [2] = new JniArgumentValue (p2);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p0 != null) {
					JNIEnv.CopyArray (native_p0, p0);
					JNIEnv.DeleteLocalRef (native_p0);
				}
				JNIEnv.DeleteLocalRef (native_p1);
				global::System.GC.KeepAlive (p0);
			}
		}

		static Delegate cb_KillTag_IIarrayBS;
#pragma warning disable 0169
		static Delegate GetKillTag_IIarrayBSHandler ()
		{
			if (cb_KillTag_IIarrayBS == null)
				cb_KillTag_IIarrayBS = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIILS_I) n_KillTag_IIarrayBS);
			return cb_KillTag_IIarrayBS;
		}

		static int n_KillTag_IIarrayBS (IntPtr jnienv, IntPtr native__this, int p0, int p1, IntPtr native_p2, short p3)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p2 = (byte[]) JNIEnv.GetArray (native_p2, JniHandleOwnership.DoNotTransfer, typeof (byte));
			int __ret = __this.KillTag (p0, p1, p2, p3);
			if (p2 != null)
				JNIEnv.CopyArray (p2, native_p2);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='KillTag' and count(parameter)=4 and parameter[1][@type='int'] and parameter[2][@type='int'] and parameter[3][@type='byte[]'] and parameter[4][@type='short']]"
		[Register ("KillTag", "(II[BS)I", "GetKillTag_IIarrayBSHandler")]
		public virtual unsafe int KillTag (int p0, int p1, byte[] p2, short p3)
		{
			const string __id = "KillTag.(II[BS)I";
			IntPtr native_p2 = JNIEnv.NewArray (p2);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [4];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (p1);
				__args [2] = new JniArgumentValue (native_p2);
				__args [3] = new JniArgumentValue (p3);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p2 != null) {
					JNIEnv.CopyArray (native_p2, p2);
					JNIEnv.DeleteLocalRef (native_p2);
				}
				global::System.GC.KeepAlive (p2);
			}
		}

		static Delegate cb_Lock180006BTag_IIIIS;
#pragma warning disable 0169
		static Delegate GetLock180006BTag_IIIISHandler ()
		{
			if (cb_Lock180006BTag_IIIIS == null)
				cb_Lock180006BTag_IIIIS = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIIIIS_I) n_Lock180006BTag_IIIIS);
			return cb_Lock180006BTag_IIIIS;
		}

		static int n_Lock180006BTag_IIIIS (IntPtr jnienv, IntPtr native__this, int p0, int p1, int p2, int p3, short p4)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return __this.Lock180006BTag (p0, p1, p2, p3, p4);
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='Lock180006BTag' and count(parameter)=5 and parameter[1][@type='int'] and parameter[2][@type='int'] and parameter[3][@type='int'] and parameter[4][@type='int'] and parameter[5][@type='short']]"
		[Register ("Lock180006BTag", "(IIIIS)I", "GetLock180006BTag_IIIISHandler")]
		public virtual unsafe int Lock180006BTag (int p0, int p1, int p2, int p3, short p4)
		{
			const string __id = "Lock180006BTag.(IIIIS)I";
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [5];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (p1);
				__args [2] = new JniArgumentValue (p2);
				__args [3] = new JniArgumentValue (p3);
				__args [4] = new JniArgumentValue (p4);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
			}
		}

		static Delegate cb_LockTag_IIBSarrayBS;
#pragma warning disable 0169
		static Delegate GetLockTag_IIBSarrayBSHandler ()
		{
			if (cb_LockTag_IIBSarrayBS == null)
				cb_LockTag_IIBSarrayBS = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIIBSLS_I) n_LockTag_IIBSarrayBS);
			return cb_LockTag_IIBSarrayBS;
		}

		static int n_LockTag_IIBSarrayBS (IntPtr jnienv, IntPtr native__this, int p0, int p1, sbyte p2, short p3, IntPtr native_p4, short p5)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p4 = (byte[]) JNIEnv.GetArray (native_p4, JniHandleOwnership.DoNotTransfer, typeof (byte));
			int __ret = __this.LockTag (p0, p1, p2, p3, p4, p5);
			if (p4 != null)
				JNIEnv.CopyArray (p4, native_p4);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='LockTag' and count(parameter)=6 and parameter[1][@type='int'] and parameter[2][@type='int'] and parameter[3][@type='byte'] and parameter[4][@type='short'] and parameter[5][@type='byte[]'] and parameter[6][@type='short']]"
		[Register ("LockTag", "(IIBS[BS)I", "GetLockTag_IIBSarrayBSHandler")]
		public virtual unsafe int LockTag (int p0, int p1, sbyte p2, short p3, byte[] p4, short p5)
		{
			const string __id = "LockTag.(IIBS[BS)I";
			IntPtr native_p4 = JNIEnv.NewArray (p4);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [6];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (p1);
				__args [2] = new JniArgumentValue (p2);
				__args [3] = new JniArgumentValue (p3);
				__args [4] = new JniArgumentValue (native_p4);
				__args [5] = new JniArgumentValue (p5);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p4 != null) {
					JNIEnv.CopyArray (native_p4, p4);
					JNIEnv.DeleteLocalRef (native_p4);
				}
				global::System.GC.KeepAlive (p4);
			}
		}

		static Delegate cb_ParamGet_BaseType_IIarrayB;
#pragma warning disable 0169
		static Delegate GetParamGet_BaseType_IIarrayBHandler ()
		{
			if (cb_ParamGet_BaseType_IIarrayB == null)
				cb_ParamGet_BaseType_IIarrayB = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIIL_I) n_ParamGet_BaseType_IIarrayB);
			return cb_ParamGet_BaseType_IIarrayB;
		}

		static int n_ParamGet_BaseType_IIarrayB (IntPtr jnienv, IntPtr native__this, int p0, int p1, IntPtr native_p2)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p2 = (byte[]) JNIEnv.GetArray (native_p2, JniHandleOwnership.DoNotTransfer, typeof (byte));
			int __ret = __this.ParamGet_BaseType (p0, p1, p2);
			if (p2 != null)
				JNIEnv.CopyArray (p2, native_p2);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='ParamGet_BaseType' and count(parameter)=3 and parameter[1][@type='int'] and parameter[2][@type='int'] and parameter[3][@type='byte[]']]"
		[Register ("ParamGet_BaseType", "(II[B)I", "GetParamGet_BaseType_IIarrayBHandler")]
		public virtual unsafe int ParamGet_BaseType (int p0, int p1, byte[] p2)
		{
			const string __id = "ParamGet_BaseType.(II[B)I";
			IntPtr native_p2 = JNIEnv.NewArray (p2);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [3];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (p1);
				__args [2] = new JniArgumentValue (native_p2);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p2 != null) {
					JNIEnv.CopyArray (native_p2, p2);
					JNIEnv.DeleteLocalRef (native_p2);
				}
				global::System.GC.KeepAlive (p2);
			}
		}

		static Delegate cb_ParamSet_BaseType_IIarrayB;
#pragma warning disable 0169
		static Delegate GetParamSet_BaseType_IIarrayBHandler ()
		{
			if (cb_ParamSet_BaseType_IIarrayB == null)
				cb_ParamSet_BaseType_IIarrayB = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIIL_I) n_ParamSet_BaseType_IIarrayB);
			return cb_ParamSet_BaseType_IIarrayB;
		}

		static int n_ParamSet_BaseType_IIarrayB (IntPtr jnienv, IntPtr native__this, int p0, int p1, IntPtr native_p2)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p2 = (byte[]) JNIEnv.GetArray (native_p2, JniHandleOwnership.DoNotTransfer, typeof (byte));
			int __ret = __this.ParamSet_BaseType (p0, p1, p2);
			if (p2 != null)
				JNIEnv.CopyArray (p2, native_p2);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='ParamSet_BaseType' and count(parameter)=3 and parameter[1][@type='int'] and parameter[2][@type='int'] and parameter[3][@type='byte[]']]"
		[Register ("ParamSet_BaseType", "(II[B)I", "GetParamSet_BaseType_IIarrayBHandler")]
		public virtual unsafe int ParamSet_BaseType (int p0, int p1, byte[] p2)
		{
			const string __id = "ParamSet_BaseType.(II[B)I";
			IntPtr native_p2 = JNIEnv.NewArray (p2);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [3];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (p1);
				__args [2] = new JniArgumentValue (native_p2);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p2 != null) {
					JNIEnv.CopyArray (native_p2, p2);
					JNIEnv.DeleteLocalRef (native_p2);
				}
				global::System.GC.KeepAlive (p2);
			}
		}

		static Delegate cb_PsamTransceiver_IIIarrayBarrayIarrayBarrayBS;
#pragma warning disable 0169
		static Delegate GetPsamTransceiver_IIIarrayBarrayIarrayBarrayBSHandler ()
		{
			if (cb_PsamTransceiver_IIIarrayBarrayIarrayBarrayBS == null)
				cb_PsamTransceiver_IIIarrayBarrayIarrayBarrayBS = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIIILLLLS_I) n_PsamTransceiver_IIIarrayBarrayIarrayBarrayBS);
			return cb_PsamTransceiver_IIIarrayBarrayIarrayBarrayBS;
		}

		static int n_PsamTransceiver_IIIarrayBarrayIarrayBarrayBS (IntPtr jnienv, IntPtr native__this, int p0, int p1, int p2, IntPtr native_p3, IntPtr native_p4, IntPtr native_p5, IntPtr native_p6, short p7)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p3 = (byte[]) JNIEnv.GetArray (native_p3, JniHandleOwnership.DoNotTransfer, typeof (byte));
			var p4 = (int[]) JNIEnv.GetArray (native_p4, JniHandleOwnership.DoNotTransfer, typeof (int));
			var p5 = (byte[]) JNIEnv.GetArray (native_p5, JniHandleOwnership.DoNotTransfer, typeof (byte));
			var p6 = (byte[]) JNIEnv.GetArray (native_p6, JniHandleOwnership.DoNotTransfer, typeof (byte));
			int __ret = __this.PsamTransceiver (p0, p1, p2, p3, p4, p5, p6, p7);
			if (p3 != null)
				JNIEnv.CopyArray (p3, native_p3);
			if (p4 != null)
				JNIEnv.CopyArray (p4, native_p4);
			if (p5 != null)
				JNIEnv.CopyArray (p5, native_p5);
			if (p6 != null)
				JNIEnv.CopyArray (p6, native_p6);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='PsamTransceiver' and count(parameter)=8 and parameter[1][@type='int'] and parameter[2][@type='int'] and parameter[3][@type='int'] and parameter[4][@type='byte[]'] and parameter[5][@type='int[]'] and parameter[6][@type='byte[]'] and parameter[7][@type='byte[]'] and parameter[8][@type='short']]"
		[Register ("PsamTransceiver", "(III[B[I[B[BS)I", "GetPsamTransceiver_IIIarrayBarrayIarrayBarrayBSHandler")]
		public virtual unsafe int PsamTransceiver (int p0, int p1, int p2, byte[] p3, int[] p4, byte[] p5, byte[] p6, short p7)
		{
			const string __id = "PsamTransceiver.(III[B[I[B[BS)I";
			IntPtr native_p3 = JNIEnv.NewArray (p3);
			IntPtr native_p4 = JNIEnv.NewArray (p4);
			IntPtr native_p5 = JNIEnv.NewArray (p5);
			IntPtr native_p6 = JNIEnv.NewArray (p6);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [8];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (p1);
				__args [2] = new JniArgumentValue (p2);
				__args [3] = new JniArgumentValue (native_p3);
				__args [4] = new JniArgumentValue (native_p4);
				__args [5] = new JniArgumentValue (native_p5);
				__args [6] = new JniArgumentValue (native_p6);
				__args [7] = new JniArgumentValue (p7);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p3 != null) {
					JNIEnv.CopyArray (native_p3, p3);
					JNIEnv.DeleteLocalRef (native_p3);
				}
				if (p4 != null) {
					JNIEnv.CopyArray (native_p4, p4);
					JNIEnv.DeleteLocalRef (native_p4);
				}
				if (p5 != null) {
					JNIEnv.CopyArray (native_p5, p5);
					JNIEnv.DeleteLocalRef (native_p5);
				}
				if (p6 != null) {
					JNIEnv.CopyArray (native_p6, p6);
					JNIEnv.DeleteLocalRef (native_p6);
				}
				global::System.GC.KeepAlive (p3);
				global::System.GC.KeepAlive (p4);
				global::System.GC.KeepAlive (p5);
				global::System.GC.KeepAlive (p6);
			}
		}

		static Delegate cb_ReadDataOnReader_IIarrayBI;
#pragma warning disable 0169
		static Delegate GetReadDataOnReader_IIarrayBIHandler ()
		{
			if (cb_ReadDataOnReader_IIarrayBI == null)
				cb_ReadDataOnReader_IIarrayBI = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIILI_I) n_ReadDataOnReader_IIarrayBI);
			return cb_ReadDataOnReader_IIarrayBI;
		}

		static int n_ReadDataOnReader_IIarrayBI (IntPtr jnienv, IntPtr native__this, int p0, int p1, IntPtr native_p2, int p3)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p2 = (byte[]) JNIEnv.GetArray (native_p2, JniHandleOwnership.DoNotTransfer, typeof (byte));
			int __ret = __this.ReadDataOnReader (p0, p1, p2, p3);
			if (p2 != null)
				JNIEnv.CopyArray (p2, native_p2);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='ReadDataOnReader' and count(parameter)=4 and parameter[1][@type='int'] and parameter[2][@type='int'] and parameter[3][@type='byte[]'] and parameter[4][@type='int']]"
		[Register ("ReadDataOnReader", "(II[BI)I", "GetReadDataOnReader_IIarrayBIHandler")]
		public virtual unsafe int ReadDataOnReader (int p0, int p1, byte[] p2, int p3)
		{
			const string __id = "ReadDataOnReader.(II[BI)I";
			IntPtr native_p2 = JNIEnv.NewArray (p2);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [4];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (p1);
				__args [2] = new JniArgumentValue (native_p2);
				__args [3] = new JniArgumentValue (p3);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p2 != null) {
					JNIEnv.CopyArray (native_p2, p2);
					JNIEnv.DeleteLocalRef (native_p2);
				}
				global::System.GC.KeepAlive (p2);
			}
		}

		static Delegate cb_ReadTagLED_IISSarrayBarrayI;
#pragma warning disable 0169
		static Delegate GetReadTagLED_IISSarrayBarrayIHandler ()
		{
			if (cb_ReadTagLED_IISSarrayBarrayI == null)
				cb_ReadTagLED_IISSarrayBarrayI = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIISSLL_I) n_ReadTagLED_IISSarrayBarrayI);
			return cb_ReadTagLED_IISSarrayBarrayI;
		}

		static int n_ReadTagLED_IISSarrayBarrayI (IntPtr jnienv, IntPtr native__this, int p0, int p1, short p2, short p3, IntPtr native_p4, IntPtr native_p5)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p4 = (byte[]) JNIEnv.GetArray (native_p4, JniHandleOwnership.DoNotTransfer, typeof (byte));
			var p5 = (int[]) JNIEnv.GetArray (native_p5, JniHandleOwnership.DoNotTransfer, typeof (int));
			int __ret = __this.ReadTagLED (p0, p1, p2, p3, p4, p5);
			if (p4 != null)
				JNIEnv.CopyArray (p4, native_p4);
			if (p5 != null)
				JNIEnv.CopyArray (p5, native_p5);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='ReadTagLED' and count(parameter)=6 and parameter[1][@type='int'] and parameter[2][@type='int'] and parameter[3][@type='short'] and parameter[4][@type='short'] and parameter[5][@type='byte[]'] and parameter[6][@type='int[]']]"
		[Register ("ReadTagLED", "(IISS[B[I)I", "GetReadTagLED_IISSarrayBarrayIHandler")]
		public virtual unsafe int ReadTagLED (int p0, int p1, short p2, short p3, byte[] p4, int[] p5)
		{
			const string __id = "ReadTagLED.(IISS[B[I)I";
			IntPtr native_p4 = JNIEnv.NewArray (p4);
			IntPtr native_p5 = JNIEnv.NewArray (p5);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [6];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (p1);
				__args [2] = new JniArgumentValue (p2);
				__args [3] = new JniArgumentValue (p3);
				__args [4] = new JniArgumentValue (native_p4);
				__args [5] = new JniArgumentValue (native_p5);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p4 != null) {
					JNIEnv.CopyArray (native_p4, p4);
					JNIEnv.DeleteLocalRef (native_p4);
				}
				if (p5 != null) {
					JNIEnv.CopyArray (native_p5, p5);
					JNIEnv.DeleteLocalRef (native_p5);
				}
				global::System.GC.KeepAlive (p4);
				global::System.GC.KeepAlive (p5);
			}
		}

		static Delegate cb_ReadTagTemperature_IICIIIIISarrayBarrayBarrayI;
#pragma warning disable 0169
		static Delegate GetReadTagTemperature_IICIIIIISarrayBarrayBarrayIHandler ()
		{
			if (cb_ReadTagTemperature_IICIIIIISarrayBarrayBarrayI == null)
				cb_ReadTagTemperature_IICIIIIISarrayBarrayBarrayI = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIICIIIIISLLL_I) n_ReadTagTemperature_IICIIIIISarrayBarrayBarrayI);
			return cb_ReadTagTemperature_IICIIIIISarrayBarrayBarrayI;
		}

		static int n_ReadTagTemperature_IICIIIIISarrayBarrayBarrayI (IntPtr jnienv, IntPtr native__this, int p0, int p1, char p2, int p3, int p4, int p5, int p6, int p7, short p8, IntPtr native_p9, IntPtr native_p10, IntPtr native_p11)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p9 = (byte[]) JNIEnv.GetArray (native_p9, JniHandleOwnership.DoNotTransfer, typeof (byte));
			var p10 = (byte[]) JNIEnv.GetArray (native_p10, JniHandleOwnership.DoNotTransfer, typeof (byte));
			var p11 = (int[]) JNIEnv.GetArray (native_p11, JniHandleOwnership.DoNotTransfer, typeof (int));
			int __ret = __this.ReadTagTemperature (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11);
			if (p9 != null)
				JNIEnv.CopyArray (p9, native_p9);
			if (p10 != null)
				JNIEnv.CopyArray (p10, native_p10);
			if (p11 != null)
				JNIEnv.CopyArray (p11, native_p11);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='ReadTagTemperature' and count(parameter)=12 and parameter[1][@type='int'] and parameter[2][@type='int'] and parameter[3][@type='char'] and parameter[4][@type='int'] and parameter[5][@type='int'] and parameter[6][@type='int'] and parameter[7][@type='int'] and parameter[8][@type='int'] and parameter[9][@type='short'] and parameter[10][@type='byte[]'] and parameter[11][@type='byte[]'] and parameter[12][@type='int[]']]"
		[Register ("ReadTagTemperature", "(IICIIIIIS[B[B[I)I", "GetReadTagTemperature_IICIIIIISarrayBarrayBarrayIHandler")]
		public virtual unsafe int ReadTagTemperature (int p0, int p1, char p2, int p3, int p4, int p5, int p6, int p7, short p8, byte[] p9, byte[] p10, int[] p11)
		{
			const string __id = "ReadTagTemperature.(IICIIIIIS[B[B[I)I";
			IntPtr native_p9 = JNIEnv.NewArray (p9);
			IntPtr native_p10 = JNIEnv.NewArray (p10);
			IntPtr native_p11 = JNIEnv.NewArray (p11);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [12];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (p1);
				__args [2] = new JniArgumentValue (p2);
				__args [3] = new JniArgumentValue (p3);
				__args [4] = new JniArgumentValue (p4);
				__args [5] = new JniArgumentValue (p5);
				__args [6] = new JniArgumentValue (p6);
				__args [7] = new JniArgumentValue (p7);
				__args [8] = new JniArgumentValue (p8);
				__args [9] = new JniArgumentValue (native_p9);
				__args [10] = new JniArgumentValue (native_p10);
				__args [11] = new JniArgumentValue (native_p11);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p9 != null) {
					JNIEnv.CopyArray (native_p9, p9);
					JNIEnv.DeleteLocalRef (native_p9);
				}
				if (p10 != null) {
					JNIEnv.CopyArray (native_p10, p10);
					JNIEnv.DeleteLocalRef (native_p10);
				}
				if (p11 != null) {
					JNIEnv.CopyArray (native_p11, p11);
					JNIEnv.DeleteLocalRef (native_p11);
				}
				global::System.GC.KeepAlive (p9);
				global::System.GC.KeepAlive (p10);
				global::System.GC.KeepAlive (p11);
			}
		}

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='RebootReader' and count(parameter)=1 and parameter[1][@type='java.lang.String']]"
		[Register ("RebootReader", "(Ljava/lang/String;)I", "")]
		public static unsafe int RebootReader (string p0)
		{
			const string __id = "RebootReader.(Ljava/lang/String;)I";
			IntPtr native_p0 = JNIEnv.NewString (p0);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [1];
				__args [0] = new JniArgumentValue (native_p0);
				var __rm = _members.StaticMethods.InvokeInt32Method (__id, __args);
				return __rm;
			} finally {
				JNIEnv.DeleteLocalRef (native_p0);
			}
		}

		static Delegate cb_ResetRfidModule_I;
#pragma warning disable 0169
		static Delegate GetResetRfidModule_IHandler ()
		{
			if (cb_ResetRfidModule_I == null)
				cb_ResetRfidModule_I = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPI_I) n_ResetRfidModule_I);
			return cb_ResetRfidModule_I;
		}

		static int n_ResetRfidModule_I (IntPtr jnienv, IntPtr native__this, int p0)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return __this.ResetRfidModule (p0);
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='ResetRfidModule' and count(parameter)=1 and parameter[1][@type='int']]"
		[Register ("ResetRfidModule", "(I)I", "GetResetRfidModule_IHandler")]
		public virtual unsafe int ResetRfidModule (int p0)
		{
			const string __id = "ResetRfidModule.(I)I";
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [1];
				__args [0] = new JniArgumentValue (p0);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
			}
		}

		static Delegate cb_SaveDataOnReader_IIarrayBI;
#pragma warning disable 0169
		static Delegate GetSaveDataOnReader_IIarrayBIHandler ()
		{
			if (cb_SaveDataOnReader_IIarrayBI == null)
				cb_SaveDataOnReader_IIarrayBI = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIILI_I) n_SaveDataOnReader_IIarrayBI);
			return cb_SaveDataOnReader_IIarrayBI;
		}

		static int n_SaveDataOnReader_IIarrayBI (IntPtr jnienv, IntPtr native__this, int p0, int p1, IntPtr native_p2, int p3)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p2 = (byte[]) JNIEnv.GetArray (native_p2, JniHandleOwnership.DoNotTransfer, typeof (byte));
			int __ret = __this.SaveDataOnReader (p0, p1, p2, p3);
			if (p2 != null)
				JNIEnv.CopyArray (p2, native_p2);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='SaveDataOnReader' and count(parameter)=4 and parameter[1][@type='int'] and parameter[2][@type='int'] and parameter[3][@type='byte[]'] and parameter[4][@type='int']]"
		[Register ("SaveDataOnReader", "(II[BI)I", "GetSaveDataOnReader_IIarrayBIHandler")]
		public virtual unsafe int SaveDataOnReader (int p0, int p1, byte[] p2, int p3)
		{
			const string __id = "SaveDataOnReader.(II[BI)I";
			IntPtr native_p2 = JNIEnv.NewArray (p2);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [4];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (p1);
				__args [2] = new JniArgumentValue (native_p2);
				__args [3] = new JniArgumentValue (p3);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p2 != null) {
					JNIEnv.CopyArray (native_p2, p2);
					JNIEnv.DeleteLocalRef (native_p2);
				}
				global::System.GC.KeepAlive (p2);
			}
		}

		static Delegate cb_SetGPO_III;
#pragma warning disable 0169
		static Delegate GetSetGPO_IIIHandler ()
		{
			if (cb_SetGPO_III == null)
				cb_SetGPO_III = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIII_I) n_SetGPO_III);
			return cb_SetGPO_III;
		}

		static int n_SetGPO_III (IntPtr jnienv, IntPtr native__this, int p0, int p1, int p2)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return __this.SetGPO (p0, p1, p2);
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='SetGPO' and count(parameter)=3 and parameter[1][@type='int'] and parameter[2][@type='int'] and parameter[3][@type='int']]"
		[Register ("SetGPO", "(III)I", "GetSetGPO_IIIHandler")]
		public virtual unsafe int SetGPO (int p0, int p1, int p2)
		{
			const string __id = "SetGPO.(III)I";
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [3];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (p1);
				__args [2] = new JniArgumentValue (p2);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
			}
		}

		static Delegate cb_TagInventory_BaseType_IarrayIISarrayBarrayI;
#pragma warning disable 0169
		static Delegate GetTagInventory_BaseType_IarrayIISarrayBarrayIHandler ()
		{
			if (cb_TagInventory_BaseType_IarrayIISarrayBarrayI == null)
				cb_TagInventory_BaseType_IarrayIISarrayBarrayI = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPILISLL_I) n_TagInventory_BaseType_IarrayIISarrayBarrayI);
			return cb_TagInventory_BaseType_IarrayIISarrayBarrayI;
		}

		static int n_TagInventory_BaseType_IarrayIISarrayBarrayI (IntPtr jnienv, IntPtr native__this, int p0, IntPtr native_p1, int p2, short p3, IntPtr native_p4, IntPtr native_p5)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p1 = (int[]) JNIEnv.GetArray (native_p1, JniHandleOwnership.DoNotTransfer, typeof (int));
			var p4 = (byte[]) JNIEnv.GetArray (native_p4, JniHandleOwnership.DoNotTransfer, typeof (byte));
			var p5 = (int[]) JNIEnv.GetArray (native_p5, JniHandleOwnership.DoNotTransfer, typeof (int));
			int __ret = __this.TagInventory_BaseType (p0, p1, p2, p3, p4, p5);
			if (p1 != null)
				JNIEnv.CopyArray (p1, native_p1);
			if (p4 != null)
				JNIEnv.CopyArray (p4, native_p4);
			if (p5 != null)
				JNIEnv.CopyArray (p5, native_p5);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='TagInventory_BaseType' and count(parameter)=6 and parameter[1][@type='int'] and parameter[2][@type='int[]'] and parameter[3][@type='int'] and parameter[4][@type='short'] and parameter[5][@type='byte[]'] and parameter[6][@type='int[]']]"
		[Register ("TagInventory_BaseType", "(I[IIS[B[I)I", "GetTagInventory_BaseType_IarrayIISarrayBarrayIHandler")]
		public virtual unsafe int TagInventory_BaseType (int p0, int[] p1, int p2, short p3, byte[] p4, int[] p5)
		{
			const string __id = "TagInventory_BaseType.(I[IIS[B[I)I";
			IntPtr native_p1 = JNIEnv.NewArray (p1);
			IntPtr native_p4 = JNIEnv.NewArray (p4);
			IntPtr native_p5 = JNIEnv.NewArray (p5);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [6];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (native_p1);
				__args [2] = new JniArgumentValue (p2);
				__args [3] = new JniArgumentValue (p3);
				__args [4] = new JniArgumentValue (native_p4);
				__args [5] = new JniArgumentValue (native_p5);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p1 != null) {
					JNIEnv.CopyArray (native_p1, p1);
					JNIEnv.DeleteLocalRef (native_p1);
				}
				if (p4 != null) {
					JNIEnv.CopyArray (native_p4, p4);
					JNIEnv.DeleteLocalRef (native_p4);
				}
				if (p5 != null) {
					JNIEnv.CopyArray (native_p5, p5);
					JNIEnv.DeleteLocalRef (native_p5);
				}
				global::System.GC.KeepAlive (p1);
				global::System.GC.KeepAlive (p4);
				global::System.GC.KeepAlive (p5);
			}
		}

		static Delegate cb_TagInventory_Raw_IarrayIISarrayI;
#pragma warning disable 0169
		static Delegate GetTagInventory_Raw_IarrayIISarrayIHandler ()
		{
			if (cb_TagInventory_Raw_IarrayIISarrayI == null)
				cb_TagInventory_Raw_IarrayIISarrayI = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPILISL_I) n_TagInventory_Raw_IarrayIISarrayI);
			return cb_TagInventory_Raw_IarrayIISarrayI;
		}

		static int n_TagInventory_Raw_IarrayIISarrayI (IntPtr jnienv, IntPtr native__this, int p0, IntPtr native_p1, int p2, short p3, IntPtr native_p4)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p1 = (int[]) JNIEnv.GetArray (native_p1, JniHandleOwnership.DoNotTransfer, typeof (int));
			var p4 = (int[]) JNIEnv.GetArray (native_p4, JniHandleOwnership.DoNotTransfer, typeof (int));
			int __ret = __this.TagInventory_Raw (p0, p1, p2, p3, p4);
			if (p1 != null)
				JNIEnv.CopyArray (p1, native_p1);
			if (p4 != null)
				JNIEnv.CopyArray (p4, native_p4);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='TagInventory_Raw' and count(parameter)=5 and parameter[1][@type='int'] and parameter[2][@type='int[]'] and parameter[3][@type='int'] and parameter[4][@type='short'] and parameter[5][@type='int[]']]"
		[Register ("TagInventory_Raw", "(I[IIS[I)I", "GetTagInventory_Raw_IarrayIISarrayIHandler")]
		public virtual unsafe int TagInventory_Raw (int p0, int[] p1, int p2, short p3, int[] p4)
		{
			const string __id = "TagInventory_Raw.(I[IIS[I)I";
			IntPtr native_p1 = JNIEnv.NewArray (p1);
			IntPtr native_p4 = JNIEnv.NewArray (p4);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [5];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (native_p1);
				__args [2] = new JniArgumentValue (p2);
				__args [3] = new JniArgumentValue (p3);
				__args [4] = new JniArgumentValue (native_p4);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p1 != null) {
					JNIEnv.CopyArray (native_p1, p1);
					JNIEnv.DeleteLocalRef (native_p1);
				}
				if (p4 != null) {
					JNIEnv.CopyArray (native_p4, p4);
					JNIEnv.DeleteLocalRef (native_p4);
				}
				global::System.GC.KeepAlive (p1);
				global::System.GC.KeepAlive (p4);
			}
		}

		static Delegate cb_WriteTagData_IICIarrayBIarrayBS;
#pragma warning disable 0169
		static Delegate GetWriteTagData_IICIarrayBIarrayBSHandler ()
		{
			if (cb_WriteTagData_IICIarrayBIarrayBS == null)
				cb_WriteTagData_IICIarrayBIarrayBS = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIICILILS_I) n_WriteTagData_IICIarrayBIarrayBS);
			return cb_WriteTagData_IICIarrayBIarrayBS;
		}

		static int n_WriteTagData_IICIarrayBIarrayBS (IntPtr jnienv, IntPtr native__this, int p0, int p1, char p2, int p3, IntPtr native_p4, int p5, IntPtr native_p6, short p7)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p4 = (byte[]) JNIEnv.GetArray (native_p4, JniHandleOwnership.DoNotTransfer, typeof (byte));
			var p6 = (byte[]) JNIEnv.GetArray (native_p6, JniHandleOwnership.DoNotTransfer, typeof (byte));
			int __ret = __this.WriteTagData (p0, p1, p2, p3, p4, p5, p6, p7);
			if (p4 != null)
				JNIEnv.CopyArray (p4, native_p4);
			if (p6 != null)
				JNIEnv.CopyArray (p6, native_p6);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='WriteTagData' and count(parameter)=8 and parameter[1][@type='int'] and parameter[2][@type='int'] and parameter[3][@type='char'] and parameter[4][@type='int'] and parameter[5][@type='byte[]'] and parameter[6][@type='int'] and parameter[7][@type='byte[]'] and parameter[8][@type='short']]"
		[Register ("WriteTagData", "(IICI[BI[BS)I", "GetWriteTagData_IICIarrayBIarrayBSHandler")]
		public virtual unsafe int WriteTagData (int p0, int p1, char p2, int p3, byte[] p4, int p5, byte[] p6, short p7)
		{
			const string __id = "WriteTagData.(IICI[BI[BS)I";
			IntPtr native_p4 = JNIEnv.NewArray (p4);
			IntPtr native_p6 = JNIEnv.NewArray (p6);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [8];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (p1);
				__args [2] = new JniArgumentValue (p2);
				__args [3] = new JniArgumentValue (p3);
				__args [4] = new JniArgumentValue (native_p4);
				__args [5] = new JniArgumentValue (p5);
				__args [6] = new JniArgumentValue (native_p6);
				__args [7] = new JniArgumentValue (p7);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p4 != null) {
					JNIEnv.CopyArray (native_p4, p4);
					JNIEnv.DeleteLocalRef (native_p4);
				}
				if (p6 != null) {
					JNIEnv.CopyArray (native_p6, p6);
					JNIEnv.DeleteLocalRef (native_p6);
				}
				global::System.GC.KeepAlive (p4);
				global::System.GC.KeepAlive (p6);
			}
		}

		static Delegate cb_WriteTagEpcEx_IIarrayBIarrayBS;
#pragma warning disable 0169
		static Delegate GetWriteTagEpcEx_IIarrayBIarrayBSHandler ()
		{
			if (cb_WriteTagEpcEx_IIarrayBIarrayBS == null)
				cb_WriteTagEpcEx_IIarrayBIarrayBS = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIILILS_I) n_WriteTagEpcEx_IIarrayBIarrayBS);
			return cb_WriteTagEpcEx_IIarrayBIarrayBS;
		}

		static int n_WriteTagEpcEx_IIarrayBIarrayBS (IntPtr jnienv, IntPtr native__this, int p0, int p1, IntPtr native_p2, int p3, IntPtr native_p4, short p5)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.JniModuleAPI> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var p2 = (byte[]) JNIEnv.GetArray (native_p2, JniHandleOwnership.DoNotTransfer, typeof (byte));
			var p4 = (byte[]) JNIEnv.GetArray (native_p4, JniHandleOwnership.DoNotTransfer, typeof (byte));
			int __ret = __this.WriteTagEpcEx (p0, p1, p2, p3, p4, p5);
			if (p2 != null)
				JNIEnv.CopyArray (p2, native_p2);
			if (p4 != null)
				JNIEnv.CopyArray (p4, native_p4);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='JniModuleAPI']/method[@name='WriteTagEpcEx' and count(parameter)=6 and parameter[1][@type='int'] and parameter[2][@type='int'] and parameter[3][@type='byte[]'] and parameter[4][@type='int'] and parameter[5][@type='byte[]'] and parameter[6][@type='short']]"
		[Register ("WriteTagEpcEx", "(II[BI[BS)I", "GetWriteTagEpcEx_IIarrayBIarrayBSHandler")]
		public virtual unsafe int WriteTagEpcEx (int p0, int p1, byte[] p2, int p3, byte[] p4, short p5)
		{
			const string __id = "WriteTagEpcEx.(II[BI[BS)I";
			IntPtr native_p2 = JNIEnv.NewArray (p2);
			IntPtr native_p4 = JNIEnv.NewArray (p4);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [6];
				__args [0] = new JniArgumentValue (p0);
				__args [1] = new JniArgumentValue (p1);
				__args [2] = new JniArgumentValue (native_p2);
				__args [3] = new JniArgumentValue (p3);
				__args [4] = new JniArgumentValue (native_p4);
				__args [5] = new JniArgumentValue (p5);
				var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, __args);
				return __rm;
			} finally {
				if (p2 != null) {
					JNIEnv.CopyArray (native_p2, p2);
					JNIEnv.DeleteLocalRef (native_p2);
				}
				if (p4 != null) {
					JNIEnv.CopyArray (native_p4, p4);
					JNIEnv.DeleteLocalRef (native_p4);
				}
				global::System.GC.KeepAlive (p2);
				global::System.GC.KeepAlive (p4);
			}
		}

	}
}
