diff options
Diffstat (limited to 'Samples/C#/IPSec/ipsec_lib/IPSecCtx.cs')
-rw-r--r-- | Samples/C#/IPSec/ipsec_lib/IPSecCtx.cs | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/Samples/C#/IPSec/ipsec_lib/IPSecCtx.cs b/Samples/C#/IPSec/ipsec_lib/IPSecCtx.cs new file mode 100644 index 0000000..ccf94e2 --- /dev/null +++ b/Samples/C#/IPSec/ipsec_lib/IPSecCtx.cs @@ -0,0 +1,94 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 2.0.9 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +namespace org.doubango.ipsecWRAP { + +using System; +using System.Runtime.InteropServices; + +public class IPSecCtx : IDisposable { + private HandleRef swigCPtr; + protected bool swigCMemOwn; + + internal IPSecCtx(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } + + internal static HandleRef getCPtr(IPSecCtx obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } + + ~IPSecCtx() { + Dispose(); + } + + public virtual void Dispose() { + lock(this) { + if (swigCPtr.Handle != IntPtr.Zero) { + if (swigCMemOwn) { + swigCMemOwn = false; + ipsec_libPINVOKE.delete_IPSecCtx(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + } + GC.SuppressFinalize(this); + } + } + + public IPSecCtx(tipsec_ipproto_t ipproto, bool use_ipv6, tipsec_mode_t mode, tipsec_ealg_t ealg, tipsec_alg_t alg, tipsec_proto_t protocol) : this(ipsec_libPINVOKE.new_IPSecCtx((int)ipproto, use_ipv6, (int)mode, (int)ealg, (int)alg, (int)protocol), true) { + } + + public tipsec_error_t start() { + tipsec_error_t ret = (tipsec_error_t)ipsec_libPINVOKE.IPSecCtx_start(swigCPtr); + return ret; + } + + public tipsec_error_t setLocal(string addr_local, string addr_remote, ushort port_uc, ushort port_us) { + tipsec_error_t ret = (tipsec_error_t)ipsec_libPINVOKE.IPSecCtx_setLocal(swigCPtr, addr_local, addr_remote, port_uc, port_us); + return ret; + } + + public tipsec_error_t setKeys(IntPtr ik, IntPtr ck) { + tipsec_error_t ret = (tipsec_error_t)ipsec_libPINVOKE.IPSecCtx_setKeys(swigCPtr, ik, ck); + return ret; + } + + public tipsec_error_t setRemote(uint spi_pc, uint spi_ps, ushort port_pc, ushort port_ps, ulong lifetime) { + tipsec_error_t ret = (tipsec_error_t)ipsec_libPINVOKE.IPSecCtx_setRemote(swigCPtr, spi_pc, spi_ps, port_pc, port_ps, lifetime); + return ret; + } + + public tipsec_error_t stop() { + tipsec_error_t ret = (tipsec_error_t)ipsec_libPINVOKE.IPSecCtx_stop(swigCPtr); + return ret; + } + + public uint getSpiUC() { + uint ret = ipsec_libPINVOKE.IPSecCtx_getSpiUC(swigCPtr); + return ret; + } + + public uint getSpiUS() { + uint ret = ipsec_libPINVOKE.IPSecCtx_getSpiUS(swigCPtr); + return ret; + } + + public uint getSpiPC() { + uint ret = ipsec_libPINVOKE.IPSecCtx_getSpiPC(swigCPtr); + return ret; + } + + public uint getSpiPS() { + uint ret = ipsec_libPINVOKE.IPSecCtx_getSpiPS(swigCPtr); + return ret; + } + +} + +} |