/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 3.0.12
 *
 * This file is not intended to be easily readable and contains a number of
 * coding conventions designed to improve portability and efficiency. Do not make
 * changes to this file unless you know what you are doing--modify the SWIG
 * interface file instead.
 * ----------------------------------------------------------------------------- */


#ifndef SWIGCSHARP
#define SWIGCSHARP
#endif



#ifdef __cplusplus
/* SwigValueWrapper is described in swig.swg */
template<typename T> class SwigValueWrapper {
  struct SwigMovePointer {
    T *ptr;
    SwigMovePointer(T *p) : ptr(p) { }
    ~SwigMovePointer() { delete ptr; }
    SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
  } pointer;
  SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
  SwigValueWrapper(const SwigValueWrapper<T>& rhs);
public:
  SwigValueWrapper() : pointer(0) { }
  SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; }
  operator T&() const { return *pointer.ptr; }
  T *operator&() { return pointer.ptr; }
};

template <typename T> T SwigValueInit() {
  return T();
}
#endif

/* -----------------------------------------------------------------------------
 *  This section contains generic SWIG labels for method/variable
 *  declarations/attributes, and other compiler dependent labels.
 * ----------------------------------------------------------------------------- */

/* template workaround for compilers that cannot correctly implement the C++ standard */
#ifndef SWIGTEMPLATEDISAMBIGUATOR
# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
#  define SWIGTEMPLATEDISAMBIGUATOR template
# elif defined(__HP_aCC)
/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
#  define SWIGTEMPLATEDISAMBIGUATOR template
# else
#  define SWIGTEMPLATEDISAMBIGUATOR
# endif
#endif

/* inline attribute */
#ifndef SWIGINLINE
# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
#   define SWIGINLINE inline
# else
#   define SWIGINLINE
# endif
#endif

/* attribute recognised by some compilers to avoid 'unused' warnings */
#ifndef SWIGUNUSED
# if defined(__GNUC__)
#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
#     define SWIGUNUSED __attribute__ ((__unused__))
#   else
#     define SWIGUNUSED
#   endif
# elif defined(__ICC)
#   define SWIGUNUSED __attribute__ ((__unused__))
# else
#   define SWIGUNUSED
# endif
#endif

#ifndef SWIG_MSC_UNSUPPRESS_4505
# if defined(_MSC_VER)
#   pragma warning(disable : 4505) /* unreferenced local function has been removed */
# endif
#endif

#ifndef SWIGUNUSEDPARM
# ifdef __cplusplus
#   define SWIGUNUSEDPARM(p)
# else
#   define SWIGUNUSEDPARM(p) p SWIGUNUSED
# endif
#endif

/* internal SWIG method */
#ifndef SWIGINTERN
# define SWIGINTERN static SWIGUNUSED
#endif

/* internal inline SWIG method */
#ifndef SWIGINTERNINLINE
# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
#endif

/* exporting methods */
#if defined(__GNUC__)
#  if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
#    ifndef GCC_HASCLASSVISIBILITY
#      define GCC_HASCLASSVISIBILITY
#    endif
#  endif
#endif

#ifndef SWIGEXPORT
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
#   if defined(STATIC_LINKED)
#     define SWIGEXPORT
#   else
#     define SWIGEXPORT __declspec(dllexport)
#   endif
# else
#   if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
#     define SWIGEXPORT __attribute__ ((visibility("default")))
#   else
#     define SWIGEXPORT
#   endif
# endif
#endif

/* calling conventions for Windows */
#ifndef SWIGSTDCALL
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
#   define SWIGSTDCALL __stdcall
# else
#   define SWIGSTDCALL
# endif
#endif

/* Deal with Microsoft's attempt at deprecating C standard runtime functions */
#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
# define _CRT_SECURE_NO_DEPRECATE
#endif

/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
# define _SCL_SECURE_NO_DEPRECATE
#endif

/* Deal with Apple's deprecated 'AssertMacros.h' from Carbon-framework */
#if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES)
# define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
#endif

/* Intel's compiler complains if a variable which was never initialised is
 * cast to void, which is a common idiom which we use to indicate that we
 * are aware a variable isn't used.  So we just silence that warning.
 * See: https://github.com/swig/swig/issues/192 for more discussion.
 */
#ifdef __INTEL_COMPILER
# pragma warning disable 592
#endif


#include <stdlib.h>
#include <string.h>
#include <stdio.h>


/* Support for throwing C# exceptions from C/C++. There are two types: 
 * Exceptions that take a message and ArgumentExceptions that take a message and a parameter name. */
typedef enum {
  SWIG_CSharpApplicationException,
  SWIG_CSharpArithmeticException,
  SWIG_CSharpDivideByZeroException,
  SWIG_CSharpIndexOutOfRangeException,
  SWIG_CSharpInvalidCastException,
  SWIG_CSharpInvalidOperationException,
  SWIG_CSharpIOException,
  SWIG_CSharpNullReferenceException,
  SWIG_CSharpOutOfMemoryException,
  SWIG_CSharpOverflowException,
  SWIG_CSharpSystemException
} SWIG_CSharpExceptionCodes;

typedef enum {
  SWIG_CSharpArgumentException,
  SWIG_CSharpArgumentNullException,
  SWIG_CSharpArgumentOutOfRangeException
} SWIG_CSharpExceptionArgumentCodes;

typedef void (SWIGSTDCALL* SWIG_CSharpExceptionCallback_t)(const char *);
typedef void (SWIGSTDCALL* SWIG_CSharpExceptionArgumentCallback_t)(const char *, const char *);

typedef struct {
  SWIG_CSharpExceptionCodes code;
  SWIG_CSharpExceptionCallback_t callback;
} SWIG_CSharpException_t;

typedef struct {
  SWIG_CSharpExceptionArgumentCodes code;
  SWIG_CSharpExceptionArgumentCallback_t callback;
} SWIG_CSharpExceptionArgument_t;

static SWIG_CSharpException_t SWIG_csharp_exceptions[] = {
  { SWIG_CSharpApplicationException, NULL },
  { SWIG_CSharpArithmeticException, NULL },
  { SWIG_CSharpDivideByZeroException, NULL },
  { SWIG_CSharpIndexOutOfRangeException, NULL },
  { SWIG_CSharpInvalidCastException, NULL },
  { SWIG_CSharpInvalidOperationException, NULL },
  { SWIG_CSharpIOException, NULL },
  { SWIG_CSharpNullReferenceException, NULL },
  { SWIG_CSharpOutOfMemoryException, NULL },
  { SWIG_CSharpOverflowException, NULL },
  { SWIG_CSharpSystemException, NULL }
};

static SWIG_CSharpExceptionArgument_t SWIG_csharp_exceptions_argument[] = {
  { SWIG_CSharpArgumentException, NULL },
  { SWIG_CSharpArgumentNullException, NULL },
  { SWIG_CSharpArgumentOutOfRangeException, NULL }
};

static void SWIGUNUSED SWIG_CSharpSetPendingException(SWIG_CSharpExceptionCodes code, const char *msg) {
  SWIG_CSharpExceptionCallback_t callback = SWIG_csharp_exceptions[SWIG_CSharpApplicationException].callback;
  if ((size_t)code < sizeof(SWIG_csharp_exceptions)/sizeof(SWIG_CSharpException_t)) {
    callback = SWIG_csharp_exceptions[code].callback;
  }
  callback(msg);
}

static void SWIGUNUSED SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpExceptionArgumentCodes code, const char *msg, const char *param_name) {
  SWIG_CSharpExceptionArgumentCallback_t callback = SWIG_csharp_exceptions_argument[SWIG_CSharpArgumentException].callback;
  if ((size_t)code < sizeof(SWIG_csharp_exceptions_argument)/sizeof(SWIG_CSharpExceptionArgument_t)) {
    callback = SWIG_csharp_exceptions_argument[code].callback;
  }
  callback(msg, param_name);
}


#ifdef __cplusplus
extern "C" 
#endif
SWIGEXPORT void SWIGSTDCALL SWIGRegisterExceptionCallbacks_freeswitch(
                                                SWIG_CSharpExceptionCallback_t applicationCallback,
                                                SWIG_CSharpExceptionCallback_t arithmeticCallback,
                                                SWIG_CSharpExceptionCallback_t divideByZeroCallback, 
                                                SWIG_CSharpExceptionCallback_t indexOutOfRangeCallback, 
                                                SWIG_CSharpExceptionCallback_t invalidCastCallback,
                                                SWIG_CSharpExceptionCallback_t invalidOperationCallback,
                                                SWIG_CSharpExceptionCallback_t ioCallback,
                                                SWIG_CSharpExceptionCallback_t nullReferenceCallback,
                                                SWIG_CSharpExceptionCallback_t outOfMemoryCallback, 
                                                SWIG_CSharpExceptionCallback_t overflowCallback, 
                                                SWIG_CSharpExceptionCallback_t systemCallback) {
  SWIG_csharp_exceptions[SWIG_CSharpApplicationException].callback = applicationCallback;
  SWIG_csharp_exceptions[SWIG_CSharpArithmeticException].callback = arithmeticCallback;
  SWIG_csharp_exceptions[SWIG_CSharpDivideByZeroException].callback = divideByZeroCallback;
  SWIG_csharp_exceptions[SWIG_CSharpIndexOutOfRangeException].callback = indexOutOfRangeCallback;
  SWIG_csharp_exceptions[SWIG_CSharpInvalidCastException].callback = invalidCastCallback;
  SWIG_csharp_exceptions[SWIG_CSharpInvalidOperationException].callback = invalidOperationCallback;
  SWIG_csharp_exceptions[SWIG_CSharpIOException].callback = ioCallback;
  SWIG_csharp_exceptions[SWIG_CSharpNullReferenceException].callback = nullReferenceCallback;
  SWIG_csharp_exceptions[SWIG_CSharpOutOfMemoryException].callback = outOfMemoryCallback;
  SWIG_csharp_exceptions[SWIG_CSharpOverflowException].callback = overflowCallback;
  SWIG_csharp_exceptions[SWIG_CSharpSystemException].callback = systemCallback;
}

#ifdef __cplusplus
extern "C" 
#endif
SWIGEXPORT void SWIGSTDCALL SWIGRegisterExceptionArgumentCallbacks_freeswitch(
                                                SWIG_CSharpExceptionArgumentCallback_t argumentCallback,
                                                SWIG_CSharpExceptionArgumentCallback_t argumentNullCallback,
                                                SWIG_CSharpExceptionArgumentCallback_t argumentOutOfRangeCallback) {
  SWIG_csharp_exceptions_argument[SWIG_CSharpArgumentException].callback = argumentCallback;
  SWIG_csharp_exceptions_argument[SWIG_CSharpArgumentNullException].callback = argumentNullCallback;
  SWIG_csharp_exceptions_argument[SWIG_CSharpArgumentOutOfRangeException].callback = argumentOutOfRangeCallback;
}


/* Contract support */

#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, msg, ""); return nullreturn; } else



/* Callback for returning strings to C# without leaking memory */
#ifndef _MANAGED
#include <mono/jit/jit.h>
#include <mono/metadata/environment.h>
#include <mono/metadata/mono-config.h>
#include <mono/metadata/threads.h>
#include <mono/metadata/debug-helpers.h>
#endif

typedef char * (SWIGSTDCALL* SWIG_CSharpStringHelperCallback)(const char *);
static SWIG_CSharpStringHelperCallback SWIG_csharp_string_callback_real = NULL;


#ifdef __cplusplus
extern "C" 
#endif
SWIGEXPORT void SWIGSTDCALL SWIGRegisterStringCallback_freeswitch(SWIG_CSharpStringHelperCallback callback) {
	/* Set this only once, in the main appdomain */
	if (SWIG_csharp_string_callback_real == NULL) SWIG_csharp_string_callback_real = callback;
}
char * SWIG_csharp_string_callback(const char * str) {
#ifndef _MANAGED
	// Mono won't transition appdomains properly after the callback, so we force it
	MonoDomain* dom = mono_domain_get();
	char* res = SWIG_csharp_string_callback_real(str);
	mono_domain_set(dom, true);
	return res;
#else
	return SWIG_csharp_string_callback_real(str);
#endif
}


#include "switch.h"
#include "switch_cpp.h"
#include "freeswitch_managed.h"


#ifdef __cplusplus
extern "C" {
#endif

SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_FREESWITCH_PEN_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("27880");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_FREESWITCH_OID_PREFIX_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)(".1.3.6.1.4.1.27880");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_FREESWITCH_ITAD_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("543");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative___EXTENSIONS___get___() {
  int jresult ;
  int result;
  
  result = (int)(1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative___BSD_VISIBLE_get___() {
  int jresult ;
  int result;
  
  result = (int)(1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_ENT_ORIGINATE_DELIM_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)(":_:");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_BLANK_STRING_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_TON_UNDEF_get___() {
  int jresult ;
  int result;
  
  result = (int)(255);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_NUMPLAN_UNDEF_get___() {
  int jresult ;
  int result;
  
  result = (int)(255);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_ESC_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("\33[");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_HOME_CHAR_get___() {
  char jresult ;
  char result;
  
  result = (char)('H');
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_HOME_CHAR_STR_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("H");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_CLEARLINE_CHAR_get___() {
  char jresult ;
  char result;
  
  result = (char)('1');
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_CLEARLINE_CHAR_STR_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("1");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_CLEARLINEEND_CHAR_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("K");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_CLEARSCR_CHAR0_get___() {
  char jresult ;
  char result;
  
  result = (char)('2');
  jresult = result; 
  return jresult;
}


SWIGEXPORT char SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_CLEARSCR_CHAR1_get___() {
  char jresult ;
  char result;
  
  result = (char)('J');
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_CLEARSCR_CHAR_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("2J");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_AND_COLOR_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)(";");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_END_COLOR_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("m");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_F_BLACK_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("30");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_F_RED_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("31");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_F_GREEN_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("32");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_F_YELLOW_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("33");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_F_BLUE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("34");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_F_MAGEN_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("35");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_F_CYAN_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("36");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_F_WHITE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("37");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_B_BLACK_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("40");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_B_RED_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("41");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_B_GREEN_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("42");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_B_YELLOW_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("43");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_B_BLUE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("44");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_B_MAGEN_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("45");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_B_CYAN_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("46");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_B_WHITE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("47");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_FBLACK_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("\33[30m");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_FRED_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("\33[31m");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_FGREEN_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("\33[32m");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_FYELLOW_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("\33[33m");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_FBLUE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("\33[34m");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_FMAGEN_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("\33[35m");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_FCYAN_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("\33[36m");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_FWHITE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("\33[37m");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_BBLACK_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("\33[40m");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_BRED_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("\33[41m");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_BGREEN_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("\33[42m");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_BYELLOW_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("\33[43m");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_BBLUE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("\33[44m");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_BMAGEN_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("\33[45m");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_BCYAN_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("\33[46m");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_BWHITE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("\33[47m");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_HOME_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("\33[H");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_CLEARLINE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("\33[1");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_CLEARLINEEND_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("\33[K");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEQ_CLEARSCR_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("\33[2J\33[H");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_DEFAULT_CLID_NAME_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_DEFAULT_CLID_NUMBER_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("0000000000");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_DEFAULT_DTMF_DURATION_get___() {
  int jresult ;
  int result;
  
  result = (int)(2000);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_DEFAULT_TIMEOUT_get___() {
  int jresult ;
  int result;
  
  result = (int)(60);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_MIN_DTMF_DURATION_get___() {
  int jresult ;
  int result;
  
  result = (int)(400);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_MAX_DTMF_DURATION_get___() {
  int jresult ;
  int result;
  
  result = (int)(192000);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_PATH_SEPARATOR_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("/");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_URL_SEPARATOR_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("://");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_IGNORE_DISPLAY_UPDATES_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("ignore_display_updates");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_AUDIO_SPOOL_PATH_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("audio_spool_path");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_BRIDGE_HANGUP_CAUSE_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("bridge_hangup_cause");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_READ_TERMINATOR_USED_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("read_terminator_used");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("send_silence_when_idle");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CURRENT_APPLICATION_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("current_application");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CURRENT_APPLICATION_DATA_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("current_application_data");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("current_application_response");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_PASSTHRU_PTIME_MISMATCH_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("passthru_ptime_mismatch");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("enable_heartbeat_events");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("bypass_media_after_bridge");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_READ_RESULT_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("read_result");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_ATT_XFER_RESULT_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("att_xfer_result");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_COPY_XML_CDR_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("copy_xml_cdr");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_COPY_JSON_CDR_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("copy_json_cdr");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("proto_specific_hangup_cause");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_TRANSFER_HISTORY_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("transfer_history");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_TRANSFER_SOURCE_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("transfer_source");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SENSITIVE_DTMF_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("sensitive_dtmf");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_RECORD_POST_PROCESS_EXEC_APP_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("record_post_process_exec_app");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_RECORD_POST_PROCESS_EXEC_API_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("record_post_process_exec_api");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("execute_on_answer");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_EXECUTE_ON_PRE_ANSWER_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("execute_on_pre_answer");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_EXECUTE_ON_MEDIA_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("execute_on_media");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("execute_on_ring");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_EXECUTE_ON_TONE_DETECT_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("execute_on_tone_detect");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_EXECUTE_ON_ORIGINATE_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("execute_on_originate");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_EXECUTE_ON_POST_ORIGINATE_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("execute_on_post_originate");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_EXECUTE_ON_PRE_ORIGINATE_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("execute_on_pre_originate");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_EXECUTE_ON_PRE_BRIDGE_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("execute_on_pre_bridge");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_EXECUTE_ON_POST_BRIDGE_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("execute_on_post_bridge");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_API_ON_ANSWER_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("api_on_answer");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_API_ON_PRE_ANSWER_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("api_on_pre_answer");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_API_ON_MEDIA_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("api_on_media");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_API_ON_RING_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("api_on_ring");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_API_ON_TONE_DETECT_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("api_on_tone_detect");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_API_ON_ORIGINATE_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("api_on_originate");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_API_ON_POST_ORIGINATE_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("api_on_post_originate");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_API_ON_PRE_ORIGINATE_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("api_on_pre_originate");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CALL_TIMEOUT_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("call_timeout");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_HOLDING_UUID_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("holding_uuid");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SOFT_HOLDING_UUID_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("soft_holding_uuid");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_API_BRIDGE_END_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("api_after_bridge");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_API_BRIDGE_START_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("api_before_bridge");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_API_HANGUP_HOOK_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("api_hangup_hook");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_API_REPORTING_HOOK_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("api_reporting_hook");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("session_in_hangup_hook");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_PROCESS_CDR_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("process_cdr");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SKIP_CDR_CAUSES_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("skip_cdr_causes");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_FORCE_PROCESS_CDR_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("force_process_cdr");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_BRIDGE_CHANNEL_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("bridge_channel");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_NAME_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("channel_name");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_BRIDGE_UUID_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("bridge_uuid");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("continue_on_fail");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("playback_terminators");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_PLAYBACK_TERMINATOR_USED_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("playback_terminator_used");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("cache_speech_handles");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("__cache_speech_handles_obj__");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_BYPASS_MEDIA_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("bypass_media");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_PROXY_MEDIA_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("proxy_media");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_ZRTP_PASSTHRU_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("zrtp_passthru");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("endpoint_disposition");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_HOLD_MUSIC_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("hold_music");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_TEMP_HOLD_MUSIC_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("temp_hold_music");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_EXPORT_VARS_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("export_vars");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_BRIDGE_EXPORT_VARS_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("bridge_export_vars");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_R_SDP_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("switch_r_sdp");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_L_SDP_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("switch_l_sdp");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_B_SDP_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("switch_m_sdp");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_BRIDGE_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("bridge_to");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_LAST_BRIDGE_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("last_bridge_to");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SIGNAL_BRIDGE_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("signal_bridge_to");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SIGNAL_BOND_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("signal_bond");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_ORIGINATE_SIGNAL_BOND_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("originate_signal_bond");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_ORIGINATOR_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("originator");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_ORIGINATOR_CODEC_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("originator_codec");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_ORIGINATOR_VIDEO_CODEC_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("originator_video_codec");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_LOCAL_MEDIA_IP_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("local_media_ip");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("local_media_port");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_ADVERTISED_MEDIA_IP_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("advertised_media_ip");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_REMOTE_MEDIA_IP_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("remote_media_ip");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("remote_media_port");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_REMOTE_VIDEO_IP_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("remote_video_ip");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("remote_video_port");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_LOCAL_VIDEO_IP_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("local_video_ip");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("local_video_port");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_LOCAL_TEXT_IP_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("local_text_ip");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_LOCAL_TEXT_PORT_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("local_text_port");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("hangup_after_bridge");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_PARK_AFTER_BRIDGE_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("park_after_bridge");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_PARK_AFTER_EARLY_BRIDGE_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("park_after_early_bridge");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_TRANSFER_AFTER_BRIDGE_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("transfer_after_bridge");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_TRANSFER_AFTER_EARLY_BRIDGE_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("transfer_after_early_bridge");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("exec_after_bridge_app");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("exec_after_bridge_arg");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_MAX_FORWARDS_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("max_forwards");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_RFC7989_SESSION_ID_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("session_uuid");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_RFC7989_REMOTE_SESSION_ID_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("remote_session_uuid");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_RFC7989_APP_SESSION_ID_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("app_session_uuid");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_RFC7989_GENERIC_PARAM_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("generic_param_session_uuid");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_MAX_SESSION_TRANSFERS_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("max_session_transfers");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_DISABLE_APP_LOG_VARIABLE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("disable_app_log");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SPEECH_KEY_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("speech");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_UUID_BRIDGE_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("uuid_bridge");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_BITS_PER_BYTE_get___() {
  int jresult ;
  int result;
  
  result = (int)(8);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_DEFAULT_FILE_BUFFER_LEN_get___() {
  int jresult ;
  int result;
  
  result = (int)(65536);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_DTMF_LOG_LEN_get___() {
  int jresult ;
  int result;
  
  result = (int)(1000);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_MAX_TRANS_get___() {
  int jresult ;
  int result;
  
  result = (int)(2000);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_SESSION_MAX_PRIVATES_get___() {
  int jresult ;
  int result;
  
  result = (int)(2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_DEFAULT_VIDEO_SIZE_get___() {
  int jresult ;
  int result;
  
  result = (int)(1200);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_RTCP_AUDIO_INTERVAL_MSEC_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("1000");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_RTCP_VIDEO_INTERVAL_MSEC_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("1000");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_MAX_FMTP_LEN_get___() {
  int jresult ;
  int result;
  
  result = (int)(256);
  jresult = result; 
  return jresult;
}


SWIGEXPORT double SWIGSTDCALL CSharp_FreeSWITCHfNative_JITTER_VARIANCE_THRESHOLD_get___() {
  double jresult ;
  double result;
  
  result = (double)(400.0);
  jresult = result; 
  return jresult;
}


SWIGEXPORT double SWIGSTDCALL CSharp_FreeSWITCHfNative_IPDV_THRESHOLD_get___() {
  double jresult ;
  double result;
  
  result = (double)(1.0);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_LOST_BURST_ANALYZE_get___() {
  int jresult ;
  int result;
  
  result = (int)(500);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_LOST_BURST_CAPTURE_get___() {
  int jresult ;
  int result;
  
  result = (int)(1024);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dtmf_t_digit_set___(void * jarg1, char jarg2) {
  switch_dtmf_t *arg1 = (switch_dtmf_t *) 0 ;
  char arg2 ;
  
  arg1 = (switch_dtmf_t *)jarg1; 
  arg2 = (char)jarg2; 
  if (arg1) (arg1)->digit = arg2;
}


SWIGEXPORT char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dtmf_t_digit_get___(void * jarg1) {
  char jresult ;
  switch_dtmf_t *arg1 = (switch_dtmf_t *) 0 ;
  char result;
  
  arg1 = (switch_dtmf_t *)jarg1; 
  result = (char) ((arg1)->digit);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dtmf_t_duration_set___(void * jarg1, unsigned long jarg2) {
  switch_dtmf_t *arg1 = (switch_dtmf_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_dtmf_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->duration = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dtmf_t_duration_get___(void * jarg1) {
  unsigned long jresult ;
  switch_dtmf_t *arg1 = (switch_dtmf_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_dtmf_t *)jarg1; 
  result = (uint32_t) ((arg1)->duration);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dtmf_t_flags_set___(void * jarg1, int jarg2) {
  switch_dtmf_t *arg1 = (switch_dtmf_t *) 0 ;
  int32_t arg2 ;
  
  arg1 = (switch_dtmf_t *)jarg1; 
  arg2 = (int32_t)jarg2; 
  if (arg1) (arg1)->flags = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dtmf_t_flags_get___(void * jarg1) {
  int jresult ;
  switch_dtmf_t *arg1 = (switch_dtmf_t *) 0 ;
  int32_t result;
  
  arg1 = (switch_dtmf_t *)jarg1; 
  result = (int32_t) ((arg1)->flags);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dtmf_t_source_set___(void * jarg1, int jarg2) {
  switch_dtmf_t *arg1 = (switch_dtmf_t *) 0 ;
  switch_dtmf_source_t arg2 ;
  
  arg1 = (switch_dtmf_t *)jarg1; 
  arg2 = (switch_dtmf_source_t)jarg2; 
  if (arg1) (arg1)->source = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dtmf_t_source_get___(void * jarg1) {
  int jresult ;
  switch_dtmf_t *arg1 = (switch_dtmf_t *) 0 ;
  switch_dtmf_source_t result;
  
  arg1 = (switch_dtmf_t *)jarg1; 
  result = (switch_dtmf_source_t) ((arg1)->source);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_dtmf_t___() {
  void * jresult ;
  switch_dtmf_t *result = 0 ;
  
  result = (switch_dtmf_t *)new switch_dtmf_t();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_dtmf_t___(void * jarg1) {
  switch_dtmf_t *arg1 = (switch_dtmf_t *) 0 ;
  
  arg1 = (switch_dtmf_t *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_bitpack_t_buf_set___(void * jarg1, void * jarg2) {
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  switch_byte_t *arg2 = (switch_byte_t *) 0 ;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  arg2 = (switch_byte_t *)jarg2; 
  if (arg1) (arg1)->buf = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_bitpack_t_buf_get___(void * jarg1) {
  void * jresult ;
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  switch_byte_t *result = 0 ;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  result = (switch_byte_t *) ((arg1)->buf);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_bitpack_t_buflen_set___(void * jarg1, unsigned long jarg2) {
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->buflen = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_bitpack_t_buflen_get___(void * jarg1) {
  unsigned long jresult ;
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  result = (uint32_t) ((arg1)->buflen);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_bitpack_t_cur_set___(void * jarg1, void * jarg2) {
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  switch_byte_t *arg2 = (switch_byte_t *) 0 ;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  arg2 = (switch_byte_t *)jarg2; 
  if (arg1) (arg1)->cur = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_bitpack_t_cur_get___(void * jarg1) {
  void * jresult ;
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  switch_byte_t *result = 0 ;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  result = (switch_byte_t *) ((arg1)->cur);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_bitpack_t_bytes_set___(void * jarg1, unsigned long jarg2) {
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->bytes = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_bitpack_t_bytes_get___(void * jarg1) {
  unsigned long jresult ;
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  result = (uint32_t) ((arg1)->bytes);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_bitpack_t_bits_tot_set___(void * jarg1, unsigned long jarg2) {
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->bits_tot = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_bitpack_t_bits_tot_get___(void * jarg1) {
  unsigned long jresult ;
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  result = (uint32_t) ((arg1)->bits_tot);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_bitpack_t_bits_cur_set___(void * jarg1, unsigned char jarg2) {
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  switch_byte_t arg2 ;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  arg2 = (switch_byte_t)jarg2; 
  if (arg1) (arg1)->bits_cur = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_bitpack_t_bits_cur_get___(void * jarg1) {
  unsigned char jresult ;
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  switch_byte_t result;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  result = (switch_byte_t) ((arg1)->bits_cur);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_bitpack_t_bits_rem_set___(void * jarg1, unsigned char jarg2) {
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  switch_byte_t arg2 ;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  arg2 = (switch_byte_t)jarg2; 
  if (arg1) (arg1)->bits_rem = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_bitpack_t_bits_rem_get___(void * jarg1) {
  unsigned char jresult ;
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  switch_byte_t result;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  result = (switch_byte_t) ((arg1)->bits_rem);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_bitpack_t_frame_bits_set___(void * jarg1, unsigned char jarg2) {
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  switch_byte_t arg2 ;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  arg2 = (switch_byte_t)jarg2; 
  if (arg1) (arg1)->frame_bits = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_bitpack_t_frame_bits_get___(void * jarg1) {
  unsigned char jresult ;
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  switch_byte_t result;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  result = (switch_byte_t) ((arg1)->frame_bits);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_bitpack_t_shiftby_set___(void * jarg1, unsigned char jarg2) {
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  switch_byte_t arg2 ;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  arg2 = (switch_byte_t)jarg2; 
  if (arg1) (arg1)->shiftby = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_bitpack_t_shiftby_get___(void * jarg1) {
  unsigned char jresult ;
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  switch_byte_t result;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  result = (switch_byte_t) ((arg1)->shiftby);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_bitpack_t_this_byte_set___(void * jarg1, unsigned char jarg2) {
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  switch_byte_t arg2 ;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  arg2 = (switch_byte_t)jarg2; 
  if (arg1) (arg1)->this_byte = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_bitpack_t_this_byte_get___(void * jarg1) {
  unsigned char jresult ;
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  switch_byte_t result;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  result = (switch_byte_t) ((arg1)->this_byte);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_bitpack_t_under_set___(void * jarg1, unsigned char jarg2) {
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  switch_byte_t arg2 ;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  arg2 = (switch_byte_t)jarg2; 
  if (arg1) (arg1)->under = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_bitpack_t_under_get___(void * jarg1) {
  unsigned char jresult ;
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  switch_byte_t result;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  result = (switch_byte_t) ((arg1)->under);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_bitpack_t_over_set___(void * jarg1, unsigned char jarg2) {
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  switch_byte_t arg2 ;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  arg2 = (switch_byte_t)jarg2; 
  if (arg1) (arg1)->over = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_bitpack_t_over_get___(void * jarg1) {
  unsigned char jresult ;
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  switch_byte_t result;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  result = (switch_byte_t) ((arg1)->over);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_bitpack_t_mode_set___(void * jarg1, int jarg2) {
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  switch_bitpack_mode_t arg2 ;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  arg2 = (switch_bitpack_mode_t)jarg2; 
  if (arg1) (arg1)->mode = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_bitpack_t_mode_get___(void * jarg1) {
  int jresult ;
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  switch_bitpack_mode_t result;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  result = (switch_bitpack_mode_t) ((arg1)->mode);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_bitpack_t___() {
  void * jresult ;
  switch_bitpack_t *result = 0 ;
  
  result = (switch_bitpack_t *)new switch_bitpack_t();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_bitpack_t___(void * jarg1) {
  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
  
  arg1 = (switch_bitpack_t *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_base_dir_set___(void * jarg1, char * jarg2) {
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->base_dir;
    if (arg2) {
      arg1->base_dir = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->base_dir, (const char *)arg2);
    } else {
      arg1->base_dir = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_base_dir_get___(void * jarg1) {
  char * jresult ;
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  result = (char *) ((arg1)->base_dir);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_mod_dir_set___(void * jarg1, char * jarg2) {
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->mod_dir;
    if (arg2) {
      arg1->mod_dir = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->mod_dir, (const char *)arg2);
    } else {
      arg1->mod_dir = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_mod_dir_get___(void * jarg1) {
  char * jresult ;
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  result = (char *) ((arg1)->mod_dir);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_conf_dir_set___(void * jarg1, char * jarg2) {
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->conf_dir;
    if (arg2) {
      arg1->conf_dir = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->conf_dir, (const char *)arg2);
    } else {
      arg1->conf_dir = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_conf_dir_get___(void * jarg1) {
  char * jresult ;
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  result = (char *) ((arg1)->conf_dir);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_log_dir_set___(void * jarg1, char * jarg2) {
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->log_dir;
    if (arg2) {
      arg1->log_dir = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->log_dir, (const char *)arg2);
    } else {
      arg1->log_dir = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_log_dir_get___(void * jarg1) {
  char * jresult ;
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  result = (char *) ((arg1)->log_dir);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_run_dir_set___(void * jarg1, char * jarg2) {
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->run_dir;
    if (arg2) {
      arg1->run_dir = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->run_dir, (const char *)arg2);
    } else {
      arg1->run_dir = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_run_dir_get___(void * jarg1) {
  char * jresult ;
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  result = (char *) ((arg1)->run_dir);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_db_dir_set___(void * jarg1, char * jarg2) {
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->db_dir;
    if (arg2) {
      arg1->db_dir = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->db_dir, (const char *)arg2);
    } else {
      arg1->db_dir = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_db_dir_get___(void * jarg1) {
  char * jresult ;
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  result = (char *) ((arg1)->db_dir);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_script_dir_set___(void * jarg1, char * jarg2) {
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->script_dir;
    if (arg2) {
      arg1->script_dir = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->script_dir, (const char *)arg2);
    } else {
      arg1->script_dir = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_script_dir_get___(void * jarg1) {
  char * jresult ;
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  result = (char *) ((arg1)->script_dir);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_temp_dir_set___(void * jarg1, char * jarg2) {
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->temp_dir;
    if (arg2) {
      arg1->temp_dir = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->temp_dir, (const char *)arg2);
    } else {
      arg1->temp_dir = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_temp_dir_get___(void * jarg1) {
  char * jresult ;
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  result = (char *) ((arg1)->temp_dir);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_htdocs_dir_set___(void * jarg1, char * jarg2) {
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->htdocs_dir;
    if (arg2) {
      arg1->htdocs_dir = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->htdocs_dir, (const char *)arg2);
    } else {
      arg1->htdocs_dir = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_htdocs_dir_get___(void * jarg1) {
  char * jresult ;
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  result = (char *) ((arg1)->htdocs_dir);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_grammar_dir_set___(void * jarg1, char * jarg2) {
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->grammar_dir;
    if (arg2) {
      arg1->grammar_dir = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->grammar_dir, (const char *)arg2);
    } else {
      arg1->grammar_dir = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_grammar_dir_get___(void * jarg1) {
  char * jresult ;
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  result = (char *) ((arg1)->grammar_dir);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_storage_dir_set___(void * jarg1, char * jarg2) {
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->storage_dir;
    if (arg2) {
      arg1->storage_dir = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->storage_dir, (const char *)arg2);
    } else {
      arg1->storage_dir = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_storage_dir_get___(void * jarg1) {
  char * jresult ;
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  result = (char *) ((arg1)->storage_dir);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_cache_dir_set___(void * jarg1, char * jarg2) {
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->cache_dir;
    if (arg2) {
      arg1->cache_dir = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->cache_dir, (const char *)arg2);
    } else {
      arg1->cache_dir = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_cache_dir_get___(void * jarg1) {
  char * jresult ;
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  result = (char *) ((arg1)->cache_dir);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_recordings_dir_set___(void * jarg1, char * jarg2) {
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->recordings_dir;
    if (arg2) {
      arg1->recordings_dir = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->recordings_dir, (const char *)arg2);
    } else {
      arg1->recordings_dir = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_recordings_dir_get___(void * jarg1) {
  char * jresult ;
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  result = (char *) ((arg1)->recordings_dir);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_sounds_dir_set___(void * jarg1, char * jarg2) {
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->sounds_dir;
    if (arg2) {
      arg1->sounds_dir = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->sounds_dir, (const char *)arg2);
    } else {
      arg1->sounds_dir = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_sounds_dir_get___(void * jarg1) {
  char * jresult ;
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  result = (char *) ((arg1)->sounds_dir);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_lib_dir_set___(void * jarg1, char * jarg2) {
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->lib_dir;
    if (arg2) {
      arg1->lib_dir = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->lib_dir, (const char *)arg2);
    } else {
      arg1->lib_dir = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_lib_dir_get___(void * jarg1) {
  char * jresult ;
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  result = (char *) ((arg1)->lib_dir);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_certs_dir_set___(void * jarg1, char * jarg2) {
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->certs_dir;
    if (arg2) {
      arg1->certs_dir = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->certs_dir, (const char *)arg2);
    } else {
      arg1->certs_dir = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_certs_dir_get___(void * jarg1) {
  char * jresult ;
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  result = (char *) ((arg1)->certs_dir);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_fonts_dir_set___(void * jarg1, char * jarg2) {
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->fonts_dir;
    if (arg2) {
      arg1->fonts_dir = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->fonts_dir, (const char *)arg2);
    } else {
      arg1->fonts_dir = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_fonts_dir_get___(void * jarg1) {
  char * jresult ;
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  result = (char *) ((arg1)->fonts_dir);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_images_dir_set___(void * jarg1, char * jarg2) {
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->images_dir;
    if (arg2) {
      arg1->images_dir = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->images_dir, (const char *)arg2);
    } else {
      arg1->images_dir = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_images_dir_get___(void * jarg1) {
  char * jresult ;
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  result = (char *) ((arg1)->images_dir);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_data_dir_set___(void * jarg1, char * jarg2) {
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->data_dir;
    if (arg2) {
      arg1->data_dir = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->data_dir, (const char *)arg2);
    } else {
      arg1->data_dir = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_data_dir_get___(void * jarg1) {
  char * jresult ;
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  result = (char *) ((arg1)->data_dir);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_localstate_dir_set___(void * jarg1, char * jarg2) {
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->localstate_dir;
    if (arg2) {
      arg1->localstate_dir = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->localstate_dir, (const char *)arg2);
    } else {
      arg1->localstate_dir = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directories_localstate_dir_get___(void * jarg1) {
  char * jresult ;
  switch_directories *arg1 = (switch_directories *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  result = (char *) ((arg1)->localstate_dir);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_directories___() {
  void * jresult ;
  switch_directories *result = 0 ;
  
  result = (switch_directories *)new switch_directories();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_directories___(void * jarg1) {
  switch_directories *arg1 = (switch_directories *) 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_GLOBAL_dirs_set___(void * jarg1) {
  switch_directories *arg1 = (switch_directories *) 0 ;
  
  arg1 = (switch_directories *)jarg1; 
  SWITCH_GLOBAL_dirs = *arg1;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_GLOBAL_dirs_get___() {
  void * jresult ;
  switch_directories *result = 0 ;
  
  result = (switch_directories *)&SWITCH_GLOBAL_dirs;
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_filenames_conf_name_set___(void * jarg1, char * jarg2) {
  switch_filenames *arg1 = (switch_filenames *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_filenames *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->conf_name;
    if (arg2) {
      arg1->conf_name = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->conf_name, (const char *)arg2);
    } else {
      arg1->conf_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_filenames_conf_name_get___(void * jarg1) {
  char * jresult ;
  switch_filenames *arg1 = (switch_filenames *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_filenames *)jarg1; 
  result = (char *) ((arg1)->conf_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_filenames___() {
  void * jresult ;
  switch_filenames *result = 0 ;
  
  result = (switch_filenames *)new switch_filenames();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_filenames___(void * jarg1) {
  switch_filenames *arg1 = (switch_filenames *) 0 ;
  
  arg1 = (switch_filenames *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_GLOBAL_filenames_set___(void * jarg1) {
  switch_filenames *arg1 = (switch_filenames *) 0 ;
  
  arg1 = (switch_filenames *)jarg1; 
  SWITCH_GLOBAL_filenames = *arg1;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_GLOBAL_filenames_get___() {
  void * jresult ;
  switch_filenames *result = 0 ;
  
  result = (switch_filenames *)&SWITCH_GLOBAL_filenames;
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_MAX_STACKS_get___() {
  int jresult ;
  int result;
  
  result = (int)(32);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_THREAD_STACKSIZE_get___() {
  int jresult ;
  int result;
  
  result = (int)(240*1024);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SYSTEM_THREAD_STACKSIZE_get___() {
  int jresult ;
  int result;
  
  result = (int)(8192*1024);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_MAX_INTERVAL_get___() {
  int jresult ;
  int result;
  
  result = (int)(120);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_INTERVAL_PAD_get___() {
  int jresult ;
  int result;
  
  result = (int)(10);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_MAX_SAMPLE_LEN_get___() {
  int jresult ;
  int result;
  
  result = (int)(48);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_BYTES_PER_SAMPLE_get___() {
  int jresult ;
  int result;
  
  result = (int)(2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_RECOMMENDED_BUFFER_SIZE_get___() {
  int jresult ;
  int result;
  
  result = (int)(8192);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_MAX_CODECS_get___() {
  int jresult ;
  int result;
  
  result = (int)(50);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_MAX_STATE_HANDLERS_get___() {
  int jresult ;
  int result;
  
  result = (int)(30);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_QUEUE_LEN_get___() {
  int jresult ;
  int result;
  
  result = (int)(100000);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get___() {
  int jresult ;
  int result;
  
  result = (int)(1024*8);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_error_period_t_start_set___(void * jarg1, long long jarg2) {
  error_period *arg1 = (error_period *) 0 ;
  int64_t arg2 ;
  
  arg1 = (error_period *)jarg1; 
  arg2 = (int64_t)jarg2; 
  if (arg1) (arg1)->start = arg2;
}


SWIGEXPORT long long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_error_period_t_start_get___(void * jarg1) {
  long long jresult ;
  error_period *arg1 = (error_period *) 0 ;
  int64_t result;
  
  arg1 = (error_period *)jarg1; 
  result = (int64_t) ((arg1)->start);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_error_period_t_stop_set___(void * jarg1, long long jarg2) {
  error_period *arg1 = (error_period *) 0 ;
  int64_t arg2 ;
  
  arg1 = (error_period *)jarg1; 
  arg2 = (int64_t)jarg2; 
  if (arg1) (arg1)->stop = arg2;
}


SWIGEXPORT long long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_error_period_t_stop_get___(void * jarg1) {
  long long jresult ;
  error_period *arg1 = (error_period *) 0 ;
  int64_t result;
  
  arg1 = (error_period *)jarg1; 
  result = (int64_t) ((arg1)->stop);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_error_period_t_flaws_set___(void * jarg1, unsigned long jarg2) {
  error_period *arg1 = (error_period *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (error_period *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->flaws = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_error_period_t_flaws_get___(void * jarg1) {
  unsigned long jresult ;
  error_period *arg1 = (error_period *) 0 ;
  uint32_t result;
  
  arg1 = (error_period *)jarg1; 
  result = (uint32_t) ((arg1)->flaws);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_error_period_t_consecutive_flaws_set___(void * jarg1, unsigned long jarg2) {
  error_period *arg1 = (error_period *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (error_period *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->consecutive_flaws = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_error_period_t_consecutive_flaws_get___(void * jarg1) {
  unsigned long jresult ;
  error_period *arg1 = (error_period *) 0 ;
  uint32_t result;
  
  arg1 = (error_period *)jarg1; 
  result = (uint32_t) ((arg1)->consecutive_flaws);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_error_period_t_next_set___(void * jarg1, void * jarg2) {
  error_period *arg1 = (error_period *) 0 ;
  error_period *arg2 = (error_period *) 0 ;
  
  arg1 = (error_period *)jarg1; 
  arg2 = (error_period *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_error_period_t_next_get___(void * jarg1) {
  void * jresult ;
  error_period *arg1 = (error_period *) 0 ;
  error_period *result = 0 ;
  
  arg1 = (error_period *)jarg1; 
  result = (error_period *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_error_period_t___() {
  void * jresult ;
  error_period *result = 0 ;
  
  result = (error_period *)new error_period();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_error_period_t___(void * jarg1) {
  error_period *arg1 = (error_period *) 0 ;
  
  arg1 = (error_period *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_raw_bytes_set___(void * jarg1, void * jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->raw_bytes = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_raw_bytes_get___(void * jarg1) {
  void * jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result =  ((arg1)->raw_bytes);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_media_bytes_set___(void * jarg1, void * jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->media_bytes = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_media_bytes_get___(void * jarg1) {
  void * jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result =  ((arg1)->media_bytes);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_packet_count_set___(void * jarg1, void * jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->packet_count = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_packet_count_get___(void * jarg1) {
  void * jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result =  ((arg1)->packet_count);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_period_packet_count_set___(void * jarg1, void * jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->period_packet_count = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_period_packet_count_get___(void * jarg1) {
  void * jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result =  ((arg1)->period_packet_count);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_media_packet_count_set___(void * jarg1, void * jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->media_packet_count = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_media_packet_count_get___(void * jarg1) {
  void * jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result =  ((arg1)->media_packet_count);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_skip_packet_count_set___(void * jarg1, void * jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->skip_packet_count = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_skip_packet_count_get___(void * jarg1) {
  void * jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result =  ((arg1)->skip_packet_count);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_jb_packet_count_set___(void * jarg1, void * jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->jb_packet_count = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_jb_packet_count_get___(void * jarg1) {
  void * jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result =  ((arg1)->jb_packet_count);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_dtmf_packet_count_set___(void * jarg1, void * jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->dtmf_packet_count = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_dtmf_packet_count_get___(void * jarg1) {
  void * jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result =  ((arg1)->dtmf_packet_count);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_cng_packet_count_set___(void * jarg1, void * jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->cng_packet_count = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_cng_packet_count_get___(void * jarg1) {
  void * jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result =  ((arg1)->cng_packet_count);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_flush_packet_count_set___(void * jarg1, void * jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->flush_packet_count = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_flush_packet_count_get___(void * jarg1) {
  void * jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result =  ((arg1)->flush_packet_count);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_largest_jb_size_set___(void * jarg1, void * jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->largest_jb_size = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_largest_jb_size_get___(void * jarg1) {
  void * jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result =  ((arg1)->largest_jb_size);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_last_proc_time_set___(void * jarg1, long long jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  int64_t arg2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  arg2 = (int64_t)jarg2; 
  if (arg1) (arg1)->last_proc_time = arg2;
}


SWIGEXPORT long long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_last_proc_time_get___(void * jarg1) {
  long long jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  int64_t result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result = (int64_t) ((arg1)->last_proc_time);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_jitter_n_set___(void * jarg1, long long jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  int64_t arg2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  arg2 = (int64_t)jarg2; 
  if (arg1) (arg1)->jitter_n = arg2;
}


SWIGEXPORT long long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_jitter_n_get___(void * jarg1) {
  long long jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  int64_t result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result = (int64_t) ((arg1)->jitter_n);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_jitter_add_set___(void * jarg1, long long jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  int64_t arg2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  arg2 = (int64_t)jarg2; 
  if (arg1) (arg1)->jitter_add = arg2;
}


SWIGEXPORT long long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_jitter_add_get___(void * jarg1) {
  long long jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  int64_t result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result = (int64_t) ((arg1)->jitter_add);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_jitter_addsq_set___(void * jarg1, long long jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  int64_t arg2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  arg2 = (int64_t)jarg2; 
  if (arg1) (arg1)->jitter_addsq = arg2;
}


SWIGEXPORT long long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_jitter_addsq_get___(void * jarg1) {
  long long jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  int64_t result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result = (int64_t) ((arg1)->jitter_addsq);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_variance_set___(void * jarg1, double jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  double arg2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  arg2 = (double)jarg2; 
  if (arg1) (arg1)->variance = arg2;
}


SWIGEXPORT double SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_variance_get___(void * jarg1) {
  double jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  double result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result = (double) ((arg1)->variance);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_min_variance_set___(void * jarg1, double jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  double arg2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  arg2 = (double)jarg2; 
  if (arg1) (arg1)->min_variance = arg2;
}


SWIGEXPORT double SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_min_variance_get___(void * jarg1) {
  double jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  double result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result = (double) ((arg1)->min_variance);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_max_variance_set___(void * jarg1, double jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  double arg2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  arg2 = (double)jarg2; 
  if (arg1) (arg1)->max_variance = arg2;
}


SWIGEXPORT double SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_max_variance_get___(void * jarg1) {
  double jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  double result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result = (double) ((arg1)->max_variance);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_std_deviation_set___(void * jarg1, double jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  double arg2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  arg2 = (double)jarg2; 
  if (arg1) (arg1)->std_deviation = arg2;
}


SWIGEXPORT double SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_std_deviation_get___(void * jarg1) {
  double jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  double result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result = (double) ((arg1)->std_deviation);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_lossrate_set___(void * jarg1, double jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  double arg2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  arg2 = (double)jarg2; 
  if (arg1) (arg1)->lossrate = arg2;
}


SWIGEXPORT double SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_lossrate_get___(void * jarg1) {
  double jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  double result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result = (double) ((arg1)->lossrate);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_burstrate_set___(void * jarg1, double jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  double arg2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  arg2 = (double)jarg2; 
  if (arg1) (arg1)->burstrate = arg2;
}


SWIGEXPORT double SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_burstrate_get___(void * jarg1) {
  double jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  double result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result = (double) ((arg1)->burstrate);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_mean_interval_set___(void * jarg1, double jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  double arg2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  arg2 = (double)jarg2; 
  if (arg1) (arg1)->mean_interval = arg2;
}


SWIGEXPORT double SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_mean_interval_get___(void * jarg1) {
  double jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  double result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result = (double) ((arg1)->mean_interval);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_loss_set___(void * jarg1, void * jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  int *arg2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  arg2 = (int *)jarg2; 
  {
    size_t ii;
    int *b = (int *) arg1->loss;
    for (ii = 0; ii < (size_t)1024; ii++) b[ii] = *((int *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_loss_get___(void * jarg1) {
  void * jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  int *result = 0 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result = (int *)(int *) ((arg1)->loss);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_last_loss_set___(void * jarg1, int jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  int arg2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->last_loss = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_last_loss_get___(void * jarg1) {
  int jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  int result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result = (int) ((arg1)->last_loss);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_recved_set___(void * jarg1, int jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  int arg2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->recved = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_recved_get___(void * jarg1) {
  int jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  int result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result = (int) ((arg1)->recved);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_last_processed_seq_set___(void * jarg1, int jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  int arg2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->last_processed_seq = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_last_processed_seq_get___(void * jarg1) {
  int jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  int result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result = (int) ((arg1)->last_processed_seq);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_flaws_set___(void * jarg1, void * jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->flaws = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_flaws_get___(void * jarg1) {
  void * jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result =  ((arg1)->flaws);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_last_flaw_set___(void * jarg1, void * jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->last_flaw = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_last_flaw_get___(void * jarg1) {
  void * jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result =  ((arg1)->last_flaw);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_R_set___(void * jarg1, double jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  double arg2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  arg2 = (double)jarg2; 
  if (arg1) (arg1)->R = arg2;
}


SWIGEXPORT double SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_R_get___(void * jarg1) {
  double jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  double result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result = (double) ((arg1)->R);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_mos_set___(void * jarg1, double jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  double arg2 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  arg2 = (double)jarg2; 
  if (arg1) (arg1)->mos = arg2;
}


SWIGEXPORT double SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_mos_get___(void * jarg1) {
  double jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  double result;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result = (double) ((arg1)->mos);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_error_log_set___(void * jarg1, void * jarg2) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  error_period *arg2 = (error_period *) 0 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  arg2 = (error_period *)jarg2; 
  if (arg1) (arg1)->error_log = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_error_log_get___(void * jarg1) {
  void * jresult ;
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  error_period *result = 0 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  result = (error_period *) ((arg1)->error_log);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_rtp_numbers_t___() {
  void * jresult ;
  switch_rtp_numbers_t *result = 0 ;
  
  result = (switch_rtp_numbers_t *)new switch_rtp_numbers_t();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_rtp_numbers_t___(void * jarg1) {
  switch_rtp_numbers_t *arg1 = (switch_rtp_numbers_t *) 0 ;
  
  arg1 = (switch_rtp_numbers_t *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_packet_count_set___(void * jarg1, unsigned long jarg2) {
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->packet_count = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_packet_count_get___(void * jarg1) {
  unsigned long jresult ;
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  result = (uint32_t) ((arg1)->packet_count);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_octet_count_set___(void * jarg1, unsigned long jarg2) {
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->octet_count = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_octet_count_get___(void * jarg1) {
  unsigned long jresult ;
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  result = (uint32_t) ((arg1)->octet_count);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_peer_ssrc_set___(void * jarg1, unsigned long jarg2) {
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->peer_ssrc = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_peer_ssrc_get___(void * jarg1) {
  unsigned long jresult ;
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  result = (uint32_t) ((arg1)->peer_ssrc);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_last_rpt_ts_set___(void * jarg1, unsigned long jarg2) {
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->last_rpt_ts = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_last_rpt_ts_get___(void * jarg1) {
  unsigned long jresult ;
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  result = (uint32_t) ((arg1)->last_rpt_ts);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_ssrc_set___(void * jarg1, unsigned long jarg2) {
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->ssrc = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_ssrc_get___(void * jarg1) {
  unsigned long jresult ;
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  result = (uint32_t) ((arg1)->ssrc);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_csrc_set___(void * jarg1, unsigned long jarg2) {
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->csrc = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_csrc_get___(void * jarg1) {
  unsigned long jresult ;
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  result = (uint32_t) ((arg1)->csrc);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_last_pkt_tsdiff_set___(void * jarg1, unsigned long jarg2) {
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->last_pkt_tsdiff = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_last_pkt_tsdiff_get___(void * jarg1) {
  unsigned long jresult ;
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  result = (uint32_t) ((arg1)->last_pkt_tsdiff);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_inter_jitter_set___(void * jarg1, double jarg2) {
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  double arg2 ;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  arg2 = (double)jarg2; 
  if (arg1) (arg1)->inter_jitter = arg2;
}


SWIGEXPORT double SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_inter_jitter_get___(void * jarg1) {
  double jresult ;
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  double result;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  result = (double) ((arg1)->inter_jitter);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_last_rpt_ext_seq_set___(void * jarg1, unsigned long jarg2) {
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->last_rpt_ext_seq = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_last_rpt_ext_seq_get___(void * jarg1) {
  unsigned long jresult ;
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  result = (uint32_t) ((arg1)->last_rpt_ext_seq);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_last_rpt_cycle_set___(void * jarg1, unsigned short jarg2) {
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint16_t arg2 ;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  arg2 = (uint16_t)jarg2; 
  if (arg1) (arg1)->last_rpt_cycle = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_last_rpt_cycle_get___(void * jarg1) {
  unsigned short jresult ;
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint16_t result;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  result = (uint16_t) ((arg1)->last_rpt_cycle);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_period_pkt_count_set___(void * jarg1, unsigned short jarg2) {
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint16_t arg2 ;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  arg2 = (uint16_t)jarg2; 
  if (arg1) (arg1)->period_pkt_count = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_period_pkt_count_get___(void * jarg1) {
  unsigned short jresult ;
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint16_t result;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  result = (uint16_t) ((arg1)->period_pkt_count);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_pkt_count_set___(void * jarg1, unsigned short jarg2) {
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint16_t arg2 ;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  arg2 = (uint16_t)jarg2; 
  if (arg1) (arg1)->pkt_count = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_pkt_count_get___(void * jarg1) {
  unsigned short jresult ;
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint16_t result;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  result = (uint16_t) ((arg1)->pkt_count);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_sent_pkt_count_set___(void * jarg1, unsigned short jarg2) {
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint16_t arg2 ;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  arg2 = (uint16_t)jarg2; 
  if (arg1) (arg1)->sent_pkt_count = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_sent_pkt_count_get___(void * jarg1) {
  unsigned short jresult ;
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint16_t result;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  result = (uint16_t) ((arg1)->sent_pkt_count);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_rtcp_rtp_count_set___(void * jarg1, unsigned long jarg2) {
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->rtcp_rtp_count = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_rtcp_rtp_count_get___(void * jarg1) {
  unsigned long jresult ;
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  result = (uint32_t) ((arg1)->rtcp_rtp_count);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_high_ext_seq_recv_set___(void * jarg1, unsigned long jarg2) {
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->high_ext_seq_recv = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_high_ext_seq_recv_get___(void * jarg1) {
  unsigned long jresult ;
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  result = (uint32_t) ((arg1)->high_ext_seq_recv);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_cycle_set___(void * jarg1, unsigned short jarg2) {
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint16_t arg2 ;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  arg2 = (uint16_t)jarg2; 
  if (arg1) (arg1)->cycle = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_cycle_get___(void * jarg1) {
  unsigned short jresult ;
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint16_t result;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  result = (uint16_t) ((arg1)->cycle);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_bad_seq_set___(void * jarg1, unsigned long jarg2) {
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->bad_seq = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_bad_seq_get___(void * jarg1) {
  unsigned long jresult ;
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  result = (uint32_t) ((arg1)->bad_seq);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_base_seq_set___(void * jarg1, unsigned short jarg2) {
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint16_t arg2 ;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  arg2 = (uint16_t)jarg2; 
  if (arg1) (arg1)->base_seq = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_base_seq_get___(void * jarg1) {
  unsigned short jresult ;
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint16_t result;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  result = (uint16_t) ((arg1)->base_seq);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_cum_lost_set___(void * jarg1, unsigned long jarg2) {
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->cum_lost = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_cum_lost_get___(void * jarg1) {
  unsigned long jresult ;
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  result = (uint32_t) ((arg1)->cum_lost);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_last_recv_lsr_local_set___(void * jarg1, unsigned long jarg2) {
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->last_recv_lsr_local = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_last_recv_lsr_local_get___(void * jarg1) {
  unsigned long jresult ;
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  result = (uint32_t) ((arg1)->last_recv_lsr_local);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_last_recv_lsr_peer_set___(void * jarg1, unsigned long jarg2) {
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->last_recv_lsr_peer = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_last_recv_lsr_peer_get___(void * jarg1) {
  unsigned long jresult ;
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  result = (uint32_t) ((arg1)->last_recv_lsr_peer);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_init_set___(void * jarg1, unsigned long jarg2) {
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->init = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_init_get___(void * jarg1) {
  unsigned long jresult ;
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  result = (uint32_t) ((arg1)->init);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_rtcp_numbers_t___() {
  void * jresult ;
  switch_rtcp_numbers_t *result = 0 ;
  
  result = (switch_rtcp_numbers_t *)new switch_rtcp_numbers_t();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_rtcp_numbers_t___(void * jarg1) {
  switch_rtcp_numbers_t *arg1 = (switch_rtcp_numbers_t *) 0 ;
  
  arg1 = (switch_rtcp_numbers_t *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_video_counters_t_nack_count_set___(void * jarg1, unsigned short jarg2) {
  switch_rtcp_video_counters_t *arg1 = (switch_rtcp_video_counters_t *) 0 ;
  uint16_t arg2 ;
  
  arg1 = (switch_rtcp_video_counters_t *)jarg1; 
  arg2 = (uint16_t)jarg2; 
  if (arg1) (arg1)->nack_count = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_video_counters_t_nack_count_get___(void * jarg1) {
  unsigned short jresult ;
  switch_rtcp_video_counters_t *arg1 = (switch_rtcp_video_counters_t *) 0 ;
  uint16_t result;
  
  arg1 = (switch_rtcp_video_counters_t *)jarg1; 
  result = (uint16_t) ((arg1)->nack_count);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_video_counters_t_fir_count_set___(void * jarg1, unsigned short jarg2) {
  switch_rtcp_video_counters_t *arg1 = (switch_rtcp_video_counters_t *) 0 ;
  uint16_t arg2 ;
  
  arg1 = (switch_rtcp_video_counters_t *)jarg1; 
  arg2 = (uint16_t)jarg2; 
  if (arg1) (arg1)->fir_count = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_video_counters_t_fir_count_get___(void * jarg1) {
  unsigned short jresult ;
  switch_rtcp_video_counters_t *arg1 = (switch_rtcp_video_counters_t *) 0 ;
  uint16_t result;
  
  arg1 = (switch_rtcp_video_counters_t *)jarg1; 
  result = (uint16_t) ((arg1)->fir_count);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_video_counters_t_pli_count_set___(void * jarg1, unsigned short jarg2) {
  switch_rtcp_video_counters_t *arg1 = (switch_rtcp_video_counters_t *) 0 ;
  uint16_t arg2 ;
  
  arg1 = (switch_rtcp_video_counters_t *)jarg1; 
  arg2 = (uint16_t)jarg2; 
  if (arg1) (arg1)->pli_count = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_video_counters_t_pli_count_get___(void * jarg1) {
  unsigned short jresult ;
  switch_rtcp_video_counters_t *arg1 = (switch_rtcp_video_counters_t *) 0 ;
  uint16_t result;
  
  arg1 = (switch_rtcp_video_counters_t *)jarg1; 
  result = (uint16_t) ((arg1)->pli_count);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_video_counters_t_sr_count_set___(void * jarg1, unsigned short jarg2) {
  switch_rtcp_video_counters_t *arg1 = (switch_rtcp_video_counters_t *) 0 ;
  uint16_t arg2 ;
  
  arg1 = (switch_rtcp_video_counters_t *)jarg1; 
  arg2 = (uint16_t)jarg2; 
  if (arg1) (arg1)->sr_count = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_video_counters_t_sr_count_get___(void * jarg1) {
  unsigned short jresult ;
  switch_rtcp_video_counters_t *arg1 = (switch_rtcp_video_counters_t *) 0 ;
  uint16_t result;
  
  arg1 = (switch_rtcp_video_counters_t *)jarg1; 
  result = (uint16_t) ((arg1)->sr_count);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_video_counters_t_rr_count_set___(void * jarg1, unsigned short jarg2) {
  switch_rtcp_video_counters_t *arg1 = (switch_rtcp_video_counters_t *) 0 ;
  uint16_t arg2 ;
  
  arg1 = (switch_rtcp_video_counters_t *)jarg1; 
  arg2 = (uint16_t)jarg2; 
  if (arg1) (arg1)->rr_count = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_video_counters_t_rr_count_get___(void * jarg1) {
  unsigned short jresult ;
  switch_rtcp_video_counters_t *arg1 = (switch_rtcp_video_counters_t *) 0 ;
  uint16_t result;
  
  arg1 = (switch_rtcp_video_counters_t *)jarg1; 
  result = (uint16_t) ((arg1)->rr_count);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_rtcp_video_counters_t___() {
  void * jresult ;
  switch_rtcp_video_counters_t *result = 0 ;
  
  result = (switch_rtcp_video_counters_t *)new switch_rtcp_video_counters_t();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_rtcp_video_counters_t___(void * jarg1) {
  switch_rtcp_video_counters_t *arg1 = (switch_rtcp_video_counters_t *) 0 ;
  
  arg1 = (switch_rtcp_video_counters_t *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_video_stats_t_video_in_set___(void * jarg1, void * jarg2) {
  switch_rtcp_video_stats_t *arg1 = (switch_rtcp_video_stats_t *) 0 ;
  switch_rtcp_video_counters_t *arg2 = (switch_rtcp_video_counters_t *) 0 ;
  
  arg1 = (switch_rtcp_video_stats_t *)jarg1; 
  arg2 = (switch_rtcp_video_counters_t *)jarg2; 
  if (arg1) (arg1)->video_in = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_video_stats_t_video_in_get___(void * jarg1) {
  void * jresult ;
  switch_rtcp_video_stats_t *arg1 = (switch_rtcp_video_stats_t *) 0 ;
  switch_rtcp_video_counters_t *result = 0 ;
  
  arg1 = (switch_rtcp_video_stats_t *)jarg1; 
  result = (switch_rtcp_video_counters_t *)& ((arg1)->video_in);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_video_stats_t_video_out_set___(void * jarg1, void * jarg2) {
  switch_rtcp_video_stats_t *arg1 = (switch_rtcp_video_stats_t *) 0 ;
  switch_rtcp_video_counters_t *arg2 = (switch_rtcp_video_counters_t *) 0 ;
  
  arg1 = (switch_rtcp_video_stats_t *)jarg1; 
  arg2 = (switch_rtcp_video_counters_t *)jarg2; 
  if (arg1) (arg1)->video_out = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_video_stats_t_video_out_get___(void * jarg1) {
  void * jresult ;
  switch_rtcp_video_stats_t *arg1 = (switch_rtcp_video_stats_t *) 0 ;
  switch_rtcp_video_counters_t *result = 0 ;
  
  arg1 = (switch_rtcp_video_stats_t *)jarg1; 
  result = (switch_rtcp_video_counters_t *)& ((arg1)->video_out);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_rtcp_video_stats_t___() {
  void * jresult ;
  switch_rtcp_video_stats_t *result = 0 ;
  
  result = (switch_rtcp_video_stats_t *)new switch_rtcp_video_stats_t();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_rtcp_video_stats_t___(void * jarg1) {
  switch_rtcp_video_stats_t *arg1 = (switch_rtcp_video_stats_t *) 0 ;
  
  arg1 = (switch_rtcp_video_stats_t *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_stats_t_inbound_set___(void * jarg1, void * jarg2) {
  switch_rtp_stats_t *arg1 = (switch_rtp_stats_t *) 0 ;
  switch_rtp_numbers_t *arg2 = (switch_rtp_numbers_t *) 0 ;
  
  arg1 = (switch_rtp_stats_t *)jarg1; 
  arg2 = (switch_rtp_numbers_t *)jarg2; 
  if (arg1) (arg1)->inbound = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_stats_t_inbound_get___(void * jarg1) {
  void * jresult ;
  switch_rtp_stats_t *arg1 = (switch_rtp_stats_t *) 0 ;
  switch_rtp_numbers_t *result = 0 ;
  
  arg1 = (switch_rtp_stats_t *)jarg1; 
  result = (switch_rtp_numbers_t *)& ((arg1)->inbound);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_stats_t_outbound_set___(void * jarg1, void * jarg2) {
  switch_rtp_stats_t *arg1 = (switch_rtp_stats_t *) 0 ;
  switch_rtp_numbers_t *arg2 = (switch_rtp_numbers_t *) 0 ;
  
  arg1 = (switch_rtp_stats_t *)jarg1; 
  arg2 = (switch_rtp_numbers_t *)jarg2; 
  if (arg1) (arg1)->outbound = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_stats_t_outbound_get___(void * jarg1) {
  void * jresult ;
  switch_rtp_stats_t *arg1 = (switch_rtp_stats_t *) 0 ;
  switch_rtp_numbers_t *result = 0 ;
  
  arg1 = (switch_rtp_stats_t *)jarg1; 
  result = (switch_rtp_numbers_t *)& ((arg1)->outbound);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_stats_t_rtcp_set___(void * jarg1, void * jarg2) {
  switch_rtp_stats_t *arg1 = (switch_rtp_stats_t *) 0 ;
  switch_rtcp_numbers_t *arg2 = (switch_rtcp_numbers_t *) 0 ;
  
  arg1 = (switch_rtp_stats_t *)jarg1; 
  arg2 = (switch_rtcp_numbers_t *)jarg2; 
  if (arg1) (arg1)->rtcp = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_stats_t_rtcp_get___(void * jarg1) {
  void * jresult ;
  switch_rtp_stats_t *arg1 = (switch_rtp_stats_t *) 0 ;
  switch_rtcp_numbers_t *result = 0 ;
  
  arg1 = (switch_rtp_stats_t *)jarg1; 
  result = (switch_rtcp_numbers_t *)& ((arg1)->rtcp);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_stats_t_read_count_set___(void * jarg1, unsigned long jarg2) {
  switch_rtp_stats_t *arg1 = (switch_rtp_stats_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_rtp_stats_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->read_count = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_stats_t_read_count_get___(void * jarg1) {
  unsigned long jresult ;
  switch_rtp_stats_t *arg1 = (switch_rtp_stats_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_rtp_stats_t *)jarg1; 
  result = (uint32_t) ((arg1)->read_count);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_rtp_stats_t___() {
  void * jresult ;
  switch_rtp_stats_t *result = 0 ;
  
  result = (switch_rtp_stats_t *)new switch_rtp_stats_t();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_rtp_stats_t___(void * jarg1) {
  switch_rtp_stats_t *arg1 = (switch_rtp_stats_t *) 0 ;
  
  arg1 = (switch_rtp_stats_t *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_RTP_CNG_PAYLOAD_get___() {
  int jresult ;
  int result;
  
  result = (int)(13);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_version_set___(void * jarg1, unsigned int jarg2) {
  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
  unsigned int arg2 ;
  
  arg1 = (switch_rtp_hdr_t *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  if (arg1) (arg1)->version = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_version_get___(void * jarg1) {
  unsigned int jresult ;
  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
  unsigned int result;
  
  arg1 = (switch_rtp_hdr_t *)jarg1; 
  result = (unsigned int) ((arg1)->version);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_p_set___(void * jarg1, unsigned int jarg2) {
  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
  unsigned int arg2 ;
  
  arg1 = (switch_rtp_hdr_t *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  if (arg1) (arg1)->p = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_p_get___(void * jarg1) {
  unsigned int jresult ;
  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
  unsigned int result;
  
  arg1 = (switch_rtp_hdr_t *)jarg1; 
  result = (unsigned int) ((arg1)->p);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_x_set___(void * jarg1, unsigned int jarg2) {
  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
  unsigned int arg2 ;
  
  arg1 = (switch_rtp_hdr_t *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  if (arg1) (arg1)->x = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_x_get___(void * jarg1) {
  unsigned int jresult ;
  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
  unsigned int result;
  
  arg1 = (switch_rtp_hdr_t *)jarg1; 
  result = (unsigned int) ((arg1)->x);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_cc_set___(void * jarg1, unsigned int jarg2) {
  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
  unsigned int arg2 ;
  
  arg1 = (switch_rtp_hdr_t *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  if (arg1) (arg1)->cc = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_cc_get___(void * jarg1) {
  unsigned int jresult ;
  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
  unsigned int result;
  
  arg1 = (switch_rtp_hdr_t *)jarg1; 
  result = (unsigned int) ((arg1)->cc);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_m_set___(void * jarg1, unsigned int jarg2) {
  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
  unsigned int arg2 ;
  
  arg1 = (switch_rtp_hdr_t *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  if (arg1) (arg1)->m = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_m_get___(void * jarg1) {
  unsigned int jresult ;
  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
  unsigned int result;
  
  arg1 = (switch_rtp_hdr_t *)jarg1; 
  result = (unsigned int) ((arg1)->m);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_pt_set___(void * jarg1, unsigned int jarg2) {
  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
  unsigned int arg2 ;
  
  arg1 = (switch_rtp_hdr_t *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  if (arg1) (arg1)->pt = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_pt_get___(void * jarg1) {
  unsigned int jresult ;
  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
  unsigned int result;
  
  arg1 = (switch_rtp_hdr_t *)jarg1; 
  result = (unsigned int) ((arg1)->pt);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_seq_set___(void * jarg1, unsigned int jarg2) {
  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
  unsigned int arg2 ;
  
  arg1 = (switch_rtp_hdr_t *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  if (arg1) (arg1)->seq = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_seq_get___(void * jarg1) {
  unsigned int jresult ;
  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
  unsigned int result;
  
  arg1 = (switch_rtp_hdr_t *)jarg1; 
  result = (unsigned int) ((arg1)->seq);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_ts_set___(void * jarg1, unsigned int jarg2) {
  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
  unsigned int arg2 ;
  
  arg1 = (switch_rtp_hdr_t *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  if (arg1) (arg1)->ts = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_ts_get___(void * jarg1) {
  unsigned int jresult ;
  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
  unsigned int result;
  
  arg1 = (switch_rtp_hdr_t *)jarg1; 
  result = (unsigned int) ((arg1)->ts);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_ssrc_set___(void * jarg1, unsigned int jarg2) {
  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
  unsigned int arg2 ;
  
  arg1 = (switch_rtp_hdr_t *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  if (arg1) (arg1)->ssrc = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_ssrc_get___(void * jarg1) {
  unsigned int jresult ;
  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
  unsigned int result;
  
  arg1 = (switch_rtp_hdr_t *)jarg1; 
  result = (unsigned int) ((arg1)->ssrc);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_rtp_hdr_t___() {
  void * jresult ;
  switch_rtp_hdr_t *result = 0 ;
  
  result = (switch_rtp_hdr_t *)new switch_rtp_hdr_t();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_rtp_hdr_t___(void * jarg1) {
  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
  
  arg1 = (switch_rtp_hdr_t *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_hdr_ext_t_length_set___(void * jarg1, unsigned int jarg2) {
  switch_rtp_hdr_ext_t *arg1 = (switch_rtp_hdr_ext_t *) 0 ;
  unsigned int arg2 ;
  
  arg1 = (switch_rtp_hdr_ext_t *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  if (arg1) (arg1)->length = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_hdr_ext_t_length_get___(void * jarg1) {
  unsigned int jresult ;
  switch_rtp_hdr_ext_t *arg1 = (switch_rtp_hdr_ext_t *) 0 ;
  unsigned int result;
  
  arg1 = (switch_rtp_hdr_ext_t *)jarg1; 
  result = (unsigned int) ((arg1)->length);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_hdr_ext_t_profile_set___(void * jarg1, unsigned int jarg2) {
  switch_rtp_hdr_ext_t *arg1 = (switch_rtp_hdr_ext_t *) 0 ;
  unsigned int arg2 ;
  
  arg1 = (switch_rtp_hdr_ext_t *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  if (arg1) (arg1)->profile = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_hdr_ext_t_profile_get___(void * jarg1) {
  unsigned int jresult ;
  switch_rtp_hdr_ext_t *arg1 = (switch_rtp_hdr_ext_t *) 0 ;
  unsigned int result;
  
  arg1 = (switch_rtp_hdr_ext_t *)jarg1; 
  result = (unsigned int) ((arg1)->profile);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_rtp_hdr_ext_t___() {
  void * jresult ;
  switch_rtp_hdr_ext_t *result = 0 ;
  
  result = (switch_rtp_hdr_ext_t *)new switch_rtp_hdr_ext_t();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_rtp_hdr_ext_t___(void * jarg1) {
  switch_rtp_hdr_ext_t *arg1 = (switch_rtp_hdr_ext_t *) 0 ;
  
  arg1 = (switch_rtp_hdr_ext_t *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_hdr_t_version_set___(void * jarg1, unsigned int jarg2) {
  switch_rtcp_hdr_s *arg1 = (switch_rtcp_hdr_s *) 0 ;
  unsigned int arg2 ;
  
  arg1 = (switch_rtcp_hdr_s *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  if (arg1) (arg1)->version = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_hdr_t_version_get___(void * jarg1) {
  unsigned int jresult ;
  switch_rtcp_hdr_s *arg1 = (switch_rtcp_hdr_s *) 0 ;
  unsigned int result;
  
  arg1 = (switch_rtcp_hdr_s *)jarg1; 
  result = (unsigned int) ((arg1)->version);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_hdr_t_p_set___(void * jarg1, unsigned int jarg2) {
  switch_rtcp_hdr_s *arg1 = (switch_rtcp_hdr_s *) 0 ;
  unsigned int arg2 ;
  
  arg1 = (switch_rtcp_hdr_s *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  if (arg1) (arg1)->p = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_hdr_t_p_get___(void * jarg1) {
  unsigned int jresult ;
  switch_rtcp_hdr_s *arg1 = (switch_rtcp_hdr_s *) 0 ;
  unsigned int result;
  
  arg1 = (switch_rtcp_hdr_s *)jarg1; 
  result = (unsigned int) ((arg1)->p);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_hdr_t_count_set___(void * jarg1, unsigned int jarg2) {
  switch_rtcp_hdr_s *arg1 = (switch_rtcp_hdr_s *) 0 ;
  unsigned int arg2 ;
  
  arg1 = (switch_rtcp_hdr_s *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  if (arg1) (arg1)->count = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_hdr_t_count_get___(void * jarg1) {
  unsigned int jresult ;
  switch_rtcp_hdr_s *arg1 = (switch_rtcp_hdr_s *) 0 ;
  unsigned int result;
  
  arg1 = (switch_rtcp_hdr_s *)jarg1; 
  result = (unsigned int) ((arg1)->count);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_hdr_t_type_set___(void * jarg1, unsigned int jarg2) {
  switch_rtcp_hdr_s *arg1 = (switch_rtcp_hdr_s *) 0 ;
  unsigned int arg2 ;
  
  arg1 = (switch_rtcp_hdr_s *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  if (arg1) (arg1)->type = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_hdr_t_type_get___(void * jarg1) {
  unsigned int jresult ;
  switch_rtcp_hdr_s *arg1 = (switch_rtcp_hdr_s *) 0 ;
  unsigned int result;
  
  arg1 = (switch_rtcp_hdr_s *)jarg1; 
  result = (unsigned int) ((arg1)->type);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_hdr_t_length_set___(void * jarg1, unsigned int jarg2) {
  switch_rtcp_hdr_s *arg1 = (switch_rtcp_hdr_s *) 0 ;
  unsigned int arg2 ;
  
  arg1 = (switch_rtcp_hdr_s *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  if (arg1) (arg1)->length = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_hdr_t_length_get___(void * jarg1) {
  unsigned int jresult ;
  switch_rtcp_hdr_s *arg1 = (switch_rtcp_hdr_s *) 0 ;
  unsigned int result;
  
  arg1 = (switch_rtcp_hdr_s *)jarg1; 
  result = (unsigned int) ((arg1)->length);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_rtcp_hdr_t___() {
  void * jresult ;
  switch_rtcp_hdr_s *result = 0 ;
  
  result = (switch_rtcp_hdr_s *)new switch_rtcp_hdr_s();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_rtcp_hdr_t___(void * jarg1) {
  switch_rtcp_hdr_s *arg1 = (switch_rtcp_hdr_s *) 0 ;
  
  arg1 = (switch_rtcp_hdr_s *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_audio_buffer_header_t_ts_set___(void * jarg1, unsigned long jarg2) {
  audio_buffer_header_s *arg1 = (audio_buffer_header_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (audio_buffer_header_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->ts = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_audio_buffer_header_t_ts_get___(void * jarg1) {
  unsigned long jresult ;
  audio_buffer_header_s *arg1 = (audio_buffer_header_s *) 0 ;
  uint32_t result;
  
  arg1 = (audio_buffer_header_s *)jarg1; 
  result = (uint32_t) ((arg1)->ts);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_audio_buffer_header_t_len_set___(void * jarg1, unsigned long jarg2) {
  audio_buffer_header_s *arg1 = (audio_buffer_header_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (audio_buffer_header_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->len = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_audio_buffer_header_t_len_get___(void * jarg1) {
  unsigned long jresult ;
  audio_buffer_header_s *arg1 = (audio_buffer_header_s *) 0 ;
  uint32_t result;
  
  arg1 = (audio_buffer_header_s *)jarg1; 
  result = (uint32_t) ((arg1)->len);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_audio_buffer_header_t___() {
  void * jresult ;
  audio_buffer_header_s *result = 0 ;
  
  result = (audio_buffer_header_s *)new audio_buffer_header_s();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_audio_buffer_header_t___(void * jarg1) {
  audio_buffer_header_s *arg1 = (audio_buffer_header_s *) 0 ;
  
  arg1 = (audio_buffer_header_s *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxVersion_set___(void * jarg1, unsigned short jarg2) {
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  uint16_t arg2 ;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  arg2 = (uint16_t)jarg2; 
  if (arg1) (arg1)->T38FaxVersion = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxVersion_get___(void * jarg1) {
  unsigned short jresult ;
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  uint16_t result;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  result = (uint16_t) ((arg1)->T38FaxVersion);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_T38MaxBitRate_set___(void * jarg1, unsigned long jarg2) {
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->T38MaxBitRate = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_T38MaxBitRate_get___(void * jarg1) {
  unsigned long jresult ;
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  result = (uint32_t) ((arg1)->T38MaxBitRate);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxFillBitRemoval_set___(void * jarg1, int jarg2) {
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  switch_bool_t arg2 ;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  if (arg1) (arg1)->T38FaxFillBitRemoval = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxFillBitRemoval_get___(void * jarg1) {
  int jresult ;
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  switch_bool_t result;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  result = (switch_bool_t) ((arg1)->T38FaxFillBitRemoval);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxTranscodingMMR_set___(void * jarg1, int jarg2) {
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  switch_bool_t arg2 ;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  if (arg1) (arg1)->T38FaxTranscodingMMR = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxTranscodingMMR_get___(void * jarg1) {
  int jresult ;
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  switch_bool_t result;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  result = (switch_bool_t) ((arg1)->T38FaxTranscodingMMR);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxTranscodingJBIG_set___(void * jarg1, int jarg2) {
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  switch_bool_t arg2 ;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  if (arg1) (arg1)->T38FaxTranscodingJBIG = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxTranscodingJBIG_get___(void * jarg1) {
  int jresult ;
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  switch_bool_t result;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  result = (switch_bool_t) ((arg1)->T38FaxTranscodingJBIG);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxRateManagement_set___(void * jarg1, char * jarg2) {
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->T38FaxRateManagement = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->T38FaxRateManagement, (const char *)arg2);
    } else {
      arg1->T38FaxRateManagement = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxRateManagement_get___(void * jarg1) {
  char * jresult ;
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  result = (char *) ((arg1)->T38FaxRateManagement);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxMaxBuffer_set___(void * jarg1, unsigned long jarg2) {
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->T38FaxMaxBuffer = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxMaxBuffer_get___(void * jarg1) {
  unsigned long jresult ;
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  result = (uint32_t) ((arg1)->T38FaxMaxBuffer);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxMaxDatagram_set___(void * jarg1, unsigned long jarg2) {
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->T38FaxMaxDatagram = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxMaxDatagram_get___(void * jarg1) {
  unsigned long jresult ;
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  result = (uint32_t) ((arg1)->T38FaxMaxDatagram);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxUdpEC_set___(void * jarg1, char * jarg2) {
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->T38FaxUdpEC = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->T38FaxUdpEC, (const char *)arg2);
    } else {
      arg1->T38FaxUdpEC = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxUdpEC_get___(void * jarg1) {
  char * jresult ;
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  result = (char *) ((arg1)->T38FaxUdpEC);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_T38VendorInfo_set___(void * jarg1, char * jarg2) {
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->T38VendorInfo = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->T38VendorInfo, (const char *)arg2);
    } else {
      arg1->T38VendorInfo = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_T38VendorInfo_get___(void * jarg1) {
  char * jresult ;
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  result = (char *) ((arg1)->T38VendorInfo);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_remote_ip_set___(void * jarg1, char * jarg2) {
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->remote_ip = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->remote_ip, (const char *)arg2);
    } else {
      arg1->remote_ip = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_remote_ip_get___(void * jarg1) {
  char * jresult ;
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  result = (char *) ((arg1)->remote_ip);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_remote_port_set___(void * jarg1, unsigned short jarg2) {
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  uint16_t arg2 ;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  arg2 = (uint16_t)jarg2; 
  if (arg1) (arg1)->remote_port = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_remote_port_get___(void * jarg1) {
  unsigned short jresult ;
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  uint16_t result;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  result = (uint16_t) ((arg1)->remote_port);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_local_ip_set___(void * jarg1, char * jarg2) {
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->local_ip = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->local_ip, (const char *)arg2);
    } else {
      arg1->local_ip = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_local_ip_get___(void * jarg1) {
  char * jresult ;
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  result = (char *) ((arg1)->local_ip);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_local_port_set___(void * jarg1, unsigned short jarg2) {
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  uint16_t arg2 ;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  arg2 = (uint16_t)jarg2; 
  if (arg1) (arg1)->local_port = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_local_port_get___(void * jarg1) {
  unsigned short jresult ;
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  uint16_t result;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  result = (uint16_t) ((arg1)->local_port);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_sdp_o_line_set___(void * jarg1, char * jarg2) {
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->sdp_o_line = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->sdp_o_line, (const char *)arg2);
    } else {
      arg1->sdp_o_line = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_t38_options_t_sdp_o_line_get___(void * jarg1) {
  char * jresult ;
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  result = (char *) ((arg1)->sdp_o_line);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_t38_options_t___() {
  void * jresult ;
  switch_t38_options_t *result = 0 ;
  
  result = (switch_t38_options_t *)new switch_t38_options_t();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_t38_options_t___(void * jarg1) {
  switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
  
  arg1 = (switch_t38_options_t *)jarg1; 
  delete arg1;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_type_check___(void * jarg1) {
  void * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_core_session_t *result = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_core_session_t *)switch_core_session_type_check(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_const_char_type_check___(char * jarg1) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (char *)switch_const_char_type_check((char const *)arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_vid_params_t_width_set___(void * jarg1, unsigned long jarg2) {
  switch_vid_params_s *arg1 = (switch_vid_params_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_vid_params_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->width = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_vid_params_t_width_get___(void * jarg1) {
  unsigned long jresult ;
  switch_vid_params_s *arg1 = (switch_vid_params_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_vid_params_s *)jarg1; 
  result = (uint32_t) ((arg1)->width);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_vid_params_t_height_set___(void * jarg1, unsigned long jarg2) {
  switch_vid_params_s *arg1 = (switch_vid_params_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_vid_params_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->height = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_vid_params_t_height_get___(void * jarg1) {
  unsigned long jresult ;
  switch_vid_params_s *arg1 = (switch_vid_params_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_vid_params_s *)jarg1; 
  result = (uint32_t) ((arg1)->height);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_vid_params_t_fps_set___(void * jarg1, unsigned long jarg2) {
  switch_vid_params_s *arg1 = (switch_vid_params_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_vid_params_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->fps = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_vid_params_t_fps_get___(void * jarg1) {
  unsigned long jresult ;
  switch_vid_params_s *arg1 = (switch_vid_params_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_vid_params_s *)jarg1; 
  result = (uint32_t) ((arg1)->fps);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_vid_params_t_d_width_set___(void * jarg1, unsigned long jarg2) {
  switch_vid_params_s *arg1 = (switch_vid_params_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_vid_params_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->d_width = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_vid_params_t_d_width_get___(void * jarg1) {
  unsigned long jresult ;
  switch_vid_params_s *arg1 = (switch_vid_params_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_vid_params_s *)jarg1; 
  result = (uint32_t) ((arg1)->d_width);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_vid_params_t_d_height_set___(void * jarg1, unsigned long jarg2) {
  switch_vid_params_s *arg1 = (switch_vid_params_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_vid_params_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->d_height = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_vid_params_t_d_height_get___(void * jarg1) {
  unsigned long jresult ;
  switch_vid_params_s *arg1 = (switch_vid_params_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_vid_params_s *)jarg1; 
  result = (uint32_t) ((arg1)->d_height);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_vid_params_t___() {
  void * jresult ;
  switch_vid_params_s *result = 0 ;
  
  result = (switch_vid_params_s *)new switch_vid_params_s();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_vid_params_t___(void * jarg1) {
  switch_vid_params_s *arg1 = (switch_vid_params_s *) 0 ;
  
  arg1 = (switch_vid_params_s *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_fps_t_fps_set___(void * jarg1, float jarg2) {
  switch_fps_s *arg1 = (switch_fps_s *) 0 ;
  float arg2 ;
  
  arg1 = (switch_fps_s *)jarg1; 
  arg2 = (float)jarg2; 
  if (arg1) (arg1)->fps = arg2;
}


SWIGEXPORT float SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_fps_t_fps_get___(void * jarg1) {
  float jresult ;
  switch_fps_s *arg1 = (switch_fps_s *) 0 ;
  float result;
  
  arg1 = (switch_fps_s *)jarg1; 
  result = (float) ((arg1)->fps);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_fps_t_ms_set___(void * jarg1, int jarg2) {
  switch_fps_s *arg1 = (switch_fps_s *) 0 ;
  int arg2 ;
  
  arg1 = (switch_fps_s *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->ms = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_fps_t_ms_get___(void * jarg1) {
  int jresult ;
  switch_fps_s *arg1 = (switch_fps_s *) 0 ;
  int result;
  
  arg1 = (switch_fps_s *)jarg1; 
  result = (int) ((arg1)->ms);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_fps_t_samples_set___(void * jarg1, int jarg2) {
  switch_fps_s *arg1 = (switch_fps_s *) 0 ;
  int arg2 ;
  
  arg1 = (switch_fps_s *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->samples = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_fps_t_samples_get___(void * jarg1) {
  int jresult ;
  switch_fps_s *arg1 = (switch_fps_s *) 0 ;
  int result;
  
  arg1 = (switch_fps_s *)jarg1; 
  result = (int) ((arg1)->samples);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_fps_t___() {
  void * jresult ;
  switch_fps_s *result = 0 ;
  
  result = (switch_fps_s *)new switch_fps_s();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_fps_t___(void * jarg1) {
  switch_fps_s *arg1 = (switch_fps_s *) 0 ;
  
  arg1 = (switch_fps_s *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_MEDIA_TYPE_TOTAL_get___() {
  int jresult ;
  int result;
  
  result = (int)(3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SOCK_INVALID_get___() {
  int jresult ;
  int result;
  
  result = (int)(-1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_callback_match_node_val_set___(void * jarg1, char * jarg2) {
  switch_console_callback_match_node *arg1 = (switch_console_callback_match_node *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_console_callback_match_node *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->val;
    if (arg2) {
      arg1->val = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->val, (const char *)arg2);
    } else {
      arg1->val = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_callback_match_node_val_get___(void * jarg1) {
  char * jresult ;
  switch_console_callback_match_node *arg1 = (switch_console_callback_match_node *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_console_callback_match_node *)jarg1; 
  result = (char *) ((arg1)->val);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_callback_match_node_next_set___(void * jarg1, void * jarg2) {
  switch_console_callback_match_node *arg1 = (switch_console_callback_match_node *) 0 ;
  switch_console_callback_match_node *arg2 = (switch_console_callback_match_node *) 0 ;
  
  arg1 = (switch_console_callback_match_node *)jarg1; 
  arg2 = (switch_console_callback_match_node *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_callback_match_node_next_get___(void * jarg1) {
  void * jresult ;
  switch_console_callback_match_node *arg1 = (switch_console_callback_match_node *) 0 ;
  switch_console_callback_match_node *result = 0 ;
  
  arg1 = (switch_console_callback_match_node *)jarg1; 
  result = (switch_console_callback_match_node *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_console_callback_match_node___() {
  void * jresult ;
  switch_console_callback_match_node *result = 0 ;
  
  result = (switch_console_callback_match_node *)new switch_console_callback_match_node();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_console_callback_match_node___(void * jarg1) {
  switch_console_callback_match_node *arg1 = (switch_console_callback_match_node *) 0 ;
  
  arg1 = (switch_console_callback_match_node *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_callback_match_head_set___(void * jarg1, void * jarg2) {
  switch_console_callback_match *arg1 = (switch_console_callback_match *) 0 ;
  switch_console_callback_match_node *arg2 = (switch_console_callback_match_node *) 0 ;
  
  arg1 = (switch_console_callback_match *)jarg1; 
  arg2 = (switch_console_callback_match_node *)jarg2; 
  if (arg1) (arg1)->head = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_callback_match_head_get___(void * jarg1) {
  void * jresult ;
  switch_console_callback_match *arg1 = (switch_console_callback_match *) 0 ;
  switch_console_callback_match_node *result = 0 ;
  
  arg1 = (switch_console_callback_match *)jarg1; 
  result = (switch_console_callback_match_node *) ((arg1)->head);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_callback_match_end_set___(void * jarg1, void * jarg2) {
  switch_console_callback_match *arg1 = (switch_console_callback_match *) 0 ;
  switch_console_callback_match_node *arg2 = (switch_console_callback_match_node *) 0 ;
  
  arg1 = (switch_console_callback_match *)jarg1; 
  arg2 = (switch_console_callback_match_node *)jarg2; 
  if (arg1) (arg1)->end = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_callback_match_end_get___(void * jarg1) {
  void * jresult ;
  switch_console_callback_match *arg1 = (switch_console_callback_match *) 0 ;
  switch_console_callback_match_node *result = 0 ;
  
  arg1 = (switch_console_callback_match *)jarg1; 
  result = (switch_console_callback_match_node *) ((arg1)->end);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_callback_match_count_set___(void * jarg1, int jarg2) {
  switch_console_callback_match *arg1 = (switch_console_callback_match *) 0 ;
  int arg2 ;
  
  arg1 = (switch_console_callback_match *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->count = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_callback_match_count_get___(void * jarg1) {
  int jresult ;
  switch_console_callback_match *arg1 = (switch_console_callback_match *) 0 ;
  int result;
  
  arg1 = (switch_console_callback_match *)jarg1; 
  result = (int) ((arg1)->count);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_callback_match_dynamic_set___(void * jarg1, int jarg2) {
  switch_console_callback_match *arg1 = (switch_console_callback_match *) 0 ;
  int arg2 ;
  
  arg1 = (switch_console_callback_match *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->dynamic = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_callback_match_dynamic_get___(void * jarg1) {
  int jresult ;
  switch_console_callback_match *arg1 = (switch_console_callback_match *) 0 ;
  int result;
  
  arg1 = (switch_console_callback_match *)jarg1; 
  result = (int) ((arg1)->dynamic);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_console_callback_match___() {
  void * jresult ;
  switch_console_callback_match *result = 0 ;
  
  result = (switch_console_callback_match *)new switch_console_callback_match();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_console_callback_match___(void * jarg1) {
  switch_console_callback_match *arg1 = (switch_console_callback_match *) 0 ;
  
  arg1 = (switch_console_callback_match *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_DMACHINE_MAX_DIGIT_LEN_get___() {
  int jresult ;
  int result;
  
  result = (int)(512);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_match_dmachine_set___(void * jarg1, void * jarg2) {
  switch_ivr_dmachine_match *arg1 = (switch_ivr_dmachine_match *) 0 ;
  switch_ivr_dmachine_t *arg2 = (switch_ivr_dmachine_t *) 0 ;
  
  arg1 = (switch_ivr_dmachine_match *)jarg1; 
  arg2 = (switch_ivr_dmachine_t *)jarg2; 
  if (arg1) (arg1)->dmachine = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_match_dmachine_get___(void * jarg1) {
  void * jresult ;
  switch_ivr_dmachine_match *arg1 = (switch_ivr_dmachine_match *) 0 ;
  switch_ivr_dmachine_t *result = 0 ;
  
  arg1 = (switch_ivr_dmachine_match *)jarg1; 
  result = (switch_ivr_dmachine_t *) ((arg1)->dmachine);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_match_match_digits_set___(void * jarg1, char * jarg2) {
  switch_ivr_dmachine_match *arg1 = (switch_ivr_dmachine_match *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_ivr_dmachine_match *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->match_digits = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->match_digits, (const char *)arg2);
    } else {
      arg1->match_digits = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_match_match_digits_get___(void * jarg1) {
  char * jresult ;
  switch_ivr_dmachine_match *arg1 = (switch_ivr_dmachine_match *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_ivr_dmachine_match *)jarg1; 
  result = (char *) ((arg1)->match_digits);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_match_match_key_set___(void * jarg1, int jarg2) {
  switch_ivr_dmachine_match *arg1 = (switch_ivr_dmachine_match *) 0 ;
  int32_t arg2 ;
  
  arg1 = (switch_ivr_dmachine_match *)jarg1; 
  arg2 = (int32_t)jarg2; 
  if (arg1) (arg1)->match_key = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_match_match_key_get___(void * jarg1) {
  int jresult ;
  switch_ivr_dmachine_match *arg1 = (switch_ivr_dmachine_match *) 0 ;
  int32_t result;
  
  arg1 = (switch_ivr_dmachine_match *)jarg1; 
  result = (int32_t) ((arg1)->match_key);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_match_type_set___(void * jarg1, int jarg2) {
  switch_ivr_dmachine_match *arg1 = (switch_ivr_dmachine_match *) 0 ;
  dm_match_type_t arg2 ;
  
  arg1 = (switch_ivr_dmachine_match *)jarg1; 
  arg2 = (dm_match_type_t)jarg2; 
  if (arg1) (arg1)->type = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_match_type_get___(void * jarg1) {
  int jresult ;
  switch_ivr_dmachine_match *arg1 = (switch_ivr_dmachine_match *) 0 ;
  dm_match_type_t result;
  
  arg1 = (switch_ivr_dmachine_match *)jarg1; 
  result = (dm_match_type_t) ((arg1)->type);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_match_user_data_set___(void * jarg1, void * jarg2) {
  switch_ivr_dmachine_match *arg1 = (switch_ivr_dmachine_match *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_ivr_dmachine_match *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->user_data = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_match_user_data_get___(void * jarg1) {
  void * jresult ;
  switch_ivr_dmachine_match *arg1 = (switch_ivr_dmachine_match *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_ivr_dmachine_match *)jarg1; 
  result = (void *) ((arg1)->user_data);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_ivr_dmachine_match___() {
  void * jresult ;
  switch_ivr_dmachine_match *result = 0 ;
  
  result = (switch_ivr_dmachine_match *)new switch_ivr_dmachine_match();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_ivr_dmachine_match___(void * jarg1) {
  switch_ivr_dmachine_match *arg1 = (switch_ivr_dmachine_match *) 0 ;
  
  arg1 = (switch_ivr_dmachine_match *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_MAX_ARG_RECURSION_get___() {
  int jresult ;
  int result;
  
  result = (int)(25);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_input_args_t_input_callback_set___(void * jarg1, void * jarg2) {
  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
  switch_input_callback_function_t arg2 = (switch_input_callback_function_t) 0 ;
  
  arg1 = (switch_input_args_t *)jarg1; 
  arg2 = (switch_input_callback_function_t)jarg2; 
  if (arg1) (arg1)->input_callback = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_input_args_t_input_callback_get___(void * jarg1) {
  void * jresult ;
  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
  switch_input_callback_function_t result;
  
  arg1 = (switch_input_args_t *)jarg1; 
  result = (switch_input_callback_function_t) ((arg1)->input_callback);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_input_args_t_buf_set___(void * jarg1, void * jarg2) {
  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_input_args_t *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->buf = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_input_args_t_buf_get___(void * jarg1) {
  void * jresult ;
  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_input_args_t *)jarg1; 
  result = (void *) ((arg1)->buf);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_input_args_t_buflen_set___(void * jarg1, unsigned long jarg2) {
  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_input_args_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->buflen = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_input_args_t_buflen_get___(void * jarg1) {
  unsigned long jresult ;
  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_input_args_t *)jarg1; 
  result = (uint32_t) ((arg1)->buflen);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_input_args_t_read_frame_callback_set___(void * jarg1, void * jarg2) {
  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
  switch_read_frame_callback_function_t arg2 = (switch_read_frame_callback_function_t) 0 ;
  
  arg1 = (switch_input_args_t *)jarg1; 
  arg2 = (switch_read_frame_callback_function_t)jarg2; 
  if (arg1) (arg1)->read_frame_callback = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_input_args_t_read_frame_callback_get___(void * jarg1) {
  void * jresult ;
  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
  switch_read_frame_callback_function_t result;
  
  arg1 = (switch_input_args_t *)jarg1; 
  result = (switch_read_frame_callback_function_t) ((arg1)->read_frame_callback);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_input_args_t_user_data_set___(void * jarg1, void * jarg2) {
  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_input_args_t *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->user_data = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_input_args_t_user_data_get___(void * jarg1) {
  void * jresult ;
  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_input_args_t *)jarg1; 
  result = (void *) ((arg1)->user_data);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_input_args_t_dmachine_set___(void * jarg1, void * jarg2) {
  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
  switch_ivr_dmachine_t *arg2 = (switch_ivr_dmachine_t *) 0 ;
  
  arg1 = (switch_input_args_t *)jarg1; 
  arg2 = (switch_ivr_dmachine_t *)jarg2; 
  if (arg1) (arg1)->dmachine = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_input_args_t_dmachine_get___(void * jarg1) {
  void * jresult ;
  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
  switch_ivr_dmachine_t *result = 0 ;
  
  arg1 = (switch_input_args_t *)jarg1; 
  result = (switch_ivr_dmachine_t *) ((arg1)->dmachine);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_input_args_t_loops_set___(void * jarg1, int jarg2) {
  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
  int arg2 ;
  
  arg1 = (switch_input_args_t *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->loops = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_input_args_t_loops_get___(void * jarg1) {
  int jresult ;
  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
  int result;
  
  arg1 = (switch_input_args_t *)jarg1; 
  result = (int) ((arg1)->loops);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_input_args_t___() {
  void * jresult ;
  switch_input_args_t *result = 0 ;
  
  result = (switch_input_args_t *)new switch_input_args_t();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_input_args_t___(void * jarg1) {
  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
  
  arg1 = (switch_input_args_t *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_args_t_type_set___(void * jarg1, int jarg2) {
  switch_say_args_t *arg1 = (switch_say_args_t *) 0 ;
  switch_say_type_t arg2 ;
  
  arg1 = (switch_say_args_t *)jarg1; 
  arg2 = (switch_say_type_t)jarg2; 
  if (arg1) (arg1)->type = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_args_t_type_get___(void * jarg1) {
  int jresult ;
  switch_say_args_t *arg1 = (switch_say_args_t *) 0 ;
  switch_say_type_t result;
  
  arg1 = (switch_say_args_t *)jarg1; 
  result = (switch_say_type_t) ((arg1)->type);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_args_t_method_set___(void * jarg1, int jarg2) {
  switch_say_args_t *arg1 = (switch_say_args_t *) 0 ;
  switch_say_method_t arg2 ;
  
  arg1 = (switch_say_args_t *)jarg1; 
  arg2 = (switch_say_method_t)jarg2; 
  if (arg1) (arg1)->method = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_args_t_method_get___(void * jarg1) {
  int jresult ;
  switch_say_args_t *arg1 = (switch_say_args_t *) 0 ;
  switch_say_method_t result;
  
  arg1 = (switch_say_args_t *)jarg1; 
  result = (switch_say_method_t) ((arg1)->method);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_args_t_gender_set___(void * jarg1, int jarg2) {
  switch_say_args_t *arg1 = (switch_say_args_t *) 0 ;
  switch_say_gender_t arg2 ;
  
  arg1 = (switch_say_args_t *)jarg1; 
  arg2 = (switch_say_gender_t)jarg2; 
  if (arg1) (arg1)->gender = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_args_t_gender_get___(void * jarg1) {
  int jresult ;
  switch_say_args_t *arg1 = (switch_say_args_t *) 0 ;
  switch_say_gender_t result;
  
  arg1 = (switch_say_args_t *)jarg1; 
  result = (switch_say_gender_t) ((arg1)->gender);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_args_t_ext_set___(void * jarg1, char * jarg2) {
  switch_say_args_t *arg1 = (switch_say_args_t *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_say_args_t *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->ext = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->ext, (const char *)arg2);
    } else {
      arg1->ext = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_args_t_ext_get___(void * jarg1) {
  char * jresult ;
  switch_say_args_t *arg1 = (switch_say_args_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_say_args_t *)jarg1; 
  result = (char *) ((arg1)->ext);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_say_args_t___() {
  void * jresult ;
  switch_say_args_t *result = 0 ;
  
  result = (switch_say_args_t *)new switch_say_args_t();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_say_args_t___(void * jarg1) {
  switch_say_args_t *arg1 = (switch_say_args_t *) 0 ;
  
  arg1 = (switch_say_args_t *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_API_VERSION_get___() {
  int jresult ;
  int result;
  
  result = (int)(5);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_function_table_t_switch_api_version_set___(void * jarg1, int jarg2) {
  switch_loadable_module_function_table *arg1 = (switch_loadable_module_function_table *) 0 ;
  int arg2 ;
  
  arg1 = (switch_loadable_module_function_table *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->switch_api_version = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_function_table_t_switch_api_version_get___(void * jarg1) {
  int jresult ;
  switch_loadable_module_function_table *arg1 = (switch_loadable_module_function_table *) 0 ;
  int result;
  
  arg1 = (switch_loadable_module_function_table *)jarg1; 
  result = (int) ((arg1)->switch_api_version);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_function_table_t_load_set___(void * jarg1, void * jarg2) {
  switch_loadable_module_function_table *arg1 = (switch_loadable_module_function_table *) 0 ;
  switch_module_load_t arg2 = (switch_module_load_t) 0 ;
  
  arg1 = (switch_loadable_module_function_table *)jarg1; 
  arg2 = (switch_module_load_t)jarg2; 
  if (arg1) (arg1)->load = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_function_table_t_load_get___(void * jarg1) {
  void * jresult ;
  switch_loadable_module_function_table *arg1 = (switch_loadable_module_function_table *) 0 ;
  switch_module_load_t result;
  
  arg1 = (switch_loadable_module_function_table *)jarg1; 
  result = (switch_module_load_t) ((arg1)->load);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_function_table_t_shutdown_set___(void * jarg1, void * jarg2) {
  switch_loadable_module_function_table *arg1 = (switch_loadable_module_function_table *) 0 ;
  switch_module_shutdown_t arg2 = (switch_module_shutdown_t) 0 ;
  
  arg1 = (switch_loadable_module_function_table *)jarg1; 
  arg2 = (switch_module_shutdown_t)jarg2; 
  if (arg1) (arg1)->shutdown = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_function_table_t_shutdown_get___(void * jarg1) {
  void * jresult ;
  switch_loadable_module_function_table *arg1 = (switch_loadable_module_function_table *) 0 ;
  switch_module_shutdown_t result;
  
  arg1 = (switch_loadable_module_function_table *)jarg1; 
  result = (switch_module_shutdown_t) ((arg1)->shutdown);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_function_table_t_runtime_set___(void * jarg1, void * jarg2) {
  switch_loadable_module_function_table *arg1 = (switch_loadable_module_function_table *) 0 ;
  switch_module_runtime_t arg2 = (switch_module_runtime_t) 0 ;
  
  arg1 = (switch_loadable_module_function_table *)jarg1; 
  arg2 = (switch_module_runtime_t)jarg2; 
  if (arg1) (arg1)->runtime = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_function_table_t_runtime_get___(void * jarg1) {
  void * jresult ;
  switch_loadable_module_function_table *arg1 = (switch_loadable_module_function_table *) 0 ;
  switch_module_runtime_t result;
  
  arg1 = (switch_loadable_module_function_table *)jarg1; 
  result = (switch_module_runtime_t) ((arg1)->runtime);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_function_table_t_flags_set___(void * jarg1, unsigned long jarg2) {
  switch_loadable_module_function_table *arg1 = (switch_loadable_module_function_table *) 0 ;
  switch_module_flag_t arg2 ;
  
  arg1 = (switch_loadable_module_function_table *)jarg1; 
  arg2 = (switch_module_flag_t)jarg2; 
  if (arg1) (arg1)->flags = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_function_table_t_flags_get___(void * jarg1) {
  unsigned long jresult ;
  switch_loadable_module_function_table *arg1 = (switch_loadable_module_function_table *) 0 ;
  switch_module_flag_t result;
  
  arg1 = (switch_loadable_module_function_table *)jarg1; 
  result = (switch_module_flag_t) ((arg1)->flags);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_loadable_module_function_table_t___() {
  void * jresult ;
  switch_loadable_module_function_table *result = 0 ;
  
  result = (switch_loadable_module_function_table *)new switch_loadable_module_function_table();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_loadable_module_function_table_t___(void * jarg1) {
  switch_loadable_module_function_table *arg1 = (switch_loadable_module_function_table *) 0 ;
  
  arg1 = (switch_loadable_module_function_table *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_type_set___(void * jarg1, int jarg2) {
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  switch_media_type_t arg2 ;
  
  arg1 = (payload_map_s *)jarg1; 
  arg2 = (switch_media_type_t)jarg2; 
  if (arg1) (arg1)->type = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_type_get___(void * jarg1) {
  int jresult ;
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  switch_media_type_t result;
  
  arg1 = (payload_map_s *)jarg1; 
  result = (switch_media_type_t) ((arg1)->type);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_sdp_type_set___(void * jarg1, int jarg2) {
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  switch_sdp_type_t arg2 ;
  
  arg1 = (payload_map_s *)jarg1; 
  arg2 = (switch_sdp_type_t)jarg2; 
  if (arg1) (arg1)->sdp_type = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_sdp_type_get___(void * jarg1) {
  int jresult ;
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  switch_sdp_type_t result;
  
  arg1 = (payload_map_s *)jarg1; 
  result = (switch_sdp_type_t) ((arg1)->sdp_type);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_ptime_set___(void * jarg1, unsigned long jarg2) {
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (payload_map_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->ptime = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_ptime_get___(void * jarg1) {
  unsigned long jresult ;
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  uint32_t result;
  
  arg1 = (payload_map_s *)jarg1; 
  result = (uint32_t) ((arg1)->ptime);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_rate_set___(void * jarg1, unsigned long jarg2) {
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (payload_map_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->rate = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_rate_get___(void * jarg1) {
  unsigned long jresult ;
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  uint32_t result;
  
  arg1 = (payload_map_s *)jarg1; 
  result = (uint32_t) ((arg1)->rate);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_allocated_set___(void * jarg1, unsigned char jarg2) {
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  uint8_t arg2 ;
  
  arg1 = (payload_map_s *)jarg1; 
  arg2 = (uint8_t)jarg2; 
  if (arg1) (arg1)->allocated = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_allocated_get___(void * jarg1) {
  unsigned char jresult ;
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  uint8_t result;
  
  arg1 = (payload_map_s *)jarg1; 
  result = (uint8_t) ((arg1)->allocated);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_negotiated_set___(void * jarg1, unsigned char jarg2) {
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  uint8_t arg2 ;
  
  arg1 = (payload_map_s *)jarg1; 
  arg2 = (uint8_t)jarg2; 
  if (arg1) (arg1)->negotiated = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_negotiated_get___(void * jarg1) {
  unsigned char jresult ;
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  uint8_t result;
  
  arg1 = (payload_map_s *)jarg1; 
  result = (uint8_t) ((arg1)->negotiated);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_current_set___(void * jarg1, unsigned char jarg2) {
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  uint8_t arg2 ;
  
  arg1 = (payload_map_s *)jarg1; 
  arg2 = (uint8_t)jarg2; 
  if (arg1) (arg1)->current = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_current_get___(void * jarg1) {
  unsigned char jresult ;
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  uint8_t result;
  
  arg1 = (payload_map_s *)jarg1; 
  result = (uint8_t) ((arg1)->current);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_hash_set___(void * jarg1, unsigned long jarg2) {
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  unsigned long arg2 ;
  
  arg1 = (payload_map_s *)jarg1; 
  arg2 = (unsigned long)jarg2; 
  if (arg1) (arg1)->hash = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_hash_get___(void * jarg1) {
  unsigned long jresult ;
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  unsigned long result;
  
  arg1 = (payload_map_s *)jarg1; 
  result = (unsigned long) ((arg1)->hash);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_rm_encoding_set___(void * jarg1, char * jarg2) {
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (payload_map_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->rm_encoding;
    if (arg2) {
      arg1->rm_encoding = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->rm_encoding, (const char *)arg2);
    } else {
      arg1->rm_encoding = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_rm_encoding_get___(void * jarg1) {
  char * jresult ;
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (payload_map_s *)jarg1; 
  result = (char *) ((arg1)->rm_encoding);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_iananame_set___(void * jarg1, char * jarg2) {
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (payload_map_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->iananame;
    if (arg2) {
      arg1->iananame = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->iananame, (const char *)arg2);
    } else {
      arg1->iananame = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_iananame_get___(void * jarg1) {
  char * jresult ;
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (payload_map_s *)jarg1; 
  result = (char *) ((arg1)->iananame);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_modname_set___(void * jarg1, char * jarg2) {
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (payload_map_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->modname;
    if (arg2) {
      arg1->modname = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->modname, (const char *)arg2);
    } else {
      arg1->modname = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_modname_get___(void * jarg1) {
  char * jresult ;
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (payload_map_s *)jarg1; 
  result = (char *) ((arg1)->modname);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_pt_set___(void * jarg1, unsigned char jarg2) {
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  switch_payload_t arg2 ;
  
  arg1 = (payload_map_s *)jarg1; 
  arg2 = (switch_payload_t)jarg2; 
  if (arg1) (arg1)->pt = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_pt_get___(void * jarg1) {
  unsigned char jresult ;
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  switch_payload_t result;
  
  arg1 = (payload_map_s *)jarg1; 
  result = (switch_payload_t) ((arg1)->pt);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_rm_rate_set___(void * jarg1, unsigned long jarg2) {
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  unsigned long arg2 ;
  
  arg1 = (payload_map_s *)jarg1; 
  arg2 = (unsigned long)jarg2; 
  if (arg1) (arg1)->rm_rate = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_rm_rate_get___(void * jarg1) {
  unsigned long jresult ;
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  unsigned long result;
  
  arg1 = (payload_map_s *)jarg1; 
  result = (unsigned long) ((arg1)->rm_rate);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_adv_rm_rate_set___(void * jarg1, unsigned long jarg2) {
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  unsigned long arg2 ;
  
  arg1 = (payload_map_s *)jarg1; 
  arg2 = (unsigned long)jarg2; 
  if (arg1) (arg1)->adv_rm_rate = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_adv_rm_rate_get___(void * jarg1) {
  unsigned long jresult ;
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  unsigned long result;
  
  arg1 = (payload_map_s *)jarg1; 
  result = (unsigned long) ((arg1)->adv_rm_rate);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_codec_ms_set___(void * jarg1, unsigned long jarg2) {
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (payload_map_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->codec_ms = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_codec_ms_get___(void * jarg1) {
  unsigned long jresult ;
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  uint32_t result;
  
  arg1 = (payload_map_s *)jarg1; 
  result = (uint32_t) ((arg1)->codec_ms);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_bitrate_set___(void * jarg1, unsigned long jarg2) {
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (payload_map_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->bitrate = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_bitrate_get___(void * jarg1) {
  unsigned long jresult ;
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  uint32_t result;
  
  arg1 = (payload_map_s *)jarg1; 
  result = (uint32_t) ((arg1)->bitrate);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_rm_fmtp_set___(void * jarg1, char * jarg2) {
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (payload_map_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->rm_fmtp;
    if (arg2) {
      arg1->rm_fmtp = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->rm_fmtp, (const char *)arg2);
    } else {
      arg1->rm_fmtp = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_rm_fmtp_get___(void * jarg1) {
  char * jresult ;
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (payload_map_s *)jarg1; 
  result = (char *) ((arg1)->rm_fmtp);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_recv_pt_set___(void * jarg1, unsigned char jarg2) {
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  switch_payload_t arg2 ;
  
  arg1 = (payload_map_s *)jarg1; 
  arg2 = (switch_payload_t)jarg2; 
  if (arg1) (arg1)->recv_pt = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_recv_pt_get___(void * jarg1) {
  unsigned char jresult ;
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  switch_payload_t result;
  
  arg1 = (payload_map_s *)jarg1; 
  result = (switch_payload_t) ((arg1)->recv_pt);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_fmtp_out_set___(void * jarg1, char * jarg2) {
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (payload_map_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->fmtp_out;
    if (arg2) {
      arg1->fmtp_out = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->fmtp_out, (const char *)arg2);
    } else {
      arg1->fmtp_out = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_fmtp_out_get___(void * jarg1) {
  char * jresult ;
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (payload_map_s *)jarg1; 
  result = (char *) ((arg1)->fmtp_out);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_remote_sdp_ip_set___(void * jarg1, char * jarg2) {
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (payload_map_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->remote_sdp_ip;
    if (arg2) {
      arg1->remote_sdp_ip = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->remote_sdp_ip, (const char *)arg2);
    } else {
      arg1->remote_sdp_ip = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_remote_sdp_ip_get___(void * jarg1) {
  char * jresult ;
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (payload_map_s *)jarg1; 
  result = (char *) ((arg1)->remote_sdp_ip);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_remote_sdp_port_set___(void * jarg1, unsigned short jarg2) {
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  switch_port_t arg2 ;
  
  arg1 = (payload_map_s *)jarg1; 
  arg2 = (switch_port_t)jarg2; 
  if (arg1) (arg1)->remote_sdp_port = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_remote_sdp_port_get___(void * jarg1) {
  unsigned short jresult ;
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  switch_port_t result;
  
  arg1 = (payload_map_s *)jarg1; 
  result = (switch_port_t) ((arg1)->remote_sdp_port);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_channels_set___(void * jarg1, int jarg2) {
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  int arg2 ;
  
  arg1 = (payload_map_s *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->channels = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_channels_get___(void * jarg1) {
  int jresult ;
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  int result;
  
  arg1 = (payload_map_s *)jarg1; 
  result = (int) ((arg1)->channels);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_adv_channels_set___(void * jarg1, int jarg2) {
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  int arg2 ;
  
  arg1 = (payload_map_s *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->adv_channels = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_adv_channels_get___(void * jarg1) {
  int jresult ;
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  int result;
  
  arg1 = (payload_map_s *)jarg1; 
  result = (int) ((arg1)->adv_channels);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_next_set___(void * jarg1, void * jarg2) {
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  payload_map_s *arg2 = (payload_map_s *) 0 ;
  
  arg1 = (payload_map_s *)jarg1; 
  arg2 = (payload_map_s *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_payload_map_t_next_get___(void * jarg1) {
  void * jresult ;
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  payload_map_s *result = 0 ;
  
  arg1 = (payload_map_s *)jarg1; 
  result = (payload_map_s *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_payload_map_t___() {
  void * jresult ;
  payload_map_s *result = 0 ;
  
  result = (payload_map_s *)new payload_map_s();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_payload_map_t___(void * jarg1) {
  payload_map_s *arg1 = (payload_map_s *) 0 ;
  
  arg1 = (payload_map_s *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_waitlist_t_sock_set___(void * jarg1, int jarg2) {
  switch_waitlist_s *arg1 = (switch_waitlist_s *) 0 ;
  switch_os_socket_t arg2 ;
  
  arg1 = (switch_waitlist_s *)jarg1; 
  arg2 = (switch_os_socket_t)jarg2; 
  if (arg1) (arg1)->sock = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_waitlist_t_sock_get___(void * jarg1) {
  int jresult ;
  switch_waitlist_s *arg1 = (switch_waitlist_s *) 0 ;
  switch_os_socket_t result;
  
  arg1 = (switch_waitlist_s *)jarg1; 
  result = (switch_os_socket_t) ((arg1)->sock);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_waitlist_t_events_set___(void * jarg1, unsigned long jarg2) {
  switch_waitlist_s *arg1 = (switch_waitlist_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_waitlist_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->events = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_waitlist_t_events_get___(void * jarg1) {
  unsigned long jresult ;
  switch_waitlist_s *arg1 = (switch_waitlist_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_waitlist_s *)jarg1; 
  result = (uint32_t) ((arg1)->events);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_waitlist_t_revents_set___(void * jarg1, unsigned long jarg2) {
  switch_waitlist_s *arg1 = (switch_waitlist_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_waitlist_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->revents = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_waitlist_t_revents_get___(void * jarg1) {
  unsigned long jresult ;
  switch_waitlist_s *arg1 = (switch_waitlist_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_waitlist_s *)jarg1; 
  result = (uint32_t) ((arg1)->revents);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_waitlist_t___() {
  void * jresult ;
  switch_waitlist_s *result = 0 ;
  
  result = (switch_waitlist_s *)new switch_waitlist_s();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_waitlist_t___(void * jarg1) {
  switch_waitlist_s *arg1 = (switch_waitlist_s *) 0 ;
  
  arg1 = (switch_waitlist_s *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_samplerate_set___(void * jarg1, int jarg2) {
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  int arg2 ;
  
  arg1 = (switch_mm_s *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->samplerate = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_samplerate_get___(void * jarg1) {
  int jresult ;
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  int result;
  
  arg1 = (switch_mm_s *)jarg1; 
  result = (int) ((arg1)->samplerate);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_channels_set___(void * jarg1, int jarg2) {
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  int arg2 ;
  
  arg1 = (switch_mm_s *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->channels = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_channels_get___(void * jarg1) {
  int jresult ;
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  int result;
  
  arg1 = (switch_mm_s *)jarg1; 
  result = (int) ((arg1)->channels);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_keyint_set___(void * jarg1, int jarg2) {
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  int arg2 ;
  
  arg1 = (switch_mm_s *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->keyint = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_keyint_get___(void * jarg1) {
  int jresult ;
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  int result;
  
  arg1 = (switch_mm_s *)jarg1; 
  result = (int) ((arg1)->keyint);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_ab_set___(void * jarg1, int jarg2) {
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  int arg2 ;
  
  arg1 = (switch_mm_s *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->ab = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_ab_get___(void * jarg1) {
  int jresult ;
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  int result;
  
  arg1 = (switch_mm_s *)jarg1; 
  result = (int) ((arg1)->ab);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_vb_set___(void * jarg1, int jarg2) {
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  int arg2 ;
  
  arg1 = (switch_mm_s *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->vb = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_vb_get___(void * jarg1) {
  int jresult ;
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  int result;
  
  arg1 = (switch_mm_s *)jarg1; 
  result = (int) ((arg1)->vb);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_vw_set___(void * jarg1, int jarg2) {
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  int arg2 ;
  
  arg1 = (switch_mm_s *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->vw = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_vw_get___(void * jarg1) {
  int jresult ;
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  int result;
  
  arg1 = (switch_mm_s *)jarg1; 
  result = (int) ((arg1)->vw);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_vh_set___(void * jarg1, int jarg2) {
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  int arg2 ;
  
  arg1 = (switch_mm_s *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->vh = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_vh_get___(void * jarg1) {
  int jresult ;
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  int result;
  
  arg1 = (switch_mm_s *)jarg1; 
  result = (int) ((arg1)->vh);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_cbr_set___(void * jarg1, int jarg2) {
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  int arg2 ;
  
  arg1 = (switch_mm_s *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->cbr = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_cbr_get___(void * jarg1) {
  int jresult ;
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  int result;
  
  arg1 = (switch_mm_s *)jarg1; 
  result = (int) ((arg1)->cbr);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_fps_set___(void * jarg1, float jarg2) {
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  float arg2 ;
  
  arg1 = (switch_mm_s *)jarg1; 
  arg2 = (float)jarg2; 
  if (arg1) (arg1)->fps = arg2;
}


SWIGEXPORT float SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_fps_get___(void * jarg1) {
  float jresult ;
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  float result;
  
  arg1 = (switch_mm_s *)jarg1; 
  result = (float) ((arg1)->fps);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_source_fps_set___(void * jarg1, float jarg2) {
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  float arg2 ;
  
  arg1 = (switch_mm_s *)jarg1; 
  arg2 = (float)jarg2; 
  if (arg1) (arg1)->source_fps = arg2;
}


SWIGEXPORT float SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_source_fps_get___(void * jarg1) {
  float jresult ;
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  float result;
  
  arg1 = (switch_mm_s *)jarg1; 
  result = (float) ((arg1)->source_fps);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_source_kps_set___(void * jarg1, int jarg2) {
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  int arg2 ;
  
  arg1 = (switch_mm_s *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->source_kps = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_source_kps_get___(void * jarg1) {
  int jresult ;
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  int result;
  
  arg1 = (switch_mm_s *)jarg1; 
  result = (int) ((arg1)->source_kps);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_vbuf_set___(void * jarg1, int jarg2) {
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  int arg2 ;
  
  arg1 = (switch_mm_s *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->vbuf = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_vbuf_get___(void * jarg1) {
  int jresult ;
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  int result;
  
  arg1 = (switch_mm_s *)jarg1; 
  result = (int) ((arg1)->vbuf);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_vprofile_set___(void * jarg1, int jarg2) {
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  switch_video_profile_t arg2 ;
  
  arg1 = (switch_mm_s *)jarg1; 
  arg2 = (switch_video_profile_t)jarg2; 
  if (arg1) (arg1)->vprofile = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_vprofile_get___(void * jarg1) {
  int jresult ;
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  switch_video_profile_t result;
  
  arg1 = (switch_mm_s *)jarg1; 
  result = (switch_video_profile_t) ((arg1)->vprofile);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_vencspd_set___(void * jarg1, int jarg2) {
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  switch_video_encode_speed_t arg2 ;
  
  arg1 = (switch_mm_s *)jarg1; 
  arg2 = (switch_video_encode_speed_t)jarg2; 
  if (arg1) (arg1)->vencspd = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_vencspd_get___(void * jarg1) {
  int jresult ;
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  switch_video_encode_speed_t result;
  
  arg1 = (switch_mm_s *)jarg1; 
  result = (switch_video_encode_speed_t) ((arg1)->vencspd);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_try_hardware_encoder_set___(void * jarg1, unsigned char jarg2) {
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  uint8_t arg2 ;
  
  arg1 = (switch_mm_s *)jarg1; 
  arg2 = (uint8_t)jarg2; 
  if (arg1) (arg1)->try_hardware_encoder = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_try_hardware_encoder_get___(void * jarg1) {
  unsigned char jresult ;
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  uint8_t result;
  
  arg1 = (switch_mm_s *)jarg1; 
  result = (uint8_t) ((arg1)->try_hardware_encoder);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_scale_w_set___(void * jarg1, int jarg2) {
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  int arg2 ;
  
  arg1 = (switch_mm_s *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->scale_w = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_scale_w_get___(void * jarg1) {
  int jresult ;
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  int result;
  
  arg1 = (switch_mm_s *)jarg1; 
  result = (int) ((arg1)->scale_w);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_scale_h_set___(void * jarg1, int jarg2) {
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  int arg2 ;
  
  arg1 = (switch_mm_s *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->scale_h = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_scale_h_get___(void * jarg1) {
  int jresult ;
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  int result;
  
  arg1 = (switch_mm_s *)jarg1; 
  result = (int) ((arg1)->scale_h);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_fmt_set___(void * jarg1, void * jarg2) {
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  switch_img_fmt_t arg2 ;
  switch_img_fmt_t *argp2 ;
  
  arg1 = (switch_mm_s *)jarg1; 
  argp2 = (switch_img_fmt_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_img_fmt_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->fmt = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_fmt_get___(void * jarg1) {
  void * jresult ;
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  switch_img_fmt_t result;
  
  arg1 = (switch_mm_s *)jarg1; 
  result =  ((arg1)->fmt);
  jresult = new switch_img_fmt_t((const switch_img_fmt_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_auth_username_set___(void * jarg1, char * jarg2) {
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_mm_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->auth_username;
    if (arg2) {
      arg1->auth_username = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->auth_username, (const char *)arg2);
    } else {
      arg1->auth_username = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_auth_username_get___(void * jarg1) {
  char * jresult ;
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_mm_s *)jarg1; 
  result = (char *) ((arg1)->auth_username);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_auth_password_set___(void * jarg1, char * jarg2) {
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_mm_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->auth_password;
    if (arg2) {
      arg1->auth_password = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->auth_password, (const char *)arg2);
    } else {
      arg1->auth_password = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_auth_password_get___(void * jarg1) {
  char * jresult ;
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_mm_s *)jarg1; 
  result = (char *) ((arg1)->auth_password);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_mm_t___() {
  void * jresult ;
  switch_mm_s *result = 0 ;
  
  result = (switch_mm_s *)new switch_mm_s();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_mm_t___(void * jarg1) {
  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
  
  arg1 = (switch_mm_s *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_RTP_MAX_CRYPTO_LEN_get___() {
  int jresult ;
  int result;
  
  result = (int)(64);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_method_set___(void * jarg1, int jarg2) {
  switch_crypto_key_material_s *arg1 = (switch_crypto_key_material_s *) 0 ;
  switch_rtp_crypto_key_param_method_type_t arg2 ;
  
  arg1 = (switch_crypto_key_material_s *)jarg1; 
  arg2 = (switch_rtp_crypto_key_param_method_type_t)jarg2; 
  if (arg1) (arg1)->method = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_method_get___(void * jarg1) {
  int jresult ;
  switch_crypto_key_material_s *arg1 = (switch_crypto_key_material_s *) 0 ;
  switch_rtp_crypto_key_param_method_type_t result;
  
  arg1 = (switch_crypto_key_material_s *)jarg1; 
  result = (switch_rtp_crypto_key_param_method_type_t) ((arg1)->method);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_raw_key_set___(void * jarg1, void * jarg2) {
  switch_crypto_key_material_s *arg1 = (switch_crypto_key_material_s *) 0 ;
  unsigned char *arg2 ;
  
  arg1 = (switch_crypto_key_material_s *)jarg1; 
  arg2 = (unsigned char *)jarg2; 
  {
    size_t ii;
    unsigned char *b = (unsigned char *) arg1->raw_key;
    for (ii = 0; ii < (size_t)64; ii++) b[ii] = *((unsigned char *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_raw_key_get___(void * jarg1) {
  void * jresult ;
  switch_crypto_key_material_s *arg1 = (switch_crypto_key_material_s *) 0 ;
  unsigned char *result = 0 ;
  
  arg1 = (switch_crypto_key_material_s *)jarg1; 
  result = (unsigned char *)(unsigned char *) ((arg1)->raw_key);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_crypto_key_set___(void * jarg1, char * jarg2) {
  switch_crypto_key_material_s *arg1 = (switch_crypto_key_material_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_crypto_key_material_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->crypto_key;
    if (arg2) {
      arg1->crypto_key = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->crypto_key, (const char *)arg2);
    } else {
      arg1->crypto_key = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_crypto_key_get___(void * jarg1) {
  char * jresult ;
  switch_crypto_key_material_s *arg1 = (switch_crypto_key_material_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_crypto_key_material_s *)jarg1; 
  result = (char *) ((arg1)->crypto_key);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_lifetime_set___(void * jarg1, unsigned long long jarg2) {
  switch_crypto_key_material_s *arg1 = (switch_crypto_key_material_s *) 0 ;
  uint64_t arg2 ;
  
  arg1 = (switch_crypto_key_material_s *)jarg1; 
  arg2 = (uint64_t)jarg2; 
  if (arg1) (arg1)->lifetime = arg2;
}


SWIGEXPORT unsigned long long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_lifetime_get___(void * jarg1) {
  unsigned long long jresult ;
  switch_crypto_key_material_s *arg1 = (switch_crypto_key_material_s *) 0 ;
  uint64_t result;
  
  arg1 = (switch_crypto_key_material_s *)jarg1; 
  result = (uint64_t) ((arg1)->lifetime);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_mki_id_set___(void * jarg1, unsigned int jarg2) {
  switch_crypto_key_material_s *arg1 = (switch_crypto_key_material_s *) 0 ;
  unsigned int arg2 ;
  
  arg1 = (switch_crypto_key_material_s *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  if (arg1) (arg1)->mki_id = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_mki_id_get___(void * jarg1) {
  unsigned int jresult ;
  switch_crypto_key_material_s *arg1 = (switch_crypto_key_material_s *) 0 ;
  unsigned int result;
  
  arg1 = (switch_crypto_key_material_s *)jarg1; 
  result = (unsigned int) ((arg1)->mki_id);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_mki_size_set___(void * jarg1, unsigned int jarg2) {
  switch_crypto_key_material_s *arg1 = (switch_crypto_key_material_s *) 0 ;
  unsigned int arg2 ;
  
  arg1 = (switch_crypto_key_material_s *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  if (arg1) (arg1)->mki_size = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_mki_size_get___(void * jarg1) {
  unsigned int jresult ;
  switch_crypto_key_material_s *arg1 = (switch_crypto_key_material_s *) 0 ;
  unsigned int result;
  
  arg1 = (switch_crypto_key_material_s *)jarg1; 
  result = (unsigned int) ((arg1)->mki_size);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_next_set___(void * jarg1, void * jarg2) {
  switch_crypto_key_material_s *arg1 = (switch_crypto_key_material_s *) 0 ;
  switch_crypto_key_material_s *arg2 = (switch_crypto_key_material_s *) 0 ;
  
  arg1 = (switch_crypto_key_material_s *)jarg1; 
  arg2 = (switch_crypto_key_material_s *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_next_get___(void * jarg1) {
  void * jresult ;
  switch_crypto_key_material_s *arg1 = (switch_crypto_key_material_s *) 0 ;
  switch_crypto_key_material_s *result = 0 ;
  
  arg1 = (switch_crypto_key_material_s *)jarg1; 
  result = (switch_crypto_key_material_s *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_crypto_key_material_t___() {
  void * jresult ;
  switch_crypto_key_material_s *result = 0 ;
  
  result = (switch_crypto_key_material_s *)new switch_crypto_key_material_s();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_crypto_key_material_t___(void * jarg1) {
  switch_crypto_key_material_s *arg1 = (switch_crypto_key_material_s *) 0 ;
  
  arg1 = (switch_crypto_key_material_s *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_secure_settings_t_crypto_tag_set___(void * jarg1, int jarg2) {
  secure_settings_s *arg1 = (secure_settings_s *) 0 ;
  int arg2 ;
  
  arg1 = (secure_settings_s *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->crypto_tag = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_secure_settings_t_crypto_tag_get___(void * jarg1) {
  int jresult ;
  secure_settings_s *arg1 = (secure_settings_s *) 0 ;
  int result;
  
  arg1 = (secure_settings_s *)jarg1; 
  result = (int) ((arg1)->crypto_tag);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_secure_settings_t_local_raw_key_set___(void * jarg1, void * jarg2) {
  secure_settings_s *arg1 = (secure_settings_s *) 0 ;
  unsigned char *arg2 ;
  
  arg1 = (secure_settings_s *)jarg1; 
  arg2 = (unsigned char *)jarg2; 
  {
    size_t ii;
    unsigned char *b = (unsigned char *) arg1->local_raw_key;
    for (ii = 0; ii < (size_t)64; ii++) b[ii] = *((unsigned char *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_secure_settings_t_local_raw_key_get___(void * jarg1) {
  void * jresult ;
  secure_settings_s *arg1 = (secure_settings_s *) 0 ;
  unsigned char *result = 0 ;
  
  arg1 = (secure_settings_s *)jarg1; 
  result = (unsigned char *)(unsigned char *) ((arg1)->local_raw_key);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_secure_settings_t_remote_raw_key_set___(void * jarg1, void * jarg2) {
  secure_settings_s *arg1 = (secure_settings_s *) 0 ;
  unsigned char *arg2 ;
  
  arg1 = (secure_settings_s *)jarg1; 
  arg2 = (unsigned char *)jarg2; 
  {
    size_t ii;
    unsigned char *b = (unsigned char *) arg1->remote_raw_key;
    for (ii = 0; ii < (size_t)64; ii++) b[ii] = *((unsigned char *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_secure_settings_t_remote_raw_key_get___(void * jarg1) {
  void * jresult ;
  secure_settings_s *arg1 = (secure_settings_s *) 0 ;
  unsigned char *result = 0 ;
  
  arg1 = (secure_settings_s *)jarg1; 
  result = (unsigned char *)(unsigned char *) ((arg1)->remote_raw_key);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_secure_settings_t_crypto_type_set___(void * jarg1, int jarg2) {
  secure_settings_s *arg1 = (secure_settings_s *) 0 ;
  switch_rtp_crypto_key_type_t arg2 ;
  
  arg1 = (secure_settings_s *)jarg1; 
  arg2 = (switch_rtp_crypto_key_type_t)jarg2; 
  if (arg1) (arg1)->crypto_type = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_secure_settings_t_crypto_type_get___(void * jarg1) {
  int jresult ;
  secure_settings_s *arg1 = (secure_settings_s *) 0 ;
  switch_rtp_crypto_key_type_t result;
  
  arg1 = (secure_settings_s *)jarg1; 
  result = (switch_rtp_crypto_key_type_t) ((arg1)->crypto_type);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_secure_settings_t_local_crypto_key_set___(void * jarg1, char * jarg2) {
  secure_settings_s *arg1 = (secure_settings_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (secure_settings_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->local_crypto_key;
    if (arg2) {
      arg1->local_crypto_key = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->local_crypto_key, (const char *)arg2);
    } else {
      arg1->local_crypto_key = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_secure_settings_t_local_crypto_key_get___(void * jarg1) {
  char * jresult ;
  secure_settings_s *arg1 = (secure_settings_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (secure_settings_s *)jarg1; 
  result = (char *) ((arg1)->local_crypto_key);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_secure_settings_t_remote_crypto_key_set___(void * jarg1, char * jarg2) {
  secure_settings_s *arg1 = (secure_settings_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (secure_settings_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->remote_crypto_key;
    if (arg2) {
      arg1->remote_crypto_key = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->remote_crypto_key, (const char *)arg2);
    } else {
      arg1->remote_crypto_key = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_secure_settings_t_remote_crypto_key_get___(void * jarg1) {
  char * jresult ;
  secure_settings_s *arg1 = (secure_settings_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (secure_settings_s *)jarg1; 
  result = (char *) ((arg1)->remote_crypto_key);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_secure_settings_t_local_key_material_next_set___(void * jarg1, void * jarg2) {
  secure_settings_s *arg1 = (secure_settings_s *) 0 ;
  switch_crypto_key_material_s *arg2 = (switch_crypto_key_material_s *) 0 ;
  
  arg1 = (secure_settings_s *)jarg1; 
  arg2 = (switch_crypto_key_material_s *)jarg2; 
  if (arg1) (arg1)->local_key_material_next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_secure_settings_t_local_key_material_next_get___(void * jarg1) {
  void * jresult ;
  secure_settings_s *arg1 = (secure_settings_s *) 0 ;
  switch_crypto_key_material_s *result = 0 ;
  
  arg1 = (secure_settings_s *)jarg1; 
  result = (switch_crypto_key_material_s *) ((arg1)->local_key_material_next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_secure_settings_t_local_key_material_n_set___(void * jarg1, unsigned long jarg2) {
  secure_settings_s *arg1 = (secure_settings_s *) 0 ;
  unsigned long arg2 ;
  
  arg1 = (secure_settings_s *)jarg1; 
  arg2 = (unsigned long)jarg2; 
  if (arg1) (arg1)->local_key_material_n = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_secure_settings_t_local_key_material_n_get___(void * jarg1) {
  unsigned long jresult ;
  secure_settings_s *arg1 = (secure_settings_s *) 0 ;
  unsigned long result;
  
  arg1 = (secure_settings_s *)jarg1; 
  result = (unsigned long) ((arg1)->local_key_material_n);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_secure_settings_t_remote_key_material_next_set___(void * jarg1, void * jarg2) {
  secure_settings_s *arg1 = (secure_settings_s *) 0 ;
  switch_crypto_key_material_s *arg2 = (switch_crypto_key_material_s *) 0 ;
  
  arg1 = (secure_settings_s *)jarg1; 
  arg2 = (switch_crypto_key_material_s *)jarg2; 
  if (arg1) (arg1)->remote_key_material_next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_secure_settings_t_remote_key_material_next_get___(void * jarg1) {
  void * jresult ;
  secure_settings_s *arg1 = (secure_settings_s *) 0 ;
  switch_crypto_key_material_s *result = 0 ;
  
  arg1 = (secure_settings_s *)jarg1; 
  result = (switch_crypto_key_material_s *) ((arg1)->remote_key_material_next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_secure_settings_t_remote_key_material_n_set___(void * jarg1, unsigned long jarg2) {
  secure_settings_s *arg1 = (secure_settings_s *) 0 ;
  unsigned long arg2 ;
  
  arg1 = (secure_settings_s *)jarg1; 
  arg2 = (unsigned long)jarg2; 
  if (arg1) (arg1)->remote_key_material_n = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_secure_settings_t_remote_key_material_n_get___(void * jarg1) {
  unsigned long jresult ;
  secure_settings_s *arg1 = (secure_settings_s *) 0 ;
  unsigned long result;
  
  arg1 = (secure_settings_s *)jarg1; 
  result = (unsigned long) ((arg1)->remote_key_material_n);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_secure_settings_t___() {
  void * jresult ;
  secure_settings_s *result = 0 ;
  
  result = (secure_settings_s *)new secure_settings_s();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_secure_settings_t___(void * jarg1) {
  secure_settings_s *arg1 = (secure_settings_s *) 0 ;
  
  arg1 = (secure_settings_s *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CRYPTO_MKI_INDEX_get___() {
  int jresult ;
  int result;
  
  result = (int)(0);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CRYPTO_MKI_MAX_get___() {
  int jresult ;
  int result;
  
  result = (int)(20);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_coredb_handle_in_memory_set___(void * jarg1, int jarg2) {
  switch_coredb_handle *arg1 = (switch_coredb_handle *) 0 ;
  switch_bool_t arg2 ;
  
  arg1 = (switch_coredb_handle *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  if (arg1) (arg1)->in_memory = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_coredb_handle_in_memory_get___(void * jarg1) {
  int jresult ;
  switch_coredb_handle *arg1 = (switch_coredb_handle *) 0 ;
  switch_bool_t result;
  
  arg1 = (switch_coredb_handle *)jarg1; 
  result = (switch_bool_t) ((arg1)->in_memory);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_coredb_handle_handle_set___(void * jarg1, void * jarg2) {
  switch_coredb_handle *arg1 = (switch_coredb_handle *) 0 ;
  switch_core_db_t *arg2 = (switch_core_db_t *) 0 ;
  
  arg1 = (switch_coredb_handle *)jarg1; 
  arg2 = (switch_core_db_t *)jarg2; 
  if (arg1) (arg1)->handle = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_coredb_handle_handle_get___(void * jarg1) {
  void * jresult ;
  switch_coredb_handle *arg1 = (switch_coredb_handle *) 0 ;
  switch_core_db_t *result = 0 ;
  
  arg1 = (switch_coredb_handle *)jarg1; 
  result = (switch_core_db_t *) ((arg1)->handle);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_coredb_handle___() {
  void * jresult ;
  switch_coredb_handle *result = 0 ;
  
  result = (switch_coredb_handle *)new switch_coredb_handle();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_coredb_handle___(void * jarg1) {
  switch_coredb_handle *arg1 = (switch_coredb_handle *) 0 ;
  
  arg1 = (switch_coredb_handle *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_close___(void * jarg1) {
  int jresult ;
  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
  int result;
  
  arg1 = (switch_core_db_t *)jarg1; 
  result = (int)switch_core_db_close(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_open___(char * jarg1, void * jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_core_db_t **arg2 = (switch_core_db_t **) 0 ;
  int result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_core_db_t **)jarg2; 
  result = (int)switch_core_db_open((char const *)arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_open_v2___(char * jarg1, void * jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_core_db_t **arg2 = (switch_core_db_t **) 0 ;
  int result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_core_db_t **)jarg2; 
  result = (int)switch_core_db_open_v2((char const *)arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_column_text___(void * jarg1, int jarg2) {
  void * jresult ;
  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
  int arg2 ;
  unsigned char *result = 0 ;
  
  arg1 = (switch_core_db_stmt_t *)jarg1; 
  arg2 = (int)jarg2; 
  result = (unsigned char *)switch_core_db_column_text(arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_column_name___(void * jarg1, int jarg2) {
  char * jresult ;
  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
  int arg2 ;
  char *result = 0 ;
  
  arg1 = (switch_core_db_stmt_t *)jarg1; 
  arg2 = (int)jarg2; 
  result = (char *)switch_core_db_column_name(arg1,arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_column_count___(void * jarg1) {
  int jresult ;
  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
  int result;
  
  arg1 = (switch_core_db_stmt_t *)jarg1; 
  result = (int)switch_core_db_column_count(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_errmsg___(void * jarg1) {
  char * jresult ;
  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_core_db_t *)jarg1; 
  result = (char *)switch_core_db_errmsg(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_exec___(void * jarg1, char * jarg2, void * jarg3, void * jarg4, void * jarg5) {
  int jresult ;
  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_core_db_callback_func_t arg3 = (switch_core_db_callback_func_t) 0 ;
  void *arg4 = (void *) 0 ;
  char **arg5 = (char **) 0 ;
  int result;
  
  arg1 = (switch_core_db_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_core_db_callback_func_t)jarg3; 
  arg4 = (void *)jarg4; 
  arg5 = (char **)jarg5; 
  result = (int)switch_core_db_exec(arg1,(char const *)arg2,arg3,arg4,arg5);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_finalize___(void * jarg1) {
  int jresult ;
  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
  int result;
  
  arg1 = (switch_core_db_stmt_t *)jarg1; 
  result = (int)switch_core_db_finalize(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_prepare___(void * jarg1, char * jarg2, int jarg3, void * jarg4, void * jarg5) {
  int jresult ;
  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
  char *arg2 = (char *) 0 ;
  int arg3 ;
  switch_core_db_stmt_t **arg4 = (switch_core_db_stmt_t **) 0 ;
  char **arg5 = (char **) 0 ;
  int result;
  
  arg1 = (switch_core_db_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (switch_core_db_stmt_t **)jarg4; 
  arg5 = (char **)jarg5; 
  result = (int)switch_core_db_prepare(arg1,(char const *)arg2,arg3,arg4,(char const **)arg5);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_step___(void * jarg1) {
  int jresult ;
  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
  int result;
  
  arg1 = (switch_core_db_stmt_t *)jarg1; 
  result = (int)switch_core_db_step(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_reset___(void * jarg1) {
  int jresult ;
  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
  int result;
  
  arg1 = (switch_core_db_stmt_t *)jarg1; 
  result = (int)switch_core_db_reset(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_bind_int___(void * jarg1, int jarg2, int jarg3) {
  int jresult ;
  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
  int arg2 ;
  int arg3 ;
  int result;
  
  arg1 = (switch_core_db_stmt_t *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (int)jarg3; 
  result = (int)switch_core_db_bind_int(arg1,arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_bind_int64___(void * jarg1, int jarg2, long long jarg3) {
  int jresult ;
  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
  int arg2 ;
  int64_t arg3 ;
  int result;
  
  arg1 = (switch_core_db_stmt_t *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (int64_t)jarg3; 
  result = (int)switch_core_db_bind_int64(arg1,arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_bind_text___(void * jarg1, int jarg2, char * jarg3, int jarg4, void * jarg5) {
  int jresult ;
  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
  int arg2 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  switch_core_db_destructor_type_t arg5 = (switch_core_db_destructor_type_t) 0 ;
  int result;
  
  arg1 = (switch_core_db_stmt_t *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  arg5 = (switch_core_db_destructor_type_t)jarg5; 
  result = (int)switch_core_db_bind_text(arg1,arg2,(char const *)arg3,arg4,arg5);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_bind_double___(void * jarg1, int jarg2, double jarg3) {
  int jresult ;
  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
  int arg2 ;
  double arg3 ;
  int result;
  
  arg1 = (switch_core_db_stmt_t *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (double)jarg3; 
  result = (int)switch_core_db_bind_double(arg1,arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT long long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_last_insert_rowid___(void * jarg1) {
  long long jresult ;
  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
  int64_t result;
  
  arg1 = (switch_core_db_t *)jarg1; 
  result = (int64_t)switch_core_db_last_insert_rowid(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_get_table___(void * jarg1, char * jarg2, void * jarg3, void * jarg4, void * jarg5, void * jarg6) {
  int jresult ;
  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char ***arg3 = (char ***) 0 ;
  int *arg4 = (int *) 0 ;
  int *arg5 = (int *) 0 ;
  char **arg6 = (char **) 0 ;
  int result;
  
  arg1 = (switch_core_db_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char ***)jarg3; 
  arg4 = (int *)jarg4; 
  arg5 = (int *)jarg5; 
  arg6 = (char **)jarg6; 
  result = (int)switch_core_db_get_table(arg1,(char const *)arg2,arg3,arg4,arg5,arg6);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_free_table___(void * jarg1) {
  char **arg1 = (char **) 0 ;
  
  arg1 = (char **)jarg1; 
  switch_core_db_free_table(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_free___(char * jarg1) {
  char *arg1 = (char *) 0 ;
  
  arg1 = (char *)jarg1; 
  switch_core_db_free(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_changes___(void * jarg1) {
  int jresult ;
  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
  int result;
  
  arg1 = (switch_core_db_t *)jarg1; 
  result = (int)switch_core_db_changes(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_load_extension___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
  char *arg2 = (char *) 0 ;
  int result;
  
  arg1 = (switch_core_db_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (int)switch_core_db_load_extension(arg1,(char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_OK_get___() {
  int jresult ;
  int result;
  
  result = (int)(0);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_ERROR_get___() {
  int jresult ;
  int result;
  
  result = (int)(1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_INTERNAL_get___() {
  int jresult ;
  int result;
  
  result = (int)(2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_PERM_get___() {
  int jresult ;
  int result;
  
  result = (int)(3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_ABORT_get___() {
  int jresult ;
  int result;
  
  result = (int)(4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_BUSY_get___() {
  int jresult ;
  int result;
  
  result = (int)(5);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_LOCKED_get___() {
  int jresult ;
  int result;
  
  result = (int)(6);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_NOMEM_get___() {
  int jresult ;
  int result;
  
  result = (int)(7);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_READONLY_get___() {
  int jresult ;
  int result;
  
  result = (int)(8);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_INTERRUPT_get___() {
  int jresult ;
  int result;
  
  result = (int)(9);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_IOERR_get___() {
  int jresult ;
  int result;
  
  result = (int)(10);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_CORRUPT_get___() {
  int jresult ;
  int result;
  
  result = (int)(11);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_NOTFOUND_get___() {
  int jresult ;
  int result;
  
  result = (int)(12);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_FULL_get___() {
  int jresult ;
  int result;
  
  result = (int)(13);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_CANTOPEN_get___() {
  int jresult ;
  int result;
  
  result = (int)(14);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_PROTOCOL_get___() {
  int jresult ;
  int result;
  
  result = (int)(15);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_EMPTY_get___() {
  int jresult ;
  int result;
  
  result = (int)(16);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_SCHEMA_get___() {
  int jresult ;
  int result;
  
  result = (int)(17);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_TOOBIG_get___() {
  int jresult ;
  int result;
  
  result = (int)(18);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_CONSTRAINT_get___() {
  int jresult ;
  int result;
  
  result = (int)(19);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_MISMATCH_get___() {
  int jresult ;
  int result;
  
  result = (int)(20);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_MISUSE_get___() {
  int jresult ;
  int result;
  
  result = (int)(21);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_NOLFS_get___() {
  int jresult ;
  int result;
  
  result = (int)(22);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_AUTH_get___() {
  int jresult ;
  int result;
  
  result = (int)(23);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_FORMAT_get___() {
  int jresult ;
  int result;
  
  result = (int)(24);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_RANGE_get___() {
  int jresult ;
  int result;
  
  result = (int)(25);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_NOTADB_get___() {
  int jresult ;
  int result;
  
  result = (int)(26);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_ROW_get___() {
  int jresult ;
  int result;
  
  result = (int)(100);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_DONE_get___() {
  int jresult ;
  int result;
  
  result = (int)(101);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_sql_concat___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)switch_sql_concat();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_regex_compile___(char * jarg1, int jarg2, void * jarg3, void * jarg4, void * jarg5) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  int arg2 ;
  char **arg3 = (char **) 0 ;
  int *arg4 = (int *) 0 ;
  unsigned char *arg5 = (unsigned char *) 0 ;
  switch_regex_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (char **)jarg3; 
  arg4 = (int *)jarg4; 
  arg5 = (unsigned char *)jarg5; 
  result = (switch_regex_t *)switch_regex_compile((char const *)arg1,arg2,(char const **)arg3,arg4,(unsigned char const *)arg5);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_regex_copy_substring___(char * jarg1, void * jarg2, int jarg3, int jarg4, char * jarg5, int jarg6) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  int *arg2 = (int *) 0 ;
  int arg3 ;
  int arg4 ;
  char *arg5 = (char *) 0 ;
  int arg6 ;
  int result;
  
  arg1 = (char *)jarg1; 
  arg2 = (int *)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (int)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (int)jarg6; 
  result = (int)switch_regex_copy_substring((char const *)arg1,arg2,arg3,arg4,arg5,arg6);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_regex_free___(void * jarg1) {
  void *arg1 = (void *) 0 ;
  
  arg1 = (void *)jarg1; 
  switch_regex_free(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_regex_perform___(char * jarg1, char * jarg2, void * jarg3, void * jarg4, unsigned long jarg5) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_regex_t **arg3 = (switch_regex_t **) 0 ;
  int *arg4 = (int *) 0 ;
  uint32_t arg5 ;
  int result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_regex_t **)jarg3; 
  arg4 = (int *)jarg4; 
  arg5 = (uint32_t)jarg5; 
  result = (int)switch_regex_perform((char const *)arg1,(char const *)arg2,arg3,arg4,arg5);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_perform_substitution___(void * jarg1, int jarg2, char * jarg3, char * jarg4, char * jarg5, void * jarg6, void * jarg7) {
  switch_regex_t *arg1 = (switch_regex_t *) 0 ;
  int arg2 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  switch_size_t arg6 ;
  int *arg7 = (int *) 0 ;
  switch_size_t *argp6 ;
  
  arg1 = (switch_regex_t *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  argp6 = (switch_size_t *)jarg6; 
  if (!argp6) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg6 = *argp6; 
  arg7 = (int *)jarg7; 
  switch_perform_substitution(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5,arg6,arg7);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_regex_match___(char * jarg1, char * jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_regex_match((char const *)arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_regex_match_partial___(char * jarg1, char * jarg2, void * jarg3) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  int *arg3 = (int *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (int *)jarg3; 
  result = (switch_status_t)switch_regex_match_partial((char const *)arg1,(char const *)arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_capture_regex___(void * jarg1, int jarg2, char * jarg3, void * jarg4, char * jarg5, void * jarg6, void * jarg7) {
  switch_regex_t *arg1 = (switch_regex_t *) 0 ;
  int arg2 ;
  char *arg3 = (char *) 0 ;
  int *arg4 = (int *) 0 ;
  char *arg5 = (char *) 0 ;
  switch_cap_callback_t arg6 = (switch_cap_callback_t) 0 ;
  void *arg7 = (void *) 0 ;
  
  arg1 = (switch_regex_t *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int *)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (switch_cap_callback_t)jarg6; 
  arg7 = (void *)jarg7; 
  switch_capture_regex(arg1,arg2,(char const *)arg3,arg4,(char const *)arg5,arg6,arg7);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_regex_set_var_callback___(char * jarg1, char * jarg2, void * jarg3) {
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  void *arg3 = (void *) 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (void *)jarg3; 
  switch_regex_set_var_callback((char const *)arg1,(char const *)arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_regex_set_event_header_callback___(char * jarg1, char * jarg2, void * jarg3) {
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  void *arg3 = (void *) 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (void *)jarg3; 
  switch_regex_set_event_header_callback((char const *)arg1,(char const *)arg2,arg3);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get___() {
  int jresult ;
  int result;
  
  result = (int)(128);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_MAX_STREAMS_get___() {
  int jresult ;
  int result;
  
  result = (int)(128);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_time_duration_mms_set___(void * jarg1, unsigned long jarg2) {
  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_core_time_duration *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->mms = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_time_duration_mms_get___(void * jarg1) {
  unsigned long jresult ;
  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
  uint32_t result;
  
  arg1 = (switch_core_time_duration *)jarg1; 
  result = (uint32_t) ((arg1)->mms);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_time_duration_ms_set___(void * jarg1, unsigned long jarg2) {
  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_core_time_duration *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->ms = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_time_duration_ms_get___(void * jarg1) {
  unsigned long jresult ;
  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
  uint32_t result;
  
  arg1 = (switch_core_time_duration *)jarg1; 
  result = (uint32_t) ((arg1)->ms);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_time_duration_sec_set___(void * jarg1, unsigned long jarg2) {
  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_core_time_duration *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->sec = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_time_duration_sec_get___(void * jarg1) {
  unsigned long jresult ;
  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
  uint32_t result;
  
  arg1 = (switch_core_time_duration *)jarg1; 
  result = (uint32_t) ((arg1)->sec);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_time_duration_min_set___(void * jarg1, unsigned long jarg2) {
  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_core_time_duration *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->min = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_time_duration_min_get___(void * jarg1) {
  unsigned long jresult ;
  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
  uint32_t result;
  
  arg1 = (switch_core_time_duration *)jarg1; 
  result = (uint32_t) ((arg1)->min);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_time_duration_hr_set___(void * jarg1, unsigned long jarg2) {
  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_core_time_duration *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->hr = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_time_duration_hr_get___(void * jarg1) {
  unsigned long jresult ;
  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
  uint32_t result;
  
  arg1 = (switch_core_time_duration *)jarg1; 
  result = (uint32_t) ((arg1)->hr);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_time_duration_day_set___(void * jarg1, unsigned long jarg2) {
  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_core_time_duration *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->day = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_time_duration_day_get___(void * jarg1) {
  unsigned long jresult ;
  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
  uint32_t result;
  
  arg1 = (switch_core_time_duration *)jarg1; 
  result = (uint32_t) ((arg1)->day);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_time_duration_yr_set___(void * jarg1, unsigned long jarg2) {
  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_core_time_duration *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->yr = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_time_duration_yr_get___(void * jarg1) {
  unsigned long jresult ;
  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
  uint32_t result;
  
  arg1 = (switch_core_time_duration *)jarg1; 
  result = (uint32_t) ((arg1)->yr);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_core_time_duration___() {
  void * jresult ;
  switch_core_time_duration *result = 0 ;
  
  result = (switch_core_time_duration *)new switch_core_time_duration();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_core_time_duration___(void * jarg1) {
  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
  
  arg1 = (switch_core_time_duration *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_app_log_app_set___(void * jarg1, char * jarg2) {
  switch_app_log *arg1 = (switch_app_log *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_app_log *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->app;
    if (arg2) {
      arg1->app = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->app, (const char *)arg2);
    } else {
      arg1->app = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_app_log_app_get___(void * jarg1) {
  char * jresult ;
  switch_app_log *arg1 = (switch_app_log *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_app_log *)jarg1; 
  result = (char *) ((arg1)->app);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_app_log_arg_set___(void * jarg1, char * jarg2) {
  switch_app_log *arg1 = (switch_app_log *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_app_log *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->arg;
    if (arg2) {
      arg1->arg = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->arg, (const char *)arg2);
    } else {
      arg1->arg = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_app_log_arg_get___(void * jarg1) {
  char * jresult ;
  switch_app_log *arg1 = (switch_app_log *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_app_log *)jarg1; 
  result = (char *) ((arg1)->arg);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_app_log_stamp_set___(void * jarg1, void * jarg2) {
  switch_app_log *arg1 = (switch_app_log *) 0 ;
  switch_time_t arg2 ;
  switch_time_t *argp2 ;
  
  arg1 = (switch_app_log *)jarg1; 
  argp2 = (switch_time_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->stamp = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_app_log_stamp_get___(void * jarg1) {
  void * jresult ;
  switch_app_log *arg1 = (switch_app_log *) 0 ;
  switch_time_t result;
  
  arg1 = (switch_app_log *)jarg1; 
  result =  ((arg1)->stamp);
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_app_log_next_set___(void * jarg1, void * jarg2) {
  switch_app_log *arg1 = (switch_app_log *) 0 ;
  switch_app_log *arg2 = (switch_app_log *) 0 ;
  
  arg1 = (switch_app_log *)jarg1; 
  arg2 = (switch_app_log *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_app_log_next_get___(void * jarg1) {
  void * jresult ;
  switch_app_log *arg1 = (switch_app_log *) 0 ;
  switch_app_log *result = 0 ;
  
  arg1 = (switch_app_log *)jarg1; 
  result = (switch_app_log *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_app_log___() {
  void * jresult ;
  switch_app_log *result = 0 ;
  
  result = (switch_app_log *)new switch_app_log();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_app_log___(void * jarg1) {
  switch_app_log *arg1 = (switch_app_log *) 0 ;
  
  arg1 = (switch_app_log *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_thread_data_t_func_set___(void * jarg1, void * jarg2) {
  switch_thread_data_s *arg1 = (switch_thread_data_s *) 0 ;
  switch_thread_start_t arg2 ;
  switch_thread_start_t *argp2 ;
  
  arg1 = (switch_thread_data_s *)jarg1; 
  argp2 = (switch_thread_start_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_thread_start_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->func = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_thread_data_t_func_get___(void * jarg1) {
  void * jresult ;
  switch_thread_data_s *arg1 = (switch_thread_data_s *) 0 ;
  switch_thread_start_t result;
  
  arg1 = (switch_thread_data_s *)jarg1; 
  result =  ((arg1)->func);
  jresult = new switch_thread_start_t((const switch_thread_start_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_thread_data_t_obj_set___(void * jarg1, void * jarg2) {
  switch_thread_data_s *arg1 = (switch_thread_data_s *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_thread_data_s *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->obj = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_thread_data_t_obj_get___(void * jarg1) {
  void * jresult ;
  switch_thread_data_s *arg1 = (switch_thread_data_s *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_thread_data_s *)jarg1; 
  result = (void *) ((arg1)->obj);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_thread_data_t_alloc_set___(void * jarg1, int jarg2) {
  switch_thread_data_s *arg1 = (switch_thread_data_s *) 0 ;
  int arg2 ;
  
  arg1 = (switch_thread_data_s *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->alloc = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_thread_data_t_alloc_get___(void * jarg1) {
  int jresult ;
  switch_thread_data_s *arg1 = (switch_thread_data_s *) 0 ;
  int result;
  
  arg1 = (switch_thread_data_s *)jarg1; 
  result = (int) ((arg1)->alloc);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_thread_data_t_running_set___(void * jarg1, int jarg2) {
  switch_thread_data_s *arg1 = (switch_thread_data_s *) 0 ;
  int arg2 ;
  
  arg1 = (switch_thread_data_s *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->running = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_thread_data_t_running_get___(void * jarg1) {
  int jresult ;
  switch_thread_data_s *arg1 = (switch_thread_data_s *) 0 ;
  int result;
  
  arg1 = (switch_thread_data_s *)jarg1; 
  result = (int) ((arg1)->running);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_thread_data_t_pool_set___(void * jarg1, void * jarg2) {
  switch_thread_data_s *arg1 = (switch_thread_data_s *) 0 ;
  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
  
  arg1 = (switch_thread_data_s *)jarg1; 
  arg2 = (switch_memory_pool_t *)jarg2; 
  if (arg1) (arg1)->pool = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_thread_data_t_pool_get___(void * jarg1) {
  void * jresult ;
  switch_thread_data_s *arg1 = (switch_thread_data_s *) 0 ;
  switch_memory_pool_t *result = 0 ;
  
  arg1 = (switch_thread_data_s *)jarg1; 
  result = (switch_memory_pool_t *) ((arg1)->pool);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_thread_data_t___() {
  void * jresult ;
  switch_thread_data_s *result = 0 ;
  
  result = (switch_thread_data_s *)new switch_thread_data_s();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_thread_data_t___(void * jarg1) {
  switch_thread_data_s *arg1 = (switch_thread_data_s *) 0 ;
  
  arg1 = (switch_thread_data_s *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_hold_record_t_on_set___(void * jarg1, void * jarg2) {
  switch_hold_record_s *arg1 = (switch_hold_record_s *) 0 ;
  switch_time_t arg2 ;
  switch_time_t *argp2 ;
  
  arg1 = (switch_hold_record_s *)jarg1; 
  argp2 = (switch_time_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->on = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_hold_record_t_on_get___(void * jarg1) {
  void * jresult ;
  switch_hold_record_s *arg1 = (switch_hold_record_s *) 0 ;
  switch_time_t result;
  
  arg1 = (switch_hold_record_s *)jarg1; 
  result =  ((arg1)->on);
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_hold_record_t_off_set___(void * jarg1, void * jarg2) {
  switch_hold_record_s *arg1 = (switch_hold_record_s *) 0 ;
  switch_time_t arg2 ;
  switch_time_t *argp2 ;
  
  arg1 = (switch_hold_record_s *)jarg1; 
  argp2 = (switch_time_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->off = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_hold_record_t_off_get___(void * jarg1) {
  void * jresult ;
  switch_hold_record_s *arg1 = (switch_hold_record_s *) 0 ;
  switch_time_t result;
  
  arg1 = (switch_hold_record_s *)jarg1; 
  result =  ((arg1)->off);
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_hold_record_t_uuid_set___(void * jarg1, char * jarg2) {
  switch_hold_record_s *arg1 = (switch_hold_record_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_hold_record_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->uuid;
    if (arg2) {
      arg1->uuid = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->uuid, (const char *)arg2);
    } else {
      arg1->uuid = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_hold_record_t_uuid_get___(void * jarg1) {
  char * jresult ;
  switch_hold_record_s *arg1 = (switch_hold_record_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_hold_record_s *)jarg1; 
  result = (char *) ((arg1)->uuid);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_hold_record_t_next_set___(void * jarg1, void * jarg2) {
  switch_hold_record_s *arg1 = (switch_hold_record_s *) 0 ;
  switch_hold_record_s *arg2 = (switch_hold_record_s *) 0 ;
  
  arg1 = (switch_hold_record_s *)jarg1; 
  arg2 = (switch_hold_record_s *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_hold_record_t_next_get___(void * jarg1) {
  void * jresult ;
  switch_hold_record_s *arg1 = (switch_hold_record_s *) 0 ;
  switch_hold_record_s *result = 0 ;
  
  arg1 = (switch_hold_record_s *)jarg1; 
  result = (switch_hold_record_s *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_hold_record_t___() {
  void * jresult ;
  switch_hold_record_s *result = 0 ;
  
  result = (switch_hold_record_s *)new switch_hold_record_s();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_hold_record_t___(void * jarg1) {
  switch_hold_record_s *arg1 = (switch_hold_record_s *) 0 ;
  
  arg1 = (switch_hold_record_s *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_node_t_uuid_set___(void * jarg1, char * jarg2) {
  device_uuid_node_s *arg1 = (device_uuid_node_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (device_uuid_node_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->uuid;
    if (arg2) {
      arg1->uuid = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->uuid, (const char *)arg2);
    } else {
      arg1->uuid = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_node_t_uuid_get___(void * jarg1) {
  char * jresult ;
  device_uuid_node_s *arg1 = (device_uuid_node_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (device_uuid_node_s *)jarg1; 
  result = (char *) ((arg1)->uuid);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_node_t_xml_cdr_set___(void * jarg1, void * jarg2) {
  device_uuid_node_s *arg1 = (device_uuid_node_s *) 0 ;
  switch_xml_t arg2 = (switch_xml_t) 0 ;
  
  arg1 = (device_uuid_node_s *)jarg1; 
  arg2 = (switch_xml_t)jarg2; 
  if (arg1) (arg1)->xml_cdr = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_node_t_xml_cdr_get___(void * jarg1) {
  void * jresult ;
  device_uuid_node_s *arg1 = (device_uuid_node_s *) 0 ;
  switch_xml_t result;
  
  arg1 = (device_uuid_node_s *)jarg1; 
  result = (switch_xml_t) ((arg1)->xml_cdr);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_node_t_event__set___(void * jarg1, void * jarg2) {
  device_uuid_node_s *arg1 = (device_uuid_node_s *) 0 ;
  switch_event_t *arg2 = (switch_event_t *) 0 ;
  
  arg1 = (device_uuid_node_s *)jarg1; 
  arg2 = (switch_event_t *)jarg2; 
  if (arg1) (arg1)->event = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_node_t_event__get___(void * jarg1) {
  void * jresult ;
  device_uuid_node_s *arg1 = (device_uuid_node_s *) 0 ;
  switch_event_t *result = 0 ;
  
  arg1 = (device_uuid_node_s *)jarg1; 
  result = (switch_event_t *) ((arg1)->event);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_node_t_callstate_set___(void * jarg1, int jarg2) {
  device_uuid_node_s *arg1 = (device_uuid_node_s *) 0 ;
  switch_channel_callstate_t arg2 ;
  
  arg1 = (device_uuid_node_s *)jarg1; 
  arg2 = (switch_channel_callstate_t)jarg2; 
  if (arg1) (arg1)->callstate = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_node_t_callstate_get___(void * jarg1) {
  int jresult ;
  device_uuid_node_s *arg1 = (device_uuid_node_s *) 0 ;
  switch_channel_callstate_t result;
  
  arg1 = (device_uuid_node_s *)jarg1; 
  result = (switch_channel_callstate_t) ((arg1)->callstate);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_node_t_hold_record_set___(void * jarg1, void * jarg2) {
  device_uuid_node_s *arg1 = (device_uuid_node_s *) 0 ;
  switch_hold_record_t *arg2 = (switch_hold_record_t *) 0 ;
  
  arg1 = (device_uuid_node_s *)jarg1; 
  arg2 = (switch_hold_record_t *)jarg2; 
  if (arg1) (arg1)->hold_record = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_node_t_hold_record_get___(void * jarg1) {
  void * jresult ;
  device_uuid_node_s *arg1 = (device_uuid_node_s *) 0 ;
  switch_hold_record_t *result = 0 ;
  
  arg1 = (device_uuid_node_s *)jarg1; 
  result = (switch_hold_record_t *) ((arg1)->hold_record);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_node_t_hup_profile_set___(void * jarg1, void * jarg2) {
  device_uuid_node_s *arg1 = (device_uuid_node_s *) 0 ;
  switch_caller_profile_t *arg2 = (switch_caller_profile_t *) 0 ;
  
  arg1 = (device_uuid_node_s *)jarg1; 
  arg2 = (switch_caller_profile_t *)jarg2; 
  if (arg1) (arg1)->hup_profile = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_node_t_hup_profile_get___(void * jarg1) {
  void * jresult ;
  device_uuid_node_s *arg1 = (device_uuid_node_s *) 0 ;
  switch_caller_profile_t *result = 0 ;
  
  arg1 = (device_uuid_node_s *)jarg1; 
  result = (switch_caller_profile_t *) ((arg1)->hup_profile);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_node_t_direction_set___(void * jarg1, int jarg2) {
  device_uuid_node_s *arg1 = (device_uuid_node_s *) 0 ;
  switch_call_direction_t arg2 ;
  
  arg1 = (device_uuid_node_s *)jarg1; 
  arg2 = (switch_call_direction_t)jarg2; 
  if (arg1) (arg1)->direction = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_node_t_direction_get___(void * jarg1) {
  int jresult ;
  device_uuid_node_s *arg1 = (device_uuid_node_s *) 0 ;
  switch_call_direction_t result;
  
  arg1 = (device_uuid_node_s *)jarg1; 
  result = (switch_call_direction_t) ((arg1)->direction);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_node_t_parent_set___(void * jarg1, void * jarg2) {
  device_uuid_node_s *arg1 = (device_uuid_node_s *) 0 ;
  switch_device_record_s *arg2 = (switch_device_record_s *) 0 ;
  
  arg1 = (device_uuid_node_s *)jarg1; 
  arg2 = (switch_device_record_s *)jarg2; 
  if (arg1) (arg1)->parent = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_node_t_parent_get___(void * jarg1) {
  void * jresult ;
  device_uuid_node_s *arg1 = (device_uuid_node_s *) 0 ;
  switch_device_record_s *result = 0 ;
  
  arg1 = (device_uuid_node_s *)jarg1; 
  result = (switch_device_record_s *) ((arg1)->parent);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_node_t_next_set___(void * jarg1, void * jarg2) {
  device_uuid_node_s *arg1 = (device_uuid_node_s *) 0 ;
  device_uuid_node_s *arg2 = (device_uuid_node_s *) 0 ;
  
  arg1 = (device_uuid_node_s *)jarg1; 
  arg2 = (device_uuid_node_s *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_node_t_next_get___(void * jarg1) {
  void * jresult ;
  device_uuid_node_s *arg1 = (device_uuid_node_s *) 0 ;
  device_uuid_node_s *result = 0 ;
  
  arg1 = (device_uuid_node_s *)jarg1; 
  result = (device_uuid_node_s *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_device_node_t___() {
  void * jresult ;
  device_uuid_node_s *result = 0 ;
  
  result = (device_uuid_node_s *)new device_uuid_node_s();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_device_node_t___(void * jarg1) {
  device_uuid_node_s *arg1 = (device_uuid_node_s *) 0 ;
  
  arg1 = (device_uuid_node_s *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_total_set___(void * jarg1, unsigned long jarg2) {
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->total = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_total_get___(void * jarg1) {
  unsigned long jresult ;
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  result = (uint32_t) ((arg1)->total);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_total_in_set___(void * jarg1, unsigned long jarg2) {
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->total_in = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_total_in_get___(void * jarg1) {
  unsigned long jresult ;
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  result = (uint32_t) ((arg1)->total_in);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_total_out_set___(void * jarg1, unsigned long jarg2) {
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->total_out = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_total_out_get___(void * jarg1) {
  unsigned long jresult ;
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  result = (uint32_t) ((arg1)->total_out);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_offhook_set___(void * jarg1, unsigned long jarg2) {
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->offhook = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_offhook_get___(void * jarg1) {
  unsigned long jresult ;
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  result = (uint32_t) ((arg1)->offhook);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_offhook_in_set___(void * jarg1, unsigned long jarg2) {
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->offhook_in = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_offhook_in_get___(void * jarg1) {
  unsigned long jresult ;
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  result = (uint32_t) ((arg1)->offhook_in);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_offhook_out_set___(void * jarg1, unsigned long jarg2) {
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->offhook_out = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_offhook_out_get___(void * jarg1) {
  unsigned long jresult ;
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  result = (uint32_t) ((arg1)->offhook_out);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_active_set___(void * jarg1, unsigned long jarg2) {
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->active = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_active_get___(void * jarg1) {
  unsigned long jresult ;
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  result = (uint32_t) ((arg1)->active);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_active_in_set___(void * jarg1, unsigned long jarg2) {
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->active_in = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_active_in_get___(void * jarg1) {
  unsigned long jresult ;
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  result = (uint32_t) ((arg1)->active_in);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_active_out_set___(void * jarg1, unsigned long jarg2) {
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->active_out = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_active_out_get___(void * jarg1) {
  unsigned long jresult ;
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  result = (uint32_t) ((arg1)->active_out);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_held_set___(void * jarg1, unsigned long jarg2) {
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->held = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_held_get___(void * jarg1) {
  unsigned long jresult ;
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  result = (uint32_t) ((arg1)->held);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_held_in_set___(void * jarg1, unsigned long jarg2) {
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->held_in = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_held_in_get___(void * jarg1) {
  unsigned long jresult ;
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  result = (uint32_t) ((arg1)->held_in);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_held_out_set___(void * jarg1, unsigned long jarg2) {
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->held_out = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_held_out_get___(void * jarg1) {
  unsigned long jresult ;
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  result = (uint32_t) ((arg1)->held_out);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_unheld_set___(void * jarg1, unsigned long jarg2) {
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->unheld = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_unheld_get___(void * jarg1) {
  unsigned long jresult ;
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  result = (uint32_t) ((arg1)->unheld);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_unheld_in_set___(void * jarg1, unsigned long jarg2) {
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->unheld_in = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_unheld_in_get___(void * jarg1) {
  unsigned long jresult ;
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  result = (uint32_t) ((arg1)->unheld_in);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_unheld_out_set___(void * jarg1, unsigned long jarg2) {
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->unheld_out = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_unheld_out_get___(void * jarg1) {
  unsigned long jresult ;
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  result = (uint32_t) ((arg1)->unheld_out);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_hup_set___(void * jarg1, unsigned long jarg2) {
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->hup = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_hup_get___(void * jarg1) {
  unsigned long jresult ;
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  result = (uint32_t) ((arg1)->hup);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_hup_in_set___(void * jarg1, unsigned long jarg2) {
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->hup_in = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_hup_in_get___(void * jarg1) {
  unsigned long jresult ;
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  result = (uint32_t) ((arg1)->hup_in);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_hup_out_set___(void * jarg1, unsigned long jarg2) {
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->hup_out = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_hup_out_get___(void * jarg1) {
  unsigned long jresult ;
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  result = (uint32_t) ((arg1)->hup_out);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_ringing_set___(void * jarg1, unsigned long jarg2) {
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->ringing = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_ringing_get___(void * jarg1) {
  unsigned long jresult ;
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  result = (uint32_t) ((arg1)->ringing);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_ringing_in_set___(void * jarg1, unsigned long jarg2) {
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->ringing_in = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_ringing_in_get___(void * jarg1) {
  unsigned long jresult ;
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  result = (uint32_t) ((arg1)->ringing_in);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_ringing_out_set___(void * jarg1, unsigned long jarg2) {
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->ringing_out = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_ringing_out_get___(void * jarg1) {
  unsigned long jresult ;
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  result = (uint32_t) ((arg1)->ringing_out);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_early_set___(void * jarg1, unsigned long jarg2) {
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->early = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_early_get___(void * jarg1) {
  unsigned long jresult ;
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  result = (uint32_t) ((arg1)->early);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_early_in_set___(void * jarg1, unsigned long jarg2) {
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->early_in = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_early_in_get___(void * jarg1) {
  unsigned long jresult ;
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  result = (uint32_t) ((arg1)->early_in);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_early_out_set___(void * jarg1, unsigned long jarg2) {
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->early_out = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_early_out_get___(void * jarg1) {
  unsigned long jresult ;
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  result = (uint32_t) ((arg1)->early_out);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_ring_wait_set___(void * jarg1, unsigned long jarg2) {
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->ring_wait = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_stats_t_ring_wait_get___(void * jarg1) {
  unsigned long jresult ;
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  uint32_t result;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  result = (uint32_t) ((arg1)->ring_wait);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_device_stats_t___() {
  void * jresult ;
  switch_device_stats_s *result = 0 ;
  
  result = (switch_device_stats_s *)new switch_device_stats_s();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_device_stats_t___(void * jarg1) {
  switch_device_stats_s *arg1 = (switch_device_stats_s *) 0 ;
  
  arg1 = (switch_device_stats_s *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_device_id_set___(void * jarg1, char * jarg2) {
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->device_id;
    if (arg2) {
      arg1->device_id = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->device_id, (const char *)arg2);
    } else {
      arg1->device_id = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_device_id_get___(void * jarg1) {
  char * jresult ;
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  result = (char *) ((arg1)->device_id);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_uuid_set___(void * jarg1, char * jarg2) {
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->uuid;
    if (arg2) {
      arg1->uuid = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->uuid, (const char *)arg2);
    } else {
      arg1->uuid = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_uuid_get___(void * jarg1) {
  char * jresult ;
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  result = (char *) ((arg1)->uuid);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_refs_set___(void * jarg1, int jarg2) {
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  int arg2 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->refs = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_refs_get___(void * jarg1) {
  int jresult ;
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  int result;
  
  arg1 = (switch_device_record_s *)jarg1; 
  result = (int) ((arg1)->refs);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_stats_set___(void * jarg1, void * jarg2) {
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_device_stats_t *arg2 = (switch_device_stats_t *) 0 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  arg2 = (switch_device_stats_t *)jarg2; 
  if (arg1) (arg1)->stats = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_stats_get___(void * jarg1) {
  void * jresult ;
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_device_stats_t *result = 0 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  result = (switch_device_stats_t *)& ((arg1)->stats);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_last_stats_set___(void * jarg1, void * jarg2) {
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_device_stats_t *arg2 = (switch_device_stats_t *) 0 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  arg2 = (switch_device_stats_t *)jarg2; 
  if (arg1) (arg1)->last_stats = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_last_stats_get___(void * jarg1) {
  void * jresult ;
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_device_stats_t *result = 0 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  result = (switch_device_stats_t *)& ((arg1)->last_stats);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_state_set___(void * jarg1, int jarg2) {
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_device_state_t arg2 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  arg2 = (switch_device_state_t)jarg2; 
  if (arg1) (arg1)->state = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_state_get___(void * jarg1) {
  int jresult ;
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_device_state_t result;
  
  arg1 = (switch_device_record_s *)jarg1; 
  result = (switch_device_state_t) ((arg1)->state);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_last_state_set___(void * jarg1, int jarg2) {
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_device_state_t arg2 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  arg2 = (switch_device_state_t)jarg2; 
  if (arg1) (arg1)->last_state = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_last_state_get___(void * jarg1) {
  int jresult ;
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_device_state_t result;
  
  arg1 = (switch_device_record_s *)jarg1; 
  result = (switch_device_state_t) ((arg1)->last_state);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_active_start_set___(void * jarg1, void * jarg2) {
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_time_t arg2 ;
  switch_time_t *argp2 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  argp2 = (switch_time_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->active_start = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_active_start_get___(void * jarg1) {
  void * jresult ;
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_time_t result;
  
  arg1 = (switch_device_record_s *)jarg1; 
  result =  ((arg1)->active_start);
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_active_stop_set___(void * jarg1, void * jarg2) {
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_time_t arg2 ;
  switch_time_t *argp2 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  argp2 = (switch_time_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->active_stop = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_active_stop_get___(void * jarg1) {
  void * jresult ;
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_time_t result;
  
  arg1 = (switch_device_record_s *)jarg1; 
  result =  ((arg1)->active_stop);
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_last_call_time_set___(void * jarg1, void * jarg2) {
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_time_t arg2 ;
  switch_time_t *argp2 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  argp2 = (switch_time_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->last_call_time = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_last_call_time_get___(void * jarg1) {
  void * jresult ;
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_time_t result;
  
  arg1 = (switch_device_record_s *)jarg1; 
  result =  ((arg1)->last_call_time);
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_ring_start_set___(void * jarg1, void * jarg2) {
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_time_t arg2 ;
  switch_time_t *argp2 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  argp2 = (switch_time_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->ring_start = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_ring_start_get___(void * jarg1) {
  void * jresult ;
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_time_t result;
  
  arg1 = (switch_device_record_s *)jarg1; 
  result =  ((arg1)->ring_start);
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_ring_stop_set___(void * jarg1, void * jarg2) {
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_time_t arg2 ;
  switch_time_t *argp2 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  argp2 = (switch_time_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->ring_stop = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_ring_stop_get___(void * jarg1) {
  void * jresult ;
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_time_t result;
  
  arg1 = (switch_device_record_s *)jarg1; 
  result =  ((arg1)->ring_stop);
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_hold_start_set___(void * jarg1, void * jarg2) {
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_time_t arg2 ;
  switch_time_t *argp2 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  argp2 = (switch_time_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->hold_start = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_hold_start_get___(void * jarg1) {
  void * jresult ;
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_time_t result;
  
  arg1 = (switch_device_record_s *)jarg1; 
  result =  ((arg1)->hold_start);
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_hold_stop_set___(void * jarg1, void * jarg2) {
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_time_t arg2 ;
  switch_time_t *argp2 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  argp2 = (switch_time_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->hold_stop = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_hold_stop_get___(void * jarg1) {
  void * jresult ;
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_time_t result;
  
  arg1 = (switch_device_record_s *)jarg1; 
  result =  ((arg1)->hold_stop);
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_call_start_set___(void * jarg1, void * jarg2) {
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_time_t arg2 ;
  switch_time_t *argp2 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  argp2 = (switch_time_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->call_start = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_call_start_get___(void * jarg1) {
  void * jresult ;
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_time_t result;
  
  arg1 = (switch_device_record_s *)jarg1; 
  result =  ((arg1)->call_start);
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_uuid_list_set___(void * jarg1, void * jarg2) {
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  device_uuid_node_s *arg2 = (device_uuid_node_s *) 0 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  arg2 = (device_uuid_node_s *)jarg2; 
  if (arg1) (arg1)->uuid_list = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_uuid_list_get___(void * jarg1) {
  void * jresult ;
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  device_uuid_node_s *result = 0 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  result = (device_uuid_node_s *) ((arg1)->uuid_list);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_uuid_tail_set___(void * jarg1, void * jarg2) {
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  device_uuid_node_s *arg2 = (device_uuid_node_s *) 0 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  arg2 = (device_uuid_node_s *)jarg2; 
  if (arg1) (arg1)->uuid_tail = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_uuid_tail_get___(void * jarg1) {
  void * jresult ;
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  device_uuid_node_s *result = 0 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  result = (device_uuid_node_s *) ((arg1)->uuid_tail);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_mutex_set___(void * jarg1, void * jarg2) {
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  arg2 = (switch_mutex_t *)jarg2; 
  if (arg1) (arg1)->mutex = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_mutex_get___(void * jarg1) {
  void * jresult ;
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_mutex_t *result = 0 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  result = (switch_mutex_t *) ((arg1)->mutex);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_pool_set___(void * jarg1, void * jarg2) {
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  arg2 = (switch_memory_pool_t *)jarg2; 
  if (arg1) (arg1)->pool = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_pool_get___(void * jarg1) {
  void * jresult ;
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  switch_memory_pool_t *result = 0 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  result = (switch_memory_pool_t *) ((arg1)->pool);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_user_data_set___(void * jarg1, void * jarg2) {
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->user_data = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_user_data_get___(void * jarg1) {
  void * jresult ;
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  result = (void *) ((arg1)->user_data);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_device_record_t___() {
  void * jresult ;
  switch_device_record_s *result = 0 ;
  
  result = (switch_device_record_s *)new switch_device_record_s();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_device_record_t___(void * jarg1) {
  switch_device_record_s *arg1 = (switch_device_record_s *) 0 ;
  
  arg1 = (switch_device_record_s *)jarg1; 
  delete arg1;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_DTLS_SRTP_FNAME_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("dtls-srtp");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_MAX_FPLEN_get___() {
  int jresult ;
  int result;
  
  result = (int)(64);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_MAX_FPSTRLEN_get___() {
  int jresult ;
  int result;
  
  result = (int)(192);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_dtls_fingerprint_t_len_set___(void * jarg1, unsigned long jarg2) {
  dtls_fp_s *arg1 = (dtls_fp_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (dtls_fp_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->len = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_dtls_fingerprint_t_len_get___(void * jarg1) {
  unsigned long jresult ;
  dtls_fp_s *arg1 = (dtls_fp_s *) 0 ;
  uint32_t result;
  
  arg1 = (dtls_fp_s *)jarg1; 
  result = (uint32_t) ((arg1)->len);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_dtls_fingerprint_t_data_set___(void * jarg1, void * jarg2) {
  dtls_fp_s *arg1 = (dtls_fp_s *) 0 ;
  uint8_t *arg2 ;
  
  arg1 = (dtls_fp_s *)jarg1; 
  arg2 = (uint8_t *)jarg2; 
  {
    size_t ii;
    uint8_t *b = (uint8_t *) arg1->data;
    for (ii = 0; ii < (size_t)64+1; ii++) b[ii] = *((uint8_t *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_dtls_fingerprint_t_data_get___(void * jarg1) {
  void * jresult ;
  dtls_fp_s *arg1 = (dtls_fp_s *) 0 ;
  uint8_t *result = 0 ;
  
  arg1 = (dtls_fp_s *)jarg1; 
  result = (uint8_t *)(uint8_t *) ((arg1)->data);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_dtls_fingerprint_t_type_set___(void * jarg1, char * jarg2) {
  dtls_fp_s *arg1 = (dtls_fp_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (dtls_fp_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->type;
    if (arg2) {
      arg1->type = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->type, (const char *)arg2);
    } else {
      arg1->type = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_dtls_fingerprint_t_type_get___(void * jarg1) {
  char * jresult ;
  dtls_fp_s *arg1 = (dtls_fp_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (dtls_fp_s *)jarg1; 
  result = (char *) ((arg1)->type);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_dtls_fingerprint_t_str_set___(void * jarg1, char * jarg2) {
  dtls_fp_s *arg1 = (dtls_fp_s *) 0 ;
  char *arg2 ;
  
  arg1 = (dtls_fp_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if(arg2) {
      strncpy((char*)arg1->str, (const char *)arg2, 192-1);
      arg1->str[192-1] = 0;
    } else {
      arg1->str[0] = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_dtls_fingerprint_t_str_get___(void * jarg1) {
  char * jresult ;
  dtls_fp_s *arg1 = (dtls_fp_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (dtls_fp_s *)jarg1; 
  result = (char *)(char *) ((arg1)->str);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_dtls_fingerprint_t___() {
  void * jresult ;
  dtls_fp_s *result = 0 ;
  
  result = (dtls_fp_s *)new dtls_fp_s();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_dtls_fingerprint_t___(void * jarg1) {
  dtls_fp_s *arg1 = (dtls_fp_s *) 0 ;
  
  arg1 = (dtls_fp_s *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_MESSAGE_STRING_ARG_MAX_get___() {
  int jresult ;
  int result;
  
  result = (int)(10);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_from_set___(void * jarg1, char * jarg2) {
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->from;
    if (arg2) {
      arg1->from = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->from, (const char *)arg2);
    } else {
      arg1->from = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_from_get___(void * jarg1) {
  char * jresult ;
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  result = (char *) ((arg1)->from);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_message_id_set___(void * jarg1, int jarg2) {
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  switch_core_session_message_types_t arg2 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  arg2 = (switch_core_session_message_types_t)jarg2; 
  if (arg1) (arg1)->message_id = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_message_id_get___(void * jarg1) {
  int jresult ;
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  switch_core_session_message_types_t result;
  
  arg1 = (switch_core_session_message *)jarg1; 
  result = (switch_core_session_message_types_t) ((arg1)->message_id);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_numeric_arg_set___(void * jarg1, int jarg2) {
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  int arg2 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->numeric_arg = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_numeric_arg_get___(void * jarg1) {
  int jresult ;
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  int result;
  
  arg1 = (switch_core_session_message *)jarg1; 
  result = (int) ((arg1)->numeric_arg);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_string_arg_set___(void * jarg1, char * jarg2) {
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->string_arg = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->string_arg, (const char *)arg2);
    } else {
      arg1->string_arg = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_string_arg_get___(void * jarg1) {
  char * jresult ;
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  result = (char *) ((arg1)->string_arg);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_string_arg_size_set___(void * jarg1, void * jarg2) {
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->string_arg_size = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_string_arg_size_get___(void * jarg1) {
  void * jresult ;
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_core_session_message *)jarg1; 
  result =  ((arg1)->string_arg_size);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_pointer_arg_set___(void * jarg1, void * jarg2) {
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->pointer_arg = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_pointer_arg_get___(void * jarg1) {
  void * jresult ;
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  result = (void *) ((arg1)->pointer_arg);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_pointer_arg_size_set___(void * jarg1, void * jarg2) {
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->pointer_arg_size = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_pointer_arg_size_get___(void * jarg1) {
  void * jresult ;
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_core_session_message *)jarg1; 
  result =  ((arg1)->pointer_arg_size);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_numeric_reply_set___(void * jarg1, int jarg2) {
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  int arg2 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->numeric_reply = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_numeric_reply_get___(void * jarg1) {
  int jresult ;
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  int result;
  
  arg1 = (switch_core_session_message *)jarg1; 
  result = (int) ((arg1)->numeric_reply);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_string_reply_set___(void * jarg1, char * jarg2) {
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->string_reply;
    if (arg2) {
      arg1->string_reply = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->string_reply, (const char *)arg2);
    } else {
      arg1->string_reply = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_string_reply_get___(void * jarg1) {
  char * jresult ;
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  result = (char *) ((arg1)->string_reply);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_string_reply_size_set___(void * jarg1, void * jarg2) {
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->string_reply_size = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_string_reply_size_get___(void * jarg1) {
  void * jresult ;
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_core_session_message *)jarg1; 
  result =  ((arg1)->string_reply_size);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_pointer_reply_set___(void * jarg1, void * jarg2) {
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->pointer_reply = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_pointer_reply_get___(void * jarg1) {
  void * jresult ;
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  result = (void *) ((arg1)->pointer_reply);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_pointer_reply_size_set___(void * jarg1, void * jarg2) {
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->pointer_reply_size = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_pointer_reply_size_get___(void * jarg1) {
  void * jresult ;
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_core_session_message *)jarg1; 
  result =  ((arg1)->pointer_reply_size);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_flags_set___(void * jarg1, unsigned long jarg2) {
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  switch_core_session_message_flag_t arg2 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  arg2 = (switch_core_session_message_flag_t)jarg2; 
  if (arg1) (arg1)->flags = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_flags_get___(void * jarg1) {
  unsigned long jresult ;
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  switch_core_session_message_flag_t result;
  
  arg1 = (switch_core_session_message *)jarg1; 
  result = (switch_core_session_message_flag_t) ((arg1)->flags);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message__file_set___(void * jarg1, char * jarg2) {
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->_file = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->_file, (const char *)arg2);
    } else {
      arg1->_file = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message__file_get___(void * jarg1) {
  char * jresult ;
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  result = (char *) ((arg1)->_file);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message__func_set___(void * jarg1, char * jarg2) {
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->_func = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->_func, (const char *)arg2);
    } else {
      arg1->_func = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message__func_get___(void * jarg1) {
  char * jresult ;
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  result = (char *) ((arg1)->_func);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message__line_set___(void * jarg1, int jarg2) {
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  int arg2 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->_line = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message__line_get___(void * jarg1) {
  int jresult ;
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  int result;
  
  arg1 = (switch_core_session_message *)jarg1; 
  result = (int) ((arg1)->_line);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_string_array_arg_set___(void * jarg1, void * jarg2) {
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  char **arg2 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  arg2 = (char **)jarg2; 
  {
    size_t ii;
    char const * *b = (char const * *) arg1->string_array_arg;
    for (ii = 0; ii < (size_t)10; ii++) b[ii] = *((char const * *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_string_array_arg_get___(void * jarg1) {
  void * jresult ;
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  char **result = 0 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  result = (char **)(char **) ((arg1)->string_array_arg);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_delivery_time_set___(void * jarg1, void * jarg2) {
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  time_t arg2 ;
  time_t *argp2 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  argp2 = (time_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null time_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->delivery_time = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_delivery_time_get___(void * jarg1) {
  void * jresult ;
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  time_t result;
  
  arg1 = (switch_core_session_message *)jarg1; 
  result =  ((arg1)->delivery_time);
  jresult = new time_t((const time_t &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_core_session_message___() {
  void * jresult ;
  switch_core_session_message *result = 0 ;
  
  result = (switch_core_session_message *)new switch_core_session_message();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_core_session_message___(void * jarg1) {
  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
  
  arg1 = (switch_core_session_message *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_thread_session_running_set___(void * jarg1, int jarg2) {
  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
  int arg2 ;
  
  arg1 = (switch_core_thread_session *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->running = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_thread_session_running_get___(void * jarg1) {
  int jresult ;
  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
  int result;
  
  arg1 = (switch_core_thread_session *)jarg1; 
  result = (int) ((arg1)->running);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_thread_session_mutex_set___(void * jarg1, void * jarg2) {
  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
  
  arg1 = (switch_core_thread_session *)jarg1; 
  arg2 = (switch_mutex_t *)jarg2; 
  if (arg1) (arg1)->mutex = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_thread_session_mutex_get___(void * jarg1) {
  void * jresult ;
  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
  switch_mutex_t *result = 0 ;
  
  arg1 = (switch_core_thread_session *)jarg1; 
  result = (switch_mutex_t *) ((arg1)->mutex);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_thread_session_objs_set___(void * jarg1, void * jarg2) {
  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
  void **arg2 ;
  
  arg1 = (switch_core_thread_session *)jarg1; 
  arg2 = (void **)jarg2; 
  {
    size_t ii;
    void * *b = (void * *) arg1->objs;
    for (ii = 0; ii < (size_t)128; ii++) b[ii] = *((void * *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_thread_session_objs_get___(void * jarg1) {
  void * jresult ;
  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
  void **result = 0 ;
  
  arg1 = (switch_core_thread_session *)jarg1; 
  result = (void **)(void **) ((arg1)->objs);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_thread_session_input_callback_set___(void * jarg1, void * jarg2) {
  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
  switch_input_callback_function_t arg2 = (switch_input_callback_function_t) 0 ;
  
  arg1 = (switch_core_thread_session *)jarg1; 
  arg2 = (switch_input_callback_function_t)jarg2; 
  if (arg1) (arg1)->input_callback = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_thread_session_input_callback_get___(void * jarg1) {
  void * jresult ;
  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
  switch_input_callback_function_t result;
  
  arg1 = (switch_core_thread_session *)jarg1; 
  result = (switch_input_callback_function_t) ((arg1)->input_callback);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_thread_session_pool_set___(void * jarg1, void * jarg2) {
  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
  
  arg1 = (switch_core_thread_session *)jarg1; 
  arg2 = (switch_memory_pool_t *)jarg2; 
  if (arg1) (arg1)->pool = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_thread_session_pool_get___(void * jarg1) {
  void * jresult ;
  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
  switch_memory_pool_t *result = 0 ;
  
  arg1 = (switch_core_thread_session *)jarg1; 
  result = (switch_memory_pool_t *) ((arg1)->pool);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_core_thread_session___() {
  void * jresult ;
  switch_core_thread_session *result = 0 ;
  
  result = (switch_core_thread_session *)new switch_core_thread_session();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_core_thread_session___(void * jarg1) {
  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
  
  arg1 = (switch_core_thread_session *)jarg1; 
  delete arg1;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_must_malloc___(unsigned long jarg1) {
  void * jresult ;
  size_t arg1 ;
  void *result = 0 ;
  
  arg1 = (size_t)jarg1; 
  result = (void *)switch_must_malloc(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_must_realloc___(void * jarg1, unsigned long jarg2) {
  void * jresult ;
  void *arg1 = (void *) 0 ;
  size_t arg2 ;
  void *result = 0 ;
  
  arg1 = (void *)jarg1; 
  arg2 = (size_t)jarg2; 
  result = (void *)switch_must_realloc(arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_screen_size___(void * jarg1, void * jarg2) {
  int *arg1 = (int *) 0 ;
  int *arg2 = (int *) 0 ;
  
  arg1 = (int *)jarg1; 
  arg2 = (int *)jarg2; 
  switch_core_screen_size(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_sched_heartbeat___(void * jarg1, unsigned long jarg2) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  switch_core_session_sched_heartbeat(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_unsched_heartbeat___(void * jarg1) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  switch_core_session_unsched_heartbeat(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_enable_heartbeat___(void * jarg1, unsigned long jarg2) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  switch_core_session_enable_heartbeat(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_disable_heartbeat___(void * jarg1) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  switch_core_session_disable_heartbeat(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_pop___(void * jarg1, char * jarg2, void * jarg3) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_media_bug_t **arg3 = (switch_media_bug_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_media_bug_t **)jarg3; 
  result = (switch_status_t)switch_core_media_bug_pop(arg1,(char const *)arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_exec_all___(void * jarg1, char * jarg2, void * jarg3, void * jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_media_bug_exec_cb_t arg3 = (switch_media_bug_exec_cb_t) 0 ;
  void *arg4 = (void *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_media_bug_exec_cb_t)jarg3; 
  arg4 = (void *)jarg4; 
  result = (switch_status_t)switch_core_media_bug_exec_all(arg1,(char const *)arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_patch_video___(void * jarg1, void * jarg2) {
  unsigned long jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_frame_t *)jarg2; 
  result = (uint32_t)switch_core_media_bug_patch_video(arg1,arg2);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_count___(void * jarg1, char * jarg2) {
  unsigned long jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (uint32_t)switch_core_media_bug_count(arg1,(char const *)arg2);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_media_bug_set_spy_fmt___(void * jarg1, int jarg2) {
  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
  switch_vid_spy_fmt_t arg2 ;
  
  arg1 = (switch_media_bug_t *)jarg1; 
  arg2 = (switch_vid_spy_fmt_t)jarg2; 
  switch_media_bug_set_spy_fmt(arg1,arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_push_spy_frame___(void * jarg1, void * jarg2, int jarg3) {
  int jresult ;
  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
  switch_rw_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_media_bug_t *)jarg1; 
  arg2 = (switch_frame_t *)jarg2; 
  arg3 = (switch_rw_t)jarg3; 
  result = (switch_status_t)switch_core_media_bug_push_spy_frame(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_patch_spy_frame___(void * jarg1, void * jarg2, int jarg3) {
  int jresult ;
  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
  switch_image_t *arg2 = (switch_image_t *) 0 ;
  switch_rw_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_media_bug_t *)jarg1; 
  arg2 = (switch_image_t *)jarg2; 
  arg3 = (switch_rw_t)jarg3; 
  result = (switch_status_t)switch_core_media_bug_patch_spy_frame(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_media_bug_parse_spy_fmt___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_vid_spy_fmt_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_vid_spy_fmt_t)switch_media_bug_parse_spy_fmt((char const *)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_add___(void * jarg1, char * jarg2, char * jarg3, void * jarg4, void * jarg5, void * jarg6, unsigned long jarg7, void * jarg8) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_media_bug_callback_t arg4 = (switch_media_bug_callback_t) 0 ;
  void *arg5 = (void *) 0 ;
  time_t arg6 ;
  switch_media_bug_flag_t arg7 ;
  switch_media_bug_t **arg8 = (switch_media_bug_t **) 0 ;
  time_t *argp6 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (switch_media_bug_callback_t)jarg4; 
  arg5 = (void *)jarg5; 
  argp6 = (time_t *)jarg6; 
  if (!argp6) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null time_t", 0);
    return 0;
  }
  arg6 = *argp6; 
  arg7 = (switch_media_bug_flag_t)jarg7; 
  arg8 = (switch_media_bug_t **)jarg8; 
  result = (switch_status_t)switch_core_media_bug_add(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5,arg6,arg7,arg8);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_pause___(void * jarg1) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  switch_core_media_bug_pause(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_resume___(void * jarg1) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  switch_core_media_bug_resume(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_inuse___(void * jarg1, void * jarg2, void * jarg3) {
  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
  switch_size_t *arg2 = (switch_size_t *) 0 ;
  switch_size_t *arg3 = (switch_size_t *) 0 ;
  
  arg1 = (switch_media_bug_t *)jarg1; 
  arg2 = (switch_size_t *)jarg2; 
  arg3 = (switch_size_t *)jarg3; 
  switch_core_media_bug_inuse(arg1,arg2,arg3);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_get_user_data___(void * jarg1) {
  void * jresult ;
  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_media_bug_t *)jarg1; 
  result = (void *)switch_core_media_bug_get_user_data(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_get_write_replace_frame___(void * jarg1) {
  void * jresult ;
  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
  switch_frame_t *result = 0 ;
  
  arg1 = (switch_media_bug_t *)jarg1; 
  result = (switch_frame_t *)switch_core_media_bug_get_write_replace_frame(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_get_native_read_frame___(void * jarg1) {
  void * jresult ;
  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
  switch_frame_t *result = 0 ;
  
  arg1 = (switch_media_bug_t *)jarg1; 
  result = (switch_frame_t *)switch_core_media_bug_get_native_read_frame(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_get_native_write_frame___(void * jarg1) {
  void * jresult ;
  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
  switch_frame_t *result = 0 ;
  
  arg1 = (switch_media_bug_t *)jarg1; 
  result = (switch_frame_t *)switch_core_media_bug_get_native_write_frame(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_get_video_ping_frame___(void * jarg1) {
  void * jresult ;
  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
  switch_frame_t *result = 0 ;
  
  arg1 = (switch_media_bug_t *)jarg1; 
  result = (switch_frame_t *)switch_core_media_bug_get_video_ping_frame(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_set_write_replace_frame___(void * jarg1, void * jarg2) {
  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
  
  arg1 = (switch_media_bug_t *)jarg1; 
  arg2 = (switch_frame_t *)jarg2; 
  switch_core_media_bug_set_write_replace_frame(arg1,arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_get_read_replace_frame___(void * jarg1) {
  void * jresult ;
  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
  switch_frame_t *result = 0 ;
  
  arg1 = (switch_media_bug_t *)jarg1; 
  result = (switch_frame_t *)switch_core_media_bug_get_read_replace_frame(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_set_read_demux_frame___(void * jarg1, void * jarg2) {
  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
  
  arg1 = (switch_media_bug_t *)jarg1; 
  arg2 = (switch_frame_t *)jarg2; 
  switch_core_media_bug_set_read_demux_frame(arg1,arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_get_session___(void * jarg1) {
  void * jresult ;
  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
  switch_core_session_t *result = 0 ;
  
  arg1 = (switch_media_bug_t *)jarg1; 
  result = (switch_core_session_t *)switch_core_media_bug_get_session(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_set_media_params___(void * jarg1, void * jarg2) {
  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
  switch_mm_t *arg2 = (switch_mm_t *) 0 ;
  
  arg1 = (switch_media_bug_t *)jarg1; 
  arg2 = (switch_mm_t *)jarg2; 
  switch_core_media_bug_set_media_params(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_get_media_params___(void * jarg1, void * jarg2) {
  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
  switch_mm_t *arg2 = (switch_mm_t *) 0 ;
  
  arg1 = (switch_media_bug_t *)jarg1; 
  arg2 = (switch_mm_t *)jarg2; 
  switch_core_media_bug_get_media_params(arg1,arg2);
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_get_text___(void * jarg1) {
  char * jresult ;
  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_media_bug_t *)jarg1; 
  result = (char *)switch_core_media_bug_get_text(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_test_flag___(void * jarg1, unsigned long jarg2) {
  unsigned long jresult ;
  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
  uint32_t arg2 ;
  uint32_t result;
  
  arg1 = (switch_media_bug_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  result = (uint32_t)switch_core_media_bug_test_flag(arg1,arg2);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_set_flag___(void * jarg1, unsigned long jarg2) {
  unsigned long jresult ;
  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
  uint32_t arg2 ;
  uint32_t result;
  
  arg1 = (switch_media_bug_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  result = (uint32_t)switch_core_media_bug_set_flag(arg1,arg2);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_clear_flag___(void * jarg1, unsigned long jarg2) {
  unsigned long jresult ;
  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
  uint32_t arg2 ;
  uint32_t result;
  
  arg1 = (switch_media_bug_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  result = (uint32_t)switch_core_media_bug_clear_flag(arg1,arg2);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_set_read_replace_frame___(void * jarg1, void * jarg2) {
  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
  
  arg1 = (switch_media_bug_t *)jarg1; 
  arg2 = (switch_frame_t *)jarg2; 
  switch_core_media_bug_set_read_replace_frame(arg1,arg2);
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_cpu_count___() {
  unsigned long jresult ;
  uint32_t result;
  
  result = (uint32_t)switch_core_cpu_count();
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_remove___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_media_bug_t **arg2 = (switch_media_bug_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_media_bug_t **)jarg2; 
  result = (switch_status_t)switch_core_media_bug_remove(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_prune___(void * jarg1) {
  unsigned long jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (uint32_t)switch_core_media_bug_prune(arg1);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_remove_callback___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_media_bug_callback_t arg2 = (switch_media_bug_callback_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_media_bug_callback_t)jarg2; 
  result = (switch_status_t)switch_core_media_bug_remove_callback(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_close___(void * jarg1, int jarg2) {
  int jresult ;
  switch_media_bug_t **arg1 = (switch_media_bug_t **) 0 ;
  switch_bool_t arg2 ;
  switch_status_t result;
  
  arg1 = (switch_media_bug_t **)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  result = (switch_status_t)switch_core_media_bug_close(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_remove_all_function___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_core_media_bug_remove_all_function(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_enumerate___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_stream_handle_t *arg2 = (switch_stream_handle_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_stream_handle_t *)jarg2; 
  result = (switch_status_t)switch_core_media_bug_enumerate(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_transfer_callback___(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
  switch_media_bug_callback_t arg3 = (switch_media_bug_callback_t) 0 ;
  void *(*arg4)(switch_core_session_t *,void *) = (void *(*)(switch_core_session_t *,void *)) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_core_session_t *)jarg2; 
  arg3 = (switch_media_bug_callback_t)jarg3; 
  arg4 = (void *(*)(switch_core_session_t *,void *))jarg4; 
  result = (switch_status_t)switch_core_media_bug_transfer_callback(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_read___(void * jarg1, void * jarg2, int jarg3) {
  int jresult ;
  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
  switch_bool_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_media_bug_t *)jarg1; 
  arg2 = (switch_frame_t *)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  result = (switch_status_t)switch_core_media_bug_read(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_flush___(void * jarg1) {
  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
  
  arg1 = (switch_media_bug_t *)jarg1; 
  switch_core_media_bug_flush(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_flush_all___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_core_media_bug_flush_all(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_set_pre_buffer_framecount___(void * jarg1, unsigned long jarg2) {
  int jresult ;
  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
  uint32_t arg2 ;
  switch_status_t result;
  
  arg1 = (switch_media_bug_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  result = (switch_status_t)switch_core_media_bug_set_pre_buffer_framecount(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_port_allocator_new___(char * jarg1, unsigned short jarg2, unsigned short jarg3, unsigned long jarg4, void * jarg5) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_port_t arg2 ;
  switch_port_t arg3 ;
  switch_port_flag_t arg4 ;
  switch_core_port_allocator_t **arg5 = (switch_core_port_allocator_t **) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_port_t)jarg2; 
  arg3 = (switch_port_t)jarg3; 
  arg4 = (switch_port_flag_t)jarg4; 
  arg5 = (switch_core_port_allocator_t **)jarg5; 
  result = (switch_status_t)switch_core_port_allocator_new((char const *)arg1,arg2,arg3,arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_port_allocator_request_port___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_port_allocator_t *arg1 = (switch_core_port_allocator_t *) 0 ;
  switch_port_t *arg2 = (switch_port_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_port_allocator_t *)jarg1; 
  arg2 = (switch_port_t *)jarg2; 
  result = (switch_status_t)switch_core_port_allocator_request_port(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_port_allocator_free_port___(void * jarg1, unsigned short jarg2) {
  int jresult ;
  switch_core_port_allocator_t *arg1 = (switch_core_port_allocator_t *) 0 ;
  switch_port_t arg2 ;
  switch_status_t result;
  
  arg1 = (switch_core_port_allocator_t *)jarg1; 
  arg2 = (switch_port_t)jarg2; 
  result = (switch_status_t)switch_core_port_allocator_free_port(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_port_allocator_destroy___(void * jarg1) {
  switch_core_port_allocator_t **arg1 = (switch_core_port_allocator_t **) 0 ;
  
  arg1 = (switch_core_port_allocator_t **)jarg1; 
  switch_core_port_allocator_destroy(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_test_flag___(int jarg1) {
  int jresult ;
  int arg1 ;
  int result;
  
  arg1 = (int)jarg1; 
  result = (int)switch_core_test_flag(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_init___(unsigned long jarg1, int jarg2, void * jarg3) {
  int jresult ;
  switch_core_flag_t arg1 ;
  switch_bool_t arg2 ;
  char **arg3 = (char **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_flag_t)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  arg3 = (char **)jarg3; 
  result = (switch_status_t)switch_core_init(arg1,arg2,(char const **)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_init_and_modload___(unsigned long jarg1, int jarg2, void * jarg3) {
  int jresult ;
  switch_core_flag_t arg1 ;
  switch_bool_t arg2 ;
  char **arg3 = (char **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_flag_t)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  arg3 = (char **)jarg3; 
  result = (switch_status_t)switch_core_init_and_modload(arg1,arg2,(char const **)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_limit___(unsigned long jarg1) {
  unsigned long jresult ;
  uint32_t arg1 ;
  uint32_t result;
  
  arg1 = (uint32_t)jarg1; 
  result = (uint32_t)switch_core_session_limit(arg1);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_sessions_per_second___(unsigned long jarg1) {
  unsigned long jresult ;
  uint32_t arg1 ;
  uint32_t result;
  
  arg1 = (uint32_t)jarg1; 
  result = (uint32_t)switch_core_sessions_per_second(arg1);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_destroy___() {
  int jresult ;
  switch_status_t result;
  
  result = (switch_status_t)switch_core_destroy();
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_io_read_lock___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_core_session_io_read_lock(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_io_write_lock___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_core_session_io_write_lock(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_io_rwunlock___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_core_session_io_rwunlock(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_read_lock___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_core_session_read_lock(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_read_lock_hangup___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_core_session_read_lock_hangup(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_write_lock___(void * jarg1) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  switch_core_session_write_lock(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_rwunlock___(void * jarg1) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  switch_core_session_rwunlock(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_add_state_handler___(void * jarg1) {
  int jresult ;
  switch_state_handler_table_t *arg1 = (switch_state_handler_table_t *) 0 ;
  int result;
  
  arg1 = (switch_state_handler_table_t *)jarg1; 
  result = (int)switch_core_add_state_handler((switch_state_handler_table const *)arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_remove_state_handler___(void * jarg1) {
  switch_state_handler_table_t *arg1 = (switch_state_handler_table_t *) 0 ;
  
  arg1 = (switch_state_handler_table_t *)jarg1; 
  switch_core_remove_state_handler((switch_state_handler_table const *)arg1);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_get_state_handler___(int jarg1) {
  void * jresult ;
  int arg1 ;
  switch_state_handler_table_t *result = 0 ;
  
  arg1 = (int)jarg1; 
  result = (switch_state_handler_table_t *)switch_core_get_state_handler(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_memory_pool_tag___(void * jarg1, char * jarg2) {
  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_memory_pool_t *)jarg1; 
  arg2 = (char *)jarg2; 
  switch_core_memory_pool_tag(arg1,(char const *)arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_pool_stats___(void * jarg1) {
  switch_stream_handle_t *arg1 = (switch_stream_handle_t *) 0 ;
  
  arg1 = (switch_stream_handle_t *)jarg1; 
  switch_core_pool_stats(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_perform_new_memory_pool___(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
  int jresult ;
  switch_memory_pool_t **arg1 = (switch_memory_pool_t **) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  switch_status_t result;
  
  arg1 = (switch_memory_pool_t **)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  result = (switch_status_t)switch_core_perform_new_memory_pool(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_sync_clock___() {
  int jresult ;
  int result;
  
  result = (int)switch_core_session_sync_clock();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_perform_destroy_memory_pool___(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
  int jresult ;
  switch_memory_pool_t **arg1 = (switch_memory_pool_t **) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  switch_status_t result;
  
  arg1 = (switch_memory_pool_t **)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  result = (switch_status_t)switch_core_perform_destroy_memory_pool(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_memory_pool_set_data___(void * jarg1, char * jarg2, void * jarg3) {
  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
  char *arg2 = (char *) 0 ;
  void *arg3 = (void *) 0 ;
  
  arg1 = (switch_memory_pool_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (void *)jarg3; 
  switch_core_memory_pool_set_data(arg1,(char const *)arg2,arg3);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_memory_pool_get_data___(void * jarg1, char * jarg2) {
  void * jresult ;
  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
  char *arg2 = (char *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_memory_pool_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (void *)switch_core_memory_pool_get_data(arg1,(char const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_run___(void * jarg1) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  switch_core_session_run(arg1);
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_running___(void * jarg1) {
  unsigned int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  unsigned int result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (unsigned int)switch_core_session_running(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_started___(void * jarg1) {
  unsigned int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  unsigned int result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (unsigned int)switch_core_session_started(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_perform_permanent_alloc___(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
  void * jresult ;
  switch_size_t arg1 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  switch_size_t *argp1 ;
  void *result = 0 ;
  
  argp1 = (switch_size_t *)jarg1; 
  if (!argp1) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg1 = *argp1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  result = (void *)switch_core_perform_permanent_alloc(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_perform_alloc___(void * jarg1, void * jarg2, char * jarg3, char * jarg4, int jarg5) {
  void * jresult ;
  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
  switch_size_t arg2 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  int arg5 ;
  switch_size_t *argp2 ;
  void *result = 0 ;
  
  arg1 = (switch_memory_pool_t *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg2 = *argp2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (int)jarg5; 
  result = (void *)switch_core_perform_alloc(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_perform_session_alloc___(void * jarg1, void * jarg2, char * jarg3, char * jarg4, int jarg5) {
  void * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_size_t arg2 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  int arg5 ;
  switch_size_t *argp2 ;
  void *result = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg2 = *argp2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (int)jarg5; 
  result = (void *)switch_core_perform_session_alloc(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_perform_permanent_strdup___(char * jarg1, char * jarg2, char * jarg3, int jarg4) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  result = (char *)switch_core_perform_permanent_strdup((char const *)arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_perform_session_strdup___(void * jarg1, char * jarg2, char * jarg3, char * jarg4, int jarg5) {
  char * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  int arg5 ;
  char *result = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (int)jarg5; 
  result = (char *)switch_core_perform_session_strdup(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_perform_strdup___(void * jarg1, char * jarg2, char * jarg3, char * jarg4, int jarg5) {
  char * jresult ;
  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  int arg5 ;
  char *result = 0 ;
  
  arg1 = (switch_memory_pool_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (int)jarg5; 
  result = (char *)switch_core_perform_strdup(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_perform_strndup___(void * jarg1, char * jarg2, unsigned long jarg3, char * jarg4, char * jarg5, int jarg6) {
  char * jresult ;
  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
  char *arg2 = (char *) 0 ;
  size_t arg3 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  int arg6 ;
  char *result = 0 ;
  
  arg1 = (switch_memory_pool_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (size_t)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (int)jarg6; 
  result = (char *)switch_core_perform_strndup(arg1,(char const *)arg2,arg3,(char const *)arg4,(char const *)arg5,arg6);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_sprintf___(void * jarg1, char * jarg2) {
  char * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  void *arg3 = 0 ;
  char *result = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (char *)switch_core_session_sprintf(arg1,(char const *)arg2,arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_sprintf___(void * jarg1, char * jarg2) {
  char * jresult ;
  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
  char *arg2 = (char *) 0 ;
  void *arg3 = 0 ;
  char *result = 0 ;
  
  arg1 = (switch_memory_pool_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (char *)switch_core_sprintf(arg1,(char const *)arg2,arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_pool___(void * jarg1) {
  void * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_memory_pool_t *result = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_memory_pool_t *)switch_core_session_get_pool(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_request_xml___(void * jarg1, void * jarg2, void * jarg3) {
  void * jresult ;
  switch_endpoint_interface_t *arg1 = (switch_endpoint_interface_t *) 0 ;
  switch_memory_pool_t **arg2 = (switch_memory_pool_t **) 0 ;
  switch_xml_t arg3 = (switch_xml_t) 0 ;
  switch_core_session_t *result = 0 ;
  
  arg1 = (switch_endpoint_interface_t *)jarg1; 
  arg2 = (switch_memory_pool_t **)jarg2; 
  arg3 = (switch_xml_t)jarg3; 
  result = (switch_core_session_t *)switch_core_session_request_xml(arg1,arg2,arg3);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_request_uuid___(void * jarg1, int jarg2, unsigned long jarg3, void * jarg4, char * jarg5) {
  void * jresult ;
  switch_endpoint_interface_t *arg1 = (switch_endpoint_interface_t *) 0 ;
  switch_call_direction_t arg2 ;
  switch_originate_flag_t arg3 ;
  switch_memory_pool_t **arg4 = (switch_memory_pool_t **) 0 ;
  char *arg5 = (char *) 0 ;
  switch_core_session_t *result = 0 ;
  
  arg1 = (switch_endpoint_interface_t *)jarg1; 
  arg2 = (switch_call_direction_t)jarg2; 
  arg3 = (switch_originate_flag_t)jarg3; 
  arg4 = (switch_memory_pool_t **)jarg4; 
  arg5 = (char *)jarg5; 
  result = (switch_core_session_t *)switch_core_session_request_uuid(arg1,arg2,arg3,arg4,(char const *)arg5);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_set_uuid___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_core_session_set_uuid(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_set_external_id___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_core_session_set_external_id(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_perform_destroy___(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
  switch_core_session_t **arg1 = (switch_core_session_t **) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  
  arg1 = (switch_core_session_t **)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  switch_core_session_perform_destroy(arg1,(char const *)arg2,(char const *)arg3,arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_destroy_state___(void * jarg1) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  switch_core_session_destroy_state(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_reporting_state___(void * jarg1) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  switch_core_session_reporting_state(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_hangup_state___(void * jarg1, int jarg2) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_bool_t arg2 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  switch_core_session_hangup_state(arg1,arg2);
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_count___() {
  unsigned long jresult ;
  uint32_t result;
  
  result = (uint32_t)switch_core_session_count();
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_id___(void * jarg1) {
  void * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = switch_core_session_get_id(arg1);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_id___() {
  void * jresult ;
  switch_size_t result;
  
  result = switch_core_session_id();
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_id_dec___() {
  void * jresult ;
  switch_size_t result;
  
  result = switch_core_session_id_dec();
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_request_by_name___(char * jarg1, int jarg2, void * jarg3) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_call_direction_t arg2 ;
  switch_memory_pool_t **arg3 = (switch_memory_pool_t **) 0 ;
  switch_core_session_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_call_direction_t)jarg2; 
  arg3 = (switch_memory_pool_t **)jarg3; 
  result = (switch_core_session_t *)switch_core_session_request_by_name((char const *)arg1,arg2,arg3);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_thread_launch___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_core_session_thread_launch(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_thread_pool_launch_thread___(void * jarg1) {
  int jresult ;
  switch_thread_data_t **arg1 = (switch_thread_data_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_thread_data_t **)jarg1; 
  result = (switch_status_t)switch_thread_pool_launch_thread(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_thread_pool_launch___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_core_session_thread_pool_launch(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_thread_pool_wait___(void * jarg1, int jarg2) {
  int jresult ;
  switch_thread_data_t *arg1 = (switch_thread_data_t *) 0 ;
  int arg2 ;
  switch_status_t result;
  
  arg1 = (switch_thread_data_t *)jarg1; 
  arg2 = (int)jarg2; 
  result = (switch_status_t)switch_thread_pool_wait(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_channel___(void * jarg1) {
  void * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_channel_t *result = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_channel_t *)switch_core_session_get_channel(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_mutex___(void * jarg1) {
  void * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_mutex_t *result = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_mutex_t *)switch_core_session_get_mutex(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_wake_session_thread___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_core_session_wake_session_thread(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_signal_state_change___(void * jarg1) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  switch_core_session_signal_state_change(arg1);
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_uuid___(void * jarg1) {
  char * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (char *)switch_core_session_get_uuid(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_external_id___(void * jarg1) {
  char * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (char *)switch_core_session_get_external_id(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_set_loglevel___(void * jarg1, int jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_log_level_t arg2 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_log_level_t)jarg2; 
  result = (switch_status_t)switch_core_session_set_loglevel(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_loglevel___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_log_level_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_log_level_t)switch_core_session_get_loglevel(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_jb___(void * jarg1, int jarg2) {
  void * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_media_type_t arg2 ;
  switch_jb_t *result = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_media_type_t)jarg2; 
  result = (switch_jb_t *)switch_core_session_get_jb(arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_soft_lock___(void * jarg1, unsigned long jarg2) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  switch_core_session_soft_lock(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_soft_unlock___(void * jarg1) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  switch_core_session_soft_unlock(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_set_dmachine___(void * jarg1, void * jarg2, int jarg3) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_ivr_dmachine_t *arg2 = (switch_ivr_dmachine_t *) 0 ;
  switch_digit_action_target_t arg3 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_ivr_dmachine_t *)jarg2; 
  arg3 = (switch_digit_action_target_t)jarg3; 
  switch_core_session_set_dmachine(arg1,arg2,arg3);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_dmachine___(void * jarg1, int jarg2) {
  void * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_digit_action_target_t arg2 ;
  switch_ivr_dmachine_t *result = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_digit_action_target_t)jarg2; 
  result = (switch_ivr_dmachine_t *)switch_core_session_get_dmachine(arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_get_target___(void * jarg1) {
  int jresult ;
  switch_ivr_dmachine_t *arg1 = (switch_ivr_dmachine_t *) 0 ;
  switch_digit_action_target_t result;
  
  arg1 = (switch_ivr_dmachine_t *)jarg1; 
  result = (switch_digit_action_target_t)switch_ivr_dmachine_get_target(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_set_target___(void * jarg1, int jarg2) {
  switch_ivr_dmachine_t *arg1 = (switch_ivr_dmachine_t *) 0 ;
  switch_digit_action_target_t arg2 ;
  
  arg1 = (switch_ivr_dmachine_t *)jarg1; 
  arg2 = (switch_digit_action_target_t)jarg2; 
  switch_ivr_dmachine_set_target(arg1,arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_set_terminators___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_ivr_dmachine_t *arg1 = (switch_ivr_dmachine_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_ivr_dmachine_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_ivr_dmachine_set_terminators(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_set_codec_slin___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_slin_data_t *arg2 = (switch_slin_data_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_slin_data_t *)jarg2; 
  result = (switch_status_t)switch_core_session_set_codec_slin(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_raw_read___(void * jarg1) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  switch_core_session_raw_read(arg1);
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_get_uuid___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)switch_core_get_uuid();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_perform_locate___(char * jarg1, char * jarg2, char * jarg3, int jarg4) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  switch_core_session_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  result = (switch_core_session_t *)switch_core_session_perform_locate((char const *)arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_perform_force_locate___(char * jarg1, char * jarg2, char * jarg3, int jarg4) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  switch_core_session_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  result = (switch_core_session_t *)switch_core_session_perform_force_locate((char const *)arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_get_variable___(char * jarg1) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (char *)switch_core_get_variable((char const *)arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_get_variable_dup___(char * jarg1) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (char *)switch_core_get_variable_dup((char const *)arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_get_variable_pdup___(char * jarg1, void * jarg2) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_memory_pool_t *)jarg2; 
  result = (char *)switch_core_get_variable_pdup((char const *)arg1,arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_get_hostname___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)switch_core_get_hostname();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_get_switchname___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)switch_core_get_switchname();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_get_domain___(int jarg1) {
  char * jresult ;
  switch_bool_t arg1 ;
  char *result = 0 ;
  
  arg1 = (switch_bool_t)jarg1; 
  result = (char *)switch_core_get_domain(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_set_variable___(char * jarg1, char * jarg2) {
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  switch_core_set_variable((char const *)arg1,(char const *)arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_get_variables___(void * jarg1) {
  int jresult ;
  switch_event_t **arg1 = (switch_event_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_event_t **)jarg1; 
  result = (switch_status_t)switch_core_get_variables(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_set_var_conditional___(char * jarg1, char * jarg2, char * jarg3) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_bool_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_bool_t)switch_core_set_var_conditional((char const *)arg1,(char const *)arg2,(char const *)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_dump_variables___(void * jarg1) {
  switch_stream_handle_t *arg1 = (switch_stream_handle_t *) 0 ;
  
  arg1 = (switch_stream_handle_t *)jarg1; 
  switch_core_dump_variables(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_hupall___(int jarg1) {
  switch_call_cause_t arg1 ;
  
  arg1 = (switch_call_cause_t)jarg1; 
  switch_core_session_hupall(arg1);
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_hupall_matching_var_ans___(char * jarg1, char * jarg2, int jarg3, int jarg4) {
  unsigned long jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_call_cause_t arg3 ;
  switch_hup_type_t arg4 ;
  uint32_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_call_cause_t)jarg3; 
  arg4 = (switch_hup_type_t)jarg4; 
  result = (uint32_t)switch_core_session_hupall_matching_var_ans((char const *)arg1,(char const *)arg2,arg3,arg4);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_findall_matching_var___(char * jarg1, char * jarg2) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_console_callback_match_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_console_callback_match_t *)switch_core_session_findall_matching_var((char const *)arg1,(char const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_findall___() {
  void * jresult ;
  switch_console_callback_match_t *result = 0 ;
  
  result = (switch_console_callback_match_t *)switch_core_session_findall();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_hupall_matching_vars_ans___(void * jarg1, int jarg2, int jarg3) {
  unsigned long jresult ;
  switch_event_t *arg1 = (switch_event_t *) 0 ;
  switch_call_cause_t arg2 ;
  switch_hup_type_t arg3 ;
  uint32_t result;
  
  arg1 = (switch_event_t *)jarg1; 
  arg2 = (switch_call_cause_t)jarg2; 
  arg3 = (switch_hup_type_t)jarg3; 
  result = (uint32_t)switch_core_session_hupall_matching_vars_ans(arg1,arg2,arg3);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_hupall_endpoint___(void * jarg1, int jarg2) {
  switch_endpoint_interface_t *arg1 = (switch_endpoint_interface_t *) 0 ;
  switch_call_cause_t arg2 ;
  
  arg1 = (switch_endpoint_interface_t *)jarg1; 
  arg2 = (switch_call_cause_t)jarg2; 
  switch_core_session_hupall_endpoint((switch_endpoint_interface const *)arg1,arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_perform_get_partner___(void * jarg1, void * jarg2, char * jarg3, char * jarg4, int jarg5) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_core_session_t **arg2 = (switch_core_session_t **) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  int arg5 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_core_session_t **)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (int)jarg5; 
  result = (switch_status_t)switch_core_session_perform_get_partner(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_message_send___(char * jarg1, void * jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_core_session_message_t *arg2 = (switch_core_session_message_t *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_core_session_message_t *)jarg2; 
  result = (switch_status_t)switch_core_session_message_send((char const *)arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_queue_message___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_core_session_message_t *arg2 = (switch_core_session_message_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_core_session_message_t *)jarg2; 
  result = (switch_status_t)switch_core_session_queue_message(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_free_message___(void * jarg1) {
  switch_core_session_message_t **arg1 = (switch_core_session_message_t **) 0 ;
  
  arg1 = (switch_core_session_message_t **)jarg1; 
  switch_core_session_free_message(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_queue_signal_data___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  void *arg2 = (void *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (void *)jarg2; 
  result = (switch_status_t)switch_core_session_queue_signal_data(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_dequeue_signal_data___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  void **arg2 = (void **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (void **)jarg2; 
  result = (switch_status_t)switch_core_session_dequeue_signal_data(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_pass_indication___(void * jarg1, int jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_core_session_message_types_t arg2 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_core_session_message_types_t)jarg2; 
  result = (switch_status_t)switch_core_session_pass_indication(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_queue_indication___(void * jarg1, int jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_core_session_message_types_t arg2 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_core_session_message_types_t)jarg2; 
  result = (switch_status_t)switch_core_session_queue_indication(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_dequeue_message___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_core_session_message_t **arg2 = (switch_core_session_message_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_core_session_message_t **)jarg2; 
  result = (switch_status_t)switch_core_session_dequeue_message(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_flush_message___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_core_session_flush_message(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_event_send___(char * jarg1, void * jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_event_t **arg2 = (switch_event_t **) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_event_t **)jarg2; 
  result = (switch_status_t)switch_core_session_event_send((char const *)arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_app_log___(void * jarg1) {
  void * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_app_log_t *result = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_app_log_t *)switch_core_session_get_app_log(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_exec___(void * jarg1, void * jarg2, char * jarg3) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_application_interface_t *arg2 = (switch_application_interface_t *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_application_interface_t *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_status_t)switch_core_session_exec(arg1,(switch_application_interface const *)arg2,(char const *)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_video_reset___(void * jarg1) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  switch_core_session_video_reset(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_execute_application_get_flags___(void * jarg1, char * jarg2, char * jarg3, void * jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int32_t *arg4 = (int32_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int32_t *)jarg4; 
  result = (switch_status_t)switch_core_session_execute_application_get_flags(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_execute_application_async___(void * jarg1, char * jarg2, char * jarg3) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_status_t)switch_core_session_execute_application_async(arg1,(char const *)arg2,(char const *)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_app_flags___(char * jarg1, void * jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  int32_t *arg2 = (int32_t *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (int32_t *)jarg2; 
  result = (switch_status_t)switch_core_session_get_app_flags((char const *)arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_stack_count___(void * jarg1, int jarg2) {
  unsigned long jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  int arg2 ;
  uint32_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (int)jarg2; 
  result = (uint32_t)switch_core_session_stack_count(arg1,arg2);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_execute_exten___(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  result = (switch_status_t)switch_core_session_execute_exten(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_receive_event___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_event_t **arg2 = (switch_event_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_event_t **)jarg2; 
  result = (switch_status_t)switch_core_session_receive_event(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_private_class___(void * jarg1, int jarg2) {
  void * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_pvt_class_t arg2 ;
  void *result = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_pvt_class_t)jarg2; 
  result = (void *)switch_core_session_get_private_class(arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_set_private_class___(void * jarg1, void * jarg2, int jarg3) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  void *arg2 = (void *) 0 ;
  switch_pvt_class_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (void *)jarg2; 
  arg3 = (switch_pvt_class_t)jarg3; 
  result = (switch_status_t)switch_core_session_set_private_class(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_add_stream___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  void *arg2 = (void *) 0 ;
  int result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (void *)jarg2; 
  result = (int)switch_core_session_add_stream(arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_stream___(void * jarg1, int jarg2) {
  void * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  int arg2 ;
  void *result = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (int)jarg2; 
  result = (void *)switch_core_session_get_stream(arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_stream_count___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  int result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (int)switch_core_session_get_stream_count(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_text_buffer___(void * jarg1) {
  char * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (char *)switch_core_session_get_text_buffer(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_launch_thread___(void * jarg1, void * jarg2, void * jarg3) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  void *(*arg2)(switch_thread_t *,void *) = (void *(*)(switch_thread_t *,void *)) 0 ;
  void *arg3 = (void *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (void *(*)(switch_thread_t *,void *))jarg2; 
  arg3 = (void *)jarg3; 
  switch_core_session_launch_thread(arg1,arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_thread_session_end___(void * jarg1) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  switch_core_thread_session_end(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_service_session_av___(void * jarg1, int jarg2, int jarg3) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_bool_t arg2 ;
  switch_bool_t arg3 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  switch_core_service_session_av(arg1,arg2,arg3);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_outgoing_channel___(void * jarg1, void * jarg2, char * jarg3, void * jarg4, void * jarg5, void * jarg6, unsigned long jarg7, void * jarg8) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_event_t *arg2 = (switch_event_t *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_caller_profile_t *arg4 = (switch_caller_profile_t *) 0 ;
  switch_core_session_t **arg5 = (switch_core_session_t **) 0 ;
  switch_memory_pool_t **arg6 = (switch_memory_pool_t **) 0 ;
  switch_originate_flag_t arg7 ;
  switch_call_cause_t *arg8 = (switch_call_cause_t *) 0 ;
  switch_call_cause_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_event_t *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (switch_caller_profile_t *)jarg4; 
  arg5 = (switch_core_session_t **)jarg5; 
  arg6 = (switch_memory_pool_t **)jarg6; 
  arg7 = (switch_originate_flag_t)jarg7; 
  arg8 = (switch_call_cause_t *)jarg8; 
  result = (switch_call_cause_t)switch_core_session_outgoing_channel(arg1,arg2,(char const *)arg3,arg4,arg5,arg6,arg7,arg8);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_perform_receive_message___(void * jarg1, void * jarg2, char * jarg3, char * jarg4, int jarg5) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_core_session_message_t *arg2 = (switch_core_session_message_t *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  int arg5 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_core_session_message_t *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (int)jarg5; 
  result = (switch_status_t)switch_core_session_perform_receive_message(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_queue_event___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_event_t **arg2 = (switch_event_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_event_t **)jarg2; 
  result = (switch_status_t)switch_core_session_queue_event(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_event_count___(void * jarg1) {
  unsigned long jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (uint32_t)switch_core_session_event_count(arg1);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_messages_waiting___(void * jarg1) {
  unsigned long jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (uint32_t)switch_core_session_messages_waiting(arg1);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_dequeue_event___(void * jarg1, void * jarg2, int jarg3) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_event_t **arg2 = (switch_event_t **) 0 ;
  switch_bool_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_event_t **)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  result = (switch_status_t)switch_core_session_dequeue_event(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_queue_private_event___(void * jarg1, void * jarg2, int jarg3) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_event_t **arg2 = (switch_event_t **) 0 ;
  switch_bool_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_event_t **)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  result = (switch_status_t)switch_core_session_queue_private_event(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_private_event_count___(void * jarg1) {
  unsigned long jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (uint32_t)switch_core_session_private_event_count(arg1);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_dequeue_private_event___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_event_t **arg2 = (switch_event_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_event_t **)jarg2; 
  result = (switch_status_t)switch_core_session_dequeue_private_event(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_flush_private_events___(void * jarg1) {
  unsigned long jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (uint32_t)switch_core_session_flush_private_events(arg1);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_read_frame___(void * jarg1, void * jarg2, unsigned long jarg3, int jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_frame_t **arg2 = (switch_frame_t **) 0 ;
  switch_io_flag_t arg3 ;
  int arg4 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_frame_t **)jarg2; 
  arg3 = (switch_io_flag_t)jarg3; 
  arg4 = (int)jarg4; 
  result = (switch_status_t)switch_core_session_read_frame(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_transcoding___(void * jarg1, void * jarg2, int jarg3) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
  switch_media_type_t arg3 ;
  switch_bool_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_core_session_t *)jarg2; 
  arg3 = (switch_media_type_t)jarg3; 
  result = (switch_bool_t)switch_core_session_transcoding(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_passthru___(void * jarg1, int jarg2, int jarg3) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_media_type_t arg2 ;
  switch_bool_t arg3 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_media_type_t)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  switch_core_session_passthru(arg1,arg2,arg3);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_read_video_frame___(void * jarg1, void * jarg2, unsigned long jarg3, int jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_frame_t **arg2 = (switch_frame_t **) 0 ;
  switch_io_flag_t arg3 ;
  int arg4 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_frame_t **)jarg2; 
  arg3 = (switch_io_flag_t)jarg3; 
  arg4 = (int)jarg4; 
  result = (switch_status_t)switch_core_session_read_video_frame(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_write_video_frame___(void * jarg1, void * jarg2, unsigned long jarg3, int jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
  switch_io_flag_t arg3 ;
  int arg4 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_frame_t *)jarg2; 
  arg3 = (switch_io_flag_t)jarg3; 
  arg4 = (int)jarg4; 
  result = (switch_status_t)switch_core_session_write_video_frame(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_write_encoded_video_frame___(void * jarg1, void * jarg2, unsigned long jarg3, int jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
  switch_io_flag_t arg3 ;
  int arg4 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_frame_t *)jarg2; 
  arg3 = (switch_io_flag_t)jarg3; 
  arg4 = (int)jarg4; 
  result = (switch_status_t)switch_core_session_write_encoded_video_frame(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_set_read_impl___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_codec_implementation_t *arg2 = (switch_codec_implementation_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_codec_implementation_t *)jarg2; 
  result = (switch_status_t)switch_core_session_set_read_impl(arg1,(switch_codec_implementation const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_set_write_impl___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_codec_implementation_t *arg2 = (switch_codec_implementation_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_codec_implementation_t *)jarg2; 
  result = (switch_status_t)switch_core_session_set_write_impl(arg1,(switch_codec_implementation const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_set_video_read_impl___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_codec_implementation_t *arg2 = (switch_codec_implementation_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_codec_implementation_t *)jarg2; 
  result = (switch_status_t)switch_core_session_set_video_read_impl(arg1,(switch_codec_implementation const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_set_video_write_impl___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_codec_implementation_t *arg2 = (switch_codec_implementation_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_codec_implementation_t *)jarg2; 
  result = (switch_status_t)switch_core_session_set_video_write_impl(arg1,(switch_codec_implementation const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_reset___(void * jarg1, int jarg2, int jarg3) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_bool_t arg2 ;
  switch_bool_t arg3 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  switch_core_session_reset(arg1,arg2,arg3);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_try_reset___(void * jarg1, int jarg2, int jarg3) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_bool_t arg2 ;
  switch_bool_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  result = (switch_status_t)switch_core_session_try_reset(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_write_frame___(void * jarg1, void * jarg2, unsigned long jarg3, int jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
  switch_io_flag_t arg3 ;
  int arg4 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_frame_t *)jarg2; 
  arg3 = (switch_io_flag_t)jarg3; 
  arg4 = (int)jarg4; 
  result = (switch_status_t)switch_core_session_write_frame(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_perform_kill_channel___(void * jarg1, char * jarg2, char * jarg3, int jarg4, int jarg5) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  switch_signal_t arg5 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  arg5 = (switch_signal_t)jarg5; 
  result = (switch_status_t)switch_core_session_perform_kill_channel(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_send_dtmf___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_dtmf_t *arg2 = (switch_dtmf_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_dtmf_t *)jarg2; 
  result = (switch_status_t)switch_core_session_send_dtmf(arg1,(switch_dtmf_t const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_send_dtmf_string___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_core_session_send_dtmf_string(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_recv_dtmf___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_dtmf_t *arg2 = (switch_dtmf_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_dtmf_t *)jarg2; 
  result = (switch_status_t)switch_core_session_recv_dtmf(arg1,(switch_dtmf_t const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_hash_init_case___(void * jarg1, int jarg2) {
  int jresult ;
  switch_hash_t **arg1 = (switch_hash_t **) 0 ;
  switch_bool_t arg2 ;
  switch_status_t result;
  
  arg1 = (switch_hash_t **)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  result = (switch_status_t)switch_core_hash_init_case(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_hash_destroy___(void * jarg1) {
  int jresult ;
  switch_hash_t **arg1 = (switch_hash_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_hash_t **)jarg1; 
  result = (switch_status_t)switch_core_hash_destroy(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_hash_insert_pointer___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
  void *arg2 = (void *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_hash_t *)jarg1; 
  arg2 = (void *)jarg2; 
  result = (switch_status_t)switch_core_hash_insert_pointer(arg1,(void const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_hash_insert_auto_free___(void * jarg1, char * jarg2, void * jarg3) {
  int jresult ;
  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
  char *arg2 = (char *) 0 ;
  void *arg3 = (void *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_hash_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (void *)jarg3; 
  result = (switch_status_t)switch_core_hash_insert_auto_free(arg1,(char const *)arg2,(void const *)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_hash_insert_dup_auto_free___(void * jarg1, char * jarg2, char * jarg3) {
  int jresult ;
  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_hash_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_status_t)switch_core_hash_insert_dup_auto_free(arg1,(char const *)arg2,(char const *)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_hash_insert_destructor___(void * jarg1, char * jarg2, void * jarg3, void * jarg4) {
  int jresult ;
  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
  char *arg2 = (char *) 0 ;
  void *arg3 = (void *) 0 ;
  hashtable_destructor_t arg4 = (hashtable_destructor_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_hash_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (void *)jarg3; 
  arg4 = (hashtable_destructor_t)jarg4; 
  result = (switch_status_t)switch_core_hash_insert_destructor(arg1,(char const *)arg2,(void const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_hash_insert_alloc_destructor___(void * jarg1, char * jarg2, unsigned long jarg3, void * jarg4) {
  void * jresult ;
  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
  char *arg2 = (char *) 0 ;
  size_t arg3 ;
  hashtable_destructor_t arg4 = (hashtable_destructor_t) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_hash_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (size_t)jarg3; 
  arg4 = (hashtable_destructor_t)jarg4; 
  result = (void *)switch_core_hash_insert_alloc_destructor(arg1,(char const *)arg2,arg3,arg4);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_hash_insert_dup_destructor___(void * jarg1, char * jarg2, char * jarg3, void * jarg4) {
  int jresult ;
  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  hashtable_destructor_t arg4 = (hashtable_destructor_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_hash_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (hashtable_destructor_t)jarg4; 
  result = (switch_status_t)switch_core_hash_insert_dup_destructor(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_hash_insert_locked___(void * jarg1, char * jarg2, void * jarg3, void * jarg4) {
  int jresult ;
  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
  char *arg2 = (char *) 0 ;
  void *arg3 = (void *) 0 ;
  switch_mutex_t *arg4 = (switch_mutex_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_hash_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (void *)jarg3; 
  arg4 = (switch_mutex_t *)jarg4; 
  result = (switch_status_t)switch_core_hash_insert_locked(arg1,(char const *)arg2,(void const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_hash_insert_wrlock___(void * jarg1, char * jarg2, void * jarg3, void * jarg4) {
  int jresult ;
  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
  char *arg2 = (char *) 0 ;
  void *arg3 = (void *) 0 ;
  switch_thread_rwlock_t *arg4 = (switch_thread_rwlock_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_hash_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (void *)jarg3; 
  arg4 = (switch_thread_rwlock_t *)jarg4; 
  result = (switch_status_t)switch_core_hash_insert_wrlock(arg1,(char const *)arg2,(void const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_hash_delete___(void * jarg1, char * jarg2) {
  void * jresult ;
  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
  char *arg2 = (char *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_hash_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (void *)switch_core_hash_delete(arg1,(char const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_hash_delete_locked___(void * jarg1, char * jarg2, void * jarg3) {
  void * jresult ;
  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_mutex_t *arg3 = (switch_mutex_t *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_hash_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_mutex_t *)jarg3; 
  result = (void *)switch_core_hash_delete_locked(arg1,(char const *)arg2,arg3);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_hash_delete_wrlock___(void * jarg1, char * jarg2, void * jarg3) {
  void * jresult ;
  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_thread_rwlock_t *arg3 = (switch_thread_rwlock_t *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_hash_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_thread_rwlock_t *)jarg3; 
  result = (void *)switch_core_hash_delete_wrlock(arg1,(char const *)arg2,arg3);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_hash_delete_multi___(void * jarg1, void * jarg2, void * jarg3) {
  int jresult ;
  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
  switch_hash_delete_callback_t arg2 = (switch_hash_delete_callback_t) 0 ;
  void *arg3 = (void *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_hash_t *)jarg1; 
  arg2 = (switch_hash_delete_callback_t)jarg2; 
  arg3 = (void *)jarg3; 
  result = (switch_status_t)switch_core_hash_delete_multi(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_hash_find___(void * jarg1, char * jarg2) {
  void * jresult ;
  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
  char *arg2 = (char *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_hash_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (void *)switch_core_hash_find(arg1,(char const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_hash_find_locked___(void * jarg1, char * jarg2, void * jarg3) {
  void * jresult ;
  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_mutex_t *arg3 = (switch_mutex_t *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_hash_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_mutex_t *)jarg3; 
  result = (void *)switch_core_hash_find_locked(arg1,(char const *)arg2,arg3);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_hash_find_rdlock___(void * jarg1, char * jarg2, void * jarg3) {
  void * jresult ;
  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_thread_rwlock_t *arg3 = (switch_thread_rwlock_t *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_hash_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_thread_rwlock_t *)jarg3; 
  result = (void *)switch_core_hash_find_rdlock(arg1,(char const *)arg2,arg3);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_hash_first_iter___(void * jarg1, void * jarg2) {
  void * jresult ;
  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
  switch_hash_index_t *arg2 = (switch_hash_index_t *) 0 ;
  switch_hash_index_t *result = 0 ;
  
  arg1 = (switch_hash_t *)jarg1; 
  arg2 = (switch_hash_index_t *)jarg2; 
  result = (switch_hash_index_t *)switch_core_hash_first_iter(arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_hash_empty___(void * jarg1) {
  int jresult ;
  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
  switch_bool_t result;
  
  arg1 = (switch_hash_t *)jarg1; 
  result = (switch_bool_t)switch_core_hash_empty(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_hash_next___(void * jarg1) {
  void * jresult ;
  switch_hash_index_t **arg1 = (switch_hash_index_t **) 0 ;
  switch_hash_index_t *result = 0 ;
  
  arg1 = (switch_hash_index_t **)jarg1; 
  result = (switch_hash_index_t *)switch_core_hash_next(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_hash_this___(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
  switch_hash_index_t *arg1 = (switch_hash_index_t *) 0 ;
  void **arg2 = (void **) 0 ;
  switch_ssize_t *arg3 = (switch_ssize_t *) 0 ;
  void **arg4 = (void **) 0 ;
  
  arg1 = (switch_hash_index_t *)jarg1; 
  arg2 = (void **)jarg2; 
  arg3 = (switch_ssize_t *)jarg3; 
  arg4 = (void **)jarg4; 
  switch_core_hash_this(arg1,(void const **)arg2,arg3,arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_hash_this_val___(void * jarg1, void * jarg2) {
  switch_hash_index_t *arg1 = (switch_hash_index_t *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_hash_index_t *)jarg1; 
  arg2 = (void *)jarg2; 
  switch_core_hash_this_val(arg1,arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_inthash_init___(void * jarg1) {
  int jresult ;
  switch_inthash_t **arg1 = (switch_inthash_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_inthash_t **)jarg1; 
  result = (switch_status_t)switch_core_inthash_init(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_inthash_destroy___(void * jarg1) {
  int jresult ;
  switch_inthash_t **arg1 = (switch_inthash_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_inthash_t **)jarg1; 
  result = (switch_status_t)switch_core_inthash_destroy(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_inthash_insert___(void * jarg1, unsigned long jarg2, void * jarg3) {
  int jresult ;
  switch_inthash_t *arg1 = (switch_inthash_t *) 0 ;
  uint32_t arg2 ;
  void *arg3 = (void *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_inthash_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (void *)jarg3; 
  result = (switch_status_t)switch_core_inthash_insert(arg1,arg2,(void const *)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_inthash_delete___(void * jarg1, unsigned long jarg2) {
  void * jresult ;
  switch_inthash_t *arg1 = (switch_inthash_t *) 0 ;
  uint32_t arg2 ;
  void *result = 0 ;
  
  arg1 = (switch_inthash_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  result = (void *)switch_core_inthash_delete(arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_inthash_find___(void * jarg1, unsigned long jarg2) {
  void * jresult ;
  switch_inthash_t *arg1 = (switch_inthash_t *) 0 ;
  uint32_t arg2 ;
  void *result = 0 ;
  
  arg1 = (switch_inthash_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  result = (void *)switch_core_inthash_find(arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_timer_init___(void * jarg1, char * jarg2, int jarg3, int jarg4, void * jarg5) {
  int jresult ;
  switch_timer_t *arg1 = (switch_timer_t *) 0 ;
  char *arg2 = (char *) 0 ;
  int arg3 ;
  int arg4 ;
  switch_memory_pool_t *arg5 = (switch_memory_pool_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_timer_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (int)jarg4; 
  arg5 = (switch_memory_pool_t *)jarg5; 
  result = (switch_status_t)switch_core_timer_init(arg1,(char const *)arg2,arg3,arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_time_calibrate_clock___() {
  switch_time_calibrate_clock();
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_timer_next___(void * jarg1) {
  int jresult ;
  switch_timer_t *arg1 = (switch_timer_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_timer_t *)jarg1; 
  result = (switch_status_t)switch_core_timer_next(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_timer_step___(void * jarg1) {
  int jresult ;
  switch_timer_t *arg1 = (switch_timer_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_timer_t *)jarg1; 
  result = (switch_status_t)switch_core_timer_step(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_timer_sync___(void * jarg1) {
  int jresult ;
  switch_timer_t *arg1 = (switch_timer_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_timer_t *)jarg1; 
  result = (switch_status_t)switch_core_timer_sync(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_timer_check___(void * jarg1, int jarg2) {
  int jresult ;
  switch_timer_t *arg1 = (switch_timer_t *) 0 ;
  switch_bool_t arg2 ;
  switch_status_t result;
  
  arg1 = (switch_timer_t *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  result = (switch_status_t)switch_core_timer_check(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_timer_destroy___(void * jarg1) {
  int jresult ;
  switch_timer_t *arg1 = (switch_timer_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_timer_t *)jarg1; 
  result = (switch_status_t)switch_core_timer_destroy(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_codec_init_with_bitrate___(void * jarg1, char * jarg2, char * jarg3, char * jarg4, unsigned long jarg5, int jarg6, int jarg7, unsigned long jarg8, unsigned long jarg9, void * jarg10, void * jarg11) {
  int jresult ;
  switch_codec_t *arg1 = (switch_codec_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  uint32_t arg5 ;
  int arg6 ;
  int arg7 ;
  uint32_t arg8 ;
  uint32_t arg9 ;
  switch_codec_settings_t *arg10 = (switch_codec_settings_t *) 0 ;
  switch_memory_pool_t *arg11 = (switch_memory_pool_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_codec_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (uint32_t)jarg5; 
  arg6 = (int)jarg6; 
  arg7 = (int)jarg7; 
  arg8 = (uint32_t)jarg8; 
  arg9 = (uint32_t)jarg9; 
  arg10 = (switch_codec_settings_t *)jarg10; 
  arg11 = (switch_memory_pool_t *)jarg11; 
  result = (switch_status_t)switch_core_codec_init_with_bitrate(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5,arg6,arg7,arg8,arg9,(switch_codec_settings const *)arg10,arg11);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_codec_copy___(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
  int jresult ;
  switch_codec_t *arg1 = (switch_codec_t *) 0 ;
  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
  switch_codec_settings_t *arg3 = (switch_codec_settings_t *) 0 ;
  switch_memory_pool_t *arg4 = (switch_memory_pool_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_codec_t *)jarg1; 
  arg2 = (switch_codec_t *)jarg2; 
  arg3 = (switch_codec_settings_t *)jarg3; 
  arg4 = (switch_memory_pool_t *)jarg4; 
  result = (switch_status_t)switch_core_codec_copy(arg1,arg2,(switch_codec_settings const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_codec_parse_fmtp___(char * jarg1, char * jarg2, unsigned long jarg3, void * jarg4) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32_t arg3 ;
  switch_codec_fmtp_t *arg4 = (switch_codec_fmtp_t *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = (switch_codec_fmtp_t *)jarg4; 
  result = (switch_status_t)switch_core_codec_parse_fmtp((char const *)arg1,(char const *)arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_codec_reset___(void * jarg1) {
  int jresult ;
  switch_codec_t *arg1 = (switch_codec_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_codec_t *)jarg1; 
  result = (switch_status_t)switch_core_codec_reset(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_codec_encode___(void * jarg1, void * jarg2, void * jarg3, unsigned long jarg4, unsigned long jarg5, void * jarg6, void * jarg7, void * jarg8, void * jarg9) {
  int jresult ;
  switch_codec_t *arg1 = (switch_codec_t *) 0 ;
  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
  void *arg3 = (void *) 0 ;
  uint32_t arg4 ;
  uint32_t arg5 ;
  void *arg6 = (void *) 0 ;
  uint32_t *arg7 = (uint32_t *) 0 ;
  uint32_t *arg8 = (uint32_t *) 0 ;
  unsigned int *arg9 = (unsigned int *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_codec_t *)jarg1; 
  arg2 = (switch_codec_t *)jarg2; 
  arg3 = (void *)jarg3; 
  arg4 = (uint32_t)jarg4; 
  arg5 = (uint32_t)jarg5; 
  arg6 = (void *)jarg6; 
  arg7 = (uint32_t *)jarg7; 
  arg8 = (uint32_t *)jarg8; 
  arg9 = (unsigned int *)jarg9; 
  result = (switch_status_t)switch_core_codec_encode(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_codec_decode___(void * jarg1, void * jarg2, void * jarg3, unsigned long jarg4, unsigned long jarg5, void * jarg6, void * jarg7, void * jarg8, void * jarg9) {
  int jresult ;
  switch_codec_t *arg1 = (switch_codec_t *) 0 ;
  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
  void *arg3 = (void *) 0 ;
  uint32_t arg4 ;
  uint32_t arg5 ;
  void *arg6 = (void *) 0 ;
  uint32_t *arg7 = (uint32_t *) 0 ;
  uint32_t *arg8 = (uint32_t *) 0 ;
  unsigned int *arg9 = (unsigned int *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_codec_t *)jarg1; 
  arg2 = (switch_codec_t *)jarg2; 
  arg3 = (void *)jarg3; 
  arg4 = (uint32_t)jarg4; 
  arg5 = (uint32_t)jarg5; 
  arg6 = (void *)jarg6; 
  arg7 = (uint32_t *)jarg7; 
  arg8 = (uint32_t *)jarg8; 
  arg9 = (unsigned int *)jarg9; 
  result = (switch_status_t)switch_core_codec_decode(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_codec_encode_video___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_codec_t *arg1 = (switch_codec_t *) 0 ;
  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_codec_t *)jarg1; 
  arg2 = (switch_frame_t *)jarg2; 
  result = (switch_status_t)switch_core_codec_encode_video(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_codec_control___(void * jarg1, int jarg2, int jarg3, void * jarg4, int jarg5, void * jarg6, void * jarg7, void * jarg8) {
  int jresult ;
  switch_codec_t *arg1 = (switch_codec_t *) 0 ;
  switch_codec_control_command_t arg2 ;
  switch_codec_control_type_t arg3 ;
  void *arg4 = (void *) 0 ;
  switch_codec_control_type_t arg5 ;
  void *arg6 = (void *) 0 ;
  switch_codec_control_type_t *arg7 = (switch_codec_control_type_t *) 0 ;
  void **arg8 = (void **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_codec_t *)jarg1; 
  arg2 = (switch_codec_control_command_t)jarg2; 
  arg3 = (switch_codec_control_type_t)jarg3; 
  arg4 = (void *)jarg4; 
  arg5 = (switch_codec_control_type_t)jarg5; 
  arg6 = (void *)jarg6; 
  arg7 = (switch_codec_control_type_t *)jarg7; 
  arg8 = (void **)jarg8; 
  result = (switch_status_t)switch_core_codec_control(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_codec_decode_video___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_codec_t *arg1 = (switch_codec_t *) 0 ;
  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_codec_t *)jarg1; 
  arg2 = (switch_frame_t *)jarg2; 
  result = (switch_status_t)switch_core_codec_decode_video(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_codec_destroy___(void * jarg1) {
  int jresult ;
  switch_codec_t *arg1 = (switch_codec_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_codec_t *)jarg1; 
  result = (switch_status_t)switch_core_codec_destroy(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_set_read_codec___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_codec_t *)jarg2; 
  result = (switch_status_t)switch_core_session_set_read_codec(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_set_real_read_codec___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_codec_t *)jarg2; 
  result = (switch_status_t)switch_core_session_set_real_read_codec(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_unset_read_codec___(void * jarg1) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  switch_core_session_unset_read_codec(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_unset_write_codec___(void * jarg1) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  switch_core_session_unset_write_codec(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_lock_codec_write___(void * jarg1) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  switch_core_session_lock_codec_write(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_unlock_codec_write___(void * jarg1) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  switch_core_session_unlock_codec_write(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_lock_codec_read___(void * jarg1) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  switch_core_session_lock_codec_read(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_unlock_codec_read___(void * jarg1) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  switch_core_session_unlock_codec_read(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_read_impl___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_codec_implementation_t *arg2 = (switch_codec_implementation_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_codec_implementation_t *)jarg2; 
  result = (switch_status_t)switch_core_session_get_read_impl(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_real_read_impl___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_codec_implementation_t *arg2 = (switch_codec_implementation_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_codec_implementation_t *)jarg2; 
  result = (switch_status_t)switch_core_session_get_real_read_impl(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_write_impl___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_codec_implementation_t *arg2 = (switch_codec_implementation_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_codec_implementation_t *)jarg2; 
  result = (switch_status_t)switch_core_session_get_write_impl(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_video_read_impl___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_codec_implementation_t *arg2 = (switch_codec_implementation_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_codec_implementation_t *)jarg2; 
  result = (switch_status_t)switch_core_session_get_video_read_impl(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_video_write_impl___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_codec_implementation_t *arg2 = (switch_codec_implementation_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_codec_implementation_t *)jarg2; 
  result = (switch_status_t)switch_core_session_get_video_write_impl(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_read_codec___(void * jarg1) {
  void * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_codec_t *result = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_codec_t *)switch_core_session_get_read_codec(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_effective_read_codec___(void * jarg1) {
  void * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_codec_t *result = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_codec_t *)switch_core_session_get_effective_read_codec(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_set_write_codec___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_codec_t *)jarg2; 
  result = (switch_status_t)switch_core_session_set_write_codec(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_write_codec___(void * jarg1) {
  void * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_codec_t *result = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_codec_t *)switch_core_session_get_write_codec(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_effective_write_codec___(void * jarg1) {
  void * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_codec_t *result = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_codec_t *)switch_core_session_get_effective_write_codec(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_set_video_read_codec___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_codec_t *)jarg2; 
  result = (switch_status_t)switch_core_session_set_video_read_codec(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_video_read_codec___(void * jarg1) {
  void * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_codec_t *result = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_codec_t *)switch_core_session_get_video_read_codec(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_set_video_write_codec___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_codec_t *)jarg2; 
  result = (switch_status_t)switch_core_session_set_video_write_codec(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_video_write_codec___(void * jarg1) {
  void * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_codec_t *result = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_codec_t *)switch_core_session_get_video_write_codec(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_open_file___(char * jarg1) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_core_db_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (switch_core_db_t *)switch_core_db_open_file((char const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_open_in_memory___(char * jarg1) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_core_db_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (switch_core_db_t *)switch_core_db_open_in_memory((char const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_persistant_execute___(void * jarg1, char * jarg2, unsigned long jarg3) {
  int jresult ;
  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_core_db_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (uint32_t)jarg3; 
  result = (switch_status_t)switch_core_db_persistant_execute(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_persistant_execute_trans___(void * jarg1, char * jarg2, unsigned long jarg3) {
  int jresult ;
  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_core_db_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (uint32_t)jarg3; 
  result = (switch_status_t)switch_core_db_persistant_execute_trans(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_db_test_reactive___(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  
  arg1 = (switch_core_db_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  switch_core_db_test_reactive(arg1,arg2,arg3,arg4);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_perform_file_open___(char * jarg1, char * jarg2, int jarg3, void * jarg4, char * jarg5, unsigned long jarg6, unsigned long jarg7, unsigned int jarg8, void * jarg9) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  int arg3 ;
  switch_file_handle_t *arg4 = (switch_file_handle_t *) 0 ;
  char *arg5 = (char *) 0 ;
  uint32_t arg6 ;
  uint32_t arg7 ;
  unsigned int arg8 ;
  switch_memory_pool_t *arg9 = (switch_memory_pool_t *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (switch_file_handle_t *)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (uint32_t)jarg6; 
  arg7 = (uint32_t)jarg7; 
  arg8 = (unsigned int)jarg8; 
  arg9 = (switch_memory_pool_t *)jarg9; 
  result = (switch_status_t)switch_core_perform_file_open((char const *)arg1,(char const *)arg2,arg3,arg4,(char const *)arg5,arg6,arg7,arg8,arg9);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_file_read___(void * jarg1, void * jarg2, void * jarg3) {
  int jresult ;
  switch_file_handle_t *arg1 = (switch_file_handle_t *) 0 ;
  void *arg2 = (void *) 0 ;
  switch_size_t *arg3 = (switch_size_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_file_handle_t *)jarg1; 
  arg2 = (void *)jarg2; 
  arg3 = (switch_size_t *)jarg3; 
  result = (switch_status_t)switch_core_file_read(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_file_write___(void * jarg1, void * jarg2, void * jarg3) {
  int jresult ;
  switch_file_handle_t *arg1 = (switch_file_handle_t *) 0 ;
  void *arg2 = (void *) 0 ;
  switch_size_t *arg3 = (switch_size_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_file_handle_t *)jarg1; 
  arg2 = (void *)jarg2; 
  arg3 = (switch_size_t *)jarg3; 
  result = (switch_status_t)switch_core_file_write(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_file_write_video___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_file_handle_t *arg1 = (switch_file_handle_t *) 0 ;
  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_file_handle_t *)jarg1; 
  arg2 = (switch_frame_t *)jarg2; 
  result = (switch_status_t)switch_core_file_write_video(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_file_read_video___(void * jarg1, void * jarg2, int jarg3) {
  int jresult ;
  switch_file_handle_t *arg1 = (switch_file_handle_t *) 0 ;
  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
  switch_video_read_flag_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_file_handle_t *)jarg1; 
  arg2 = (switch_frame_t *)jarg2; 
  arg3 = (switch_video_read_flag_t)jarg3; 
  result = (switch_status_t)switch_core_file_read_video(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_file_seek___(void * jarg1, void * jarg2, long long jarg3, int jarg4) {
  int jresult ;
  switch_file_handle_t *arg1 = (switch_file_handle_t *) 0 ;
  unsigned int *arg2 = (unsigned int *) 0 ;
  int64_t arg3 ;
  int arg4 ;
  switch_status_t result;
  
  arg1 = (switch_file_handle_t *)jarg1; 
  arg2 = (unsigned int *)jarg2; 
  arg3 = (int64_t)jarg3; 
  arg4 = (int)jarg4; 
  result = (switch_status_t)switch_core_file_seek(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_file_set_string___(void * jarg1, int jarg2, char * jarg3) {
  int jresult ;
  switch_file_handle_t *arg1 = (switch_file_handle_t *) 0 ;
  switch_audio_col_t arg2 ;
  char *arg3 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_file_handle_t *)jarg1; 
  arg2 = (switch_audio_col_t)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_status_t)switch_core_file_set_string(arg1,arg2,(char const *)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_file_get_string___(void * jarg1, int jarg2, void * jarg3) {
  int jresult ;
  switch_file_handle_t *arg1 = (switch_file_handle_t *) 0 ;
  switch_audio_col_t arg2 ;
  char **arg3 = (char **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_file_handle_t *)jarg1; 
  arg2 = (switch_audio_col_t)jarg2; 
  arg3 = (char **)jarg3; 
  result = (switch_status_t)switch_core_file_get_string(arg1,arg2,(char const **)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_file_pre_close___(void * jarg1) {
  int jresult ;
  switch_file_handle_t *arg1 = (switch_file_handle_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_file_handle_t *)jarg1; 
  result = (switch_status_t)switch_core_file_pre_close(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_file_handle_dup___(void * jarg1, void * jarg2, void * jarg3) {
  int jresult ;
  switch_file_handle_t *arg1 = (switch_file_handle_t *) 0 ;
  switch_file_handle_t **arg2 = (switch_file_handle_t **) 0 ;
  switch_memory_pool_t *arg3 = (switch_memory_pool_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_file_handle_t *)jarg1; 
  arg2 = (switch_file_handle_t **)jarg2; 
  arg3 = (switch_memory_pool_t *)jarg3; 
  result = (switch_status_t)switch_core_file_handle_dup(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_file_close___(void * jarg1) {
  int jresult ;
  switch_file_handle_t *arg1 = (switch_file_handle_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_file_handle_t *)jarg1; 
  result = (switch_status_t)switch_core_file_close(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_file_command___(void * jarg1, int jarg2) {
  int jresult ;
  switch_file_handle_t *arg1 = (switch_file_handle_t *) 0 ;
  switch_file_command_t arg2 ;
  switch_status_t result;
  
  arg1 = (switch_file_handle_t *)jarg1; 
  arg2 = (switch_file_command_t)jarg2; 
  result = (switch_status_t)switch_core_file_command(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_file_truncate___(void * jarg1, long long jarg2) {
  int jresult ;
  switch_file_handle_t *arg1 = (switch_file_handle_t *) 0 ;
  int64_t arg2 ;
  switch_status_t result;
  
  arg1 = (switch_file_handle_t *)jarg1; 
  arg2 = (int64_t)jarg2; 
  result = (switch_status_t)switch_core_file_truncate(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_file_has_video___(void * jarg1, int jarg2) {
  int jresult ;
  switch_file_handle_t *arg1 = (switch_file_handle_t *) 0 ;
  switch_bool_t arg2 ;
  switch_bool_t result;
  
  arg1 = (switch_file_handle_t *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  result = (switch_bool_t)switch_core_file_has_video(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_speech_open___(void * jarg1, char * jarg2, char * jarg3, unsigned int jarg4, unsigned int jarg5, unsigned int jarg6, void * jarg7, void * jarg8) {
  int jresult ;
  switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  unsigned int arg4 ;
  unsigned int arg5 ;
  unsigned int arg6 ;
  switch_speech_flag_t *arg7 = (switch_speech_flag_t *) 0 ;
  switch_memory_pool_t *arg8 = (switch_memory_pool_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_speech_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (unsigned int)jarg4; 
  arg5 = (unsigned int)jarg5; 
  arg6 = (unsigned int)jarg6; 
  arg7 = (switch_speech_flag_t *)jarg7; 
  arg8 = (switch_memory_pool_t *)jarg8; 
  result = (switch_status_t)switch_core_speech_open(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5,arg6,arg7,arg8);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_speech_feed_tts___(void * jarg1, char * jarg2, void * jarg3) {
  int jresult ;
  switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_speech_flag_t *arg3 = (switch_speech_flag_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_speech_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_speech_flag_t *)jarg3; 
  result = (switch_status_t)switch_core_speech_feed_tts(arg1,(char const *)arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_speech_flush_tts___(void * jarg1) {
  switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;
  
  arg1 = (switch_speech_handle_t *)jarg1; 
  switch_core_speech_flush_tts(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_speech_text_param_tts___(void * jarg1, char * jarg2, char * jarg3) {
  switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  
  arg1 = (switch_speech_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  switch_core_speech_text_param_tts(arg1,arg2,(char const *)arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_speech_numeric_param_tts___(void * jarg1, char * jarg2, int jarg3) {
  switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  int arg3 ;
  
  arg1 = (switch_speech_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (int)jarg3; 
  switch_core_speech_numeric_param_tts(arg1,arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_speech_float_param_tts___(void * jarg1, char * jarg2, double jarg3) {
  switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  double arg3 ;
  
  arg1 = (switch_speech_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (double)jarg3; 
  switch_core_speech_float_param_tts(arg1,arg2,arg3);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_speech_read_tts___(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
  int jresult ;
  switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;
  void *arg2 = (void *) 0 ;
  switch_size_t *arg3 = (switch_size_t *) 0 ;
  switch_speech_flag_t *arg4 = (switch_speech_flag_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_speech_handle_t *)jarg1; 
  arg2 = (void *)jarg2; 
  arg3 = (switch_size_t *)jarg3; 
  arg4 = (switch_speech_flag_t *)jarg4; 
  result = (switch_status_t)switch_core_speech_read_tts(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_speech_close___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;
  switch_speech_flag_t *arg2 = (switch_speech_flag_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_speech_handle_t *)jarg1; 
  arg2 = (switch_speech_flag_t *)jarg2; 
  result = (switch_status_t)switch_core_speech_close(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_asr_open___(void * jarg1, char * jarg2, char * jarg3, int jarg4, char * jarg5, void * jarg6, void * jarg7) {
  int jresult ;
  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  char *arg5 = (char *) 0 ;
  switch_asr_flag_t *arg6 = (switch_asr_flag_t *) 0 ;
  switch_memory_pool_t *arg7 = (switch_memory_pool_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_asr_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (switch_asr_flag_t *)jarg6; 
  arg7 = (switch_memory_pool_t *)jarg7; 
  result = (switch_status_t)switch_core_asr_open(arg1,(char const *)arg2,(char const *)arg3,arg4,(char const *)arg5,arg6,arg7);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_asr_close___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
  switch_asr_flag_t *arg2 = (switch_asr_flag_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_asr_handle_t *)jarg1; 
  arg2 = (switch_asr_flag_t *)jarg2; 
  result = (switch_status_t)switch_core_asr_close(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_asr_feed___(void * jarg1, void * jarg2, unsigned int jarg3, void * jarg4) {
  int jresult ;
  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  switch_asr_flag_t *arg4 = (switch_asr_flag_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_asr_handle_t *)jarg1; 
  arg2 = (void *)jarg2; 
  arg3 = (unsigned int)jarg3; 
  arg4 = (switch_asr_flag_t *)jarg4; 
  result = (switch_status_t)switch_core_asr_feed(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_asr_feed_dtmf___(void * jarg1, void * jarg2, void * jarg3) {
  int jresult ;
  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
  switch_dtmf_t *arg2 = (switch_dtmf_t *) 0 ;
  switch_asr_flag_t *arg3 = (switch_asr_flag_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_asr_handle_t *)jarg1; 
  arg2 = (switch_dtmf_t *)jarg2; 
  arg3 = (switch_asr_flag_t *)jarg3; 
  result = (switch_status_t)switch_core_asr_feed_dtmf(arg1,(switch_dtmf_t const *)arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_asr_check_results___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
  switch_asr_flag_t *arg2 = (switch_asr_flag_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_asr_handle_t *)jarg1; 
  arg2 = (switch_asr_flag_t *)jarg2; 
  result = (switch_status_t)switch_core_asr_check_results(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_asr_get_results___(void * jarg1, void * jarg2, void * jarg3) {
  int jresult ;
  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
  char **arg2 = (char **) 0 ;
  switch_asr_flag_t *arg3 = (switch_asr_flag_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_asr_handle_t *)jarg1; 
  arg2 = (char **)jarg2; 
  arg3 = (switch_asr_flag_t *)jarg3; 
  result = (switch_status_t)switch_core_asr_get_results(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_asr_get_result_headers___(void * jarg1, void * jarg2, void * jarg3) {
  int jresult ;
  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
  switch_event_t **arg2 = (switch_event_t **) 0 ;
  switch_asr_flag_t *arg3 = (switch_asr_flag_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_asr_handle_t *)jarg1; 
  arg2 = (switch_event_t **)jarg2; 
  arg3 = (switch_asr_flag_t *)jarg3; 
  result = (switch_status_t)switch_core_asr_get_result_headers(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_asr_load_grammar___(void * jarg1, char * jarg2, char * jarg3) {
  int jresult ;
  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_asr_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_status_t)switch_core_asr_load_grammar(arg1,(char const *)arg2,(char const *)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_asr_unload_grammar___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_asr_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_core_asr_unload_grammar(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_asr_enable_grammar___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_asr_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_core_asr_enable_grammar(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_asr_disable_grammar___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_asr_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_core_asr_disable_grammar(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_asr_disable_all_grammars___(void * jarg1) {
  int jresult ;
  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_asr_handle_t *)jarg1; 
  result = (switch_status_t)switch_core_asr_disable_all_grammars(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_asr_pause___(void * jarg1) {
  int jresult ;
  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_asr_handle_t *)jarg1; 
  result = (switch_status_t)switch_core_asr_pause(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_asr_resume___(void * jarg1) {
  int jresult ;
  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_asr_handle_t *)jarg1; 
  result = (switch_status_t)switch_core_asr_resume(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_asr_start_input_timers___(void * jarg1) {
  int jresult ;
  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_asr_handle_t *)jarg1; 
  result = (switch_status_t)switch_core_asr_start_input_timers(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_asr_text_param___(void * jarg1, char * jarg2, char * jarg3) {
  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  
  arg1 = (switch_asr_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  switch_core_asr_text_param(arg1,arg2,(char const *)arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_asr_numeric_param___(void * jarg1, char * jarg2, int jarg3) {
  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  int arg3 ;
  
  arg1 = (switch_asr_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (int)jarg3; 
  switch_core_asr_numeric_param(arg1,arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_asr_float_param___(void * jarg1, char * jarg2, double jarg3) {
  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  double arg3 ;
  
  arg1 = (switch_asr_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (double)jarg3; 
  switch_core_asr_float_param(arg1,arg2,arg3);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_directory_open___(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5, void * jarg6) {
  int jresult ;
  switch_directory_handle_t *arg1 = (switch_directory_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  switch_memory_pool_t *arg6 = (switch_memory_pool_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_directory_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (switch_memory_pool_t *)jarg6; 
  result = (switch_status_t)switch_core_directory_open(arg1,arg2,arg3,arg4,arg5,arg6);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_directory_query___(void * jarg1, char * jarg2, char * jarg3) {
  int jresult ;
  switch_directory_handle_t *arg1 = (switch_directory_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_directory_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_status_t)switch_core_directory_query(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_directory_next___(void * jarg1) {
  int jresult ;
  switch_directory_handle_t *arg1 = (switch_directory_handle_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_directory_handle_t *)jarg1; 
  result = (switch_status_t)switch_core_directory_next(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_directory_next_pair___(void * jarg1, void * jarg2, void * jarg3) {
  int jresult ;
  switch_directory_handle_t *arg1 = (switch_directory_handle_t *) 0 ;
  char **arg2 = (char **) 0 ;
  char **arg3 = (char **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_directory_handle_t *)jarg1; 
  arg2 = (char **)jarg2; 
  arg3 = (char **)jarg3; 
  result = (switch_status_t)switch_core_directory_next_pair(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_directory_close___(void * jarg1) {
  int jresult ;
  switch_directory_handle_t *arg1 = (switch_directory_handle_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_directory_handle_t *)jarg1; 
  result = (switch_status_t)switch_core_directory_close(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_data_channel___(int jarg1) {
  void * jresult ;
  switch_text_channel_t arg1 ;
  FILE *result = 0 ;
  
  arg1 = (switch_text_channel_t)jarg1; 
  result = (FILE *)switch_core_data_channel(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_ready___() {
  int jresult ;
  switch_bool_t result;
  
  result = (switch_bool_t)switch_core_ready();
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_running___() {
  int jresult ;
  switch_bool_t result;
  
  result = (switch_bool_t)switch_core_running();
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_ready_inbound___() {
  int jresult ;
  switch_bool_t result;
  
  result = (switch_bool_t)switch_core_ready_inbound();
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_ready_outbound___() {
  int jresult ;
  switch_bool_t result;
  
  result = (switch_bool_t)switch_core_ready_outbound();
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_flags___() {
  unsigned long jresult ;
  switch_core_flag_t result;
  
  result = (switch_core_flag_t)switch_core_flags();
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_management_exec___(char * jarg1, int jarg2, char * jarg3, void * jarg4) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_management_action_t arg2 ;
  char *arg3 = (char *) 0 ;
  switch_size_t arg4 ;
  switch_size_t *argp4 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_management_action_t)jarg2; 
  arg3 = (char *)jarg3; 
  argp4 = (switch_size_t *)jarg4; 
  if (!argp4) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg4 = *argp4; 
  result = (switch_status_t)switch_core_management_exec(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_set_process_privileges___() {
  int jresult ;
  int32_t result;
  
  result = (int32_t)switch_core_set_process_privileges();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_set_normal_priority___() {
  int jresult ;
  int32_t result;
  
  result = (int32_t)set_normal_priority();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_set_auto_priority___() {
  int jresult ;
  int32_t result;
  
  result = (int32_t)set_auto_priority();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_set_realtime_priority___() {
  int jresult ;
  int32_t result;
  
  result = (int32_t)set_realtime_priority();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_set_low_priority___() {
  int jresult ;
  int32_t result;
  
  result = (int32_t)set_low_priority();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_change_user_group___(char * jarg1, char * jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  int32_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (int32_t)change_user_group((char const *)arg1,(char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_runtime_loop___(int jarg1) {
  int arg1 ;
  
  arg1 = (int)jarg1; 
  switch_core_runtime_loop(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_set_console___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_status_t)switch_core_set_console((char const *)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_measure_time___(void * jarg1, void * jarg2) {
  switch_time_t arg1 ;
  switch_core_time_duration_t *arg2 = (switch_core_time_duration_t *) 0 ;
  switch_time_t *argp1 ;
  
  argp1 = (switch_time_t *)jarg1; 
  if (!argp1) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return ;
  }
  arg1 = *argp1; 
  arg2 = (switch_core_time_duration_t *)jarg2; 
  switch_core_measure_time(arg1,arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_uptime___() {
  void * jresult ;
  switch_time_t result;
  
  result = switch_core_uptime();
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_ctl___(int jarg1, void * jarg2) {
  int jresult ;
  switch_session_ctl_t arg1 ;
  void *arg2 = (void *) 0 ;
  int32_t result;
  
  arg1 = (switch_session_ctl_t)jarg1; 
  arg2 = (void *)jarg2; 
  result = (int32_t)switch_core_session_ctl(arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_get_console___() {
  void * jresult ;
  FILE *result = 0 ;
  
  result = (FILE *)switch_core_get_console();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_set_globals___() {
  switch_core_set_globals();
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_compare___(void * jarg1, void * jarg2) {
  unsigned char jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
  uint8_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_core_session_t *)jarg2; 
  result = (uint8_t)switch_core_session_compare(arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_check_interface___(void * jarg1, void * jarg2) {
  unsigned char jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_endpoint_interface_t *arg2 = (switch_endpoint_interface_t *) 0 ;
  uint8_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_endpoint_interface_t *)jarg2; 
  result = (uint8_t)switch_core_session_check_interface(arg1,(switch_endpoint_interface const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_set_video_read_callback___(void * jarg1, void * jarg2, void * jarg3) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_core_video_thread_callback_func_t arg2 = (switch_core_video_thread_callback_func_t) 0 ;
  void *arg3 = (void *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_core_video_thread_callback_func_t)jarg2; 
  arg3 = (void *)jarg3; 
  result = (switch_status_t)switch_core_session_set_video_read_callback(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_video_read_callback___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_frame_t *)jarg2; 
  result = (switch_status_t)switch_core_session_video_read_callback(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_mime_index___() {
  void * jresult ;
  switch_hash_index_t *result = 0 ;
  
  result = (switch_hash_index_t *)switch_core_mime_index();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_mime_ext2type___(char * jarg1) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (char *)switch_core_mime_ext2type((char const *)arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_mime_type2ext___(char * jarg1) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (char *)switch_core_mime_type2ext((char const *)arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_mime_add_type___(char * jarg1, char * jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_core_mime_add_type((char const *)arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_create_module_interface___(void * jarg1, char * jarg2) {
  void * jresult ;
  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_loadable_module_interface_t *result = 0 ;
  
  arg1 = (switch_memory_pool_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_loadable_module_interface_t *)switch_loadable_module_create_module_interface(arg1,(char const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_create_interface___(void * jarg1, int jarg2) {
  void * jresult ;
  switch_loadable_module_interface_t *arg1 = (switch_loadable_module_interface_t *) 0 ;
  switch_module_interface_name_t arg2 ;
  void *result = 0 ;
  
  arg1 = (switch_loadable_module_interface_t *)jarg1; 
  arg2 = (switch_module_interface_name_t)jarg2; 
  result = (void *)switch_loadable_module_create_interface(arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_micro_time_now___() {
  void * jresult ;
  switch_time_t result;
  
  result = switch_micro_time_now();
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mono_micro_time_now___() {
  void * jresult ;
  switch_time_t result;
  
  result = switch_mono_micro_time_now();
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_memory_reclaim___() {
  switch_core_memory_reclaim();
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_memory_reclaim_events___() {
  switch_core_memory_reclaim_events();
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_memory_reclaim_logger___() {
  switch_core_memory_reclaim_logger();
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_memory_reclaim_all___() {
  switch_core_memory_reclaim_all();
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_setrlimits___() {
  switch_core_setrlimits();
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_time_ref___() {
  void * jresult ;
  switch_time_t result;
  
  result = switch_time_ref();
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_time_sync___() {
  switch_time_sync();
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_epoch_time_now___(void * jarg1) {
  void * jresult ;
  time_t *arg1 = (time_t *) 0 ;
  time_t result;
  
  arg1 = (time_t *)jarg1; 
  result = switch_epoch_time_now(arg1);
  jresult = new time_t((const time_t &)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_lookup_timezone___(char * jarg1) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (char *)switch_lookup_timezone((char const *)arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_strftime_tz___(char * jarg1, char * jarg2, char * jarg3, unsigned long jarg4, void * jarg5) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  size_t arg4 ;
  switch_time_t arg5 ;
  switch_time_t *argp5 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (size_t)jarg4; 
  argp5 = (switch_time_t *)jarg5; 
  if (!argp5) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return 0;
  }
  arg5 = *argp5; 
  result = (switch_status_t)switch_strftime_tz((char const *)arg1,(char const *)arg2,arg3,arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_time_exp_tz_name___(char * jarg1, void * jarg2, void * jarg3) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_time_exp_t *arg2 = (switch_time_exp_t *) 0 ;
  switch_time_t arg3 ;
  switch_time_t *argp3 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_time_exp_t *)jarg2; 
  argp3 = (switch_time_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = (switch_status_t)switch_time_exp_tz_name((char const *)arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_load_network_lists___(int jarg1) {
  switch_bool_t arg1 ;
  
  arg1 = (switch_bool_t)jarg1; 
  switch_load_network_lists(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_check_network_list_ip_port_token___(char * jarg1, int jarg2, char * jarg3, void * jarg4) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  int arg2 ;
  char *arg3 = (char *) 0 ;
  char **arg4 = (char **) 0 ;
  switch_bool_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char **)jarg4; 
  result = (switch_bool_t)switch_check_network_list_ip_port_token((char const *)arg1,arg2,(char const *)arg3,(char const **)arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_check_network_list_ip_token___(char * jarg1, char * jarg2, void * jarg3) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  char **arg3 = (char **) 0 ;
  switch_bool_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char **)jarg3; 
  result = (switch_bool_t)switch_check_network_list_ip_token((char const *)arg1,(char const *)arg2,(char const **)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_time_set_monotonic___(int jarg1) {
  switch_bool_t arg1 ;
  
  arg1 = (switch_bool_t)jarg1; 
  switch_time_set_monotonic(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_time_set_timerfd___(int jarg1) {
  int arg1 ;
  
  arg1 = (int)jarg1; 
  switch_time_set_timerfd(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_time_set_nanosleep___(int jarg1) {
  switch_bool_t arg1 ;
  
  arg1 = (switch_bool_t)jarg1; 
  switch_time_set_nanosleep(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_time_set_matrix___(int jarg1) {
  switch_bool_t arg1 ;
  
  arg1 = (switch_bool_t)jarg1; 
  switch_time_set_matrix(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_time_set_cond_yield___(int jarg1) {
  switch_bool_t arg1 ;
  
  arg1 = (switch_bool_t)jarg1; 
  switch_time_set_cond_yield(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_time_set_use_system_time___(int jarg1) {
  switch_bool_t arg1 ;
  
  arg1 = (switch_bool_t)jarg1; 
  switch_time_set_use_system_time(arg1);
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_min_dtmf_duration___(unsigned long jarg1) {
  unsigned long jresult ;
  uint32_t arg1 ;
  uint32_t result;
  
  arg1 = (uint32_t)jarg1; 
  result = (uint32_t)switch_core_min_dtmf_duration(arg1);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_max_dtmf_duration___(unsigned long jarg1) {
  unsigned long jresult ;
  uint32_t arg1 ;
  uint32_t result;
  
  arg1 = (uint32_t)jarg1; 
  result = (uint32_t)switch_core_max_dtmf_duration(arg1);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT double SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_min_idle_cpu___(double jarg1) {
  double jresult ;
  double arg1 ;
  double result;
  
  arg1 = (double)jarg1; 
  result = (double)switch_core_min_idle_cpu(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT double SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_idle_cpu___() {
  double jresult ;
  double result;
  
  result = (double)switch_core_idle_cpu();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_default_dtmf_duration___(unsigned long jarg1) {
  unsigned long jresult ;
  uint32_t arg1 ;
  uint32_t result;
  
  arg1 = (uint32_t)jarg1; 
  result = (uint32_t)switch_core_default_dtmf_duration(arg1);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_set_complete___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_status_t)switch_console_set_complete((char const *)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_set_alias___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_status_t)switch_console_set_alias((char const *)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_system___(char * jarg1, int jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_bool_t arg2 ;
  int result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  result = (int)switch_system((char const *)arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_system___(char * jarg1, void * jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_stream_handle_t *arg2 = (switch_stream_handle_t *) 0 ;
  int result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_stream_handle_t *)jarg2; 
  result = (int)switch_stream_system((char const *)arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cond_yield___(void * jarg1) {
  switch_interval_time_t arg1 ;
  switch_interval_time_t *argp1 ;
  
  argp1 = (switch_interval_time_t *)jarg1; 
  if (!argp1) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_interval_time_t", 0);
    return ;
  }
  arg1 = *argp1; 
  switch_cond_yield(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cond_next___() {
  switch_cond_next();
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_chat_send_args___(char * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5, char * jarg6, char * jarg7, char * jarg8, int jarg9) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  char *arg6 = (char *) 0 ;
  char *arg7 = (char *) 0 ;
  char *arg8 = (char *) 0 ;
  switch_bool_t arg9 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (char *)jarg6; 
  arg7 = (char *)jarg7; 
  arg8 = (char *)jarg8; 
  arg9 = (switch_bool_t)jarg9; 
  result = (switch_status_t)switch_core_chat_send_args((char const *)arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7,(char const *)arg8,arg9);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_chat_send___(char * jarg1, void * jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_event_t *arg2 = (switch_event_t *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_event_t *)jarg2; 
  result = (switch_status_t)switch_core_chat_send((char const *)arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_chat_deliver___(char * jarg1, void * jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_event_t **arg2 = (switch_event_t **) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_event_t **)jarg2; 
  result = (switch_status_t)switch_core_chat_deliver((char const *)arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_preprocess_session___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_ivr_preprocess_session(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_sqldb_pause___() {
  switch_core_sqldb_pause();
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_sqldb_resume___() {
  switch_core_sqldb_resume();
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_CACHE_DB_LEN_get___() {
  int jresult ;
  int result;
  
  result = (int)(256);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_native_handle_t_core_db_dbh_set___(void * jarg1, void * jarg2) {
  switch_cache_db_native_handle_t *arg1 = (switch_cache_db_native_handle_t *) 0 ;
  switch_coredb_handle_t *arg2 = (switch_coredb_handle_t *) 0 ;
  
  arg1 = (switch_cache_db_native_handle_t *)jarg1; 
  arg2 = (switch_coredb_handle_t *)jarg2; 
  if (arg1) (arg1)->core_db_dbh = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_native_handle_t_core_db_dbh_get___(void * jarg1) {
  void * jresult ;
  switch_cache_db_native_handle_t *arg1 = (switch_cache_db_native_handle_t *) 0 ;
  switch_coredb_handle_t *result = 0 ;
  
  arg1 = (switch_cache_db_native_handle_t *)jarg1; 
  result = (switch_coredb_handle_t *) ((arg1)->core_db_dbh);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_native_handle_t_odbc_dbh_set___(void * jarg1, void * jarg2) {
  switch_cache_db_native_handle_t *arg1 = (switch_cache_db_native_handle_t *) 0 ;
  switch_odbc_handle_t *arg2 = (switch_odbc_handle_t *) 0 ;
  
  arg1 = (switch_cache_db_native_handle_t *)jarg1; 
  arg2 = (switch_odbc_handle_t *)jarg2; 
  if (arg1) (arg1)->odbc_dbh = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_native_handle_t_odbc_dbh_get___(void * jarg1) {
  void * jresult ;
  switch_cache_db_native_handle_t *arg1 = (switch_cache_db_native_handle_t *) 0 ;
  switch_odbc_handle_t *result = 0 ;
  
  arg1 = (switch_cache_db_native_handle_t *)jarg1; 
  result = (switch_odbc_handle_t *) ((arg1)->odbc_dbh);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_native_handle_t_database_interface_dbh_set___(void * jarg1, void * jarg2) {
  switch_cache_db_native_handle_t *arg1 = (switch_cache_db_native_handle_t *) 0 ;
  switch_database_interface_handle_t *arg2 = (switch_database_interface_handle_t *) 0 ;
  
  arg1 = (switch_cache_db_native_handle_t *)jarg1; 
  arg2 = (switch_database_interface_handle_t *)jarg2; 
  if (arg1) (arg1)->database_interface_dbh = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_native_handle_t_database_interface_dbh_get___(void * jarg1) {
  void * jresult ;
  switch_cache_db_native_handle_t *arg1 = (switch_cache_db_native_handle_t *) 0 ;
  switch_database_interface_handle_t *result = 0 ;
  
  arg1 = (switch_cache_db_native_handle_t *)jarg1; 
  result = (switch_database_interface_handle_t *) ((arg1)->database_interface_dbh);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_cache_db_native_handle_t___() {
  void * jresult ;
  switch_cache_db_native_handle_t *result = 0 ;
  
  result = (switch_cache_db_native_handle_t *)new switch_cache_db_native_handle_t();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_cache_db_native_handle_t___(void * jarg1) {
  switch_cache_db_native_handle_t *arg1 = (switch_cache_db_native_handle_t *) 0 ;
  
  arg1 = (switch_cache_db_native_handle_t *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_core_db_options_t_db_path_set___(void * jarg1, char * jarg2) {
  switch_cache_db_core_db_options_t *arg1 = (switch_cache_db_core_db_options_t *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_cache_db_core_db_options_t *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->db_path;
    if (arg2) {
      arg1->db_path = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->db_path, (const char *)arg2);
    } else {
      arg1->db_path = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_core_db_options_t_db_path_get___(void * jarg1) {
  char * jresult ;
  switch_cache_db_core_db_options_t *arg1 = (switch_cache_db_core_db_options_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_cache_db_core_db_options_t *)jarg1; 
  result = (char *) ((arg1)->db_path);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_core_db_options_t_in_memory_set___(void * jarg1, int jarg2) {
  switch_cache_db_core_db_options_t *arg1 = (switch_cache_db_core_db_options_t *) 0 ;
  switch_bool_t arg2 ;
  
  arg1 = (switch_cache_db_core_db_options_t *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  if (arg1) (arg1)->in_memory = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_core_db_options_t_in_memory_get___(void * jarg1) {
  int jresult ;
  switch_cache_db_core_db_options_t *arg1 = (switch_cache_db_core_db_options_t *) 0 ;
  switch_bool_t result;
  
  arg1 = (switch_cache_db_core_db_options_t *)jarg1; 
  result = (switch_bool_t) ((arg1)->in_memory);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_cache_db_core_db_options_t___() {
  void * jresult ;
  switch_cache_db_core_db_options_t *result = 0 ;
  
  result = (switch_cache_db_core_db_options_t *)new switch_cache_db_core_db_options_t();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_cache_db_core_db_options_t___(void * jarg1) {
  switch_cache_db_core_db_options_t *arg1 = (switch_cache_db_core_db_options_t *) 0 ;
  
  arg1 = (switch_cache_db_core_db_options_t *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_odbc_options_t_dsn_set___(void * jarg1, char * jarg2) {
  switch_cache_db_odbc_options_t *arg1 = (switch_cache_db_odbc_options_t *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_cache_db_odbc_options_t *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->dsn;
    if (arg2) {
      arg1->dsn = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->dsn, (const char *)arg2);
    } else {
      arg1->dsn = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_odbc_options_t_dsn_get___(void * jarg1) {
  char * jresult ;
  switch_cache_db_odbc_options_t *arg1 = (switch_cache_db_odbc_options_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_cache_db_odbc_options_t *)jarg1; 
  result = (char *) ((arg1)->dsn);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_odbc_options_t_user_set___(void * jarg1, char * jarg2) {
  switch_cache_db_odbc_options_t *arg1 = (switch_cache_db_odbc_options_t *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_cache_db_odbc_options_t *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->user;
    if (arg2) {
      arg1->user = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->user, (const char *)arg2);
    } else {
      arg1->user = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_odbc_options_t_user_get___(void * jarg1) {
  char * jresult ;
  switch_cache_db_odbc_options_t *arg1 = (switch_cache_db_odbc_options_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_cache_db_odbc_options_t *)jarg1; 
  result = (char *) ((arg1)->user);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_odbc_options_t_pass_set___(void * jarg1, char * jarg2) {
  switch_cache_db_odbc_options_t *arg1 = (switch_cache_db_odbc_options_t *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_cache_db_odbc_options_t *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->pass;
    if (arg2) {
      arg1->pass = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->pass, (const char *)arg2);
    } else {
      arg1->pass = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_odbc_options_t_pass_get___(void * jarg1) {
  char * jresult ;
  switch_cache_db_odbc_options_t *arg1 = (switch_cache_db_odbc_options_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_cache_db_odbc_options_t *)jarg1; 
  result = (char *) ((arg1)->pass);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_cache_db_odbc_options_t___() {
  void * jresult ;
  switch_cache_db_odbc_options_t *result = 0 ;
  
  result = (switch_cache_db_odbc_options_t *)new switch_cache_db_odbc_options_t();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_cache_db_odbc_options_t___(void * jarg1) {
  switch_cache_db_odbc_options_t *arg1 = (switch_cache_db_odbc_options_t *) 0 ;
  
  arg1 = (switch_cache_db_odbc_options_t *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_database_interface_options_t_original_dsn_set___(void * jarg1, char * jarg2) {
  switch_cache_db_database_interface_options_t *arg1 = (switch_cache_db_database_interface_options_t *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_cache_db_database_interface_options_t *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->original_dsn = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->original_dsn, (const char *)arg2);
    } else {
      arg1->original_dsn = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_database_interface_options_t_original_dsn_get___(void * jarg1) {
  char * jresult ;
  switch_cache_db_database_interface_options_t *arg1 = (switch_cache_db_database_interface_options_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_cache_db_database_interface_options_t *)jarg1; 
  result = (char *) ((arg1)->original_dsn);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_database_interface_options_t_connection_string_set___(void * jarg1, char * jarg2) {
  switch_cache_db_database_interface_options_t *arg1 = (switch_cache_db_database_interface_options_t *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_cache_db_database_interface_options_t *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->connection_string;
    if (arg2) {
      arg1->connection_string = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->connection_string, (const char *)arg2);
    } else {
      arg1->connection_string = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_database_interface_options_t_connection_string_get___(void * jarg1) {
  char * jresult ;
  switch_cache_db_database_interface_options_t *arg1 = (switch_cache_db_database_interface_options_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_cache_db_database_interface_options_t *)jarg1; 
  result = (char *) ((arg1)->connection_string);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_database_interface_options_t_prefix_set___(void * jarg1, char * jarg2) {
  switch_cache_db_database_interface_options_t *arg1 = (switch_cache_db_database_interface_options_t *) 0 ;
  char *arg2 ;
  
  arg1 = (switch_cache_db_database_interface_options_t *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if(arg2) {
      strncpy((char*)arg1->prefix, (const char *)arg2, 16-1);
      arg1->prefix[16-1] = 0;
    } else {
      arg1->prefix[0] = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_database_interface_options_t_prefix_get___(void * jarg1) {
  char * jresult ;
  switch_cache_db_database_interface_options_t *arg1 = (switch_cache_db_database_interface_options_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_cache_db_database_interface_options_t *)jarg1; 
  result = (char *)(char *) ((arg1)->prefix);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_database_interface_options_t_database_interface_set___(void * jarg1, void * jarg2) {
  switch_cache_db_database_interface_options_t *arg1 = (switch_cache_db_database_interface_options_t *) 0 ;
  switch_database_interface_t *arg2 = (switch_database_interface_t *) 0 ;
  
  arg1 = (switch_cache_db_database_interface_options_t *)jarg1; 
  arg2 = (switch_database_interface_t *)jarg2; 
  if (arg1) (arg1)->database_interface = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_database_interface_options_t_database_interface_get___(void * jarg1) {
  void * jresult ;
  switch_cache_db_database_interface_options_t *arg1 = (switch_cache_db_database_interface_options_t *) 0 ;
  switch_database_interface_t *result = 0 ;
  
  arg1 = (switch_cache_db_database_interface_options_t *)jarg1; 
  result = (switch_database_interface_t *) ((arg1)->database_interface);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_database_interface_options_t_make_module_no_unloadable_set___(void * jarg1, int jarg2) {
  switch_cache_db_database_interface_options_t *arg1 = (switch_cache_db_database_interface_options_t *) 0 ;
  switch_bool_t arg2 ;
  
  arg1 = (switch_cache_db_database_interface_options_t *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  if (arg1) (arg1)->make_module_no_unloadable = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_database_interface_options_t_make_module_no_unloadable_get___(void * jarg1) {
  int jresult ;
  switch_cache_db_database_interface_options_t *arg1 = (switch_cache_db_database_interface_options_t *) 0 ;
  switch_bool_t result;
  
  arg1 = (switch_cache_db_database_interface_options_t *)jarg1; 
  result = (switch_bool_t) ((arg1)->make_module_no_unloadable);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_cache_db_database_interface_options_t___() {
  void * jresult ;
  switch_cache_db_database_interface_options_t *result = 0 ;
  
  result = (switch_cache_db_database_interface_options_t *)new switch_cache_db_database_interface_options_t();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_cache_db_database_interface_options_t___(void * jarg1) {
  switch_cache_db_database_interface_options_t *arg1 = (switch_cache_db_database_interface_options_t *) 0 ;
  
  arg1 = (switch_cache_db_database_interface_options_t *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_connection_options_t_core_db_options_set___(void * jarg1, void * jarg2) {
  switch_cache_db_connection_options_t *arg1 = (switch_cache_db_connection_options_t *) 0 ;
  switch_cache_db_core_db_options_t *arg2 = (switch_cache_db_core_db_options_t *) 0 ;
  
  arg1 = (switch_cache_db_connection_options_t *)jarg1; 
  arg2 = (switch_cache_db_core_db_options_t *)jarg2; 
  if (arg1) (arg1)->core_db_options = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_connection_options_t_core_db_options_get___(void * jarg1) {
  void * jresult ;
  switch_cache_db_connection_options_t *arg1 = (switch_cache_db_connection_options_t *) 0 ;
  switch_cache_db_core_db_options_t *result = 0 ;
  
  arg1 = (switch_cache_db_connection_options_t *)jarg1; 
  result = (switch_cache_db_core_db_options_t *)& ((arg1)->core_db_options);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_connection_options_t_odbc_options_set___(void * jarg1, void * jarg2) {
  switch_cache_db_connection_options_t *arg1 = (switch_cache_db_connection_options_t *) 0 ;
  switch_cache_db_odbc_options_t *arg2 = (switch_cache_db_odbc_options_t *) 0 ;
  
  arg1 = (switch_cache_db_connection_options_t *)jarg1; 
  arg2 = (switch_cache_db_odbc_options_t *)jarg2; 
  if (arg1) (arg1)->odbc_options = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_connection_options_t_odbc_options_get___(void * jarg1) {
  void * jresult ;
  switch_cache_db_connection_options_t *arg1 = (switch_cache_db_connection_options_t *) 0 ;
  switch_cache_db_odbc_options_t *result = 0 ;
  
  arg1 = (switch_cache_db_connection_options_t *)jarg1; 
  result = (switch_cache_db_odbc_options_t *)& ((arg1)->odbc_options);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_connection_options_t_database_interface_options_set___(void * jarg1, void * jarg2) {
  switch_cache_db_connection_options_t *arg1 = (switch_cache_db_connection_options_t *) 0 ;
  switch_cache_db_database_interface_options_t *arg2 = (switch_cache_db_database_interface_options_t *) 0 ;
  
  arg1 = (switch_cache_db_connection_options_t *)jarg1; 
  arg2 = (switch_cache_db_database_interface_options_t *)jarg2; 
  if (arg1) (arg1)->database_interface_options = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_connection_options_t_database_interface_options_get___(void * jarg1) {
  void * jresult ;
  switch_cache_db_connection_options_t *arg1 = (switch_cache_db_connection_options_t *) 0 ;
  switch_cache_db_database_interface_options_t *result = 0 ;
  
  arg1 = (switch_cache_db_connection_options_t *)jarg1; 
  result = (switch_cache_db_database_interface_options_t *)& ((arg1)->database_interface_options);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_cache_db_connection_options_t___() {
  void * jresult ;
  switch_cache_db_connection_options_t *result = 0 ;
  
  result = (switch_cache_db_connection_options_t *)new switch_cache_db_connection_options_t();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_cache_db_connection_options_t___(void * jarg1) {
  switch_cache_db_connection_options_t *arg1 = (switch_cache_db_connection_options_t *) 0 ;
  
  arg1 = (switch_cache_db_connection_options_t *)jarg1; 
  delete arg1;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_type_name___(int jarg1) {
  char * jresult ;
  switch_cache_db_handle_type_t arg1 ;
  char *result = 0 ;
  
  arg1 = (switch_cache_db_handle_type_t)jarg1; 
  result = (char *)switch_cache_db_type_name(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_get_type___(void * jarg1) {
  int jresult ;
  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
  switch_cache_db_handle_type_t result;
  
  arg1 = (switch_cache_db_handle_t *)jarg1; 
  result = (switch_cache_db_handle_type_t)switch_cache_db_get_type(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_dismiss_db_handle___(void * jarg1) {
  switch_cache_db_handle_t **arg1 = (switch_cache_db_handle_t **) 0 ;
  
  arg1 = (switch_cache_db_handle_t **)jarg1; 
  switch_cache_db_dismiss_db_handle(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_release_db_handle___(void * jarg1) {
  switch_cache_db_handle_t **arg1 = (switch_cache_db_handle_t **) 0 ;
  
  arg1 = (switch_cache_db_handle_t **)jarg1; 
  switch_cache_db_release_db_handle(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative__switch_cache_db_get_db_handle___(void * jarg1, int jarg2, void * jarg3, char * jarg4, char * jarg5, int jarg6) {
  int jresult ;
  switch_cache_db_handle_t **arg1 = (switch_cache_db_handle_t **) 0 ;
  switch_cache_db_handle_type_t arg2 ;
  switch_cache_db_connection_options_t *arg3 = (switch_cache_db_connection_options_t *) 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  int arg6 ;
  switch_status_t result;
  
  arg1 = (switch_cache_db_handle_t **)jarg1; 
  arg2 = (switch_cache_db_handle_type_t)jarg2; 
  arg3 = (switch_cache_db_connection_options_t *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (int)jarg6; 
  result = (switch_status_t)_switch_cache_db_get_db_handle(arg1,arg2,arg3,(char const *)arg4,(char const *)arg5,arg6);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative__switch_cache_db_get_db_handle_dsn_ex___(void * jarg1, char * jarg2, int jarg3, char * jarg4, char * jarg5, int jarg6) {
  int jresult ;
  switch_cache_db_handle_t **arg1 = (switch_cache_db_handle_t **) 0 ;
  char *arg2 = (char *) 0 ;
  switch_bool_t arg3 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  int arg6 ;
  switch_status_t result;
  
  arg1 = (switch_cache_db_handle_t **)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (int)jarg6; 
  result = (switch_status_t)_switch_cache_db_get_db_handle_dsn_ex(arg1,(char const *)arg2,arg3,(char const *)arg4,(char const *)arg5,arg6);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative__switch_cache_db_get_db_handle_dsn___(void * jarg1, char * jarg2, char * jarg3, char * jarg4, int jarg5) {
  int jresult ;
  switch_cache_db_handle_t **arg1 = (switch_cache_db_handle_t **) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  int arg5 ;
  switch_status_t result;
  
  arg1 = (switch_cache_db_handle_t **)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (int)jarg5; 
  result = (switch_status_t)_switch_cache_db_get_db_handle_dsn(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_create_schema___(void * jarg1, char * jarg2, void * jarg3) {
  int jresult ;
  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char **arg3 = (char **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_cache_db_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char **)jarg3; 
  result = (switch_status_t)switch_cache_db_create_schema(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_execute_sql2str___(void * jarg1, char * jarg2, char * jarg3, unsigned long jarg4, void * jarg5) {
  char * jresult ;
  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  size_t arg4 ;
  char **arg5 = (char **) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_cache_db_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (size_t)jarg4; 
  arg5 = (char **)jarg5; 
  result = (char *)switch_cache_db_execute_sql2str(arg1,arg2,arg3,arg4,arg5);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_execute_sql___(void * jarg1, char * jarg2, void * jarg3) {
  int jresult ;
  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char **arg3 = (char **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_cache_db_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char **)jarg3; 
  result = (switch_status_t)switch_cache_db_execute_sql(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_execute_sql_callback___(void * jarg1, char * jarg2, void * jarg3, void * jarg4, void * jarg5) {
  int jresult ;
  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_core_db_callback_func_t arg3 = (switch_core_db_callback_func_t) 0 ;
  void *arg4 = (void *) 0 ;
  char **arg5 = (char **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_cache_db_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_core_db_callback_func_t)jarg3; 
  arg4 = (void *)jarg4; 
  arg5 = (char **)jarg5; 
  result = (switch_status_t)switch_cache_db_execute_sql_callback(arg1,(char const *)arg2,arg3,arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_execute_sql_callback_err___(void * jarg1, char * jarg2, void * jarg3, void * jarg4, void * jarg5, void * jarg6) {
  int jresult ;
  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_core_db_callback_func_t arg3 = (switch_core_db_callback_func_t) 0 ;
  switch_core_db_err_callback_func_t arg4 = (switch_core_db_err_callback_func_t) 0 ;
  void *arg5 = (void *) 0 ;
  char **arg6 = (char **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_cache_db_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_core_db_callback_func_t)jarg3; 
  arg4 = (switch_core_db_err_callback_func_t)jarg4; 
  arg5 = (void *)jarg5; 
  arg6 = (char **)jarg6; 
  result = (switch_status_t)switch_cache_db_execute_sql_callback_err(arg1,(char const *)arg2,arg3,arg4,arg5,arg6);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_affected_rows___(void * jarg1) {
  int jresult ;
  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
  int result;
  
  arg1 = (switch_cache_db_handle_t *)jarg1; 
  result = (int)switch_cache_db_affected_rows(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_load_extension___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  int result;
  
  arg1 = (switch_cache_db_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (int)switch_cache_db_load_extension(arg1,(char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_status___(void * jarg1) {
  switch_stream_handle_t *arg1 = (switch_stream_handle_t *) 0 ;
  
  arg1 = (switch_stream_handle_t *)jarg1; 
  switch_cache_db_status(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative__switch_core_db_handle___(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
  int jresult ;
  switch_cache_db_handle_t **arg1 = (switch_cache_db_handle_t **) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  switch_status_t result;
  
  arg1 = (switch_cache_db_handle_t **)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  result = (switch_status_t)_switch_core_db_handle(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_test_reactive___(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
  int jresult ;
  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  switch_bool_t result;
  
  arg1 = (switch_cache_db_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  result = (switch_bool_t)switch_cache_db_test_reactive(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_test_reactive_ex___(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5) {
  int jresult ;
  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  switch_bool_t result;
  
  arg1 = (switch_cache_db_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  result = (switch_bool_t)switch_cache_db_test_reactive_ex(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_persistant_execute___(void * jarg1, char * jarg2, unsigned long jarg3) {
  int jresult ;
  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_cache_db_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (uint32_t)jarg3; 
  result = (switch_status_t)switch_cache_db_persistant_execute(arg1,(char const *)arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_persistant_execute_trans_full___(void * jarg1, char * jarg2, unsigned long jarg3, char * jarg4, char * jarg5, char * jarg6, char * jarg7) {
  int jresult ;
  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32_t arg3 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  char *arg6 = (char *) 0 ;
  char *arg7 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_cache_db_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (char *)jarg6; 
  arg7 = (char *)jarg7; 
  result = (switch_status_t)switch_cache_db_persistant_execute_trans_full(arg1,arg2,arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_database_interface_flush_handles___(void * jarg1) {
  switch_database_interface_t *arg1 = (switch_database_interface_t *) 0 ;
  
  arg1 = (switch_database_interface_t *)jarg1; 
  switch_cache_db_database_interface_flush_handles(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_check_core_db_dsn___() {
  int jresult ;
  switch_status_t result;
  
  result = (switch_status_t)switch_core_check_core_db_dsn();
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_available___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_status_t)switch_database_available(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_set_signal_handlers___() {
  switch_core_set_signal_handlers();
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_debug_level___() {
  unsigned long jresult ;
  uint32_t result;
  
  result = (uint32_t)switch_core_debug_level();
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_sps___() {
  int jresult ;
  int32_t result;
  
  result = (int32_t)switch_core_sps();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_sps_last___() {
  int jresult ;
  int32_t result;
  
  result = (int32_t)switch_core_sps_last();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_sps_peak___() {
  int jresult ;
  int32_t result;
  
  result = (int32_t)switch_core_sps_peak();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_sps_peak_fivemin___() {
  int jresult ;
  int32_t result;
  
  result = (int32_t)switch_core_sps_peak_fivemin();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_sessions_peak___() {
  int jresult ;
  int32_t result;
  
  result = (int32_t)switch_core_sessions_peak();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_sessions_peak_fivemin___() {
  int jresult ;
  int32_t result;
  
  result = (int32_t)switch_core_sessions_peak_fivemin();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_flush_handles___() {
  switch_cache_db_flush_handles();
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_banner___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)switch_core_banner();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_in_thread___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_bool_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_bool_t)switch_core_session_in_thread(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_default_ptime___(char * jarg1, unsigned long jarg2) {
  unsigned long jresult ;
  char *arg1 = (char *) 0 ;
  uint32_t arg2 ;
  uint32_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  result = (uint32_t)switch_default_ptime((char const *)arg1,arg2);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_default_rate___(char * jarg1, unsigned long jarg2) {
  unsigned long jresult ;
  char *arg1 = (char *) 0 ;
  uint32_t arg2 ;
  uint32_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  result = (uint32_t)switch_default_rate((char const *)arg1,arg2);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_max_audio_channels___(unsigned long jarg1) {
  unsigned long jresult ;
  uint32_t arg1 ;
  uint32_t result;
  
  arg1 = (uint32_t)jarg1; 
  result = (uint32_t)switch_core_max_audio_channels(arg1);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_add_registration___(char * jarg1, char * jarg2, char * jarg3, char * jarg4, unsigned long jarg5, char * jarg6, char * jarg7, char * jarg8, char * jarg9) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  uint32_t arg5 ;
  char *arg6 = (char *) 0 ;
  char *arg7 = (char *) 0 ;
  char *arg8 = (char *) 0 ;
  char *arg9 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (uint32_t)jarg5; 
  arg6 = (char *)jarg6; 
  arg7 = (char *)jarg7; 
  arg8 = (char *)jarg8; 
  arg9 = (char *)jarg9; 
  result = (switch_status_t)switch_core_add_registration((char const *)arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5,(char const *)arg6,(char const *)arg7,(char const *)arg8,(char const *)arg9);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_del_registration___(char * jarg1, char * jarg2, char * jarg3) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_status_t)switch_core_del_registration((char const *)arg1,(char const *)arg2,(char const *)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_expire_registration___(int jarg1) {
  int jresult ;
  int arg1 ;
  switch_status_t result;
  
  arg1 = (int)jarg1; 
  result = (switch_status_t)switch_core_expire_registration(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_get_rtp_port_range_start_port___() {
  unsigned short jresult ;
  uint16_t result;
  
  result = (uint16_t)switch_core_get_rtp_port_range_start_port();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_get_rtp_port_range_end_port___() {
  unsigned short jresult ;
  uint16_t result;
  
  result = (uint16_t)switch_core_get_rtp_port_range_end_port();
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_file_handle_get_variable___(void * jarg1, char * jarg2) {
  char * jresult ;
  switch_say_file_handle_t *arg1 = (switch_say_file_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_say_file_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (char *)switch_say_file_handle_get_variable(arg1,(char const *)arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_file_handle_get_path___(void * jarg1) {
  char * jresult ;
  switch_say_file_handle_t *arg1 = (switch_say_file_handle_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_say_file_handle_t *)jarg1; 
  result = (char *)switch_say_file_handle_get_path(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_file_handle_detach_path___(void * jarg1) {
  char * jresult ;
  switch_say_file_handle_t *arg1 = (switch_say_file_handle_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_say_file_handle_t *)jarg1; 
  result = (char *)switch_say_file_handle_detach_path(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_file_handle_destroy___(void * jarg1) {
  switch_say_file_handle_t **arg1 = (switch_say_file_handle_t **) 0 ;
  
  arg1 = (switch_say_file_handle_t **)jarg1; 
  switch_say_file_handle_destroy(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_file_handle_create___(void * jarg1, char * jarg2, void * jarg3) {
  int jresult ;
  switch_say_file_handle_t **arg1 = (switch_say_file_handle_t **) 0 ;
  char *arg2 = (char *) 0 ;
  switch_event_t **arg3 = (switch_event_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_say_file_handle_t **)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_event_t **)jarg3; 
  result = (switch_status_t)switch_say_file_handle_create(arg1,(char const *)arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_file___(void * jarg1, char * jarg2) {
  switch_say_file_handle_t *arg1 = (switch_say_file_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  void *arg3 = 0 ;
  
  arg1 = (switch_say_file_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  switch_say_file(arg1,(char const *)arg2,arg3);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_max_file_desc___() {
  int jresult ;
  int result;
  
  result = (int)switch_max_file_desc();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_close_extra_files___(void * jarg1, int jarg2) {
  int *arg1 = (int *) 0 ;
  int arg2 ;
  
  arg1 = (int *)jarg1; 
  arg2 = (int)jarg2; 
  switch_close_extra_files(arg1,arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_thread_set_cpu_affinity___(int jarg1) {
  int jresult ;
  int arg1 ;
  switch_status_t result;
  
  arg1 = (int)jarg1; 
  result = (switch_status_t)switch_core_thread_set_cpu_affinity(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_os_yield___() {
  switch_os_yield();
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_get_stacksizes___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_size_t *arg1 = (switch_size_t *) 0 ;
  switch_size_t *arg2 = (switch_size_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_size_t *)jarg1; 
  arg2 = (switch_size_t *)jarg2; 
  result = (switch_status_t)switch_core_get_stacksizes(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_gen_encoded_silence___(void * jarg1, void * jarg2, void * jarg3) {
  unsigned char *arg1 = (unsigned char *) 0 ;
  switch_codec_implementation_t *arg2 = (switch_codec_implementation_t *) 0 ;
  switch_size_t arg3 ;
  switch_size_t *argp3 ;
  
  arg1 = (unsigned char *)jarg1; 
  arg2 = (switch_codec_implementation_t *)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg3 = *argp3; 
  switch_core_gen_encoded_silence(arg1,(switch_codec_implementation const *)arg2,arg3);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_dbtype___() {
  int jresult ;
  switch_cache_db_handle_type_t result;
  
  result = (switch_cache_db_handle_type_t)switch_core_dbtype();
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_sql_exec___(char * jarg1) {
  char *arg1 = (char *) 0 ;
  
  arg1 = (char *)jarg1; 
  switch_core_sql_exec((char const *)arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_recovery_recover___(char * jarg1, char * jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  int result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (int)switch_core_recovery_recover((char const *)arg1,(char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_recovery_untrack___(void * jarg1, int jarg2) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_bool_t arg2 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  switch_core_recovery_untrack(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_recovery_track___(void * jarg1) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  switch_core_recovery_track(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_recovery_flush___(char * jarg1, char * jarg2) {
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  switch_core_recovery_flush((char const *)arg1,(char const *)arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_sql_queue_manager_pause___(void * jarg1, int jarg2) {
  switch_sql_queue_manager_t *arg1 = (switch_sql_queue_manager_t *) 0 ;
  switch_bool_t arg2 ;
  
  arg1 = (switch_sql_queue_manager_t *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  switch_sql_queue_manager_pause(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_sql_queue_manager_resume___(void * jarg1) {
  switch_sql_queue_manager_t *arg1 = (switch_sql_queue_manager_t *) 0 ;
  
  arg1 = (switch_sql_queue_manager_t *)jarg1; 
  switch_sql_queue_manager_resume(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_sql_queue_manager_size___(void * jarg1, unsigned long jarg2) {
  int jresult ;
  switch_sql_queue_manager_t *arg1 = (switch_sql_queue_manager_t *) 0 ;
  uint32_t arg2 ;
  int result;
  
  arg1 = (switch_sql_queue_manager_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  result = (int)switch_sql_queue_manager_size(arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_sql_queue_manager_push_confirm___(void * jarg1, char * jarg2, unsigned long jarg3, int jarg4) {
  int jresult ;
  switch_sql_queue_manager_t *arg1 = (switch_sql_queue_manager_t *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32_t arg3 ;
  switch_bool_t arg4 ;
  switch_status_t result;
  
  arg1 = (switch_sql_queue_manager_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = (switch_bool_t)jarg4; 
  result = (switch_status_t)switch_sql_queue_manager_push_confirm(arg1,(char const *)arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_sql_queue_manager_push___(void * jarg1, char * jarg2, unsigned long jarg3, int jarg4) {
  int jresult ;
  switch_sql_queue_manager_t *arg1 = (switch_sql_queue_manager_t *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32_t arg3 ;
  switch_bool_t arg4 ;
  switch_status_t result;
  
  arg1 = (switch_sql_queue_manager_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = (switch_bool_t)jarg4; 
  result = (switch_status_t)switch_sql_queue_manager_push(arg1,(char const *)arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_sql_queue_manager_destroy___(void * jarg1) {
  int jresult ;
  switch_sql_queue_manager_t **arg1 = (switch_sql_queue_manager_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_sql_queue_manager_t **)jarg1; 
  result = (switch_status_t)switch_sql_queue_manager_destroy(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_sql_queue_manager_init_name___(char * jarg1, void * jarg2, unsigned long jarg3, char * jarg4, unsigned long jarg5, char * jarg6, char * jarg7, char * jarg8, char * jarg9) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_sql_queue_manager_t **arg2 = (switch_sql_queue_manager_t **) 0 ;
  uint32_t arg3 ;
  char *arg4 = (char *) 0 ;
  uint32_t arg5 ;
  char *arg6 = (char *) 0 ;
  char *arg7 = (char *) 0 ;
  char *arg8 = (char *) 0 ;
  char *arg9 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_sql_queue_manager_t **)jarg2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (uint32_t)jarg5; 
  arg6 = (char *)jarg6; 
  arg7 = (char *)jarg7; 
  arg8 = (char *)jarg8; 
  arg9 = (char *)jarg9; 
  result = (switch_status_t)switch_sql_queue_manager_init_name((char const *)arg1,arg2,arg3,(char const *)arg4,arg5,(char const *)arg6,(char const *)arg7,(char const *)arg8,(char const *)arg9);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_sql_queue_manager_start___(void * jarg1) {
  int jresult ;
  switch_sql_queue_manager_t *arg1 = (switch_sql_queue_manager_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_sql_queue_manager_t *)jarg1; 
  result = (switch_status_t)switch_sql_queue_manager_start(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_sql_queue_manager_stop___(void * jarg1) {
  int jresult ;
  switch_sql_queue_manager_t *arg1 = (switch_sql_queue_manager_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_sql_queue_manager_t *)jarg1; 
  result = (switch_status_t)switch_sql_queue_manager_stop(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_execute_sql_event_callback___(void * jarg1, char * jarg2, void * jarg3, void * jarg4, void * jarg5) {
  int jresult ;
  switch_cache_db_handle_t *arg1 = (switch_cache_db_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_core_db_event_callback_func_t arg3 = (switch_core_db_event_callback_func_t) 0 ;
  void *arg4 = (void *) 0 ;
  char **arg5 = (char **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_cache_db_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_core_db_event_callback_func_t)jarg3; 
  arg4 = (void *)jarg4; 
  arg5 = (char **)jarg5; 
  result = (switch_status_t)switch_cache_db_execute_sql_event_callback(arg1,(char const *)arg2,arg3,arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_sql_queue_manager_execute_sql_callback___(void * jarg1, char * jarg2, void * jarg3, void * jarg4) {
  switch_sql_queue_manager_t *arg1 = (switch_sql_queue_manager_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_core_db_callback_func_t arg3 = (switch_core_db_callback_func_t) 0 ;
  void *arg4 = (void *) 0 ;
  
  arg1 = (switch_sql_queue_manager_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_core_db_callback_func_t)jarg3; 
  arg4 = (void *)jarg4; 
  switch_sql_queue_manager_execute_sql_callback(arg1,(char const *)arg2,arg3,arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_sql_queue_manager_execute_sql_callback_err___(void * jarg1, char * jarg2, void * jarg3, void * jarg4, void * jarg5) {
  switch_sql_queue_manager_t *arg1 = (switch_sql_queue_manager_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_core_db_callback_func_t arg3 = (switch_core_db_callback_func_t) 0 ;
  switch_core_db_err_callback_func_t arg4 = (switch_core_db_err_callback_func_t) 0 ;
  void *arg5 = (void *) 0 ;
  
  arg1 = (switch_sql_queue_manager_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_core_db_callback_func_t)jarg3; 
  arg4 = (switch_core_db_err_callback_func_t)jarg4; 
  arg5 = (void *)jarg5; 
  switch_sql_queue_manager_execute_sql_callback_err(arg1,(char const *)arg2,arg3,arg4,arg5);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_sql_queue_manager_execute_sql_event_callback___(void * jarg1, char * jarg2, void * jarg3, void * jarg4) {
  switch_sql_queue_manager_t *arg1 = (switch_sql_queue_manager_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_core_db_event_callback_func_t arg3 = (switch_core_db_event_callback_func_t) 0 ;
  void *arg4 = (void *) 0 ;
  
  arg1 = (switch_sql_queue_manager_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_core_db_event_callback_func_t)jarg3; 
  arg4 = (void *)jarg4; 
  switch_sql_queue_manager_execute_sql_event_callback(arg1,(char const *)arg2,arg3,arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_sql_queue_manager_execute_sql_event_callback_err___(void * jarg1, char * jarg2, void * jarg3, void * jarg4, void * jarg5) {
  switch_sql_queue_manager_t *arg1 = (switch_sql_queue_manager_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_core_db_event_callback_func_t arg3 = (switch_core_db_event_callback_func_t) 0 ;
  switch_core_db_err_callback_func_t arg4 = (switch_core_db_err_callback_func_t) 0 ;
  void *arg5 = (void *) 0 ;
  
  arg1 = (switch_sql_queue_manager_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_core_db_event_callback_func_t)jarg3; 
  arg4 = (switch_core_db_err_callback_func_t)jarg4; 
  arg5 = (void *)jarg5; 
  switch_sql_queue_manager_execute_sql_event_callback_err(arg1,(char const *)arg2,arg3,arg4,arg5);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_fork___() {
  void * jresult ;
  pid_t result;
  
  result = switch_fork();
  jresult = new pid_t((const pid_t &)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_gen_certs___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  int result;
  
  arg1 = (char *)jarg1; 
  result = (int)switch_core_gen_certs((char const *)arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_check_dtls_pem___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_bool_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_bool_t)switch_core_check_dtls_pem((char const *)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_cert_gen_fingerprint___(char * jarg1, void * jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  dtls_fingerprint_t *arg2 = (dtls_fingerprint_t *) 0 ;
  int result;
  
  arg1 = (char *)jarg1; 
  arg2 = (dtls_fingerprint_t *)jarg2; 
  result = (int)switch_core_cert_gen_fingerprint((char const *)arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_cert_expand_fingerprint___(void * jarg1, char * jarg2) {
  int jresult ;
  dtls_fingerprint_t *arg1 = (dtls_fingerprint_t *) 0 ;
  char *arg2 = (char *) 0 ;
  int result;
  
  arg1 = (dtls_fingerprint_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (int)switch_core_cert_expand_fingerprint(arg1,(char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_cert_verify___(void * jarg1) {
  int jresult ;
  dtls_fingerprint_t *arg1 = (dtls_fingerprint_t *) 0 ;
  int result;
  
  arg1 = (dtls_fingerprint_t *)jarg1; 
  result = (int)switch_core_cert_verify(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative__switch_core_session_request_video_refresh___(void * jarg1, int jarg2, char * jarg3, char * jarg4, int jarg5) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  int arg2 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  int arg5 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (int)jarg5; 
  result = (switch_status_t)_switch_core_session_request_video_refresh(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_send_and_request_video_refresh___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_core_session_send_and_request_video_refresh(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_system_fork___(char * jarg1, void * jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_stream_handle_t *arg2 = (switch_stream_handle_t *) 0 ;
  int result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_stream_handle_t *)jarg2; 
  result = (int)switch_stream_system_fork((char const *)arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_spawn___(char * jarg1, int jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_bool_t arg2 ;
  int result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  result = (int)switch_spawn((char const *)arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_spawn___(char * jarg1, int jarg2, int jarg3, void * jarg4) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_bool_t arg2 ;
  switch_bool_t arg3 ;
  switch_stream_handle_t *arg4 = (switch_stream_handle_t *) 0 ;
  int result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  arg4 = (switch_stream_handle_t *)jarg4; 
  result = (int)switch_stream_spawn((char const *)arg1,arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_debug_pool___(void * jarg1) {
  switch_stream_handle_t *arg1 = (switch_stream_handle_t *) 0 ;
  
  arg1 = (switch_stream_handle_t *)jarg1; 
  switch_core_session_debug_pool(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_override_io_routines___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_io_routines_t *arg2 = (switch_io_routines_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_io_routines_t *)jarg2; 
  result = (switch_status_t)switch_core_session_override_io_routines(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_version_major___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)switch_version_major();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_version_minor___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)switch_version_minor();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_version_micro___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)switch_version_micro();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_version_revision___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)switch_version_revision();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_version_revision_human___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)switch_version_revision_human();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_version_full___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)switch_version_full();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_version_full_human___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)switch_version_full_human();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_autobind_cpu___() {
  switch_core_autobind_cpu();
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_start_text_thread___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_core_session_start_text_thread(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_get_event_channel_key_separator___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)switch_core_get_event_channel_key_separator();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_module_name_set___(void * jarg1, char * jarg2) {
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->module_name = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->module_name, (const char *)arg2);
    } else {
      arg1->module_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_module_name_get___(void * jarg1) {
  char * jresult ;
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  result = (char *) ((arg1)->module_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_endpoint_interface_set___(void * jarg1, void * jarg2) {
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_endpoint_interface_t *arg2 = (switch_endpoint_interface_t *) 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  arg2 = (switch_endpoint_interface_t *)jarg2; 
  if (arg1) (arg1)->endpoint_interface = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_endpoint_interface_get___(void * jarg1) {
  void * jresult ;
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_endpoint_interface_t *result = 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  result = (switch_endpoint_interface_t *) ((arg1)->endpoint_interface);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_timer_interface_set___(void * jarg1, void * jarg2) {
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_timer_interface_t *arg2 = (switch_timer_interface_t *) 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  arg2 = (switch_timer_interface_t *)jarg2; 
  if (arg1) (arg1)->timer_interface = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_timer_interface_get___(void * jarg1) {
  void * jresult ;
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_timer_interface_t *result = 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  result = (switch_timer_interface_t *) ((arg1)->timer_interface);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_dialplan_interface_set___(void * jarg1, void * jarg2) {
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_dialplan_interface_t *arg2 = (switch_dialplan_interface_t *) 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  arg2 = (switch_dialplan_interface_t *)jarg2; 
  if (arg1) (arg1)->dialplan_interface = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_dialplan_interface_get___(void * jarg1) {
  void * jresult ;
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_dialplan_interface_t *result = 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  result = (switch_dialplan_interface_t *) ((arg1)->dialplan_interface);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_codec_interface_set___(void * jarg1, void * jarg2) {
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_codec_interface_t *arg2 = (switch_codec_interface_t *) 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  arg2 = (switch_codec_interface_t *)jarg2; 
  if (arg1) (arg1)->codec_interface = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_codec_interface_get___(void * jarg1) {
  void * jresult ;
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_codec_interface_t *result = 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  result = (switch_codec_interface_t *) ((arg1)->codec_interface);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_application_interface_set___(void * jarg1, void * jarg2) {
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_application_interface_t *arg2 = (switch_application_interface_t *) 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  arg2 = (switch_application_interface_t *)jarg2; 
  if (arg1) (arg1)->application_interface = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_application_interface_get___(void * jarg1) {
  void * jresult ;
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_application_interface_t *result = 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  result = (switch_application_interface_t *) ((arg1)->application_interface);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_chat_application_interface_set___(void * jarg1, void * jarg2) {
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_chat_application_interface_t *arg2 = (switch_chat_application_interface_t *) 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  arg2 = (switch_chat_application_interface_t *)jarg2; 
  if (arg1) (arg1)->chat_application_interface = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_chat_application_interface_get___(void * jarg1) {
  void * jresult ;
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_chat_application_interface_t *result = 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  result = (switch_chat_application_interface_t *) ((arg1)->chat_application_interface);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_api_interface_set___(void * jarg1, void * jarg2) {
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_api_interface_t *arg2 = (switch_api_interface_t *) 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  arg2 = (switch_api_interface_t *)jarg2; 
  if (arg1) (arg1)->api_interface = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_api_interface_get___(void * jarg1) {
  void * jresult ;
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_api_interface_t *result = 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  result = (switch_api_interface_t *) ((arg1)->api_interface);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_json_api_interface_set___(void * jarg1, void * jarg2) {
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_json_api_interface_t *arg2 = (switch_json_api_interface_t *) 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  arg2 = (switch_json_api_interface_t *)jarg2; 
  if (arg1) (arg1)->json_api_interface = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_json_api_interface_get___(void * jarg1) {
  void * jresult ;
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_json_api_interface_t *result = 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  result = (switch_json_api_interface_t *) ((arg1)->json_api_interface);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_file_interface_set___(void * jarg1, void * jarg2) {
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_file_interface_t *arg2 = (switch_file_interface_t *) 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  arg2 = (switch_file_interface_t *)jarg2; 
  if (arg1) (arg1)->file_interface = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_file_interface_get___(void * jarg1) {
  void * jresult ;
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_file_interface_t *result = 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  result = (switch_file_interface_t *) ((arg1)->file_interface);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_speech_interface_set___(void * jarg1, void * jarg2) {
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_speech_interface_t *arg2 = (switch_speech_interface_t *) 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  arg2 = (switch_speech_interface_t *)jarg2; 
  if (arg1) (arg1)->speech_interface = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_speech_interface_get___(void * jarg1) {
  void * jresult ;
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_speech_interface_t *result = 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  result = (switch_speech_interface_t *) ((arg1)->speech_interface);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_directory_interface_set___(void * jarg1, void * jarg2) {
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_directory_interface_t *arg2 = (switch_directory_interface_t *) 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  arg2 = (switch_directory_interface_t *)jarg2; 
  if (arg1) (arg1)->directory_interface = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_directory_interface_get___(void * jarg1) {
  void * jresult ;
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_directory_interface_t *result = 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  result = (switch_directory_interface_t *) ((arg1)->directory_interface);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_chat_interface_set___(void * jarg1, void * jarg2) {
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_chat_interface_t *arg2 = (switch_chat_interface_t *) 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  arg2 = (switch_chat_interface_t *)jarg2; 
  if (arg1) (arg1)->chat_interface = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_chat_interface_get___(void * jarg1) {
  void * jresult ;
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_chat_interface_t *result = 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  result = (switch_chat_interface_t *) ((arg1)->chat_interface);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_say_interface_set___(void * jarg1, void * jarg2) {
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_say_interface_t *arg2 = (switch_say_interface_t *) 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  arg2 = (switch_say_interface_t *)jarg2; 
  if (arg1) (arg1)->say_interface = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_say_interface_get___(void * jarg1) {
  void * jresult ;
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_say_interface_t *result = 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  result = (switch_say_interface_t *) ((arg1)->say_interface);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_asr_interface_set___(void * jarg1, void * jarg2) {
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_asr_interface_t *arg2 = (switch_asr_interface_t *) 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  arg2 = (switch_asr_interface_t *)jarg2; 
  if (arg1) (arg1)->asr_interface = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_asr_interface_get___(void * jarg1) {
  void * jresult ;
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_asr_interface_t *result = 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  result = (switch_asr_interface_t *) ((arg1)->asr_interface);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_management_interface_set___(void * jarg1, void * jarg2) {
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_management_interface_t *arg2 = (switch_management_interface_t *) 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  arg2 = (switch_management_interface_t *)jarg2; 
  if (arg1) (arg1)->management_interface = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_management_interface_get___(void * jarg1) {
  void * jresult ;
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_management_interface_t *result = 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  result = (switch_management_interface_t *) ((arg1)->management_interface);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_limit_interface_set___(void * jarg1, void * jarg2) {
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_limit_interface_t *arg2 = (switch_limit_interface_t *) 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  arg2 = (switch_limit_interface_t *)jarg2; 
  if (arg1) (arg1)->limit_interface = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_limit_interface_get___(void * jarg1) {
  void * jresult ;
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_limit_interface_t *result = 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  result = (switch_limit_interface_t *) ((arg1)->limit_interface);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_database_interface_set___(void * jarg1, void * jarg2) {
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_database_interface_t *arg2 = (switch_database_interface_t *) 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  arg2 = (switch_database_interface_t *)jarg2; 
  if (arg1) (arg1)->database_interface = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_database_interface_get___(void * jarg1) {
  void * jresult ;
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_database_interface_t *result = 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  result = (switch_database_interface_t *) ((arg1)->database_interface);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_rwlock_set___(void * jarg1, void * jarg2) {
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  arg2 = (switch_thread_rwlock_t *)jarg2; 
  if (arg1) (arg1)->rwlock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_rwlock_get___(void * jarg1) {
  void * jresult ;
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_thread_rwlock_t *result = 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_refs_set___(void * jarg1, int jarg2) {
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  int arg2 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->refs = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_refs_get___(void * jarg1) {
  int jresult ;
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  int result;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  result = (int) ((arg1)->refs);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_pool_set___(void * jarg1, void * jarg2) {
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  arg2 = (switch_memory_pool_t *)jarg2; 
  if (arg1) (arg1)->pool = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_interface_pool_get___(void * jarg1) {
  void * jresult ;
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  switch_memory_pool_t *result = 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  result = (switch_memory_pool_t *) ((arg1)->pool);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_loadable_module_interface___() {
  void * jresult ;
  switch_loadable_module_interface *result = 0 ;
  
  result = (switch_loadable_module_interface *)new switch_loadable_module_interface();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_loadable_module_interface___(void * jarg1) {
  switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
  
  arg1 = (switch_loadable_module_interface *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_init___(int jarg1) {
  int jresult ;
  switch_bool_t arg1 ;
  switch_status_t result;
  
  arg1 = (switch_bool_t)jarg1; 
  result = (switch_status_t)switch_loadable_module_init(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_shutdown___() {
  switch_loadable_module_shutdown();
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_get_endpoint_interface___(char * jarg1) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_endpoint_interface_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (switch_endpoint_interface_t *)switch_loadable_module_get_endpoint_interface((char const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_get_codec_interface___(char * jarg1, char * jarg2) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_codec_interface_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_codec_interface_t *)switch_loadable_module_get_codec_interface((char const *)arg1,(char const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_parse_codec_buf___(char * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5, void * jarg6, void * jarg7) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  uint32_t *arg2 = (uint32_t *) 0 ;
  uint32_t *arg3 = (uint32_t *) 0 ;
  uint32_t *arg4 = (uint32_t *) 0 ;
  uint32_t *arg5 = (uint32_t *) 0 ;
  char **arg6 = (char **) 0 ;
  char **arg7 = (char **) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (uint32_t *)jarg2; 
  arg3 = (uint32_t *)jarg3; 
  arg4 = (uint32_t *)jarg4; 
  arg5 = (uint32_t *)jarg5; 
  arg6 = (char **)jarg6; 
  arg7 = (char **)jarg7; 
  result = (char *)switch_parse_codec_buf(arg1,arg2,arg3,arg4,arg5,arg6,arg7);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_get_dialplan_interface___(char * jarg1) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_dialplan_interface_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (switch_dialplan_interface_t *)switch_loadable_module_get_dialplan_interface((char const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_enumerate_available___(char * jarg1, void * jarg2, void * jarg3) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_modulename_callback_func_t arg2 = (switch_modulename_callback_func_t) 0 ;
  void *arg3 = (void *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_modulename_callback_func_t)jarg2; 
  arg3 = (void *)jarg3; 
  result = (switch_status_t)switch_loadable_module_enumerate_available((char const *)arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_enumerate_loaded___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_modulename_callback_func_t arg1 = (switch_modulename_callback_func_t) 0 ;
  void *arg2 = (void *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_modulename_callback_func_t)jarg1; 
  arg2 = (void *)jarg2; 
  result = (switch_status_t)switch_loadable_module_enumerate_loaded(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_build_dynamic___(char * jarg1, void * jarg2, void * jarg3, void * jarg4, int jarg5) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_module_load_t arg2 = (switch_module_load_t) 0 ;
  switch_module_runtime_t arg3 = (switch_module_runtime_t) 0 ;
  switch_module_shutdown_t arg4 = (switch_module_shutdown_t) 0 ;
  switch_bool_t arg5 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_module_load_t)jarg2; 
  arg3 = (switch_module_runtime_t)jarg3; 
  arg4 = (switch_module_shutdown_t)jarg4; 
  arg5 = (switch_bool_t)jarg5; 
  result = (switch_status_t)switch_loadable_module_build_dynamic(arg1,arg2,arg3,arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_get_timer_interface___(char * jarg1) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_timer_interface_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (switch_timer_interface_t *)switch_loadable_module_get_timer_interface((char const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_get_application_interface___(char * jarg1) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_application_interface_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (switch_application_interface_t *)switch_loadable_module_get_application_interface((char const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_get_chat_application_interface___(char * jarg1) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_chat_application_interface_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (switch_chat_application_interface_t *)switch_loadable_module_get_chat_application_interface((char const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_execute_chat_app___(void * jarg1, char * jarg2, char * jarg3) {
  int jresult ;
  switch_event_t *arg1 = (switch_event_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_event_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_status_t)switch_core_execute_chat_app(arg1,(char const *)arg2,(char const *)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_get_api_interface___(char * jarg1) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_api_interface_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (switch_api_interface_t *)switch_loadable_module_get_api_interface((char const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_get_json_api_interface___(char * jarg1) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_json_api_interface_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (switch_json_api_interface_t *)switch_loadable_module_get_json_api_interface((char const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_get_file_interface___(char * jarg1, char * jarg2) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_file_interface_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_file_interface_t *)switch_loadable_module_get_file_interface((char const *)arg1,(char const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_get_database_interface___(char * jarg1, char * jarg2) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_database_interface_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_database_interface_t *)switch_loadable_module_get_database_interface((char const *)arg1,(char const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_get_speech_interface___(char * jarg1) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_speech_interface_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (switch_speech_interface_t *)switch_loadable_module_get_speech_interface((char const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_get_asr_interface___(char * jarg1) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_asr_interface_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (switch_asr_interface_t *)switch_loadable_module_get_asr_interface((char const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_get_directory_interface___(char * jarg1) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_directory_interface_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (switch_directory_interface_t *)switch_loadable_module_get_directory_interface((char const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_get_chat_interface___(char * jarg1) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_chat_interface_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (switch_chat_interface_t *)switch_loadable_module_get_chat_interface((char const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_get_say_interface___(char * jarg1) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_say_interface_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (switch_say_interface_t *)switch_loadable_module_get_say_interface((char const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_get_management_interface___(char * jarg1) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_management_interface_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (switch_management_interface_t *)switch_loadable_module_get_management_interface((char const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_get_limit_interface___(char * jarg1) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_limit_interface_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (switch_limit_interface_t *)switch_loadable_module_get_limit_interface((char const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_get_codecs___(void * jarg1, int jarg2) {
  int jresult ;
  switch_codec_implementation_t **arg1 = (switch_codec_implementation_t **) 0 ;
  int arg2 ;
  int result;
  
  arg1 = (switch_codec_implementation_t **)jarg1; 
  arg2 = (int)jarg2; 
  result = (int)switch_loadable_module_get_codecs((switch_codec_implementation const **)arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_get_codecs_sorted___(void * jarg1, void * jarg2, int jarg3, void * jarg4, int jarg5) {
  int jresult ;
  switch_codec_implementation_t **arg1 = (switch_codec_implementation_t **) 0 ;
  char (*arg2)[256] ;
  int arg3 ;
  char **arg4 = (char **) 0 ;
  int arg5 ;
  int result;
  
  arg1 = (switch_codec_implementation_t **)jarg1; 
  arg2 = (char (*)[256])jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (char **)jarg4; 
  arg5 = (int)jarg5; 
  result = (int)switch_loadable_module_get_codecs_sorted((switch_codec_implementation const **)arg1,(char (*)[256])arg2,arg3,arg4,arg5);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_api_execute___(char * jarg1, char * jarg2, void * jarg3, void * jarg4) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_core_session_t *arg3 = (switch_core_session_t *) 0 ;
  switch_stream_handle_t *arg4 = (switch_stream_handle_t *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_core_session_t *)jarg3; 
  arg4 = (switch_stream_handle_t *)jarg4; 
  result = (switch_status_t)switch_api_execute((char const *)arg1,(char const *)arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_json_api_execute___(void * jarg1, void * jarg2, void * jarg3) {
  int jresult ;
  cJSON *arg1 = (cJSON *) 0 ;
  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
  cJSON **arg3 = (cJSON **) 0 ;
  switch_status_t result;
  
  arg1 = (cJSON *)jarg1; 
  arg2 = (switch_core_session_t *)jarg2; 
  arg3 = (cJSON **)jarg3; 
  result = (switch_status_t)switch_json_api_execute(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_load_module___(char * jarg1, char * jarg2, int jarg3, void * jarg4) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_bool_t arg3 ;
  char **arg4 = (char **) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  arg4 = (char **)jarg4; 
  result = (switch_status_t)switch_loadable_module_load_module((char const *)arg1,(char const *)arg2,arg3,(char const **)arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_exists___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_status_t)switch_loadable_module_exists((char const *)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_protect___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_status_t)switch_loadable_module_protect((char const *)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_loadable_module_unload_module___(char * jarg1, char * jarg2, int jarg3, void * jarg4) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_bool_t arg3 ;
  char **arg4 = (char **) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  arg4 = (char **)jarg4; 
  result = (switch_status_t)switch_loadable_module_unload_module((char const *)arg1,(char const *)arg2,arg3,(char const **)arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_codec_next_id___() {
  unsigned long jresult ;
  uint32_t result;
  
  result = (uint32_t)switch_core_codec_next_id();
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_check_interval___(unsigned long jarg1, unsigned long jarg2) {
  int jresult ;
  uint32_t arg1 ;
  uint32_t arg2 ;
  int result;
  
  arg1 = (uint32_t)jarg1; 
  arg2 = (uint32_t)jarg2; 
  result = (int)switch_check_interval(arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_codec_add_implementation___(void * jarg1, void * jarg2, int jarg3, unsigned char jarg4, char * jarg5, char * jarg6, unsigned long jarg7, unsigned long jarg8, int jarg9, int jarg10, unsigned long jarg11, unsigned long jarg12, unsigned long jarg13, unsigned char jarg14, int jarg15, void * jarg16, void * jarg17, void * jarg18, void * jarg19) {
  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
  switch_codec_interface_t *arg2 = (switch_codec_interface_t *) 0 ;
  switch_codec_type_t arg3 ;
  switch_payload_t arg4 ;
  char *arg5 = (char *) 0 ;
  char *arg6 = (char *) 0 ;
  uint32_t arg7 ;
  uint32_t arg8 ;
  int arg9 ;
  int arg10 ;
  uint32_t arg11 ;
  uint32_t arg12 ;
  uint32_t arg13 ;
  uint8_t arg14 ;
  int arg15 ;
  switch_core_codec_init_func_t arg16 = (switch_core_codec_init_func_t) 0 ;
  switch_core_codec_encode_func_t arg17 = (switch_core_codec_encode_func_t) 0 ;
  switch_core_codec_decode_func_t arg18 = (switch_core_codec_decode_func_t) 0 ;
  switch_core_codec_destroy_func_t arg19 = (switch_core_codec_destroy_func_t) 0 ;
  
  arg1 = (switch_memory_pool_t *)jarg1; 
  arg2 = (switch_codec_interface_t *)jarg2; 
  arg3 = (switch_codec_type_t)jarg3; 
  arg4 = (switch_payload_t)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (char *)jarg6; 
  arg7 = (uint32_t)jarg7; 
  arg8 = (uint32_t)jarg8; 
  arg9 = (int)jarg9; 
  arg10 = (int)jarg10; 
  arg11 = (uint32_t)jarg11; 
  arg12 = (uint32_t)jarg12; 
  arg13 = (uint32_t)jarg13; 
  arg14 = (uint8_t)jarg14; 
  arg15 = (int)jarg15; 
  arg16 = (switch_core_codec_init_func_t)jarg16; 
  arg17 = (switch_core_codec_encode_func_t)jarg17; 
  arg18 = (switch_core_codec_decode_func_t)jarg18; 
  arg19 = (switch_core_codec_destroy_func_t)jarg19; 
  switch_core_codec_add_implementation(arg1,arg2,arg3,arg4,(char const *)arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14,arg15,arg16,arg17,arg18,arg19);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_codec_add_video_implementation___(void * jarg1, void * jarg2, unsigned char jarg3, char * jarg4, char * jarg5, void * jarg6, void * jarg7, void * jarg8, void * jarg9, void * jarg10) {
  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
  switch_codec_interface_t *arg2 = (switch_codec_interface_t *) 0 ;
  switch_payload_t arg3 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  switch_core_codec_init_func_t arg6 = (switch_core_codec_init_func_t) 0 ;
  switch_core_codec_video_encode_func_t arg7 = (switch_core_codec_video_encode_func_t) 0 ;
  switch_core_codec_video_decode_func_t arg8 = (switch_core_codec_video_decode_func_t) 0 ;
  switch_core_codec_control_func_t arg9 = (switch_core_codec_control_func_t) 0 ;
  switch_core_codec_destroy_func_t arg10 = (switch_core_codec_destroy_func_t) 0 ;
  
  arg1 = (switch_memory_pool_t *)jarg1; 
  arg2 = (switch_codec_interface_t *)jarg2; 
  arg3 = (switch_payload_t)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (switch_core_codec_init_func_t)jarg6; 
  arg7 = (switch_core_codec_video_encode_func_t)jarg7; 
  arg8 = (switch_core_codec_video_decode_func_t)jarg8; 
  arg9 = (switch_core_codec_control_func_t)jarg9; 
  arg10 = (switch_core_codec_destroy_func_t)jarg10; 
  switch_core_codec_add_video_implementation(arg1,arg2,arg3,(char const *)arg4,arg5,arg6,arg7,arg8,arg9,arg10);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_codec_ready___(void * jarg1) {
  int jresult ;
  switch_codec_t *arg1 = (switch_codec_t *) 0 ;
  switch_bool_t result;
  
  arg1 = (switch_codec_t *)jarg1; 
  result = (switch_bool_t)switch_core_codec_ready(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_get_secondary_recover_callback___(char * jarg1) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_core_recover_callback_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_core_recover_callback_t)switch_core_get_secondary_recover_callback((char const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_register_secondary_recover_callback___(char * jarg1, void * jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_core_recover_callback_t arg2 = (switch_core_recover_callback_t) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_core_recover_callback_t)jarg2; 
  result = (switch_status_t)switch_core_register_secondary_recover_callback((char const *)arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_unregister_secondary_recover_callback___(char * jarg1) {
  char *arg1 = (char *) 0 ;
  
  arg1 = (char *)jarg1; 
  switch_core_unregister_secondary_recover_callback((char const *)arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_CMD_CHUNK_LEN_get___() {
  int jresult ;
  int result;
  
  result = (int)(1024);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_loop___() {
  switch_console_loop();
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_stream_raw_write___(void * jarg1, void * jarg2, void * jarg3) {
  int jresult ;
  switch_stream_handle_t *arg1 = (switch_stream_handle_t *) 0 ;
  uint8_t *arg2 = (uint8_t *) 0 ;
  switch_size_t arg3 ;
  switch_size_t *argp3 ;
  switch_status_t result;
  
  arg1 = (switch_stream_handle_t *)jarg1; 
  arg2 = (uint8_t *)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = (switch_status_t)switch_console_stream_raw_write(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_write_file_contents___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_stream_handle_t *arg1 = (switch_stream_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_stream_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_stream_write_file_contents(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_init___(void * jarg1) {
  int jresult ;
  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_memory_pool_t *)jarg1; 
  result = (switch_status_t)switch_console_init(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_shutdown___() {
  int jresult ;
  switch_status_t result;
  
  result = (switch_status_t)switch_console_shutdown();
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_add_complete_func___(char * jarg1, void * jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_console_complete_callback_t arg2 = (switch_console_complete_callback_t) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_console_complete_callback_t)jarg2; 
  result = (switch_status_t)switch_console_add_complete_func((char const *)arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_del_complete_func___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_status_t)switch_console_del_complete_func((char const *)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_run_complete_func___(char * jarg1, char * jarg2, char * jarg3, void * jarg4) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_console_callback_match_t **arg4 = (switch_console_callback_match_t **) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (switch_console_callback_match_t **)jarg4; 
  result = (switch_status_t)switch_console_run_complete_func((char const *)arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_push_match_unique___(void * jarg1, char * jarg2) {
  switch_console_callback_match_t **arg1 = (switch_console_callback_match_t **) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_console_callback_match_t **)jarg1; 
  arg2 = (char *)jarg2; 
  switch_console_push_match_unique(arg1,(char const *)arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_push_match___(void * jarg1, char * jarg2) {
  switch_console_callback_match_t **arg1 = (switch_console_callback_match_t **) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_console_callback_match_t **)jarg1; 
  arg2 = (char *)jarg2; 
  switch_console_push_match(arg1,(char const *)arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_free_matches___(void * jarg1) {
  switch_console_callback_match_t **arg1 = (switch_console_callback_match_t **) 0 ;
  
  arg1 = (switch_console_callback_match_t **)jarg1; 
  switch_console_free_matches(arg1);
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_complete___(char * jarg1, char * jarg2, void * jarg3, void * jarg4, void * jarg5) {
  unsigned char jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  FILE *arg3 = (FILE *) 0 ;
  switch_stream_handle_t *arg4 = (switch_stream_handle_t *) 0 ;
  switch_xml_t arg5 = (switch_xml_t) 0 ;
  unsigned char result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (FILE *)jarg3; 
  arg4 = (switch_stream_handle_t *)jarg4; 
  arg5 = (switch_xml_t)jarg5; 
  result = (unsigned char)switch_console_complete((char const *)arg1,(char const *)arg2,arg3,arg4,arg5);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_sort_matches___(void * jarg1) {
  switch_console_callback_match_t *arg1 = (switch_console_callback_match_t *) 0 ;
  
  arg1 = (switch_console_callback_match_t *)jarg1; 
  switch_console_sort_matches(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_save_history___() {
  switch_console_save_history();
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_expand_alias___(char * jarg1, char * jarg2) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (char *)switch_console_expand_alias(arg1,arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_execute___(char * jarg1, int jarg2, void * jarg3) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  int arg2 ;
  switch_stream_handle_t *arg3 = (switch_stream_handle_t *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (switch_stream_handle_t *)jarg3; 
  result = (switch_status_t)switch_console_execute(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_URL_UNSAFE_get___() {
  char * jresult ;
  char *result = 0 ;
  
result = (char *)("\r\n #%&+:;<=>?@[\\]^`{|}\"");
 jresult = SWIG_csharp_string_callback((const char *)result); 
    return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_MAX_NETWORK_PORTS_get___() {
  int jresult ;
  int result;
  
  result = (int)(10);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_network_port_range_port_set___(void * jarg1, int jarg2) {
  switch_network_port_range *arg1 = (switch_network_port_range *) 0 ;
  int arg2 ;
  
  arg1 = (switch_network_port_range *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->port = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_network_port_range_port_get___(void * jarg1) {
  int jresult ;
  switch_network_port_range *arg1 = (switch_network_port_range *) 0 ;
  int result;
  
  arg1 = (switch_network_port_range *)jarg1; 
  result = (int) ((arg1)->port);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_network_port_range_ports_set___(void * jarg1, void * jarg2) {
  switch_network_port_range *arg1 = (switch_network_port_range *) 0 ;
  int *arg2 ;
  
  arg1 = (switch_network_port_range *)jarg1; 
  arg2 = (int *)jarg2; 
  {
    size_t ii;
    int *b = (int *) arg1->ports;
    for (ii = 0; ii < (size_t)10; ii++) b[ii] = *((int *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_network_port_range_ports_get___(void * jarg1) {
  void * jresult ;
  switch_network_port_range *arg1 = (switch_network_port_range *) 0 ;
  int *result = 0 ;
  
  arg1 = (switch_network_port_range *)jarg1; 
  result = (int *)(int *) ((arg1)->ports);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_network_port_range_min_port_set___(void * jarg1, int jarg2) {
  switch_network_port_range *arg1 = (switch_network_port_range *) 0 ;
  int arg2 ;
  
  arg1 = (switch_network_port_range *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->min_port = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_network_port_range_min_port_get___(void * jarg1) {
  int jresult ;
  switch_network_port_range *arg1 = (switch_network_port_range *) 0 ;
  int result;
  
  arg1 = (switch_network_port_range *)jarg1; 
  result = (int) ((arg1)->min_port);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_network_port_range_max_port_set___(void * jarg1, int jarg2) {
  switch_network_port_range *arg1 = (switch_network_port_range *) 0 ;
  int arg2 ;
  
  arg1 = (switch_network_port_range *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->max_port = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_network_port_range_max_port_get___(void * jarg1) {
  int jresult ;
  switch_network_port_range *arg1 = (switch_network_port_range *) 0 ;
  int result;
  
  arg1 = (switch_network_port_range *)jarg1; 
  result = (int) ((arg1)->max_port);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_network_port_range___() {
  void * jresult ;
  switch_network_port_range *result = 0 ;
  
  result = (switch_network_port_range *)new switch_network_port_range();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_network_port_range___(void * jarg1) {
  switch_network_port_range *arg1 = (switch_network_port_range *) 0 ;
  
  arg1 = (switch_network_port_range *)jarg1; 
  delete arg1;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_get_hex_bytes___(void * jarg1, void * jarg2, char * jarg3, void * jarg4) {
  char * jresult ;
  switch_byte_t *arg1 = (switch_byte_t *) 0 ;
  switch_size_t arg2 ;
  char *arg3 = (char *) 0 ;
  switch_size_t arg4 ;
  switch_size_t *argp2 ;
  switch_size_t *argp4 ;
  char *result = 0 ;
  
  arg1 = (switch_byte_t *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg2 = *argp2; 
  arg3 = (char *)jarg3; 
  argp4 = (switch_size_t *)jarg4; 
  if (!argp4) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg4 = *argp4; 
  result = (char *)switch_get_hex_bytes(arg1,arg2,arg3,arg4);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_round_to_step___(unsigned long jarg1, unsigned long jarg2) {
  unsigned long jresult ;
  uint32_t arg1 ;
  uint32_t arg2 ;
  uint32_t result;
  
  arg1 = (uint32_t)jarg1; 
  arg2 = (uint32_t)jarg2; 
  result = (uint32_t)switch_round_to_step(arg1,arg2);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_toupper___(unsigned long jarg1) {
  unsigned long jresult ;
  uint32_t arg1 ;
  uint32_t result;
  
  arg1 = (uint32_t)jarg1; 
  result = (uint32_t)switch_toupper(arg1);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_tolower___(unsigned long jarg1) {
  unsigned long jresult ;
  uint32_t arg1 ;
  uint32_t result;
  
  arg1 = (uint32_t)jarg1; 
  result = (uint32_t)switch_tolower(arg1);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_toupper_max___(char * jarg1) {
  char *arg1 = (char *) 0 ;
  
  arg1 = (char *)jarg1; 
  switch_toupper_max(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_tolower_max___(char * jarg1) {
  char *arg1 = (char *) 0 ;
  
  arg1 = (char *)jarg1; 
  switch_tolower_max(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_old_switch_toupper___(int jarg1) {
  int jresult ;
  int arg1 ;
  int result;
  
  arg1 = (int)jarg1; 
  result = (int)old_switch_toupper(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_old_switch_tolower___(int jarg1) {
  int jresult ;
  int arg1 ;
  int result;
  
  arg1 = (int)jarg1; 
  result = (int)old_switch_tolower(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_isalnum___(int jarg1) {
  int jresult ;
  int arg1 ;
  int result;
  
  arg1 = (int)jarg1; 
  result = (int)switch_isalnum(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_isalpha___(int jarg1) {
  int jresult ;
  int arg1 ;
  int result;
  
  arg1 = (int)jarg1; 
  result = (int)switch_isalpha(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_iscntrl___(int jarg1) {
  int jresult ;
  int arg1 ;
  int result;
  
  arg1 = (int)jarg1; 
  result = (int)switch_iscntrl(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_isdigit___(int jarg1) {
  int jresult ;
  int arg1 ;
  int result;
  
  arg1 = (int)jarg1; 
  result = (int)switch_isdigit(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_isgraph___(int jarg1) {
  int jresult ;
  int arg1 ;
  int result;
  
  arg1 = (int)jarg1; 
  result = (int)switch_isgraph(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_islower___(int jarg1) {
  int jresult ;
  int arg1 ;
  int result;
  
  arg1 = (int)jarg1; 
  result = (int)switch_islower(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_isprint___(int jarg1) {
  int jresult ;
  int arg1 ;
  int result;
  
  arg1 = (int)jarg1; 
  result = (int)switch_isprint(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ispunct___(int jarg1) {
  int jresult ;
  int arg1 ;
  int result;
  
  arg1 = (int)jarg1; 
  result = (int)switch_ispunct(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_isspace___(int jarg1) {
  int jresult ;
  int arg1 ;
  int result;
  
  arg1 = (int)jarg1; 
  result = (int)switch_isspace(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_isupper___(int jarg1) {
  int jresult ;
  int arg1 ;
  int result;
  
  arg1 = (int)jarg1; 
  result = (int)switch_isupper(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_isxdigit___(int jarg1) {
  int jresult ;
  int arg1 ;
  int result;
  
  arg1 = (int)jarg1; 
  result = (int)switch_isxdigit(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_ip_t_v4_set___(void * jarg1, unsigned long jarg2) {
  ip_t *arg1 = (ip_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (ip_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->v4 = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_ip_t_v4_get___(void * jarg1) {
  unsigned long jresult ;
  ip_t *arg1 = (ip_t *) 0 ;
  uint32_t result;
  
  arg1 = (ip_t *)jarg1; 
  result = (uint32_t) ((arg1)->v4);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_ip_t_v6_set___(void * jarg1, void * jarg2) {
  ip_t *arg1 = (ip_t *) 0 ;
  in6_addr arg2 ;
  in6_addr *argp2 ;
  
  arg1 = (ip_t *)jarg1; 
  argp2 = (in6_addr *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null in6_addr", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->v6 = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_ip_t_v6_get___(void * jarg1) {
  void * jresult ;
  ip_t *arg1 = (ip_t *) 0 ;
  in6_addr result;
  
  arg1 = (ip_t *)jarg1; 
  result =  ((arg1)->v6);
  jresult = new in6_addr((const in6_addr &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_ip_t___() {
  void * jresult ;
  ip_t *result = 0 ;
  
  result = (ip_t *)new ip_t();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_ip_t___(void * jarg1) {
  ip_t *arg1 = (ip_t *) 0 ;
  
  arg1 = (ip_t *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_testv6_subnet___(void * jarg1, void * jarg2, void * jarg3) {
  int jresult ;
  ip_t arg1 ;
  ip_t arg2 ;
  ip_t arg3 ;
  ip_t *argp1 ;
  ip_t *argp2 ;
  ip_t *argp3 ;
  switch_bool_t result;
  
  argp1 = (ip_t *)jarg1; 
  if (!argp1) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null ip_t", 0);
    return 0;
  }
  arg1 = *argp1; 
  argp2 = (ip_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null ip_t", 0);
    return 0;
  }
  arg2 = *argp2; 
  argp3 = (ip_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null ip_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = (switch_bool_t)switch_testv6_subnet(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_print_host___(void * jarg1, char * jarg2, void * jarg3) {
  char * jresult ;
  switch_sockaddr_t *arg1 = (switch_sockaddr_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_size_t arg3 ;
  switch_size_t *argp3 ;
  char *result = 0 ;
  
  arg1 = (switch_sockaddr_t *)jarg1; 
  arg2 = (char *)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = (char *)switch_print_host(arg1,arg2,arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SMAX_get___() {
  int jresult ;
  int result;
  
  result = (int)(32767);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_SMIN_get___() {
  int jresult ;
  int result;
  
  result = (int)(-32768);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative__zstr___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  int result;
  
  arg1 = (char *)jarg1; 
  result = (int)_zstr((char const *)arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_is_moh___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_bool_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_bool_t)switch_is_moh((char const *)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_strchr_strict___(char * jarg1, char jarg2, char * jarg3) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char arg2 ;
  char *arg3 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char)jarg2; 
  arg3 = (char *)jarg3; 
  result = (char *)switch_strchr_strict((char const *)arg1,arg2,(char const *)arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_string_has_escaped_data___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  int result;
  
  arg1 = (char *)jarg1; 
  result = (int)switch_string_has_escaped_data((char const *)arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_b64_encode___(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
  int jresult ;
  unsigned char *arg1 = (unsigned char *) 0 ;
  switch_size_t arg2 ;
  unsigned char *arg3 = (unsigned char *) 0 ;
  switch_size_t arg4 ;
  switch_size_t *argp2 ;
  switch_size_t *argp4 ;
  switch_status_t result;
  
  arg1 = (unsigned char *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg2 = *argp2; 
  arg3 = (unsigned char *)jarg3; 
  argp4 = (switch_size_t *)jarg4; 
  if (!argp4) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg4 = *argp4; 
  result = (switch_status_t)switch_b64_encode(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_b64_decode___(char * jarg1, char * jarg2, void * jarg3) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_size_t arg3 ;
  switch_size_t *argp3 ;
  switch_size_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = switch_b64_decode((char const *)arg1,arg2,arg3);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_amp_encode___(char * jarg1, char * jarg2, void * jarg3) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_size_t arg3 ;
  switch_size_t *argp3 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = (char *)switch_amp_encode(arg1,arg2,arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_print_bits___(void * jarg1, char * jarg2, void * jarg3) {
  char * jresult ;
  unsigned char *arg1 = (unsigned char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_size_t arg3 ;
  switch_size_t *argp3 ;
  char *result = 0 ;
  
  arg1 = (unsigned char *)jarg1; 
  arg2 = (char *)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = (char *)switch_print_bits((unsigned char const *)arg1,arg2,arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_is_digit_string___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_bool_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_bool_t)switch_is_digit_string((char const *)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_itodtmf___(char jarg1) {
  char jresult ;
  char arg1 ;
  char result;
  
  arg1 = (char)jarg1; 
  result = (char)switch_itodtmf(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dtmftoi___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  int result;
  
  arg1 = (char *)jarg1; 
  result = (int)switch_dtmftoi(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_known_bitrate___(unsigned char jarg1) {
  unsigned long jresult ;
  switch_payload_t arg1 ;
  uint32_t result;
  
  arg1 = (switch_payload_t)jarg1; 
  result = (uint32_t)switch_known_bitrate(arg1);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_fd_read_line___(int jarg1, char * jarg2, void * jarg3) {
  void * jresult ;
  int arg1 ;
  char *arg2 = (char *) 0 ;
  switch_size_t arg3 ;
  switch_size_t *argp3 ;
  switch_size_t result;
  
  arg1 = (int)jarg1; 
  arg2 = (char *)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = switch_fd_read_line(arg1,arg2,arg3);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_fd_read_dline___(int jarg1, void * jarg2, void * jarg3) {
  void * jresult ;
  int arg1 ;
  char **arg2 = (char **) 0 ;
  switch_size_t *arg3 = (switch_size_t *) 0 ;
  switch_size_t result;
  
  arg1 = (int)jarg1; 
  arg2 = (char **)jarg2; 
  arg3 = (switch_size_t *)jarg3; 
  result = switch_fd_read_dline(arg1,arg2,arg3);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_fp_read_dline___(void * jarg1, void * jarg2, void * jarg3) {
  void * jresult ;
  FILE *arg1 = (FILE *) 0 ;
  char **arg2 = (char **) 0 ;
  switch_size_t *arg3 = (switch_size_t *) 0 ;
  switch_size_t result;
  
  arg1 = (FILE *)jarg1; 
  arg2 = (char **)jarg2; 
  arg3 = (switch_size_t *)jarg3; 
  result = switch_fp_read_dline(arg1,arg2,arg3);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_alloc___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_frame_t **arg1 = (switch_frame_t **) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  switch_status_t result;
  
  arg1 = (switch_frame_t **)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg2 = *argp2; 
  result = (switch_status_t)switch_frame_alloc(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_dup___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_frame_t *arg1 = (switch_frame_t *) 0 ;
  switch_frame_t **arg2 = (switch_frame_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_frame_t *)jarg1; 
  arg2 = (switch_frame_t **)jarg2; 
  result = (switch_status_t)switch_frame_dup(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_free___(void * jarg1) {
  int jresult ;
  switch_frame_t **arg1 = (switch_frame_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_frame_t **)jarg1; 
  result = (switch_status_t)switch_frame_free(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_is_number___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_bool_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_bool_t)switch_is_number((char const *)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_is_leading_number___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_bool_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_bool_t)switch_is_leading_number((char const *)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_find_parameter___(char * jarg1, char * jarg2, void * jarg3) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_memory_pool_t *arg3 = (switch_memory_pool_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_memory_pool_t *)jarg3; 
  result = (char *)switch_find_parameter((char const *)arg1,(char const *)arg2,arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_true___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_bool_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_bool_t)switch_true((char const *)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_true_byte___(char * jarg1) {
  unsigned char jresult ;
  char *arg1 = (char *) 0 ;
  switch_byte_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_byte_t)switch_true_byte((char const *)arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_false___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  int result;
  
  arg1 = (char *)jarg1; 
  result = (int)switch_false((char const *)arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_resolve_host___(char * jarg1, char * jarg2, unsigned long jarg3) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  size_t arg3 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (size_t)jarg3; 
  result = (switch_status_t)switch_resolve_host((char const *)arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_find_local_ip___(char * jarg1, int jarg2, void * jarg3, int jarg4) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  int arg2 ;
  int *arg3 = (int *) 0 ;
  int arg4 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (int *)jarg3; 
  arg4 = (int)jarg4; 
  result = (switch_status_t)switch_find_local_ip(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_find_interface_ip___(char * jarg1, int jarg2, void * jarg3, char * jarg4, int jarg5) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  int arg2 ;
  int *arg3 = (int *) 0 ;
  char *arg4 = (char *) 0 ;
  int arg5 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (int *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (int)jarg5; 
  result = (switch_status_t)switch_find_interface_ip(arg1,arg2,arg3,(char const *)arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_get_addr___(char * jarg1, void * jarg2, void * jarg3, void * jarg4) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  switch_size_t arg2 ;
  sockaddr *arg3 = (sockaddr *) 0 ;
  socklen_t arg4 ;
  switch_size_t *argp2 ;
  socklen_t *argp4 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg2 = *argp2; 
  arg3 = (sockaddr *)jarg3; 
  argp4 = (socklen_t *)jarg4; 
  if (!argp4) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null socklen_t", 0);
    return 0;
  }
  arg4 = *argp4; 
  result = (char *)get_addr(arg1,arg2,arg3,arg4);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_get_addr6___(char * jarg1, void * jarg2, void * jarg3, void * jarg4) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  switch_size_t arg2 ;
  sockaddr_in6 *arg3 = (sockaddr_in6 *) 0 ;
  socklen_t arg4 ;
  switch_size_t *argp2 ;
  socklen_t *argp4 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg2 = *argp2; 
  arg3 = (sockaddr_in6 *)jarg3; 
  argp4 = (socklen_t *)jarg4; 
  if (!argp4) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null socklen_t", 0);
    return 0;
  }
  arg4 = *argp4; 
  result = (char *)get_addr6(arg1,arg2,arg3,arg4);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_get_addr_int___(void * jarg1) {
  int jresult ;
  switch_sockaddr_t *arg1 = (switch_sockaddr_t *) 0 ;
  int result;
  
  arg1 = (switch_sockaddr_t *)jarg1; 
  result = (int)get_addr_int(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cmp_addr___(void * jarg1, void * jarg2, int jarg3) {
  int jresult ;
  switch_sockaddr_t *arg1 = (switch_sockaddr_t *) 0 ;
  switch_sockaddr_t *arg2 = (switch_sockaddr_t *) 0 ;
  switch_bool_t arg3 ;
  int result;
  
  arg1 = (switch_sockaddr_t *)jarg1; 
  arg2 = (switch_sockaddr_t *)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  result = (int)switch_cmp_addr(arg1,arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cp_addr___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_sockaddr_t *arg1 = (switch_sockaddr_t *) 0 ;
  switch_sockaddr_t *arg2 = (switch_sockaddr_t *) 0 ;
  int result;
  
  arg1 = (switch_sockaddr_t *)jarg1; 
  arg2 = (switch_sockaddr_t *)jarg2; 
  result = (int)switch_cp_addr(arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_get_port___(void * jarg1) {
  unsigned short jresult ;
  sockaddr *arg1 = (sockaddr *) 0 ;
  unsigned short result;
  
  arg1 = (sockaddr *)jarg1; 
  result = (unsigned short)get_port(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_build_uri___(char * jarg1, void * jarg2, char * jarg3, char * jarg4, void * jarg5, int jarg6) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_size_t arg2 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  switch_sockaddr_t *arg5 = (switch_sockaddr_t *) 0 ;
  int arg6 ;
  switch_size_t *argp2 ;
  int result;
  
  arg1 = (char *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg2 = *argp2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (switch_sockaddr_t *)jarg5; 
  arg6 = (int)jarg6; 
  result = (int)switch_build_uri(arg1,arg2,(char const *)arg3,(char const *)arg4,(switch_sockaddr_t const *)arg5,arg6);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_errno_is_break___(int jarg1) {
  int jresult ;
  int arg1 ;
  int result;
  
  arg1 = (int)jarg1; 
  result = (int)switch_errno_is_break(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_priority_name___(int jarg1) {
  char * jresult ;
  switch_priority_t arg1 ;
  char *result = 0 ;
  
  arg1 = (switch_priority_t)jarg1; 
  result = (char *)switch_priority_name(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rfc2833_to_char___(int jarg1) {
  char jresult ;
  int arg1 ;
  char result;
  
  arg1 = (int)jarg1; 
  result = (char)switch_rfc2833_to_char(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_char_to_rfc2833___(char jarg1) {
  unsigned char jresult ;
  char arg1 ;
  unsigned char result;
  
  arg1 = (char)jarg1; 
  result = (unsigned char)switch_char_to_rfc2833(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_sanitize_number___(char * jarg1) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (char *)switch_sanitize_number(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_string_var_check___(char * jarg1, int jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_bool_t arg2 ;
  switch_bool_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  result = (switch_bool_t)switch_string_var_check(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_string_var_check_const___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_bool_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_bool_t)switch_string_var_check_const((char const *)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_var_clean_string___(char * jarg1) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (char *)switch_var_clean_string(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_clean_string___(char * jarg1) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (char *)switch_clean_string(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_clean_name_string___(char * jarg1) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (char *)switch_clean_name_string(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_safe_atoi___(char * jarg1, int jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  int arg2 ;
  int result;
  
  arg1 = (char *)jarg1; 
  arg2 = (int)jarg2; 
  result = (int)switch_safe_atoi((char const *)arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_safe_atol___(char * jarg1, long jarg2) {
  long jresult ;
  char *arg1 = (char *) 0 ;
  long arg2 ;
  long result;
  
  arg1 = (char *)jarg1; 
  arg2 = (long)jarg2; 
  result = (long)switch_safe_atol((char const *)arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT long long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_safe_atoll___(char * jarg1, long long jarg2) {
  long long jresult ;
  char *arg1 = (char *) 0 ;
  long long arg2 ;
  long long result;
  
  arg1 = (char *)jarg1; 
  arg2 = (long long)jarg2; 
  result = (long long)switch_safe_atoll((char const *)arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_safe_strdup___(char * jarg1) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (char *)switch_safe_strdup((char const *)arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_lc_strdup___(char * jarg1) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (char *)switch_lc_strdup((char const *)arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_uc_strdup___(char * jarg1) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (char *)switch_uc_strdup((char const *)arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_strstr___(char * jarg1, char * jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_bool_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_bool_t)switch_strstr(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_str_time___(char * jarg1) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_time_t result;
  
  arg1 = (char *)jarg1; 
  result = switch_str_time((char const *)arg1);
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_separate_string___(char * jarg1, char jarg2, void * jarg3, unsigned int jarg4) {
  unsigned int jresult ;
  char *arg1 = (char *) 0 ;
  char arg2 ;
  char **arg3 = (char **) 0 ;
  unsigned int arg4 ;
  unsigned int result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char)jarg2; 
  arg3 = (char **)jarg3; 
  arg4 = (unsigned int)jarg4; 
  result = (unsigned int)switch_separate_string(arg1,arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_separate_string_string___(char * jarg1, char * jarg2, void * jarg3, unsigned int jarg4) {
  unsigned int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  char **arg3 = (char **) 0 ;
  unsigned int arg4 ;
  unsigned int result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char **)jarg3; 
  arg4 = (unsigned int)jarg4; 
  result = (unsigned int)switch_separate_string_string(arg1,arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_strip_spaces___(char * jarg1, int jarg2) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  switch_bool_t arg2 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  result = (char *)switch_strip_spaces(arg1,arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_strip_whitespace___(char * jarg1) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (char *)switch_strip_whitespace((char const *)arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_strip_commas___(char * jarg1, char * jarg2, void * jarg3) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_size_t arg3 ;
  switch_size_t *argp3 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = (char *)switch_strip_commas(arg1,arg2,arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_strip_nonnumerics___(char * jarg1, char * jarg2, void * jarg3) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_size_t arg3 ;
  switch_size_t *argp3 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = (char *)switch_strip_nonnumerics(arg1,arg2,arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_separate_paren_args___(char * jarg1) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (char *)switch_separate_paren_args(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stristr___(char * jarg1, char * jarg2) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (char *)switch_stristr((char const *)arg1,(char const *)arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_is_lan_addr___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_bool_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_bool_t)switch_is_lan_addr((char const *)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_replace_char___(char * jarg1, char jarg2, char jarg3, int jarg4) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char arg2 ;
  char arg3 ;
  switch_bool_t arg4 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char)jarg2; 
  arg3 = (char)jarg3; 
  arg4 = (switch_bool_t)jarg4; 
  result = (char *)switch_replace_char(arg1,arg2,arg3,arg4);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ast2regex___(char * jarg1, char * jarg2, unsigned long jarg3) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  size_t arg3 ;
  switch_bool_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (size_t)jarg3; 
  result = (switch_bool_t)switch_ast2regex((char const *)arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_pool_strip_whitespace___(void * jarg1, char * jarg2) {
  char * jresult ;
  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_memory_pool_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (char *)switch_pool_strip_whitespace(arg1,(char const *)arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_escape_char___(void * jarg1, char * jarg2, char * jarg3, char jarg4) {
  char * jresult ;
  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char arg4 ;
  char *result = 0 ;
  
  arg1 = (switch_memory_pool_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char)jarg4; 
  result = (char *)switch_escape_char(arg1,arg2,(char const *)arg3,arg4);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_escape_string___(char * jarg1, char * jarg2, void * jarg3) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_size_t arg3 ;
  switch_size_t *argp3 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = (char *)switch_escape_string((char const *)arg1,arg2,arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_escape_string_pool___(char * jarg1, void * jarg2) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_memory_pool_t *)jarg2; 
  result = (char *)switch_escape_string_pool((char const *)arg1,arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_socket_waitfor___(void * jarg1, int jarg2) {
  int jresult ;
  switch_pollfd_t *arg1 = (switch_pollfd_t *) 0 ;
  int arg2 ;
  int result;
  
  arg1 = (switch_pollfd_t *)jarg1; 
  arg2 = (int)jarg2; 
  result = (int)switch_socket_waitfor(arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cut_path___(char * jarg1) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (char *)switch_cut_path((char const *)arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_string_replace___(char * jarg1, char * jarg2, char * jarg3) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (char *)switch_string_replace((char const *)arg1,(char const *)arg2,(char const *)arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_string_match___(char * jarg1, unsigned long jarg2, char * jarg3, unsigned long jarg4) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  size_t arg2 ;
  char *arg3 = (char *) 0 ;
  size_t arg4 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (size_t)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (size_t)jarg4; 
  result = (switch_status_t)switch_string_match((char const *)arg1,arg2,(char const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_strcasecmp_any___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  void *arg2 = 0 ;
  int result;
  
  arg1 = (char *)jarg1; 
  result = (int)switch_strcasecmp_any((char const *)arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_util_quote_shell_arg___(char * jarg1) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (char *)switch_util_quote_shell_arg((char const *)arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_util_quote_shell_arg_pool___(char * jarg1, void * jarg2) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_memory_pool_t *)jarg2; 
  result = (char *)switch_util_quote_shell_arg_pool((char const *)arg1,arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_calc_bitrate___(int jarg1, int jarg2, float jarg3, double jarg4) {
  int jresult ;
  int arg1 ;
  int arg2 ;
  float arg3 ;
  double arg4 ;
  int32_t result;
  
  arg1 = (int)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (float)jarg3; 
  arg4 = (double)jarg4; 
  result = (int32_t)switch_calc_bitrate(arg1,arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_calc_fps___(void * jarg1, float jarg2, int jarg3) {
  switch_fps_t *arg1 = (switch_fps_t *) 0 ;
  float arg2 ;
  int arg3 ;
  
  arg1 = (switch_fps_t *)jarg1; 
  arg2 = (float)jarg2; 
  arg3 = (int)jarg3; 
  switch_calc_fps(arg1,arg2,arg3);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_parse_bandwidth_string___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  int32_t result;
  
  arg1 = (char *)jarg1; 
  result = (int32_t)switch_parse_bandwidth_string((char const *)arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_parse_cpu_string___(char * jarg1) {
  unsigned long jresult ;
  char *arg1 = (char *) 0 ;
  uint32_t result;
  
  arg1 = (char *)jarg1; 
  result = (uint32_t)switch_parse_cpu_string((char const *)arg1);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_needs_url_encode___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  int result;
  
  arg1 = (char *)jarg1; 
  result = (int)switch_needs_url_encode((char const *)arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_url_encode_opt___(char * jarg1, char * jarg2, unsigned long jarg3, int jarg4) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  size_t arg3 ;
  switch_bool_t arg4 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (size_t)jarg3; 
  arg4 = (switch_bool_t)jarg4; 
  result = (char *)switch_url_encode_opt((char const *)arg1,arg2,arg3,arg4);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_url_encode___(char * jarg1, char * jarg2, unsigned long jarg3) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  size_t arg3 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (size_t)jarg3; 
  result = (char *)switch_url_encode((char const *)arg1,arg2,arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_url_decode___(char * jarg1) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (char *)switch_url_decode(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_url_encode_opt___(void * jarg1, char * jarg2, int jarg3) {
  char * jresult ;
  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_bool_t arg3 ;
  char *result = 0 ;
  
  arg1 = (switch_memory_pool_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  result = (char *)switch_core_url_encode_opt(arg1,(char const *)arg2,arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_url_encode___(void * jarg1, char * jarg2) {
  char * jresult ;
  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_memory_pool_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (char *)switch_core_url_encode(arg1,(char const *)arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_url_encode_opt___(void * jarg1, char * jarg2, int jarg3) {
  char * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_bool_t arg3 ;
  char *result = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  result = (char *)switch_core_session_url_encode_opt(arg1,(char const *)arg2,arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_url_encode___(void * jarg1, char * jarg2) {
  char * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (char *)switch_core_session_url_encode(arg1,(char const *)arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_simple_email___(char * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5, char * jarg6, char * jarg7) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  char *arg6 = (char *) 0 ;
  char *arg7 = (char *) 0 ;
  switch_bool_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (char *)jarg6; 
  arg7 = (char *)jarg7; 
  result = (switch_bool_t)switch_simple_email((char const *)arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_find_end_paren___(char * jarg1, char jarg2, char jarg3) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char arg2 ;
  char arg3 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char)jarg2; 
  arg3 = (char)jarg3; 
  result = (char *)switch_find_end_paren((char const *)arg1,arg2,arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_separate_file_params___(char * jarg1, void * jarg2, void * jarg3) {
  char *arg1 = (char *) 0 ;
  char **arg2 = (char **) 0 ;
  char **arg3 = (char **) 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char **)jarg2; 
  arg3 = (char **)jarg3; 
  switch_separate_file_params((char const *)arg1,arg2,arg3);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_is_file_path___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_bool_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_bool_t)switch_is_file_path((char const *)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_filecmp___(char * jarg1, char * jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  int result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (int)switch_filecmp((char const *)arg1,(char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_parse_audio_col___(int jarg1) {
  char * jresult ;
  switch_audio_col_t arg1 ;
  char *result = 0 ;
  
  arg1 = (switch_audio_col_t)jarg1; 
  result = (char *)switch_parse_audio_col(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_parse_cidr___(char * jarg1, void * jarg2, void * jarg3, void * jarg4) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  ip_t *arg2 = (ip_t *) 0 ;
  ip_t *arg3 = (ip_t *) 0 ;
  uint32_t *arg4 = (uint32_t *) 0 ;
  int result;
  
  arg1 = (char *)jarg1; 
  arg2 = (ip_t *)jarg2; 
  arg3 = (ip_t *)jarg3; 
  arg4 = (uint32_t *)jarg4; 
  result = (int)switch_parse_cidr((char const *)arg1,arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_network_list_create___(void * jarg1, char * jarg2, int jarg3, void * jarg4) {
  int jresult ;
  switch_network_list_t **arg1 = (switch_network_list_t **) 0 ;
  char *arg2 = (char *) 0 ;
  switch_bool_t arg3 ;
  switch_memory_pool_t *arg4 = (switch_memory_pool_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_network_list_t **)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  arg4 = (switch_memory_pool_t *)jarg4; 
  result = (switch_status_t)switch_network_list_create(arg1,(char const *)arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_network_list_add_cidr_token___(void * jarg1, char * jarg2, int jarg3, char * jarg4) {
  int jresult ;
  switch_network_list_t *arg1 = (switch_network_list_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_bool_t arg3 ;
  char *arg4 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_network_list_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  arg4 = (char *)jarg4; 
  result = (switch_status_t)switch_network_list_add_cidr_token(arg1,(char const *)arg2,arg3,(char const *)arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_network_ipv4_mapped_ipv6_addr___(char * jarg1) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (char *)switch_network_ipv4_mapped_ipv6_addr((char const *)arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_network_list_add_host_mask___(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
  int jresult ;
  switch_network_list_t *arg1 = (switch_network_list_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_bool_t arg4 ;
  switch_status_t result;
  
  arg1 = (switch_network_list_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (switch_bool_t)jarg4; 
  result = (switch_status_t)switch_network_list_add_host_mask(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_network_list_add_cidr_port_token___(void * jarg1, char * jarg2, int jarg3, char * jarg4, void * jarg5) {
  int jresult ;
  switch_network_list_t *arg1 = (switch_network_list_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_bool_t arg3 ;
  char *arg4 = (char *) 0 ;
  switch_network_port_range_p arg5 = (switch_network_port_range_p) 0 ;
  switch_status_t result;
  
  arg1 = (switch_network_list_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (switch_network_port_range_p)jarg5; 
  result = (switch_status_t)switch_network_list_add_cidr_port_token(arg1,(char const *)arg2,arg3,(char const *)arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_network_list_add_host_port_mask___(void * jarg1, char * jarg2, char * jarg3, int jarg4, void * jarg5) {
  int jresult ;
  switch_network_list_t *arg1 = (switch_network_list_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_bool_t arg4 ;
  switch_network_port_range_p arg5 = (switch_network_port_range_p) 0 ;
  switch_status_t result;
  
  arg1 = (switch_network_list_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (switch_bool_t)jarg4; 
  arg5 = (switch_network_port_range_p)jarg5; 
  result = (switch_status_t)switch_network_list_add_host_port_mask(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_network_list_validate_ip_port_token___(void * jarg1, unsigned long jarg2, int jarg3, void * jarg4) {
  int jresult ;
  switch_network_list_t *arg1 = (switch_network_list_t *) 0 ;
  uint32_t arg2 ;
  int arg3 ;
  char **arg4 = (char **) 0 ;
  switch_bool_t result;
  
  arg1 = (switch_network_list_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (char **)jarg4; 
  result = (switch_bool_t)switch_network_list_validate_ip_port_token(arg1,arg2,arg3,(char const **)arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_network_list_validate_ip6_port_token___(void * jarg1, void * jarg2, int jarg3, void * jarg4) {
  int jresult ;
  switch_network_list_t *arg1 = (switch_network_list_t *) 0 ;
  ip_t arg2 ;
  int arg3 ;
  char **arg4 = (char **) 0 ;
  ip_t *argp2 ;
  switch_bool_t result;
  
  arg1 = (switch_network_list_t *)jarg1; 
  argp2 = (ip_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null ip_t", 0);
    return 0;
  }
  arg2 = *argp2; 
  arg3 = (int)jarg3; 
  arg4 = (char **)jarg4; 
  result = (switch_bool_t)switch_network_list_validate_ip6_port_token(arg1,arg2,arg3,(char const **)arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_network_list_validate_ip_token___(void * jarg1, unsigned long jarg2, void * jarg3) {
  int jresult ;
  switch_network_list_t *arg1 = (switch_network_list_t *) 0 ;
  uint32_t arg2 ;
  char **arg3 = (char **) 0 ;
  switch_bool_t result;
  
  arg1 = (switch_network_list_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (char **)jarg3; 
  result = (switch_bool_t)switch_network_list_validate_ip_token(arg1,arg2,(char const **)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_network_list_validate_ip6_token___(void * jarg1, void * jarg2, void * jarg3) {
  int jresult ;
  switch_network_list_t *arg1 = (switch_network_list_t *) 0 ;
  ip_t arg2 ;
  char **arg3 = (char **) 0 ;
  ip_t *argp2 ;
  switch_bool_t result;
  
  arg1 = (switch_network_list_t *)jarg1; 
  argp2 = (ip_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null ip_t", 0);
    return 0;
  }
  arg2 = *argp2; 
  arg3 = (char **)jarg3; 
  result = (switch_bool_t)switch_network_list_validate_ip6_token(arg1,arg2,(char const **)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dow_int2str___(int jarg1) {
  char * jresult ;
  int arg1 ;
  char *result = 0 ;
  
  arg1 = (int)jarg1; 
  result = (char *)switch_dow_int2str(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dow_str2int___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  int result;
  
  arg1 = (char *)jarg1; 
  result = (int)switch_dow_str2int((char const *)arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dow_cmp___(char * jarg1, int jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  int arg2 ;
  switch_bool_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (int)jarg2; 
  result = (switch_bool_t)switch_dow_cmp((char const *)arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_number_cmp___(char * jarg1, int jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  int arg2 ;
  int result;
  
  arg1 = (char *)jarg1; 
  arg2 = (int)jarg2; 
  result = (int)switch_number_cmp((char const *)arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_tod_cmp___(char * jarg1, int jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  int arg2 ;
  int result;
  
  arg1 = (char *)jarg1; 
  arg2 = (int)jarg2; 
  result = (int)switch_tod_cmp((char const *)arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_fulldate_cmp___(char * jarg1, void * jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_time_t *arg2 = (switch_time_t *) 0 ;
  int result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_time_t *)jarg2; 
  result = (int)switch_fulldate_cmp((char const *)arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_split_date___(char * jarg1, void * jarg2, void * jarg3, void * jarg4) {
  char *arg1 = (char *) 0 ;
  int *arg2 = (int *) 0 ;
  int *arg3 = (int *) 0 ;
  int *arg4 = (int *) 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (int *)jarg2; 
  arg3 = (int *)jarg3; 
  arg4 = (int *)jarg4; 
  switch_split_date((char const *)arg1,arg2,arg3,arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_split_time___(char * jarg1, void * jarg2, void * jarg3, void * jarg4) {
  char *arg1 = (char *) 0 ;
  int *arg2 = (int *) 0 ;
  int *arg3 = (int *) 0 ;
  int *arg4 = (int *) 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (int *)jarg2; 
  arg3 = (int *)jarg3; 
  arg4 = (int *)jarg4; 
  switch_split_time((char const *)arg1,arg2,arg3,arg4);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_split_user_domain___(char * jarg1, void * jarg2, void * jarg3) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char **arg2 = (char **) 0 ;
  char **arg3 = (char **) 0 ;
  int result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char **)jarg2; 
  arg3 = (char **)jarg3; 
  result = (int)switch_split_user_domain(arg1,arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_calloc___(unsigned long jarg1, unsigned long jarg2) {
  void * jresult ;
  size_t arg1 ;
  size_t arg2 ;
  void *result = 0 ;
  
  arg1 = (size_t)jarg1; 
  arg2 = (size_t)jarg2; 
  result = (void *)switch_calloc(arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_uuid_str___(char * jarg1, void * jarg2) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg2 = *argp2; 
  result = (char *)switch_uuid_str(arg1,arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_format_number___(char * jarg1) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (char *)switch_format_number((char const *)arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_atoui___(char * jarg1) {
  unsigned int jresult ;
  char *arg1 = (char *) 0 ;
  unsigned int result;
  
  arg1 = (char *)jarg1; 
  result = (unsigned int)switch_atoui((char const *)arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_atoul___(char * jarg1) {
  unsigned long jresult ;
  char *arg1 = (char *) 0 ;
  unsigned long result;
  
  arg1 = (char *)jarg1; 
  result = (unsigned long)switch_atoul((char const *)arg1);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_strerror_r___(int jarg1, char * jarg2, void * jarg3) {
  char * jresult ;
  int arg1 ;
  char *arg2 = (char *) 0 ;
  switch_size_t arg3 ;
  switch_size_t *argp3 ;
  char *result = 0 ;
  
  arg1 = (int)jarg1; 
  arg2 = (char *)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = (char *)switch_strerror_r(arg1,arg2,arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_wait_sock___(int jarg1, unsigned long jarg2, int jarg3) {
  int jresult ;
  switch_os_socket_t arg1 ;
  uint32_t arg2 ;
  switch_poll_t arg3 ;
  int result;
  
  arg1 = (switch_os_socket_t)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (switch_poll_t)jarg3; 
  result = (int)switch_wait_sock(arg1,arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_wait_socklist___(void * jarg1, unsigned long jarg2, unsigned long jarg3) {
  int jresult ;
  switch_waitlist_t *arg1 = (switch_waitlist_t *) 0 ;
  uint32_t arg2 ;
  uint32_t arg3 ;
  int result;
  
  arg1 = (switch_waitlist_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (uint32_t)jarg3; 
  result = (int)switch_wait_socklist(arg1,arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_method_set___(void * jarg1, char * jarg2) {
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->method = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->method, (const char *)arg2);
    } else {
      arg1->method = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_method_get___(void * jarg1) {
  char * jresult ;
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  result = (char *) ((arg1)->method);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_uri_set___(void * jarg1, char * jarg2) {
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->uri = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->uri, (const char *)arg2);
    } else {
      arg1->uri = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_uri_get___(void * jarg1) {
  char * jresult ;
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  result = (char *) ((arg1)->uri);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_qs_set___(void * jarg1, char * jarg2) {
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->qs = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->qs, (const char *)arg2);
    } else {
      arg1->qs = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_qs_get___(void * jarg1) {
  char * jresult ;
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  result = (char *) ((arg1)->qs);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_host_set___(void * jarg1, char * jarg2) {
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->host = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->host, (const char *)arg2);
    } else {
      arg1->host = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_host_get___(void * jarg1) {
  char * jresult ;
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  result = (char *) ((arg1)->host);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_port_set___(void * jarg1, unsigned short jarg2) {
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  switch_port_t arg2 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  arg2 = (switch_port_t)jarg2; 
  if (arg1) (arg1)->port = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_port_get___(void * jarg1) {
  unsigned short jresult ;
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  switch_port_t result;
  
  arg1 = (switch_http_request_s *)jarg1; 
  result = (switch_port_t) ((arg1)->port);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_from_set___(void * jarg1, char * jarg2) {
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->from = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->from, (const char *)arg2);
    } else {
      arg1->from = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_from_get___(void * jarg1) {
  char * jresult ;
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  result = (char *) ((arg1)->from);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_user_agent_set___(void * jarg1, char * jarg2) {
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->user_agent = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->user_agent, (const char *)arg2);
    } else {
      arg1->user_agent = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_user_agent_get___(void * jarg1) {
  char * jresult ;
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  result = (char *) ((arg1)->user_agent);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_referer_set___(void * jarg1, char * jarg2) {
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->referer = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->referer, (const char *)arg2);
    } else {
      arg1->referer = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_referer_get___(void * jarg1) {
  char * jresult ;
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  result = (char *) ((arg1)->referer);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_user_set___(void * jarg1, char * jarg2) {
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->user = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->user, (const char *)arg2);
    } else {
      arg1->user = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_user_get___(void * jarg1) {
  char * jresult ;
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  result = (char *) ((arg1)->user);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_keepalive_set___(void * jarg1, int jarg2) {
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  switch_bool_t arg2 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  if (arg1) (arg1)->keepalive = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_keepalive_get___(void * jarg1) {
  int jresult ;
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  switch_bool_t result;
  
  arg1 = (switch_http_request_s *)jarg1; 
  result = (switch_bool_t) ((arg1)->keepalive);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_content_type_set___(void * jarg1, char * jarg2) {
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->content_type = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->content_type, (const char *)arg2);
    } else {
      arg1->content_type = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_content_type_get___(void * jarg1) {
  char * jresult ;
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  result = (char *) ((arg1)->content_type);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_content_length_set___(void * jarg1, void * jarg2) {
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->content_length = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_content_length_get___(void * jarg1) {
  void * jresult ;
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_http_request_s *)jarg1; 
  result =  ((arg1)->content_length);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_bytes_header_set___(void * jarg1, void * jarg2) {
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->bytes_header = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_bytes_header_get___(void * jarg1) {
  void * jresult ;
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_http_request_s *)jarg1; 
  result =  ((arg1)->bytes_header);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_bytes_read_set___(void * jarg1, void * jarg2) {
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->bytes_read = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_bytes_read_get___(void * jarg1) {
  void * jresult ;
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_http_request_s *)jarg1; 
  result =  ((arg1)->bytes_read);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_bytes_buffered_set___(void * jarg1, void * jarg2) {
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->bytes_buffered = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_bytes_buffered_get___(void * jarg1) {
  void * jresult ;
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_http_request_s *)jarg1; 
  result =  ((arg1)->bytes_buffered);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_headers_set___(void * jarg1, void * jarg2) {
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  switch_event_t *arg2 = (switch_event_t *) 0 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  arg2 = (switch_event_t *)jarg2; 
  if (arg1) (arg1)->headers = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_headers_get___(void * jarg1) {
  void * jresult ;
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  switch_event_t *result = 0 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  result = (switch_event_t *) ((arg1)->headers);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_user_data_set___(void * jarg1, void * jarg2) {
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->user_data = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_user_data_get___(void * jarg1) {
  void * jresult ;
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  result = (void *) ((arg1)->user_data);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t__buffer_set___(void * jarg1, char * jarg2) {
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->_buffer;
    if (arg2) {
      arg1->_buffer = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->_buffer, (const char *)arg2);
    } else {
      arg1->_buffer = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t__buffer_get___(void * jarg1) {
  char * jresult ;
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  result = (char *) ((arg1)->_buffer);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t__destroy_headers_set___(void * jarg1, int jarg2) {
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  switch_bool_t arg2 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  if (arg1) (arg1)->_destroy_headers = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t__destroy_headers_get___(void * jarg1) {
  int jresult ;
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  switch_bool_t result;
  
  arg1 = (switch_http_request_s *)jarg1; 
  result = (switch_bool_t) ((arg1)->_destroy_headers);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_http_request_t___() {
  void * jresult ;
  switch_http_request_s *result = 0 ;
  
  result = (switch_http_request_s *)new switch_http_request_s();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_http_request_t___(void * jarg1) {
  switch_http_request_s *arg1 = (switch_http_request_s *) 0 ;
  
  arg1 = (switch_http_request_s *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_parse_header___(char * jarg1, unsigned long jarg2, void * jarg3) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  uint32_t arg2 ;
  switch_http_request_t *arg3 = (switch_http_request_t *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (switch_http_request_t *)jarg3; 
  result = (switch_status_t)switch_http_parse_header(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_free_request___(void * jarg1) {
  switch_http_request_t *arg1 = (switch_http_request_t *) 0 ;
  
  arg1 = (switch_http_request_t *)jarg1; 
  switch_http_free_request(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_dump_request___(void * jarg1) {
  switch_http_request_t *arg1 = (switch_http_request_t *) 0 ;
  
  arg1 = (switch_http_request_t *)jarg1; 
  switch_http_dump_request(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_parse_qs___(void * jarg1, char * jarg2) {
  switch_http_request_t *arg1 = (switch_http_request_t *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_http_request_t *)jarg1; 
  arg2 = (char *)jarg2; 
  switch_http_parse_qs(arg1,arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_buffer_free___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_frame_buffer_t *arg1 = (switch_frame_buffer_t *) 0 ;
  switch_frame_t **arg2 = (switch_frame_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_frame_buffer_t *)jarg1; 
  arg2 = (switch_frame_t **)jarg2; 
  result = (switch_status_t)switch_frame_buffer_free(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_buffer_dup___(void * jarg1, void * jarg2, void * jarg3) {
  int jresult ;
  switch_frame_buffer_t *arg1 = (switch_frame_buffer_t *) 0 ;
  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
  switch_frame_t **arg3 = (switch_frame_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_frame_buffer_t *)jarg1; 
  arg2 = (switch_frame_t *)jarg2; 
  arg3 = (switch_frame_t **)jarg3; 
  result = (switch_status_t)switch_frame_buffer_dup(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_buffer_destroy___(void * jarg1) {
  int jresult ;
  switch_frame_buffer_t **arg1 = (switch_frame_buffer_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_frame_buffer_t **)jarg1; 
  result = (switch_status_t)switch_frame_buffer_destroy(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_buffer_create___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_frame_buffer_t **arg1 = (switch_frame_buffer_t **) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  switch_status_t result;
  
  arg1 = (switch_frame_buffer_t **)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg2 = *argp2; 
  result = (switch_status_t)switch_frame_buffer_create(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_buffer_push___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_frame_buffer_t *arg1 = (switch_frame_buffer_t *) 0 ;
  void *arg2 = (void *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_frame_buffer_t *)jarg1; 
  arg2 = (void *)jarg2; 
  result = (switch_status_t)switch_frame_buffer_push(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_buffer_trypush___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_frame_buffer_t *arg1 = (switch_frame_buffer_t *) 0 ;
  void *arg2 = (void *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_frame_buffer_t *)jarg1; 
  arg2 = (void *)jarg2; 
  result = (switch_status_t)switch_frame_buffer_trypush(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_buffer_pop___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_frame_buffer_t *arg1 = (switch_frame_buffer_t *) 0 ;
  void **arg2 = (void **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_frame_buffer_t *)jarg1; 
  arg2 = (void **)jarg2; 
  result = (switch_status_t)switch_frame_buffer_pop(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_buffer_trypop___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_frame_buffer_t *arg1 = (switch_frame_buffer_t *) 0 ;
  void **arg2 = (void **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_frame_buffer_t *)jarg1; 
  arg2 = (void **)jarg2; 
  result = (switch_status_t)switch_frame_buffer_trypop(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_buffer_size___(void * jarg1) {
  int jresult ;
  switch_frame_buffer_t *arg1 = (switch_frame_buffer_t *) 0 ;
  int result;
  
  arg1 = (switch_frame_buffer_t *)jarg1; 
  result = (int)switch_frame_buffer_size(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cputime_userms_set___(void * jarg1, long long jarg2) {
  switch_cputime *arg1 = (switch_cputime *) 0 ;
  int64_t arg2 ;
  
  arg1 = (switch_cputime *)jarg1; 
  arg2 = (int64_t)jarg2; 
  if (arg1) (arg1)->userms = arg2;
}


SWIGEXPORT long long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cputime_userms_get___(void * jarg1) {
  long long jresult ;
  switch_cputime *arg1 = (switch_cputime *) 0 ;
  int64_t result;
  
  arg1 = (switch_cputime *)jarg1; 
  result = (int64_t) ((arg1)->userms);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cputime_kernelms_set___(void * jarg1, long long jarg2) {
  switch_cputime *arg1 = (switch_cputime *) 0 ;
  int64_t arg2 ;
  
  arg1 = (switch_cputime *)jarg1; 
  arg2 = (int64_t)jarg2; 
  if (arg1) (arg1)->kernelms = arg2;
}


SWIGEXPORT long long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cputime_kernelms_get___(void * jarg1) {
  long long jresult ;
  switch_cputime *arg1 = (switch_cputime *) 0 ;
  int64_t result;
  
  arg1 = (switch_cputime *)jarg1; 
  result = (int64_t) ((arg1)->kernelms);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_cputime___() {
  void * jresult ;
  switch_cputime *result = 0 ;
  
  result = (switch_cputime *)new switch_cputime();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_cputime___(void * jarg1) {
  switch_cputime *arg1 = (switch_cputime *) 0 ;
  
  arg1 = (switch_cputime *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_getcputime___(void * jarg1) {
  switch_cputime *arg1 = (switch_cputime *) 0 ;
  
  arg1 = (switch_cputime *)jarg1; 
  switch_getcputime(arg1);
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_html_strip___(char * jarg1) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (char *)switch_html_strip((char const *)arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_getpid___() {
  unsigned long jresult ;
  unsigned long result;
  
  result = (unsigned long)switch_getpid();
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_digest___(char * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  unsigned char **arg2 = (unsigned char **) 0 ;
  void *arg3 = (void *) 0 ;
  switch_size_t arg4 ;
  unsigned int *arg5 = (unsigned int *) 0 ;
  switch_size_t *argp4 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (unsigned char **)jarg2; 
  arg3 = (void *)jarg3; 
  argp4 = (switch_size_t *)jarg4; 
  if (!argp4) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg4 = *argp4; 
  arg5 = (unsigned int *)jarg5; 
  result = (switch_status_t)switch_digest((char const *)arg1,arg2,(void const *)arg3,arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_digest_string___(char * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char **arg2 = (char **) 0 ;
  void *arg3 = (void *) 0 ;
  switch_size_t arg4 ;
  unsigned int *arg5 = (unsigned int *) 0 ;
  switch_size_t *argp4 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char **)jarg2; 
  arg3 = (void *)jarg3; 
  argp4 = (switch_size_t *)jarg4; 
  if (!argp4) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg4 = *argp4; 
  arg5 = (unsigned int *)jarg5; 
  result = (switch_status_t)switch_digest_string((char const *)arg1,arg2,(void const *)arg3,arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_must_strdup___(char * jarg1) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (char *)switch_must_strdup((char const *)arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_memory_usage_stream___(void * jarg1) {
  char * jresult ;
  switch_stream_handle_t *arg1 = (switch_stream_handle_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_stream_handle_t *)jarg1; 
  result = (char *)switch_memory_usage_stream(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_profile_node_t_var_set___(void * jarg1, char * jarg2) {
  profile_node_s *arg1 = (profile_node_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (profile_node_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->var;
    if (arg2) {
      arg1->var = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->var, (const char *)arg2);
    } else {
      arg1->var = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_profile_node_t_var_get___(void * jarg1) {
  char * jresult ;
  profile_node_s *arg1 = (profile_node_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (profile_node_s *)jarg1; 
  result = (char *) ((arg1)->var);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_profile_node_t_val_set___(void * jarg1, char * jarg2) {
  profile_node_s *arg1 = (profile_node_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (profile_node_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->val;
    if (arg2) {
      arg1->val = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->val, (const char *)arg2);
    } else {
      arg1->val = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_profile_node_t_val_get___(void * jarg1) {
  char * jresult ;
  profile_node_s *arg1 = (profile_node_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (profile_node_s *)jarg1; 
  result = (char *) ((arg1)->val);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_profile_node_t_next_set___(void * jarg1, void * jarg2) {
  profile_node_s *arg1 = (profile_node_s *) 0 ;
  profile_node_s *arg2 = (profile_node_s *) 0 ;
  
  arg1 = (profile_node_s *)jarg1; 
  arg2 = (profile_node_s *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_profile_node_t_next_get___(void * jarg1) {
  void * jresult ;
  profile_node_s *arg1 = (profile_node_s *) 0 ;
  profile_node_s *result = 0 ;
  
  arg1 = (profile_node_s *)jarg1; 
  result = (profile_node_s *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_profile_node_t___() {
  void * jresult ;
  profile_node_s *result = 0 ;
  
  result = (profile_node_s *)new profile_node_s();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_profile_node_t___(void * jarg1) {
  profile_node_s *arg1 = (profile_node_s *) 0 ;
  
  arg1 = (profile_node_s *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_username_set___(void * jarg1, char * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->username = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->username, (const char *)arg2);
    } else {
      arg1->username = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_username_get___(void * jarg1) {
  char * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (char *) ((arg1)->username);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_dialplan_set___(void * jarg1, char * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->dialplan = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->dialplan, (const char *)arg2);
    } else {
      arg1->dialplan = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_dialplan_get___(void * jarg1) {
  char * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (char *) ((arg1)->dialplan);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_caller_id_name_set___(void * jarg1, char * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->caller_id_name = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->caller_id_name, (const char *)arg2);
    } else {
      arg1->caller_id_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_caller_id_name_get___(void * jarg1) {
  char * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (char *) ((arg1)->caller_id_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_caller_id_number_set___(void * jarg1, char * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->caller_id_number = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->caller_id_number, (const char *)arg2);
    } else {
      arg1->caller_id_number = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_caller_id_number_get___(void * jarg1) {
  char * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (char *) ((arg1)->caller_id_number);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_orig_caller_id_name_set___(void * jarg1, char * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->orig_caller_id_name = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->orig_caller_id_name, (const char *)arg2);
    } else {
      arg1->orig_caller_id_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_orig_caller_id_name_get___(void * jarg1) {
  char * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (char *) ((arg1)->orig_caller_id_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_orig_caller_id_number_set___(void * jarg1, char * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->orig_caller_id_number = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->orig_caller_id_number, (const char *)arg2);
    } else {
      arg1->orig_caller_id_number = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_orig_caller_id_number_get___(void * jarg1) {
  char * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (char *) ((arg1)->orig_caller_id_number);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_callee_id_name_set___(void * jarg1, char * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->callee_id_name = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->callee_id_name, (const char *)arg2);
    } else {
      arg1->callee_id_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_callee_id_name_get___(void * jarg1) {
  char * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (char *) ((arg1)->callee_id_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_callee_id_number_set___(void * jarg1, char * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->callee_id_number = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->callee_id_number, (const char *)arg2);
    } else {
      arg1->callee_id_number = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_callee_id_number_get___(void * jarg1) {
  char * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (char *) ((arg1)->callee_id_number);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_caller_ton_set___(void * jarg1, unsigned char jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  uint8_t arg2 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (uint8_t)jarg2; 
  if (arg1) (arg1)->caller_ton = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_caller_ton_get___(void * jarg1) {
  unsigned char jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  uint8_t result;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (uint8_t) ((arg1)->caller_ton);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_caller_numplan_set___(void * jarg1, unsigned char jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  uint8_t arg2 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (uint8_t)jarg2; 
  if (arg1) (arg1)->caller_numplan = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_caller_numplan_get___(void * jarg1) {
  unsigned char jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  uint8_t result;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (uint8_t) ((arg1)->caller_numplan);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_network_addr_set___(void * jarg1, char * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->network_addr = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->network_addr, (const char *)arg2);
    } else {
      arg1->network_addr = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_network_addr_get___(void * jarg1) {
  char * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (char *) ((arg1)->network_addr);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_ani_set___(void * jarg1, char * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->ani = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->ani, (const char *)arg2);
    } else {
      arg1->ani = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_ani_get___(void * jarg1) {
  char * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (char *) ((arg1)->ani);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_ani_ton_set___(void * jarg1, unsigned char jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  uint8_t arg2 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (uint8_t)jarg2; 
  if (arg1) (arg1)->ani_ton = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_ani_ton_get___(void * jarg1) {
  unsigned char jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  uint8_t result;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (uint8_t) ((arg1)->ani_ton);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_ani_numplan_set___(void * jarg1, unsigned char jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  uint8_t arg2 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (uint8_t)jarg2; 
  if (arg1) (arg1)->ani_numplan = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_ani_numplan_get___(void * jarg1) {
  unsigned char jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  uint8_t result;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (uint8_t) ((arg1)->ani_numplan);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_aniii_set___(void * jarg1, char * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->aniii = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->aniii, (const char *)arg2);
    } else {
      arg1->aniii = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_aniii_get___(void * jarg1) {
  char * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (char *) ((arg1)->aniii);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_rdnis_set___(void * jarg1, char * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->rdnis = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->rdnis, (const char *)arg2);
    } else {
      arg1->rdnis = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_rdnis_get___(void * jarg1) {
  char * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (char *) ((arg1)->rdnis);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_rdnis_ton_set___(void * jarg1, unsigned char jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  uint8_t arg2 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (uint8_t)jarg2; 
  if (arg1) (arg1)->rdnis_ton = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_rdnis_ton_get___(void * jarg1) {
  unsigned char jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  uint8_t result;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (uint8_t) ((arg1)->rdnis_ton);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_rdnis_numplan_set___(void * jarg1, unsigned char jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  uint8_t arg2 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (uint8_t)jarg2; 
  if (arg1) (arg1)->rdnis_numplan = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_rdnis_numplan_get___(void * jarg1) {
  unsigned char jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  uint8_t result;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (uint8_t) ((arg1)->rdnis_numplan);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_destination_number_set___(void * jarg1, char * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->destination_number;
    if (arg2) {
      arg1->destination_number = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->destination_number, (const char *)arg2);
    } else {
      arg1->destination_number = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_destination_number_get___(void * jarg1) {
  char * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (char *) ((arg1)->destination_number);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_destination_number_ton_set___(void * jarg1, unsigned char jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  uint8_t arg2 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (uint8_t)jarg2; 
  if (arg1) (arg1)->destination_number_ton = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_destination_number_ton_get___(void * jarg1) {
  unsigned char jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  uint8_t result;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (uint8_t) ((arg1)->destination_number_ton);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_destination_number_numplan_set___(void * jarg1, unsigned char jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  uint8_t arg2 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (uint8_t)jarg2; 
  if (arg1) (arg1)->destination_number_numplan = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_destination_number_numplan_get___(void * jarg1) {
  unsigned char jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  uint8_t result;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (uint8_t) ((arg1)->destination_number_numplan);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_source_set___(void * jarg1, char * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->source = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->source, (const char *)arg2);
    } else {
      arg1->source = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_source_get___(void * jarg1) {
  char * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (char *) ((arg1)->source);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_chan_name_set___(void * jarg1, char * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->chan_name;
    if (arg2) {
      arg1->chan_name = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->chan_name, (const char *)arg2);
    } else {
      arg1->chan_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_chan_name_get___(void * jarg1) {
  char * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (char *) ((arg1)->chan_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_uuid_set___(void * jarg1, char * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->uuid;
    if (arg2) {
      arg1->uuid = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->uuid, (const char *)arg2);
    } else {
      arg1->uuid = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_uuid_get___(void * jarg1) {
  char * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (char *) ((arg1)->uuid);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_context_set___(void * jarg1, char * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->context = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->context, (const char *)arg2);
    } else {
      arg1->context = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_context_get___(void * jarg1) {
  char * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (char *) ((arg1)->context);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_profile_index_set___(void * jarg1, char * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->profile_index = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->profile_index, (const char *)arg2);
    } else {
      arg1->profile_index = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_profile_index_get___(void * jarg1) {
  char * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (char *) ((arg1)->profile_index);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_flags_set___(void * jarg1, unsigned long jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  switch_caller_profile_flag_t arg2 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (switch_caller_profile_flag_t)jarg2; 
  if (arg1) (arg1)->flags = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_flags_get___(void * jarg1) {
  unsigned long jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  switch_caller_profile_flag_t result;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (switch_caller_profile_flag_t) ((arg1)->flags);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_originator_caller_profile_set___(void * jarg1, void * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  switch_caller_profile *arg2 = (switch_caller_profile *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (switch_caller_profile *)jarg2; 
  if (arg1) (arg1)->originator_caller_profile = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_originator_caller_profile_get___(void * jarg1) {
  void * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  switch_caller_profile *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (switch_caller_profile *) ((arg1)->originator_caller_profile);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_originatee_caller_profile_set___(void * jarg1, void * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  switch_caller_profile *arg2 = (switch_caller_profile *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (switch_caller_profile *)jarg2; 
  if (arg1) (arg1)->originatee_caller_profile = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_originatee_caller_profile_get___(void * jarg1) {
  void * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  switch_caller_profile *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (switch_caller_profile *) ((arg1)->originatee_caller_profile);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_origination_caller_profile_set___(void * jarg1, void * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  switch_caller_profile *arg2 = (switch_caller_profile *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (switch_caller_profile *)jarg2; 
  if (arg1) (arg1)->origination_caller_profile = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_origination_caller_profile_get___(void * jarg1) {
  void * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  switch_caller_profile *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (switch_caller_profile *) ((arg1)->origination_caller_profile);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_hunt_caller_profile_set___(void * jarg1, void * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  switch_caller_profile *arg2 = (switch_caller_profile *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (switch_caller_profile *)jarg2; 
  if (arg1) (arg1)->hunt_caller_profile = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_hunt_caller_profile_get___(void * jarg1) {
  void * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  switch_caller_profile *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (switch_caller_profile *) ((arg1)->hunt_caller_profile);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_times_set___(void * jarg1, void * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  switch_channel_timetable *arg2 = (switch_channel_timetable *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (switch_channel_timetable *)jarg2; 
  if (arg1) (arg1)->times = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_times_get___(void * jarg1) {
  void * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  switch_channel_timetable *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (switch_channel_timetable *) ((arg1)->times);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_old_times_set___(void * jarg1, void * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  switch_channel_timetable *arg2 = (switch_channel_timetable *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (switch_channel_timetable *)jarg2; 
  if (arg1) (arg1)->old_times = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_old_times_get___(void * jarg1) {
  void * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  switch_channel_timetable *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (switch_channel_timetable *) ((arg1)->old_times);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_caller_extension_set___(void * jarg1, void * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  switch_caller_extension *arg2 = (switch_caller_extension *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (switch_caller_extension *)jarg2; 
  if (arg1) (arg1)->caller_extension = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_caller_extension_get___(void * jarg1) {
  void * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  switch_caller_extension *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (switch_caller_extension *) ((arg1)->caller_extension);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_pool_set___(void * jarg1, void * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (switch_memory_pool_t *)jarg2; 
  if (arg1) (arg1)->pool = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_pool_get___(void * jarg1) {
  void * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  switch_memory_pool_t *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (switch_memory_pool_t *) ((arg1)->pool);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_next_set___(void * jarg1, void * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  switch_caller_profile *arg2 = (switch_caller_profile *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (switch_caller_profile *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_next_get___(void * jarg1) {
  void * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  switch_caller_profile *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (switch_caller_profile *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_direction_set___(void * jarg1, int jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  switch_call_direction_t arg2 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (switch_call_direction_t)jarg2; 
  if (arg1) (arg1)->direction = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_direction_get___(void * jarg1) {
  int jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  switch_call_direction_t result;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (switch_call_direction_t) ((arg1)->direction);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_logical_direction_set___(void * jarg1, int jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  switch_call_direction_t arg2 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (switch_call_direction_t)jarg2; 
  if (arg1) (arg1)->logical_direction = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_logical_direction_get___(void * jarg1) {
  int jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  switch_call_direction_t result;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (switch_call_direction_t) ((arg1)->logical_direction);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_soft_set___(void * jarg1, void * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  profile_node_t *arg2 = (profile_node_t *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (profile_node_t *)jarg2; 
  if (arg1) (arg1)->soft = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_soft_get___(void * jarg1) {
  void * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  profile_node_t *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (profile_node_t *) ((arg1)->soft);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_uuid_str_set___(void * jarg1, char * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->uuid_str;
    if (arg2) {
      arg1->uuid_str = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->uuid_str, (const char *)arg2);
    } else {
      arg1->uuid_str = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_uuid_str_get___(void * jarg1) {
  char * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (char *) ((arg1)->uuid_str);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_clone_of_set___(void * jarg1, char * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->clone_of;
    if (arg2) {
      arg1->clone_of = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->clone_of, (const char *)arg2);
    } else {
      arg1->clone_of = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_clone_of_get___(void * jarg1) {
  char * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (char *) ((arg1)->clone_of);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_transfer_source_set___(void * jarg1, char * jarg2) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->transfer_source;
    if (arg2) {
      arg1->transfer_source = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->transfer_source, (const char *)arg2);
    } else {
      arg1->transfer_source = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_transfer_source_get___(void * jarg1) {
  char * jresult ;
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  result = (char *) ((arg1)->transfer_source);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_caller_profile___() {
  void * jresult ;
  switch_caller_profile *result = 0 ;
  
  result = (switch_caller_profile *)new switch_caller_profile();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_caller_profile___(void * jarg1) {
  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
  
  arg1 = (switch_caller_profile *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_application_application_name_set___(void * jarg1, char * jarg2) {
  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_caller_application *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->application_name;
    if (arg2) {
      arg1->application_name = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->application_name, (const char *)arg2);
    } else {
      arg1->application_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_application_application_name_get___(void * jarg1) {
  char * jresult ;
  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_caller_application *)jarg1; 
  result = (char *) ((arg1)->application_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_application_application_data_set___(void * jarg1, char * jarg2) {
  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_caller_application *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->application_data;
    if (arg2) {
      arg1->application_data = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->application_data, (const char *)arg2);
    } else {
      arg1->application_data = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_application_application_data_get___(void * jarg1) {
  char * jresult ;
  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_caller_application *)jarg1; 
  result = (char *) ((arg1)->application_data);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_application_application_function_set___(void * jarg1, void * jarg2) {
  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
  switch_application_function_t arg2 = (switch_application_function_t) 0 ;
  
  arg1 = (switch_caller_application *)jarg1; 
  arg2 = (switch_application_function_t)jarg2; 
  if (arg1) (arg1)->application_function = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_application_application_function_get___(void * jarg1) {
  void * jresult ;
  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
  switch_application_function_t result;
  
  arg1 = (switch_caller_application *)jarg1; 
  result = (switch_application_function_t) ((arg1)->application_function);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_application_next_set___(void * jarg1, void * jarg2) {
  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
  switch_caller_application *arg2 = (switch_caller_application *) 0 ;
  
  arg1 = (switch_caller_application *)jarg1; 
  arg2 = (switch_caller_application *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_application_next_get___(void * jarg1) {
  void * jresult ;
  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
  switch_caller_application *result = 0 ;
  
  arg1 = (switch_caller_application *)jarg1; 
  result = (switch_caller_application *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_caller_application___() {
  void * jresult ;
  switch_caller_application *result = 0 ;
  
  result = (switch_caller_application *)new switch_caller_application();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_caller_application___(void * jarg1) {
  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
  
  arg1 = (switch_caller_application *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_extension_extension_name_set___(void * jarg1, char * jarg2) {
  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_caller_extension *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->extension_name;
    if (arg2) {
      arg1->extension_name = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->extension_name, (const char *)arg2);
    } else {
      arg1->extension_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_extension_extension_name_get___(void * jarg1) {
  char * jresult ;
  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_caller_extension *)jarg1; 
  result = (char *) ((arg1)->extension_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_extension_extension_number_set___(void * jarg1, char * jarg2) {
  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_caller_extension *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->extension_number;
    if (arg2) {
      arg1->extension_number = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->extension_number, (const char *)arg2);
    } else {
      arg1->extension_number = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_extension_extension_number_get___(void * jarg1) {
  char * jresult ;
  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_caller_extension *)jarg1; 
  result = (char *) ((arg1)->extension_number);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_extension_current_application_set___(void * jarg1, void * jarg2) {
  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
  switch_caller_application_t *arg2 = (switch_caller_application_t *) 0 ;
  
  arg1 = (switch_caller_extension *)jarg1; 
  arg2 = (switch_caller_application_t *)jarg2; 
  if (arg1) (arg1)->current_application = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_extension_current_application_get___(void * jarg1) {
  void * jresult ;
  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
  switch_caller_application_t *result = 0 ;
  
  arg1 = (switch_caller_extension *)jarg1; 
  result = (switch_caller_application_t *) ((arg1)->current_application);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_extension_last_application_set___(void * jarg1, void * jarg2) {
  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
  switch_caller_application_t *arg2 = (switch_caller_application_t *) 0 ;
  
  arg1 = (switch_caller_extension *)jarg1; 
  arg2 = (switch_caller_application_t *)jarg2; 
  if (arg1) (arg1)->last_application = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_extension_last_application_get___(void * jarg1) {
  void * jresult ;
  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
  switch_caller_application_t *result = 0 ;
  
  arg1 = (switch_caller_extension *)jarg1; 
  result = (switch_caller_application_t *) ((arg1)->last_application);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_extension_applications_set___(void * jarg1, void * jarg2) {
  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
  switch_caller_application_t *arg2 = (switch_caller_application_t *) 0 ;
  
  arg1 = (switch_caller_extension *)jarg1; 
  arg2 = (switch_caller_application_t *)jarg2; 
  if (arg1) (arg1)->applications = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_extension_applications_get___(void * jarg1) {
  void * jresult ;
  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
  switch_caller_application_t *result = 0 ;
  
  arg1 = (switch_caller_extension *)jarg1; 
  result = (switch_caller_application_t *) ((arg1)->applications);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_extension_children_set___(void * jarg1, void * jarg2) {
  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
  switch_caller_profile *arg2 = (switch_caller_profile *) 0 ;
  
  arg1 = (switch_caller_extension *)jarg1; 
  arg2 = (switch_caller_profile *)jarg2; 
  if (arg1) (arg1)->children = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_extension_children_get___(void * jarg1) {
  void * jresult ;
  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
  switch_caller_profile *result = 0 ;
  
  arg1 = (switch_caller_extension *)jarg1; 
  result = (switch_caller_profile *) ((arg1)->children);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_extension_next_set___(void * jarg1, void * jarg2) {
  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
  switch_caller_extension *arg2 = (switch_caller_extension *) 0 ;
  
  arg1 = (switch_caller_extension *)jarg1; 
  arg2 = (switch_caller_extension *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_extension_next_get___(void * jarg1) {
  void * jresult ;
  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
  switch_caller_extension *result = 0 ;
  
  arg1 = (switch_caller_extension *)jarg1; 
  result = (switch_caller_extension *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_caller_extension___() {
  void * jresult ;
  switch_caller_extension *result = 0 ;
  
  result = (switch_caller_extension *)new switch_caller_extension();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_caller_extension___(void * jarg1) {
  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
  
  arg1 = (switch_caller_extension *)jarg1; 
  delete arg1;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_extension_new___(void * jarg1, char * jarg2, char * jarg3) {
  void * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_caller_extension_t *result = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_caller_extension_t *)switch_caller_extension_new(arg1,(char const *)arg2,(char const *)arg3);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_extension_clone___(void * jarg1, void * jarg2, void * jarg3) {
  int jresult ;
  switch_caller_extension_t **arg1 = (switch_caller_extension_t **) 0 ;
  switch_caller_extension_t *arg2 = (switch_caller_extension_t *) 0 ;
  switch_memory_pool_t *arg3 = (switch_memory_pool_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_caller_extension_t **)jarg1; 
  arg2 = (switch_caller_extension_t *)jarg2; 
  arg3 = (switch_memory_pool_t *)jarg3; 
  result = (switch_status_t)switch_caller_extension_clone(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_extension_add_application___(void * jarg1, void * jarg2, char * jarg3, char * jarg4) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_caller_extension_t *arg2 = (switch_caller_extension_t *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_caller_extension_t *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  switch_caller_extension_add_application(arg1,arg2,(char const *)arg3,(char const *)arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_extension_add_application_printf___(void * jarg1, void * jarg2, char * jarg3, char * jarg4) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_caller_extension_t *arg2 = (switch_caller_extension_t *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  void *arg5 = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_caller_extension_t *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  switch_caller_extension_add_application_printf(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5);
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_get_field_by_name___(void * jarg1, char * jarg2) {
  char * jresult ;
  switch_caller_profile_t *arg1 = (switch_caller_profile_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_caller_profile_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (char *)switch_caller_get_field_by_name(arg1,(char const *)arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_new___(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5, char * jarg6, char * jarg7, char * jarg8, char * jarg9, char * jarg10, char * jarg11, char * jarg12) {
  void * jresult ;
  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  char *arg6 = (char *) 0 ;
  char *arg7 = (char *) 0 ;
  char *arg8 = (char *) 0 ;
  char *arg9 = (char *) 0 ;
  char *arg10 = (char *) 0 ;
  char *arg11 = (char *) 0 ;
  char *arg12 = (char *) 0 ;
  switch_caller_profile_t *result = 0 ;
  
  arg1 = (switch_memory_pool_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (char *)jarg6; 
  arg7 = (char *)jarg7; 
  arg8 = (char *)jarg8; 
  arg9 = (char *)jarg9; 
  arg10 = (char *)jarg10; 
  arg11 = (char *)jarg11; 
  arg12 = (char *)jarg12; 
  result = (switch_caller_profile_t *)switch_caller_profile_new(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7,(char const *)arg8,(char const *)arg9,(char const *)arg10,(char const *)arg11,(char const *)arg12);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_clone___(void * jarg1, void * jarg2) {
  void * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_caller_profile_t *arg2 = (switch_caller_profile_t *) 0 ;
  switch_caller_profile_t *result = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_caller_profile_t *)jarg2; 
  result = (switch_caller_profile_t *)switch_caller_profile_clone(arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_dup___(void * jarg1, void * jarg2) {
  void * jresult ;
  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
  switch_caller_profile_t *arg2 = (switch_caller_profile_t *) 0 ;
  switch_caller_profile_t *result = 0 ;
  
  arg1 = (switch_memory_pool_t *)jarg1; 
  arg2 = (switch_caller_profile_t *)jarg2; 
  result = (switch_caller_profile_t *)switch_caller_profile_dup(arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_caller_profile_event_set_data___(void * jarg1, char * jarg2, void * jarg3) {
  switch_caller_profile_t *arg1 = (switch_caller_profile_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_event_t *arg3 = (switch_event_t *) 0 ;
  
  arg1 = (switch_caller_profile_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_event_t *)jarg3; 
  switch_caller_profile_event_set_data(arg1,(char const *)arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_geometry_t_w_set___(void * jarg1, int jarg2) {
  switch_frame_geometry *arg1 = (switch_frame_geometry *) 0 ;
  int32_t arg2 ;
  
  arg1 = (switch_frame_geometry *)jarg1; 
  arg2 = (int32_t)jarg2; 
  if (arg1) (arg1)->w = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_geometry_t_w_get___(void * jarg1) {
  int jresult ;
  switch_frame_geometry *arg1 = (switch_frame_geometry *) 0 ;
  int32_t result;
  
  arg1 = (switch_frame_geometry *)jarg1; 
  result = (int32_t) ((arg1)->w);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_geometry_t_h_set___(void * jarg1, int jarg2) {
  switch_frame_geometry *arg1 = (switch_frame_geometry *) 0 ;
  int32_t arg2 ;
  
  arg1 = (switch_frame_geometry *)jarg1; 
  arg2 = (int32_t)jarg2; 
  if (arg1) (arg1)->h = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_geometry_t_h_get___(void * jarg1) {
  int jresult ;
  switch_frame_geometry *arg1 = (switch_frame_geometry *) 0 ;
  int32_t result;
  
  arg1 = (switch_frame_geometry *)jarg1; 
  result = (int32_t) ((arg1)->h);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_geometry_t_x_set___(void * jarg1, int jarg2) {
  switch_frame_geometry *arg1 = (switch_frame_geometry *) 0 ;
  int32_t arg2 ;
  
  arg1 = (switch_frame_geometry *)jarg1; 
  arg2 = (int32_t)jarg2; 
  if (arg1) (arg1)->x = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_geometry_t_x_get___(void * jarg1) {
  int jresult ;
  switch_frame_geometry *arg1 = (switch_frame_geometry *) 0 ;
  int32_t result;
  
  arg1 = (switch_frame_geometry *)jarg1; 
  result = (int32_t) ((arg1)->x);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_geometry_t_y_set___(void * jarg1, int jarg2) {
  switch_frame_geometry *arg1 = (switch_frame_geometry *) 0 ;
  int32_t arg2 ;
  
  arg1 = (switch_frame_geometry *)jarg1; 
  arg2 = (int32_t)jarg2; 
  if (arg1) (arg1)->y = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_geometry_t_y_get___(void * jarg1) {
  int jresult ;
  switch_frame_geometry *arg1 = (switch_frame_geometry *) 0 ;
  int32_t result;
  
  arg1 = (switch_frame_geometry *)jarg1; 
  result = (int32_t) ((arg1)->y);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_geometry_t_z_set___(void * jarg1, int jarg2) {
  switch_frame_geometry *arg1 = (switch_frame_geometry *) 0 ;
  int32_t arg2 ;
  
  arg1 = (switch_frame_geometry *)jarg1; 
  arg2 = (int32_t)jarg2; 
  if (arg1) (arg1)->z = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_geometry_t_z_get___(void * jarg1) {
  int jresult ;
  switch_frame_geometry *arg1 = (switch_frame_geometry *) 0 ;
  int32_t result;
  
  arg1 = (switch_frame_geometry *)jarg1; 
  result = (int32_t) ((arg1)->z);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_geometry_t_M_set___(void * jarg1, int jarg2) {
  switch_frame_geometry *arg1 = (switch_frame_geometry *) 0 ;
  int32_t arg2 ;
  
  arg1 = (switch_frame_geometry *)jarg1; 
  arg2 = (int32_t)jarg2; 
  if (arg1) (arg1)->M = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_geometry_t_M_get___(void * jarg1) {
  int jresult ;
  switch_frame_geometry *arg1 = (switch_frame_geometry *) 0 ;
  int32_t result;
  
  arg1 = (switch_frame_geometry *)jarg1; 
  result = (int32_t) ((arg1)->M);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_geometry_t_X_set___(void * jarg1, int jarg2) {
  switch_frame_geometry *arg1 = (switch_frame_geometry *) 0 ;
  int32_t arg2 ;
  
  arg1 = (switch_frame_geometry *)jarg1; 
  arg2 = (int32_t)jarg2; 
  if (arg1) (arg1)->X = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_geometry_t_X_get___(void * jarg1) {
  int jresult ;
  switch_frame_geometry *arg1 = (switch_frame_geometry *) 0 ;
  int32_t result;
  
  arg1 = (switch_frame_geometry *)jarg1; 
  result = (int32_t) ((arg1)->X);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_frame_geometry_t___() {
  void * jresult ;
  switch_frame_geometry *result = 0 ;
  
  result = (switch_frame_geometry *)new switch_frame_geometry();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_frame_geometry_t___(void * jarg1) {
  switch_frame_geometry *arg1 = (switch_frame_geometry *) 0 ;
  
  arg1 = (switch_frame_geometry *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_codec_set___(void * jarg1, void * jarg2) {
  switch_frame *arg1 = (switch_frame *) 0 ;
  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
  
  arg1 = (switch_frame *)jarg1; 
  arg2 = (switch_codec_t *)jarg2; 
  if (arg1) (arg1)->codec = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_codec_get___(void * jarg1) {
  void * jresult ;
  switch_frame *arg1 = (switch_frame *) 0 ;
  switch_codec_t *result = 0 ;
  
  arg1 = (switch_frame *)jarg1; 
  result = (switch_codec_t *) ((arg1)->codec);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_source_set___(void * jarg1, char * jarg2) {
  switch_frame *arg1 = (switch_frame *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_frame *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->source = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->source, (const char *)arg2);
    } else {
      arg1->source = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_source_get___(void * jarg1) {
  char * jresult ;
  switch_frame *arg1 = (switch_frame *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_frame *)jarg1; 
  result = (char *) ((arg1)->source);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_packet_set___(void * jarg1, void * jarg2) {
  switch_frame *arg1 = (switch_frame *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_frame *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->packet = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_packet_get___(void * jarg1) {
  void * jresult ;
  switch_frame *arg1 = (switch_frame *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_frame *)jarg1; 
  result = (void *) ((arg1)->packet);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_packetlen_set___(void * jarg1, unsigned long jarg2) {
  switch_frame *arg1 = (switch_frame *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_frame *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->packetlen = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_packetlen_get___(void * jarg1) {
  unsigned long jresult ;
  switch_frame *arg1 = (switch_frame *) 0 ;
  uint32_t result;
  
  arg1 = (switch_frame *)jarg1; 
  result = (uint32_t) ((arg1)->packetlen);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_extra_data_set___(void * jarg1, void * jarg2) {
  switch_frame *arg1 = (switch_frame *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_frame *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->extra_data = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_extra_data_get___(void * jarg1) {
  void * jresult ;
  switch_frame *arg1 = (switch_frame *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_frame *)jarg1; 
  result = (void *) ((arg1)->extra_data);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_data_set___(void * jarg1, void * jarg2) {
  switch_frame *arg1 = (switch_frame *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_frame *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->data = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_data_get___(void * jarg1) {
  void * jresult ;
  switch_frame *arg1 = (switch_frame *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_frame *)jarg1; 
  result = (void *) ((arg1)->data);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_datalen_set___(void * jarg1, unsigned long jarg2) {
  switch_frame *arg1 = (switch_frame *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_frame *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->datalen = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_datalen_get___(void * jarg1) {
  unsigned long jresult ;
  switch_frame *arg1 = (switch_frame *) 0 ;
  uint32_t result;
  
  arg1 = (switch_frame *)jarg1; 
  result = (uint32_t) ((arg1)->datalen);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_buflen_set___(void * jarg1, unsigned long jarg2) {
  switch_frame *arg1 = (switch_frame *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_frame *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->buflen = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_buflen_get___(void * jarg1) {
  unsigned long jresult ;
  switch_frame *arg1 = (switch_frame *) 0 ;
  uint32_t result;
  
  arg1 = (switch_frame *)jarg1; 
  result = (uint32_t) ((arg1)->buflen);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_samples_set___(void * jarg1, unsigned long jarg2) {
  switch_frame *arg1 = (switch_frame *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_frame *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->samples = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_samples_get___(void * jarg1) {
  unsigned long jresult ;
  switch_frame *arg1 = (switch_frame *) 0 ;
  uint32_t result;
  
  arg1 = (switch_frame *)jarg1; 
  result = (uint32_t) ((arg1)->samples);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_rate_set___(void * jarg1, unsigned long jarg2) {
  switch_frame *arg1 = (switch_frame *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_frame *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->rate = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_rate_get___(void * jarg1) {
  unsigned long jresult ;
  switch_frame *arg1 = (switch_frame *) 0 ;
  uint32_t result;
  
  arg1 = (switch_frame *)jarg1; 
  result = (uint32_t) ((arg1)->rate);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_channels_set___(void * jarg1, unsigned long jarg2) {
  switch_frame *arg1 = (switch_frame *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_frame *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->channels = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_channels_get___(void * jarg1) {
  unsigned long jresult ;
  switch_frame *arg1 = (switch_frame *) 0 ;
  uint32_t result;
  
  arg1 = (switch_frame *)jarg1; 
  result = (uint32_t) ((arg1)->channels);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_payload_set___(void * jarg1, unsigned char jarg2) {
  switch_frame *arg1 = (switch_frame *) 0 ;
  switch_payload_t arg2 ;
  
  arg1 = (switch_frame *)jarg1; 
  arg2 = (switch_payload_t)jarg2; 
  if (arg1) (arg1)->payload = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_payload_get___(void * jarg1) {
  unsigned char jresult ;
  switch_frame *arg1 = (switch_frame *) 0 ;
  switch_payload_t result;
  
  arg1 = (switch_frame *)jarg1; 
  result = (switch_payload_t) ((arg1)->payload);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_timestamp_set___(void * jarg1, unsigned long jarg2) {
  switch_frame *arg1 = (switch_frame *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_frame *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->timestamp = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_timestamp_get___(void * jarg1) {
  unsigned long jresult ;
  switch_frame *arg1 = (switch_frame *) 0 ;
  uint32_t result;
  
  arg1 = (switch_frame *)jarg1; 
  result = (uint32_t) ((arg1)->timestamp);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_seq_set___(void * jarg1, unsigned short jarg2) {
  switch_frame *arg1 = (switch_frame *) 0 ;
  uint16_t arg2 ;
  
  arg1 = (switch_frame *)jarg1; 
  arg2 = (uint16_t)jarg2; 
  if (arg1) (arg1)->seq = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_seq_get___(void * jarg1) {
  unsigned short jresult ;
  switch_frame *arg1 = (switch_frame *) 0 ;
  uint16_t result;
  
  arg1 = (switch_frame *)jarg1; 
  result = (uint16_t) ((arg1)->seq);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_ssrc_set___(void * jarg1, unsigned long jarg2) {
  switch_frame *arg1 = (switch_frame *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_frame *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->ssrc = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_ssrc_get___(void * jarg1) {
  unsigned long jresult ;
  switch_frame *arg1 = (switch_frame *) 0 ;
  uint32_t result;
  
  arg1 = (switch_frame *)jarg1; 
  result = (uint32_t) ((arg1)->ssrc);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_m_set___(void * jarg1, int jarg2) {
  switch_frame *arg1 = (switch_frame *) 0 ;
  switch_bool_t arg2 ;
  
  arg1 = (switch_frame *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  if (arg1) (arg1)->m = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_m_get___(void * jarg1) {
  int jresult ;
  switch_frame *arg1 = (switch_frame *) 0 ;
  switch_bool_t result;
  
  arg1 = (switch_frame *)jarg1; 
  result = (switch_bool_t) ((arg1)->m);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_flags_set___(void * jarg1, unsigned long jarg2) {
  switch_frame *arg1 = (switch_frame *) 0 ;
  switch_frame_flag_t arg2 ;
  
  arg1 = (switch_frame *)jarg1; 
  arg2 = (switch_frame_flag_t)jarg2; 
  if (arg1) (arg1)->flags = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_flags_get___(void * jarg1) {
  unsigned long jresult ;
  switch_frame *arg1 = (switch_frame *) 0 ;
  switch_frame_flag_t result;
  
  arg1 = (switch_frame *)jarg1; 
  result = (switch_frame_flag_t) ((arg1)->flags);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_user_data_set___(void * jarg1, void * jarg2) {
  switch_frame *arg1 = (switch_frame *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_frame *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->user_data = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_user_data_get___(void * jarg1) {
  void * jresult ;
  switch_frame *arg1 = (switch_frame *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_frame *)jarg1; 
  result = (void *) ((arg1)->user_data);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_pmap_set___(void * jarg1, void * jarg2) {
  switch_frame *arg1 = (switch_frame *) 0 ;
  payload_map_t *arg2 = (payload_map_t *) 0 ;
  
  arg1 = (switch_frame *)jarg1; 
  arg2 = (payload_map_t *)jarg2; 
  if (arg1) (arg1)->pmap = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_pmap_get___(void * jarg1) {
  void * jresult ;
  switch_frame *arg1 = (switch_frame *) 0 ;
  payload_map_t *result = 0 ;
  
  arg1 = (switch_frame *)jarg1; 
  result = (payload_map_t *) ((arg1)->pmap);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_img_set___(void * jarg1, void * jarg2) {
  switch_frame *arg1 = (switch_frame *) 0 ;
  switch_image_t *arg2 = (switch_image_t *) 0 ;
  
  arg1 = (switch_frame *)jarg1; 
  arg2 = (switch_image_t *)jarg2; 
  if (arg1) (arg1)->img = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_img_get___(void * jarg1) {
  void * jresult ;
  switch_frame *arg1 = (switch_frame *) 0 ;
  switch_image_t *result = 0 ;
  
  arg1 = (switch_frame *)jarg1; 
  result = (switch_image_t *) ((arg1)->img);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_geometry_set___(void * jarg1, void * jarg2) {
  switch_frame *arg1 = (switch_frame *) 0 ;
  switch_frame_geometry *arg2 = (switch_frame_geometry *) 0 ;
  
  arg1 = (switch_frame *)jarg1; 
  arg2 = (switch_frame_geometry *)jarg2; 
  if (arg1) (arg1)->geometry = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_geometry_get___(void * jarg1) {
  void * jresult ;
  switch_frame *arg1 = (switch_frame *) 0 ;
  switch_frame_geometry *result = 0 ;
  
  arg1 = (switch_frame *)jarg1; 
  result = (switch_frame_geometry *)& ((arg1)->geometry);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_frame___() {
  void * jresult ;
  switch_frame *result = 0 ;
  
  result = (switch_frame *)new switch_frame();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_frame___(void * jarg1) {
  switch_frame *arg1 = (switch_frame *) 0 ;
  
  arg1 = (switch_frame *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_on_init_set___(void * jarg1, void * jarg2) {
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  arg2 = (switch_state_handler_t)jarg2; 
  if (arg1) (arg1)->on_init = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_on_init_get___(void * jarg1) {
  void * jresult ;
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  switch_state_handler_t result;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  result = (switch_state_handler_t) ((arg1)->on_init);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_on_routing_set___(void * jarg1, void * jarg2) {
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  arg2 = (switch_state_handler_t)jarg2; 
  if (arg1) (arg1)->on_routing = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_on_routing_get___(void * jarg1) {
  void * jresult ;
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  switch_state_handler_t result;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  result = (switch_state_handler_t) ((arg1)->on_routing);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_on_execute_set___(void * jarg1, void * jarg2) {
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  arg2 = (switch_state_handler_t)jarg2; 
  if (arg1) (arg1)->on_execute = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_on_execute_get___(void * jarg1) {
  void * jresult ;
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  switch_state_handler_t result;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  result = (switch_state_handler_t) ((arg1)->on_execute);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_on_hangup_set___(void * jarg1, void * jarg2) {
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  arg2 = (switch_state_handler_t)jarg2; 
  if (arg1) (arg1)->on_hangup = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_on_hangup_get___(void * jarg1) {
  void * jresult ;
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  switch_state_handler_t result;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  result = (switch_state_handler_t) ((arg1)->on_hangup);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_on_exchange_media_set___(void * jarg1, void * jarg2) {
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  arg2 = (switch_state_handler_t)jarg2; 
  if (arg1) (arg1)->on_exchange_media = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_on_exchange_media_get___(void * jarg1) {
  void * jresult ;
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  switch_state_handler_t result;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  result = (switch_state_handler_t) ((arg1)->on_exchange_media);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_on_soft_execute_set___(void * jarg1, void * jarg2) {
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  arg2 = (switch_state_handler_t)jarg2; 
  if (arg1) (arg1)->on_soft_execute = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_on_soft_execute_get___(void * jarg1) {
  void * jresult ;
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  switch_state_handler_t result;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  result = (switch_state_handler_t) ((arg1)->on_soft_execute);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_on_consume_media_set___(void * jarg1, void * jarg2) {
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  arg2 = (switch_state_handler_t)jarg2; 
  if (arg1) (arg1)->on_consume_media = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_on_consume_media_get___(void * jarg1) {
  void * jresult ;
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  switch_state_handler_t result;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  result = (switch_state_handler_t) ((arg1)->on_consume_media);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_on_hibernate_set___(void * jarg1, void * jarg2) {
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  arg2 = (switch_state_handler_t)jarg2; 
  if (arg1) (arg1)->on_hibernate = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_on_hibernate_get___(void * jarg1) {
  void * jresult ;
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  switch_state_handler_t result;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  result = (switch_state_handler_t) ((arg1)->on_hibernate);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_on_reset_set___(void * jarg1, void * jarg2) {
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  arg2 = (switch_state_handler_t)jarg2; 
  if (arg1) (arg1)->on_reset = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_on_reset_get___(void * jarg1) {
  void * jresult ;
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  switch_state_handler_t result;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  result = (switch_state_handler_t) ((arg1)->on_reset);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_on_park_set___(void * jarg1, void * jarg2) {
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  arg2 = (switch_state_handler_t)jarg2; 
  if (arg1) (arg1)->on_park = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_on_park_get___(void * jarg1) {
  void * jresult ;
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  switch_state_handler_t result;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  result = (switch_state_handler_t) ((arg1)->on_park);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_on_reporting_set___(void * jarg1, void * jarg2) {
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  arg2 = (switch_state_handler_t)jarg2; 
  if (arg1) (arg1)->on_reporting = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_on_reporting_get___(void * jarg1) {
  void * jresult ;
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  switch_state_handler_t result;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  result = (switch_state_handler_t) ((arg1)->on_reporting);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_on_destroy_set___(void * jarg1, void * jarg2) {
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  arg2 = (switch_state_handler_t)jarg2; 
  if (arg1) (arg1)->on_destroy = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_on_destroy_get___(void * jarg1) {
  void * jresult ;
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  switch_state_handler_t result;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  result = (switch_state_handler_t) ((arg1)->on_destroy);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_flags_set___(void * jarg1, int jarg2) {
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  int arg2 ;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->flags = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_flags_get___(void * jarg1) {
  int jresult ;
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  int result;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  result = (int) ((arg1)->flags);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_padding_set___(void * jarg1, void * jarg2) {
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  void **arg2 ;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  arg2 = (void **)jarg2; 
  {
    size_t ii;
    void * *b = (void * *) arg1->padding;
    for (ii = 0; ii < (size_t)10; ii++) b[ii] = *((void * *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_state_handler_table_padding_get___(void * jarg1) {
  void * jresult ;
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  void **result = 0 ;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  result = (void **)(void **) ((arg1)->padding);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_state_handler_table___() {
  void * jresult ;
  switch_state_handler_table *result = 0 ;
  
  result = (switch_state_handler_table *)new switch_state_handler_table();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_state_handler_table___(void * jarg1) {
  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
  
  arg1 = (switch_state_handler_table *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_handle_read_function_set___(void * jarg1, void * jarg2) {
  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
  switch_stream_handle_read_function_t arg2 = (switch_stream_handle_read_function_t) 0 ;
  
  arg1 = (switch_stream_handle *)jarg1; 
  arg2 = (switch_stream_handle_read_function_t)jarg2; 
  if (arg1) (arg1)->read_function = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_handle_read_function_get___(void * jarg1) {
  void * jresult ;
  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
  switch_stream_handle_read_function_t result;
  
  arg1 = (switch_stream_handle *)jarg1; 
  result = (switch_stream_handle_read_function_t) ((arg1)->read_function);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_handle_write_function_set___(void * jarg1, void * jarg2) {
  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
  switch_stream_handle_write_function_t arg2 = (switch_stream_handle_write_function_t) 0 ;
  
  arg1 = (switch_stream_handle *)jarg1; 
  arg2 = (switch_stream_handle_write_function_t)jarg2; 
  if (arg1) (arg1)->write_function = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_handle_write_function_get___(void * jarg1) {
  void * jresult ;
  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
  switch_stream_handle_write_function_t result;
  
  arg1 = (switch_stream_handle *)jarg1; 
  result = (switch_stream_handle_write_function_t) ((arg1)->write_function);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_handle_raw_write_function_set___(void * jarg1, void * jarg2) {
  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
  switch_stream_handle_raw_write_function_t arg2 = (switch_stream_handle_raw_write_function_t) 0 ;
  
  arg1 = (switch_stream_handle *)jarg1; 
  arg2 = (switch_stream_handle_raw_write_function_t)jarg2; 
  if (arg1) (arg1)->raw_write_function = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_handle_raw_write_function_get___(void * jarg1) {
  void * jresult ;
  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
  switch_stream_handle_raw_write_function_t result;
  
  arg1 = (switch_stream_handle *)jarg1; 
  result = (switch_stream_handle_raw_write_function_t) ((arg1)->raw_write_function);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_handle_data_set___(void * jarg1, void * jarg2) {
  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_stream_handle *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->data = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_handle_data_get___(void * jarg1) {
  void * jresult ;
  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_stream_handle *)jarg1; 
  result = (void *) ((arg1)->data);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_handle_end_set___(void * jarg1, void * jarg2) {
  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_stream_handle *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->end = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_handle_end_get___(void * jarg1) {
  void * jresult ;
  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_stream_handle *)jarg1; 
  result = (void *) ((arg1)->end);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_handle_data_size_set___(void * jarg1, void * jarg2) {
  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_stream_handle *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->data_size = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_handle_data_size_get___(void * jarg1) {
  void * jresult ;
  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_stream_handle *)jarg1; 
  result =  ((arg1)->data_size);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_handle_data_len_set___(void * jarg1, void * jarg2) {
  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_stream_handle *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->data_len = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_handle_data_len_get___(void * jarg1) {
  void * jresult ;
  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_stream_handle *)jarg1; 
  result =  ((arg1)->data_len);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_handle_alloc_len_set___(void * jarg1, void * jarg2) {
  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_stream_handle *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->alloc_len = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_handle_alloc_len_get___(void * jarg1) {
  void * jresult ;
  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_stream_handle *)jarg1; 
  result =  ((arg1)->alloc_len);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_handle_alloc_chunk_set___(void * jarg1, void * jarg2) {
  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_stream_handle *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->alloc_chunk = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_handle_alloc_chunk_get___(void * jarg1) {
  void * jresult ;
  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_stream_handle *)jarg1; 
  result =  ((arg1)->alloc_chunk);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_handle_param_event_set___(void * jarg1, void * jarg2) {
  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
  switch_event_t *arg2 = (switch_event_t *) 0 ;
  
  arg1 = (switch_stream_handle *)jarg1; 
  arg2 = (switch_event_t *)jarg2; 
  if (arg1) (arg1)->param_event = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_handle_param_event_get___(void * jarg1) {
  void * jresult ;
  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
  switch_event_t *result = 0 ;
  
  arg1 = (switch_stream_handle *)jarg1; 
  result = (switch_event_t *) ((arg1)->param_event);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_stream_handle___() {
  void * jresult ;
  switch_stream_handle *result = 0 ;
  
  result = (switch_stream_handle *)new switch_stream_handle();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_stream_handle___(void * jarg1) {
  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
  
  arg1 = (switch_stream_handle *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_outgoing_channel_set___(void * jarg1, void * jarg2) {
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_outgoing_channel_t arg2 = (switch_io_outgoing_channel_t) 0 ;
  
  arg1 = (switch_io_routines *)jarg1; 
  arg2 = (switch_io_outgoing_channel_t)jarg2; 
  if (arg1) (arg1)->outgoing_channel = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_outgoing_channel_get___(void * jarg1) {
  void * jresult ;
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_outgoing_channel_t result;
  
  arg1 = (switch_io_routines *)jarg1; 
  result = (switch_io_outgoing_channel_t) ((arg1)->outgoing_channel);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_read_frame_set___(void * jarg1, void * jarg2) {
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_read_frame_t arg2 = (switch_io_read_frame_t) 0 ;
  
  arg1 = (switch_io_routines *)jarg1; 
  arg2 = (switch_io_read_frame_t)jarg2; 
  if (arg1) (arg1)->read_frame = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_read_frame_get___(void * jarg1) {
  void * jresult ;
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_read_frame_t result;
  
  arg1 = (switch_io_routines *)jarg1; 
  result = (switch_io_read_frame_t) ((arg1)->read_frame);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_write_frame_set___(void * jarg1, void * jarg2) {
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_write_frame_t arg2 = (switch_io_write_frame_t) 0 ;
  
  arg1 = (switch_io_routines *)jarg1; 
  arg2 = (switch_io_write_frame_t)jarg2; 
  if (arg1) (arg1)->write_frame = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_write_frame_get___(void * jarg1) {
  void * jresult ;
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_write_frame_t result;
  
  arg1 = (switch_io_routines *)jarg1; 
  result = (switch_io_write_frame_t) ((arg1)->write_frame);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_kill_channel_set___(void * jarg1, void * jarg2) {
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_kill_channel_t arg2 = (switch_io_kill_channel_t) 0 ;
  
  arg1 = (switch_io_routines *)jarg1; 
  arg2 = (switch_io_kill_channel_t)jarg2; 
  if (arg1) (arg1)->kill_channel = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_kill_channel_get___(void * jarg1) {
  void * jresult ;
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_kill_channel_t result;
  
  arg1 = (switch_io_routines *)jarg1; 
  result = (switch_io_kill_channel_t) ((arg1)->kill_channel);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_send_dtmf_set___(void * jarg1, void * jarg2) {
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_send_dtmf_t arg2 = (switch_io_send_dtmf_t) 0 ;
  
  arg1 = (switch_io_routines *)jarg1; 
  arg2 = (switch_io_send_dtmf_t)jarg2; 
  if (arg1) (arg1)->send_dtmf = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_send_dtmf_get___(void * jarg1) {
  void * jresult ;
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_send_dtmf_t result;
  
  arg1 = (switch_io_routines *)jarg1; 
  result = (switch_io_send_dtmf_t) ((arg1)->send_dtmf);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_receive_message_set___(void * jarg1, void * jarg2) {
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_receive_message_t arg2 = (switch_io_receive_message_t) 0 ;
  
  arg1 = (switch_io_routines *)jarg1; 
  arg2 = (switch_io_receive_message_t)jarg2; 
  if (arg1) (arg1)->receive_message = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_receive_message_get___(void * jarg1) {
  void * jresult ;
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_receive_message_t result;
  
  arg1 = (switch_io_routines *)jarg1; 
  result = (switch_io_receive_message_t) ((arg1)->receive_message);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_receive_event_set___(void * jarg1, void * jarg2) {
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_receive_event_t arg2 = (switch_io_receive_event_t) 0 ;
  
  arg1 = (switch_io_routines *)jarg1; 
  arg2 = (switch_io_receive_event_t)jarg2; 
  if (arg1) (arg1)->receive_event = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_receive_event_get___(void * jarg1) {
  void * jresult ;
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_receive_event_t result;
  
  arg1 = (switch_io_routines *)jarg1; 
  result = (switch_io_receive_event_t) ((arg1)->receive_event);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_state_change_set___(void * jarg1, void * jarg2) {
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_state_change_t arg2 = (switch_io_state_change_t) 0 ;
  
  arg1 = (switch_io_routines *)jarg1; 
  arg2 = (switch_io_state_change_t)jarg2; 
  if (arg1) (arg1)->state_change = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_state_change_get___(void * jarg1) {
  void * jresult ;
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_state_change_t result;
  
  arg1 = (switch_io_routines *)jarg1; 
  result = (switch_io_state_change_t) ((arg1)->state_change);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_read_video_frame_set___(void * jarg1, void * jarg2) {
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_read_video_frame_t arg2 = (switch_io_read_video_frame_t) 0 ;
  
  arg1 = (switch_io_routines *)jarg1; 
  arg2 = (switch_io_read_video_frame_t)jarg2; 
  if (arg1) (arg1)->read_video_frame = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_read_video_frame_get___(void * jarg1) {
  void * jresult ;
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_read_video_frame_t result;
  
  arg1 = (switch_io_routines *)jarg1; 
  result = (switch_io_read_video_frame_t) ((arg1)->read_video_frame);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_write_video_frame_set___(void * jarg1, void * jarg2) {
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_write_video_frame_t arg2 = (switch_io_write_video_frame_t) 0 ;
  
  arg1 = (switch_io_routines *)jarg1; 
  arg2 = (switch_io_write_video_frame_t)jarg2; 
  if (arg1) (arg1)->write_video_frame = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_write_video_frame_get___(void * jarg1) {
  void * jresult ;
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_write_video_frame_t result;
  
  arg1 = (switch_io_routines *)jarg1; 
  result = (switch_io_write_video_frame_t) ((arg1)->write_video_frame);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_read_text_frame_set___(void * jarg1, void * jarg2) {
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_read_text_frame_t arg2 = (switch_io_read_text_frame_t) 0 ;
  
  arg1 = (switch_io_routines *)jarg1; 
  arg2 = (switch_io_read_text_frame_t)jarg2; 
  if (arg1) (arg1)->read_text_frame = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_read_text_frame_get___(void * jarg1) {
  void * jresult ;
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_read_text_frame_t result;
  
  arg1 = (switch_io_routines *)jarg1; 
  result = (switch_io_read_text_frame_t) ((arg1)->read_text_frame);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_write_text_frame_set___(void * jarg1, void * jarg2) {
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_write_text_frame_t arg2 = (switch_io_write_text_frame_t) 0 ;
  
  arg1 = (switch_io_routines *)jarg1; 
  arg2 = (switch_io_write_text_frame_t)jarg2; 
  if (arg1) (arg1)->write_text_frame = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_write_text_frame_get___(void * jarg1) {
  void * jresult ;
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_write_text_frame_t result;
  
  arg1 = (switch_io_routines *)jarg1; 
  result = (switch_io_write_text_frame_t) ((arg1)->write_text_frame);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_state_run_set___(void * jarg1, void * jarg2) {
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_state_run_t arg2 = (switch_io_state_run_t) 0 ;
  
  arg1 = (switch_io_routines *)jarg1; 
  arg2 = (switch_io_state_run_t)jarg2; 
  if (arg1) (arg1)->state_run = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_state_run_get___(void * jarg1) {
  void * jresult ;
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_state_run_t result;
  
  arg1 = (switch_io_routines *)jarg1; 
  result = (switch_io_state_run_t) ((arg1)->state_run);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_get_jb_set___(void * jarg1, void * jarg2) {
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_get_jb_t arg2 = (switch_io_get_jb_t) 0 ;
  
  arg1 = (switch_io_routines *)jarg1; 
  arg2 = (switch_io_get_jb_t)jarg2; 
  if (arg1) (arg1)->get_jb = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_get_jb_get___(void * jarg1) {
  void * jresult ;
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_get_jb_t result;
  
  arg1 = (switch_io_routines *)jarg1; 
  result = (switch_io_get_jb_t) ((arg1)->get_jb);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_padding_set___(void * jarg1, void * jarg2) {
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  void **arg2 ;
  
  arg1 = (switch_io_routines *)jarg1; 
  arg2 = (void **)jarg2; 
  {
    size_t ii;
    void * *b = (void * *) arg1->padding;
    for (ii = 0; ii < (size_t)10; ii++) b[ii] = *((void * *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_routines_padding_get___(void * jarg1) {
  void * jresult ;
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  void **result = 0 ;
  
  arg1 = (switch_io_routines *)jarg1; 
  result = (void **)(void **) ((arg1)->padding);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_io_routines___() {
  void * jresult ;
  switch_io_routines *result = 0 ;
  
  result = (switch_io_routines *)new switch_io_routines();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_io_routines___(void * jarg1) {
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  
  arg1 = (switch_io_routines *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_endpoint_interface_interface_name_set___(void * jarg1, char * jarg2) {
  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_endpoint_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->interface_name, (const char *)arg2);
    } else {
      arg1->interface_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_endpoint_interface_interface_name_get___(void * jarg1) {
  char * jresult ;
  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_endpoint_interface *)jarg1; 
  result = (char *) ((arg1)->interface_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_endpoint_interface_io_routines_set___(void * jarg1, void * jarg2) {
  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
  switch_io_routines_t *arg2 = (switch_io_routines_t *) 0 ;
  
  arg1 = (switch_endpoint_interface *)jarg1; 
  arg2 = (switch_io_routines_t *)jarg2; 
  if (arg1) (arg1)->io_routines = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_endpoint_interface_io_routines_get___(void * jarg1) {
  void * jresult ;
  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
  switch_io_routines_t *result = 0 ;
  
  arg1 = (switch_endpoint_interface *)jarg1; 
  result = (switch_io_routines_t *) ((arg1)->io_routines);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_endpoint_interface_state_handler_set___(void * jarg1, void * jarg2) {
  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
  switch_state_handler_table_t *arg2 = (switch_state_handler_table_t *) 0 ;
  
  arg1 = (switch_endpoint_interface *)jarg1; 
  arg2 = (switch_state_handler_table_t *)jarg2; 
  if (arg1) (arg1)->state_handler = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_endpoint_interface_state_handler_get___(void * jarg1) {
  void * jresult ;
  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
  switch_state_handler_table_t *result = 0 ;
  
  arg1 = (switch_endpoint_interface *)jarg1; 
  result = (switch_state_handler_table_t *) ((arg1)->state_handler);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_endpoint_interface_private_info_set___(void * jarg1, void * jarg2) {
  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_endpoint_interface *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->private_info = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_endpoint_interface_private_info_get___(void * jarg1) {
  void * jresult ;
  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_endpoint_interface *)jarg1; 
  result = (void *) ((arg1)->private_info);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_endpoint_interface_rwlock_set___(void * jarg1, void * jarg2) {
  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
  
  arg1 = (switch_endpoint_interface *)jarg1; 
  arg2 = (switch_thread_rwlock_t *)jarg2; 
  if (arg1) (arg1)->rwlock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_endpoint_interface_rwlock_get___(void * jarg1) {
  void * jresult ;
  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
  switch_thread_rwlock_t *result = 0 ;
  
  arg1 = (switch_endpoint_interface *)jarg1; 
  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_endpoint_interface_refs_set___(void * jarg1, int jarg2) {
  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
  int arg2 ;
  
  arg1 = (switch_endpoint_interface *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->refs = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_endpoint_interface_refs_get___(void * jarg1) {
  int jresult ;
  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
  int result;
  
  arg1 = (switch_endpoint_interface *)jarg1; 
  result = (int) ((arg1)->refs);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_endpoint_interface_reflock_set___(void * jarg1, void * jarg2) {
  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
  
  arg1 = (switch_endpoint_interface *)jarg1; 
  arg2 = (switch_mutex_t *)jarg2; 
  if (arg1) (arg1)->reflock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_endpoint_interface_reflock_get___(void * jarg1) {
  void * jresult ;
  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
  switch_mutex_t *result = 0 ;
  
  arg1 = (switch_endpoint_interface *)jarg1; 
  result = (switch_mutex_t *) ((arg1)->reflock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_endpoint_interface_parent_set___(void * jarg1, void * jarg2) {
  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
  switch_loadable_module_interface_t *arg2 = (switch_loadable_module_interface_t *) 0 ;
  
  arg1 = (switch_endpoint_interface *)jarg1; 
  arg2 = (switch_loadable_module_interface_t *)jarg2; 
  if (arg1) (arg1)->parent = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_endpoint_interface_parent_get___(void * jarg1) {
  void * jresult ;
  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
  switch_loadable_module_interface_t *result = 0 ;
  
  arg1 = (switch_endpoint_interface *)jarg1; 
  result = (switch_loadable_module_interface_t *) ((arg1)->parent);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_endpoint_interface_next_set___(void * jarg1, void * jarg2) {
  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
  switch_endpoint_interface *arg2 = (switch_endpoint_interface *) 0 ;
  
  arg1 = (switch_endpoint_interface *)jarg1; 
  arg2 = (switch_endpoint_interface *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_endpoint_interface_next_get___(void * jarg1) {
  void * jresult ;
  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
  switch_endpoint_interface *result = 0 ;
  
  arg1 = (switch_endpoint_interface *)jarg1; 
  result = (switch_endpoint_interface *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_endpoint_interface_recover_callback_set___(void * jarg1, void * jarg2) {
  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
  switch_core_recover_callback_t arg2 = (switch_core_recover_callback_t) 0 ;
  
  arg1 = (switch_endpoint_interface *)jarg1; 
  arg2 = (switch_core_recover_callback_t)jarg2; 
  if (arg1) (arg1)->recover_callback = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_endpoint_interface_recover_callback_get___(void * jarg1) {
  void * jresult ;
  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
  switch_core_recover_callback_t result;
  
  arg1 = (switch_endpoint_interface *)jarg1; 
  result = (switch_core_recover_callback_t) ((arg1)->recover_callback);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_endpoint_interface___() {
  void * jresult ;
  switch_endpoint_interface *result = 0 ;
  
  result = (switch_endpoint_interface *)new switch_endpoint_interface();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_endpoint_interface___(void * jarg1) {
  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
  
  arg1 = (switch_endpoint_interface *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_interval_set___(void * jarg1, int jarg2) {
  switch_timer *arg1 = (switch_timer *) 0 ;
  int arg2 ;
  
  arg1 = (switch_timer *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->interval = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_interval_get___(void * jarg1) {
  int jresult ;
  switch_timer *arg1 = (switch_timer *) 0 ;
  int result;
  
  arg1 = (switch_timer *)jarg1; 
  result = (int) ((arg1)->interval);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_flags_set___(void * jarg1, unsigned long jarg2) {
  switch_timer *arg1 = (switch_timer *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_timer *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->flags = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_flags_get___(void * jarg1) {
  unsigned long jresult ;
  switch_timer *arg1 = (switch_timer *) 0 ;
  uint32_t result;
  
  arg1 = (switch_timer *)jarg1; 
  result = (uint32_t) ((arg1)->flags);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_samples_set___(void * jarg1, unsigned int jarg2) {
  switch_timer *arg1 = (switch_timer *) 0 ;
  unsigned int arg2 ;
  
  arg1 = (switch_timer *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  if (arg1) (arg1)->samples = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_samples_get___(void * jarg1) {
  unsigned int jresult ;
  switch_timer *arg1 = (switch_timer *) 0 ;
  unsigned int result;
  
  arg1 = (switch_timer *)jarg1; 
  result = (unsigned int) ((arg1)->samples);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_samplecount_set___(void * jarg1, unsigned long jarg2) {
  switch_timer *arg1 = (switch_timer *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_timer *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->samplecount = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_samplecount_get___(void * jarg1) {
  unsigned long jresult ;
  switch_timer *arg1 = (switch_timer *) 0 ;
  uint32_t result;
  
  arg1 = (switch_timer *)jarg1; 
  result = (uint32_t) ((arg1)->samplecount);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_last_samplecount_set___(void * jarg1, unsigned long jarg2) {
  switch_timer *arg1 = (switch_timer *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_timer *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->last_samplecount = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_last_samplecount_get___(void * jarg1) {
  unsigned long jresult ;
  switch_timer *arg1 = (switch_timer *) 0 ;
  uint32_t result;
  
  arg1 = (switch_timer *)jarg1; 
  result = (uint32_t) ((arg1)->last_samplecount);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_timer_interface_set___(void * jarg1, void * jarg2) {
  switch_timer *arg1 = (switch_timer *) 0 ;
  switch_timer_interface_t *arg2 = (switch_timer_interface_t *) 0 ;
  
  arg1 = (switch_timer *)jarg1; 
  arg2 = (switch_timer_interface_t *)jarg2; 
  if (arg1) (arg1)->timer_interface = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_timer_interface_get___(void * jarg1) {
  void * jresult ;
  switch_timer *arg1 = (switch_timer *) 0 ;
  switch_timer_interface_t *result = 0 ;
  
  arg1 = (switch_timer *)jarg1; 
  result = (switch_timer_interface_t *) ((arg1)->timer_interface);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_memory_pool_set___(void * jarg1, void * jarg2) {
  switch_timer *arg1 = (switch_timer *) 0 ;
  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
  
  arg1 = (switch_timer *)jarg1; 
  arg2 = (switch_memory_pool_t *)jarg2; 
  if (arg1) (arg1)->memory_pool = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_memory_pool_get___(void * jarg1) {
  void * jresult ;
  switch_timer *arg1 = (switch_timer *) 0 ;
  switch_memory_pool_t *result = 0 ;
  
  arg1 = (switch_timer *)jarg1; 
  result = (switch_memory_pool_t *) ((arg1)->memory_pool);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_private_info_set___(void * jarg1, void * jarg2) {
  switch_timer *arg1 = (switch_timer *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_timer *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->private_info = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_private_info_get___(void * jarg1) {
  void * jresult ;
  switch_timer *arg1 = (switch_timer *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_timer *)jarg1; 
  result = (void *) ((arg1)->private_info);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_diff_set___(void * jarg1, void * jarg2) {
  switch_timer *arg1 = (switch_timer *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_timer *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->diff = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_diff_get___(void * jarg1) {
  void * jresult ;
  switch_timer *arg1 = (switch_timer *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_timer *)jarg1; 
  result =  ((arg1)->diff);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_start_set___(void * jarg1, void * jarg2) {
  switch_timer *arg1 = (switch_timer *) 0 ;
  switch_time_t arg2 ;
  switch_time_t *argp2 ;
  
  arg1 = (switch_timer *)jarg1; 
  argp2 = (switch_time_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->start = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_start_get___(void * jarg1) {
  void * jresult ;
  switch_timer *arg1 = (switch_timer *) 0 ;
  switch_time_t result;
  
  arg1 = (switch_timer *)jarg1; 
  result =  ((arg1)->start);
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_tick_set___(void * jarg1, unsigned long long jarg2) {
  switch_timer *arg1 = (switch_timer *) 0 ;
  uint64_t arg2 ;
  
  arg1 = (switch_timer *)jarg1; 
  arg2 = (uint64_t)jarg2; 
  if (arg1) (arg1)->tick = arg2;
}


SWIGEXPORT unsigned long long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_tick_get___(void * jarg1) {
  unsigned long long jresult ;
  switch_timer *arg1 = (switch_timer *) 0 ;
  uint64_t result;
  
  arg1 = (switch_timer *)jarg1; 
  result = (uint64_t) ((arg1)->tick);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_timer___() {
  void * jresult ;
  switch_timer *result = 0 ;
  
  result = (switch_timer *)new switch_timer();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_timer___(void * jarg1) {
  switch_timer *arg1 = (switch_timer *) 0 ;
  
  arg1 = (switch_timer *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_interface_interface_name_set___(void * jarg1, char * jarg2) {
  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_timer_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->interface_name, (const char *)arg2);
    } else {
      arg1->interface_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_interface_interface_name_get___(void * jarg1) {
  char * jresult ;
  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_timer_interface *)jarg1; 
  result = (char *) ((arg1)->interface_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_interface_timer_init_set___(void * jarg1, void * jarg2) {
  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
  switch_status_t (*arg2)(switch_timer_t *) = (switch_status_t (*)(switch_timer_t *)) 0 ;
  
  arg1 = (switch_timer_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_timer_t *))jarg2; 
  if (arg1) (arg1)->timer_init = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_interface_timer_init_get___(void * jarg1) {
  void * jresult ;
  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
  switch_status_t (*result)(switch_timer_t *) = 0 ;
  
  arg1 = (switch_timer_interface *)jarg1; 
  result = (switch_status_t (*)(switch_timer_t *)) ((arg1)->timer_init);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_interface_timer_next_set___(void * jarg1, void * jarg2) {
  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
  switch_status_t (*arg2)(switch_timer_t *) = (switch_status_t (*)(switch_timer_t *)) 0 ;
  
  arg1 = (switch_timer_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_timer_t *))jarg2; 
  if (arg1) (arg1)->timer_next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_interface_timer_next_get___(void * jarg1) {
  void * jresult ;
  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
  switch_status_t (*result)(switch_timer_t *) = 0 ;
  
  arg1 = (switch_timer_interface *)jarg1; 
  result = (switch_status_t (*)(switch_timer_t *)) ((arg1)->timer_next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_interface_timer_step_set___(void * jarg1, void * jarg2) {
  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
  switch_status_t (*arg2)(switch_timer_t *) = (switch_status_t (*)(switch_timer_t *)) 0 ;
  
  arg1 = (switch_timer_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_timer_t *))jarg2; 
  if (arg1) (arg1)->timer_step = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_interface_timer_step_get___(void * jarg1) {
  void * jresult ;
  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
  switch_status_t (*result)(switch_timer_t *) = 0 ;
  
  arg1 = (switch_timer_interface *)jarg1; 
  result = (switch_status_t (*)(switch_timer_t *)) ((arg1)->timer_step);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_interface_timer_sync_set___(void * jarg1, void * jarg2) {
  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
  switch_status_t (*arg2)(switch_timer_t *) = (switch_status_t (*)(switch_timer_t *)) 0 ;
  
  arg1 = (switch_timer_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_timer_t *))jarg2; 
  if (arg1) (arg1)->timer_sync = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_interface_timer_sync_get___(void * jarg1) {
  void * jresult ;
  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
  switch_status_t (*result)(switch_timer_t *) = 0 ;
  
  arg1 = (switch_timer_interface *)jarg1; 
  result = (switch_status_t (*)(switch_timer_t *)) ((arg1)->timer_sync);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_interface_timer_check_set___(void * jarg1, void * jarg2) {
  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
  switch_status_t (*arg2)(switch_timer_t *,switch_bool_t) = (switch_status_t (*)(switch_timer_t *,switch_bool_t)) 0 ;
  
  arg1 = (switch_timer_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_timer_t *,switch_bool_t))jarg2; 
  if (arg1) (arg1)->timer_check = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_interface_timer_check_get___(void * jarg1) {
  void * jresult ;
  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
  switch_status_t (*result)(switch_timer_t *,switch_bool_t) = 0 ;
  
  arg1 = (switch_timer_interface *)jarg1; 
  result = (switch_status_t (*)(switch_timer_t *,switch_bool_t)) ((arg1)->timer_check);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_interface_timer_destroy_set___(void * jarg1, void * jarg2) {
  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
  switch_status_t (*arg2)(switch_timer_t *) = (switch_status_t (*)(switch_timer_t *)) 0 ;
  
  arg1 = (switch_timer_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_timer_t *))jarg2; 
  if (arg1) (arg1)->timer_destroy = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_interface_timer_destroy_get___(void * jarg1) {
  void * jresult ;
  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
  switch_status_t (*result)(switch_timer_t *) = 0 ;
  
  arg1 = (switch_timer_interface *)jarg1; 
  result = (switch_status_t (*)(switch_timer_t *)) ((arg1)->timer_destroy);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_interface_rwlock_set___(void * jarg1, void * jarg2) {
  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
  
  arg1 = (switch_timer_interface *)jarg1; 
  arg2 = (switch_thread_rwlock_t *)jarg2; 
  if (arg1) (arg1)->rwlock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_interface_rwlock_get___(void * jarg1) {
  void * jresult ;
  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
  switch_thread_rwlock_t *result = 0 ;
  
  arg1 = (switch_timer_interface *)jarg1; 
  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_interface_refs_set___(void * jarg1, int jarg2) {
  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
  int arg2 ;
  
  arg1 = (switch_timer_interface *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->refs = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_interface_refs_get___(void * jarg1) {
  int jresult ;
  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
  int result;
  
  arg1 = (switch_timer_interface *)jarg1; 
  result = (int) ((arg1)->refs);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_interface_reflock_set___(void * jarg1, void * jarg2) {
  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
  
  arg1 = (switch_timer_interface *)jarg1; 
  arg2 = (switch_mutex_t *)jarg2; 
  if (arg1) (arg1)->reflock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_interface_reflock_get___(void * jarg1) {
  void * jresult ;
  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
  switch_mutex_t *result = 0 ;
  
  arg1 = (switch_timer_interface *)jarg1; 
  result = (switch_mutex_t *) ((arg1)->reflock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_interface_parent_set___(void * jarg1, void * jarg2) {
  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
  switch_loadable_module_interface_t *arg2 = (switch_loadable_module_interface_t *) 0 ;
  
  arg1 = (switch_timer_interface *)jarg1; 
  arg2 = (switch_loadable_module_interface_t *)jarg2; 
  if (arg1) (arg1)->parent = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_interface_parent_get___(void * jarg1) {
  void * jresult ;
  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
  switch_loadable_module_interface_t *result = 0 ;
  
  arg1 = (switch_timer_interface *)jarg1; 
  result = (switch_loadable_module_interface_t *) ((arg1)->parent);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_interface_next_set___(void * jarg1, void * jarg2) {
  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
  switch_timer_interface *arg2 = (switch_timer_interface *) 0 ;
  
  arg1 = (switch_timer_interface *)jarg1; 
  arg2 = (switch_timer_interface *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_interface_next_get___(void * jarg1) {
  void * jresult ;
  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
  switch_timer_interface *result = 0 ;
  
  arg1 = (switch_timer_interface *)jarg1; 
  result = (switch_timer_interface *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_timer_interface___() {
  void * jresult ;
  switch_timer_interface *result = 0 ;
  
  result = (switch_timer_interface *)new switch_timer_interface();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_timer_interface___(void * jarg1) {
  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
  
  arg1 = (switch_timer_interface *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dialplan_interface_interface_name_set___(void * jarg1, char * jarg2) {
  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_dialplan_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->interface_name, (const char *)arg2);
    } else {
      arg1->interface_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dialplan_interface_interface_name_get___(void * jarg1) {
  char * jresult ;
  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_dialplan_interface *)jarg1; 
  result = (char *) ((arg1)->interface_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dialplan_interface_hunt_function_set___(void * jarg1, void * jarg2) {
  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
  switch_dialplan_hunt_function_t arg2 = (switch_dialplan_hunt_function_t) 0 ;
  
  arg1 = (switch_dialplan_interface *)jarg1; 
  arg2 = (switch_dialplan_hunt_function_t)jarg2; 
  if (arg1) (arg1)->hunt_function = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dialplan_interface_hunt_function_get___(void * jarg1) {
  void * jresult ;
  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
  switch_dialplan_hunt_function_t result;
  
  arg1 = (switch_dialplan_interface *)jarg1; 
  result = (switch_dialplan_hunt_function_t) ((arg1)->hunt_function);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dialplan_interface_rwlock_set___(void * jarg1, void * jarg2) {
  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
  
  arg1 = (switch_dialplan_interface *)jarg1; 
  arg2 = (switch_thread_rwlock_t *)jarg2; 
  if (arg1) (arg1)->rwlock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dialplan_interface_rwlock_get___(void * jarg1) {
  void * jresult ;
  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
  switch_thread_rwlock_t *result = 0 ;
  
  arg1 = (switch_dialplan_interface *)jarg1; 
  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dialplan_interface_refs_set___(void * jarg1, int jarg2) {
  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
  int arg2 ;
  
  arg1 = (switch_dialplan_interface *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->refs = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dialplan_interface_refs_get___(void * jarg1) {
  int jresult ;
  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
  int result;
  
  arg1 = (switch_dialplan_interface *)jarg1; 
  result = (int) ((arg1)->refs);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dialplan_interface_reflock_set___(void * jarg1, void * jarg2) {
  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
  
  arg1 = (switch_dialplan_interface *)jarg1; 
  arg2 = (switch_mutex_t *)jarg2; 
  if (arg1) (arg1)->reflock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dialplan_interface_reflock_get___(void * jarg1) {
  void * jresult ;
  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
  switch_mutex_t *result = 0 ;
  
  arg1 = (switch_dialplan_interface *)jarg1; 
  result = (switch_mutex_t *) ((arg1)->reflock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dialplan_interface_parent_set___(void * jarg1, void * jarg2) {
  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
  switch_loadable_module_interface_t *arg2 = (switch_loadable_module_interface_t *) 0 ;
  
  arg1 = (switch_dialplan_interface *)jarg1; 
  arg2 = (switch_loadable_module_interface_t *)jarg2; 
  if (arg1) (arg1)->parent = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dialplan_interface_parent_get___(void * jarg1) {
  void * jresult ;
  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
  switch_loadable_module_interface_t *result = 0 ;
  
  arg1 = (switch_dialplan_interface *)jarg1; 
  result = (switch_loadable_module_interface_t *) ((arg1)->parent);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dialplan_interface_next_set___(void * jarg1, void * jarg2) {
  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
  switch_dialplan_interface *arg2 = (switch_dialplan_interface *) 0 ;
  
  arg1 = (switch_dialplan_interface *)jarg1; 
  arg2 = (switch_dialplan_interface *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dialplan_interface_next_get___(void * jarg1) {
  void * jresult ;
  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
  switch_dialplan_interface *result = 0 ;
  
  arg1 = (switch_dialplan_interface *)jarg1; 
  result = (switch_dialplan_interface *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_dialplan_interface___() {
  void * jresult ;
  switch_dialplan_interface *result = 0 ;
  
  result = (switch_dialplan_interface *)new switch_dialplan_interface();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_dialplan_interface___(void * jarg1) {
  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
  
  arg1 = (switch_dialplan_interface *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_interface_name_set___(void * jarg1, char * jarg2) {
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->interface_name, (const char *)arg2);
    } else {
      arg1->interface_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_interface_name_get___(void * jarg1) {
  char * jresult ;
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  result = (char *) ((arg1)->interface_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_file_open_set___(void * jarg1, void * jarg2) {
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_status_t (*arg2)(switch_file_handle_t *,char const *) = (switch_status_t (*)(switch_file_handle_t *,char const *)) 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_file_handle_t *,char const *))jarg2; 
  if (arg1) (arg1)->file_open = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_file_open_get___(void * jarg1) {
  void * jresult ;
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_status_t (*result)(switch_file_handle_t *,char const *) = 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  result = (switch_status_t (*)(switch_file_handle_t *,char const *)) ((arg1)->file_open);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_file_close_set___(void * jarg1, void * jarg2) {
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_status_t (*arg2)(switch_file_handle_t *) = (switch_status_t (*)(switch_file_handle_t *)) 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_file_handle_t *))jarg2; 
  if (arg1) (arg1)->file_close = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_file_close_get___(void * jarg1) {
  void * jresult ;
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_status_t (*result)(switch_file_handle_t *) = 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  result = (switch_status_t (*)(switch_file_handle_t *)) ((arg1)->file_close);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_file_truncate_set___(void * jarg1, void * jarg2) {
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_status_t (*arg2)(switch_file_handle_t *,int64_t) = (switch_status_t (*)(switch_file_handle_t *,int64_t)) 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_file_handle_t *,int64_t))jarg2; 
  if (arg1) (arg1)->file_truncate = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_file_truncate_get___(void * jarg1) {
  void * jresult ;
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_status_t (*result)(switch_file_handle_t *,int64_t) = 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  result = (switch_status_t (*)(switch_file_handle_t *,int64_t)) ((arg1)->file_truncate);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_file_read_set___(void * jarg1, void * jarg2) {
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_status_t (*arg2)(switch_file_handle_t *,void *,switch_size_t *) = (switch_status_t (*)(switch_file_handle_t *,void *,switch_size_t *)) 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_file_handle_t *,void *,switch_size_t *))jarg2; 
  if (arg1) (arg1)->file_read = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_file_read_get___(void * jarg1) {
  void * jresult ;
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_status_t (*result)(switch_file_handle_t *,void *,switch_size_t *) = 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  result = (switch_status_t (*)(switch_file_handle_t *,void *,switch_size_t *)) ((arg1)->file_read);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_file_write_set___(void * jarg1, void * jarg2) {
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_status_t (*arg2)(switch_file_handle_t *,void *,switch_size_t *) = (switch_status_t (*)(switch_file_handle_t *,void *,switch_size_t *)) 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_file_handle_t *,void *,switch_size_t *))jarg2; 
  if (arg1) (arg1)->file_write = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_file_write_get___(void * jarg1) {
  void * jresult ;
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_status_t (*result)(switch_file_handle_t *,void *,switch_size_t *) = 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  result = (switch_status_t (*)(switch_file_handle_t *,void *,switch_size_t *)) ((arg1)->file_write);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_file_read_video_set___(void * jarg1, void * jarg2) {
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_status_t (*arg2)(switch_file_handle_t *,switch_frame_t *,switch_video_read_flag_t) = (switch_status_t (*)(switch_file_handle_t *,switch_frame_t *,switch_video_read_flag_t)) 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_file_handle_t *,switch_frame_t *,switch_video_read_flag_t))jarg2; 
  if (arg1) (arg1)->file_read_video = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_file_read_video_get___(void * jarg1) {
  void * jresult ;
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_status_t (*result)(switch_file_handle_t *,switch_frame_t *,switch_video_read_flag_t) = 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  result = (switch_status_t (*)(switch_file_handle_t *,switch_frame_t *,switch_video_read_flag_t)) ((arg1)->file_read_video);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_file_write_video_set___(void * jarg1, void * jarg2) {
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_status_t (*arg2)(switch_file_handle_t *,switch_frame_t *) = (switch_status_t (*)(switch_file_handle_t *,switch_frame_t *)) 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_file_handle_t *,switch_frame_t *))jarg2; 
  if (arg1) (arg1)->file_write_video = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_file_write_video_get___(void * jarg1) {
  void * jresult ;
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_status_t (*result)(switch_file_handle_t *,switch_frame_t *) = 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  result = (switch_status_t (*)(switch_file_handle_t *,switch_frame_t *)) ((arg1)->file_write_video);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_file_seek_set___(void * jarg1, void * jarg2) {
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_status_t (*arg2)(switch_file_handle_t *,unsigned int *,int64_t,int) = (switch_status_t (*)(switch_file_handle_t *,unsigned int *,int64_t,int)) 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_file_handle_t *,unsigned int *,int64_t,int))jarg2; 
  if (arg1) (arg1)->file_seek = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_file_seek_get___(void * jarg1) {
  void * jresult ;
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_status_t (*result)(switch_file_handle_t *,unsigned int *,int64_t,int) = 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  result = (switch_status_t (*)(switch_file_handle_t *,unsigned int *,int64_t,int)) ((arg1)->file_seek);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_file_set_string_set___(void * jarg1, void * jarg2) {
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_status_t (*arg2)(switch_file_handle_t *,switch_audio_col_t,char const *) = (switch_status_t (*)(switch_file_handle_t *,switch_audio_col_t,char const *)) 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_file_handle_t *,switch_audio_col_t,char const *))jarg2; 
  if (arg1) (arg1)->file_set_string = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_file_set_string_get___(void * jarg1) {
  void * jresult ;
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_status_t (*result)(switch_file_handle_t *,switch_audio_col_t,char const *) = 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  result = (switch_status_t (*)(switch_file_handle_t *,switch_audio_col_t,char const *)) ((arg1)->file_set_string);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_file_get_string_set___(void * jarg1, void * jarg2) {
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_status_t (*arg2)(switch_file_handle_t *,switch_audio_col_t,char const **) = (switch_status_t (*)(switch_file_handle_t *,switch_audio_col_t,char const **)) 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_file_handle_t *,switch_audio_col_t,char const **))jarg2; 
  if (arg1) (arg1)->file_get_string = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_file_get_string_get___(void * jarg1) {
  void * jresult ;
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_status_t (*result)(switch_file_handle_t *,switch_audio_col_t,char const **) = 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  result = (switch_status_t (*)(switch_file_handle_t *,switch_audio_col_t,char const **)) ((arg1)->file_get_string);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_file_pre_close_set___(void * jarg1, void * jarg2) {
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_status_t (*arg2)(switch_file_handle_t *) = (switch_status_t (*)(switch_file_handle_t *)) 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_file_handle_t *))jarg2; 
  if (arg1) (arg1)->file_pre_close = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_file_pre_close_get___(void * jarg1) {
  void * jresult ;
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_status_t (*result)(switch_file_handle_t *) = 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  result = (switch_status_t (*)(switch_file_handle_t *)) ((arg1)->file_pre_close);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_file_command_set___(void * jarg1, void * jarg2) {
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_status_t (*arg2)(switch_file_handle_t *,switch_file_command_t) = (switch_status_t (*)(switch_file_handle_t *,switch_file_command_t)) 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_file_handle_t *,switch_file_command_t))jarg2; 
  if (arg1) (arg1)->file_command = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_file_command_get___(void * jarg1) {
  void * jresult ;
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_status_t (*result)(switch_file_handle_t *,switch_file_command_t) = 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  result = (switch_status_t (*)(switch_file_handle_t *,switch_file_command_t)) ((arg1)->file_command);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_extens_set___(void * jarg1, void * jarg2) {
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  char **arg2 = (char **) 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  arg2 = (char **)jarg2; 
  if (arg1) (arg1)->extens = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_extens_get___(void * jarg1) {
  void * jresult ;
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  char **result = 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  result = (char **) ((arg1)->extens);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_rwlock_set___(void * jarg1, void * jarg2) {
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  arg2 = (switch_thread_rwlock_t *)jarg2; 
  if (arg1) (arg1)->rwlock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_rwlock_get___(void * jarg1) {
  void * jresult ;
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_thread_rwlock_t *result = 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_refs_set___(void * jarg1, int jarg2) {
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  int arg2 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->refs = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_refs_get___(void * jarg1) {
  int jresult ;
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  int result;
  
  arg1 = (switch_file_interface *)jarg1; 
  result = (int) ((arg1)->refs);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_reflock_set___(void * jarg1, void * jarg2) {
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  arg2 = (switch_mutex_t *)jarg2; 
  if (arg1) (arg1)->reflock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_reflock_get___(void * jarg1) {
  void * jresult ;
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_mutex_t *result = 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  result = (switch_mutex_t *) ((arg1)->reflock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_parent_set___(void * jarg1, void * jarg2) {
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_loadable_module_interface_t *arg2 = (switch_loadable_module_interface_t *) 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  arg2 = (switch_loadable_module_interface_t *)jarg2; 
  if (arg1) (arg1)->parent = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_parent_get___(void * jarg1) {
  void * jresult ;
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_loadable_module_interface_t *result = 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  result = (switch_loadable_module_interface_t *) ((arg1)->parent);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_next_set___(void * jarg1, void * jarg2) {
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_file_interface *arg2 = (switch_file_interface *) 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  arg2 = (switch_file_interface *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_interface_next_get___(void * jarg1) {
  void * jresult ;
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  switch_file_interface *result = 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  result = (switch_file_interface *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_file_interface___() {
  void * jresult ;
  switch_file_interface *result = 0 ;
  
  result = (switch_file_interface *)new switch_file_interface();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_file_interface___(void * jarg1) {
  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
  
  arg1 = (switch_file_interface *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_file_interface_set___(void * jarg1, void * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_file_interface_t *arg2 = (switch_file_interface_t *) 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (switch_file_interface_t *)jarg2; 
  if (arg1) (arg1)->file_interface = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_file_interface_get___(void * jarg1) {
  void * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_file_interface_t *result = 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (switch_file_interface_t *) ((arg1)->file_interface);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_flags_set___(void * jarg1, unsigned long jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->flags = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_flags_get___(void * jarg1) {
  unsigned long jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  uint32_t result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (uint32_t) ((arg1)->flags);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_fd_set___(void * jarg1, void * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_file_t *arg2 = (switch_file_t *) 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (switch_file_t *)jarg2; 
  if (arg1) (arg1)->fd = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_fd_get___(void * jarg1) {
  void * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_file_t *result = 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (switch_file_t *) ((arg1)->fd);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_samples_set___(void * jarg1, unsigned int jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  unsigned int arg2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  if (arg1) (arg1)->samples = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_samples_get___(void * jarg1) {
  unsigned int jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  unsigned int result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (unsigned int) ((arg1)->samples);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_samplerate_set___(void * jarg1, unsigned long jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->samplerate = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_samplerate_get___(void * jarg1) {
  unsigned long jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  uint32_t result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (uint32_t) ((arg1)->samplerate);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_native_rate_set___(void * jarg1, unsigned long jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->native_rate = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_native_rate_get___(void * jarg1) {
  unsigned long jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  uint32_t result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (uint32_t) ((arg1)->native_rate);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_channels_set___(void * jarg1, unsigned long jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->channels = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_channels_get___(void * jarg1) {
  unsigned long jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  uint32_t result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (uint32_t) ((arg1)->channels);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_real_channels_set___(void * jarg1, unsigned long jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->real_channels = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_real_channels_get___(void * jarg1) {
  unsigned long jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  uint32_t result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (uint32_t) ((arg1)->real_channels);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_format_set___(void * jarg1, unsigned int jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  unsigned int arg2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  if (arg1) (arg1)->format = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_format_get___(void * jarg1) {
  unsigned int jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  unsigned int result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (unsigned int) ((arg1)->format);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_sections_set___(void * jarg1, unsigned int jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  unsigned int arg2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  if (arg1) (arg1)->sections = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_sections_get___(void * jarg1) {
  unsigned int jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  unsigned int result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (unsigned int) ((arg1)->sections);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_seekable_set___(void * jarg1, int jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  int arg2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->seekable = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_seekable_get___(void * jarg1) {
  int jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  int result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (int) ((arg1)->seekable);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_sample_count_set___(void * jarg1, void * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->sample_count = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_sample_count_get___(void * jarg1) {
  void * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result =  ((arg1)->sample_count);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_speed_set___(void * jarg1, int jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  int arg2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->speed = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_speed_get___(void * jarg1) {
  int jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  int result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (int) ((arg1)->speed);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_memory_pool_set___(void * jarg1, void * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (switch_memory_pool_t *)jarg2; 
  if (arg1) (arg1)->memory_pool = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_memory_pool_get___(void * jarg1) {
  void * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_memory_pool_t *result = 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (switch_memory_pool_t *) ((arg1)->memory_pool);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_prebuf_set___(void * jarg1, unsigned long jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->prebuf = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_prebuf_get___(void * jarg1) {
  unsigned long jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  uint32_t result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (uint32_t) ((arg1)->prebuf);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_interval_set___(void * jarg1, unsigned long jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->interval = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_interval_get___(void * jarg1) {
  unsigned long jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  uint32_t result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (uint32_t) ((arg1)->interval);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_private_info_set___(void * jarg1, void * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->private_info = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_private_info_get___(void * jarg1) {
  void * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (void *) ((arg1)->private_info);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_handler_set___(void * jarg1, char * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->handler;
    if (arg2) {
      arg1->handler = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->handler, (const char *)arg2);
    } else {
      arg1->handler = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_handler_get___(void * jarg1) {
  char * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (char *) ((arg1)->handler);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_pos_set___(void * jarg1, long long jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  int64_t arg2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (int64_t)jarg2; 
  if (arg1) (arg1)->pos = arg2;
}


SWIGEXPORT long long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_pos_get___(void * jarg1) {
  long long jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  int64_t result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (int64_t) ((arg1)->pos);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_audio_buffer_set___(void * jarg1, void * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_buffer_t *arg2 = (switch_buffer_t *) 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (switch_buffer_t *)jarg2; 
  if (arg1) (arg1)->audio_buffer = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_audio_buffer_get___(void * jarg1) {
  void * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_buffer_t *result = 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (switch_buffer_t *) ((arg1)->audio_buffer);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_sp_audio_buffer_set___(void * jarg1, void * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_buffer_t *arg2 = (switch_buffer_t *) 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (switch_buffer_t *)jarg2; 
  if (arg1) (arg1)->sp_audio_buffer = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_sp_audio_buffer_get___(void * jarg1) {
  void * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_buffer_t *result = 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (switch_buffer_t *) ((arg1)->sp_audio_buffer);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_thresh_set___(void * jarg1, unsigned long jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->thresh = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_thresh_get___(void * jarg1) {
  unsigned long jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  uint32_t result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (uint32_t) ((arg1)->thresh);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_silence_hits_set___(void * jarg1, unsigned long jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->silence_hits = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_silence_hits_get___(void * jarg1) {
  unsigned long jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  uint32_t result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (uint32_t) ((arg1)->silence_hits);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_offset_pos_set___(void * jarg1, unsigned long jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->offset_pos = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_offset_pos_get___(void * jarg1) {
  unsigned long jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  uint32_t result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (uint32_t) ((arg1)->offset_pos);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_samples_in_set___(void * jarg1, void * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->samples_in = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_samples_in_get___(void * jarg1) {
  void * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result =  ((arg1)->samples_in);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_samples_out_set___(void * jarg1, void * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->samples_out = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_samples_out_get___(void * jarg1) {
  void * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result =  ((arg1)->samples_out);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_vol_set___(void * jarg1, int jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  int32_t arg2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (int32_t)jarg2; 
  if (arg1) (arg1)->vol = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_vol_get___(void * jarg1) {
  int jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  int32_t result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (int32_t) ((arg1)->vol);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_volgranular_set___(void * jarg1, int jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  int32_t arg2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (int32_t)jarg2; 
  if (arg1) (arg1)->volgranular = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_volgranular_get___(void * jarg1) {
  int jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  int32_t result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (int32_t) ((arg1)->volgranular);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_resampler_set___(void * jarg1, void * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_audio_resampler_t *arg2 = (switch_audio_resampler_t *) 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (switch_audio_resampler_t *)jarg2; 
  if (arg1) (arg1)->resampler = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_resampler_get___(void * jarg1) {
  void * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_audio_resampler_t *result = 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (switch_audio_resampler_t *) ((arg1)->resampler);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_buffer_set___(void * jarg1, void * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_buffer_t *arg2 = (switch_buffer_t *) 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (switch_buffer_t *)jarg2; 
  if (arg1) (arg1)->buffer = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_buffer_get___(void * jarg1) {
  void * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_buffer_t *result = 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (switch_buffer_t *) ((arg1)->buffer);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_dbuf_set___(void * jarg1, void * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_byte_t *arg2 = (switch_byte_t *) 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (switch_byte_t *)jarg2; 
  if (arg1) (arg1)->dbuf = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_dbuf_get___(void * jarg1) {
  void * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_byte_t *result = 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (switch_byte_t *) ((arg1)->dbuf);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_dbuflen_set___(void * jarg1, void * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->dbuflen = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_dbuflen_get___(void * jarg1) {
  void * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result =  ((arg1)->dbuflen);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_pre_buffer_set___(void * jarg1, void * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_buffer_t *arg2 = (switch_buffer_t *) 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (switch_buffer_t *)jarg2; 
  if (arg1) (arg1)->pre_buffer = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_pre_buffer_get___(void * jarg1) {
  void * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_buffer_t *result = 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (switch_buffer_t *) ((arg1)->pre_buffer);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_pre_buffer_data_set___(void * jarg1, void * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  unsigned char *arg2 = (unsigned char *) 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (unsigned char *)jarg2; 
  if (arg1) (arg1)->pre_buffer_data = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_pre_buffer_data_get___(void * jarg1) {
  void * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  unsigned char *result = 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (unsigned char *) ((arg1)->pre_buffer_data);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_pre_buffer_datalen_set___(void * jarg1, void * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->pre_buffer_datalen = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_pre_buffer_datalen_get___(void * jarg1) {
  void * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result =  ((arg1)->pre_buffer_datalen);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_file_set___(void * jarg1, char * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->file = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->file, (const char *)arg2);
    } else {
      arg1->file = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_file_get___(void * jarg1) {
  char * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (char *) ((arg1)->file);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_func_set___(void * jarg1, char * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->func = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->func, (const char *)arg2);
    } else {
      arg1->func = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_func_get___(void * jarg1) {
  char * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (char *) ((arg1)->func);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_line_set___(void * jarg1, int jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  int arg2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->line = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_line_get___(void * jarg1) {
  int jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  int result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (int) ((arg1)->line);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_file_path_set___(void * jarg1, char * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->file_path;
    if (arg2) {
      arg1->file_path = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->file_path, (const char *)arg2);
    } else {
      arg1->file_path = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_file_path_get___(void * jarg1) {
  char * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (char *) ((arg1)->file_path);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_spool_path_set___(void * jarg1, char * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->spool_path;
    if (arg2) {
      arg1->spool_path = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->spool_path, (const char *)arg2);
    } else {
      arg1->spool_path = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_spool_path_get___(void * jarg1) {
  char * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (char *) ((arg1)->spool_path);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_prefix_set___(void * jarg1, char * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->prefix = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->prefix, (const char *)arg2);
    } else {
      arg1->prefix = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_prefix_get___(void * jarg1) {
  char * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (char *) ((arg1)->prefix);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_max_samples_set___(void * jarg1, int jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  int arg2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->max_samples = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_max_samples_get___(void * jarg1) {
  int jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  int result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (int) ((arg1)->max_samples);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_params__set___(void * jarg1, void * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_event_t *arg2 = (switch_event_t *) 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (switch_event_t *)jarg2; 
  if (arg1) (arg1)->params = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_params__get___(void * jarg1) {
  void * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_event_t *result = 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (switch_event_t *) ((arg1)->params);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_cur_channels_set___(void * jarg1, unsigned long jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->cur_channels = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_cur_channels_get___(void * jarg1) {
  unsigned long jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  uint32_t result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (uint32_t) ((arg1)->cur_channels);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_cur_samplerate_set___(void * jarg1, unsigned long jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->cur_samplerate = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_cur_samplerate_get___(void * jarg1) {
  unsigned long jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  uint32_t result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (uint32_t) ((arg1)->cur_samplerate);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_stream_name_set___(void * jarg1, char * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->stream_name;
    if (arg2) {
      arg1->stream_name = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->stream_name, (const char *)arg2);
    } else {
      arg1->stream_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_stream_name_get___(void * jarg1) {
  char * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (char *) ((arg1)->stream_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_modname_set___(void * jarg1, char * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->modname;
    if (arg2) {
      arg1->modname = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->modname, (const char *)arg2);
    } else {
      arg1->modname = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_modname_get___(void * jarg1) {
  char * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (char *) ((arg1)->modname);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_mm_set___(void * jarg1, void * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_mm_t *arg2 = (switch_mm_t *) 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (switch_mm_t *)jarg2; 
  if (arg1) (arg1)->mm = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_mm_get___(void * jarg1) {
  void * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_mm_t *result = 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (switch_mm_t *)& ((arg1)->mm);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_flag_mutex_set___(void * jarg1, void * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (switch_mutex_t *)jarg2; 
  if (arg1) (arg1)->flag_mutex = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_flag_mutex_get___(void * jarg1) {
  void * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_mutex_t *result = 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (switch_mutex_t *) ((arg1)->flag_mutex);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_duration_set___(void * jarg1, long long jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  int64_t arg2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (int64_t)jarg2; 
  if (arg1) (arg1)->duration = arg2;
}


SWIGEXPORT long long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_duration_get___(void * jarg1) {
  long long jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  int64_t result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (int64_t) ((arg1)->duration);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_vpos_set___(void * jarg1, long long jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  int64_t arg2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (int64_t)jarg2; 
  if (arg1) (arg1)->vpos = arg2;
}


SWIGEXPORT long long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_vpos_get___(void * jarg1) {
  long long jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  int64_t result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (int64_t) ((arg1)->vpos);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_muxbuf_set___(void * jarg1, void * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->muxbuf = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_muxbuf_get___(void * jarg1) {
  void * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (void *) ((arg1)->muxbuf);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_muxlen_set___(void * jarg1, void * jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->muxlen = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_muxlen_get___(void * jarg1) {
  void * jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result =  ((arg1)->muxlen);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_file_handle___() {
  void * jresult ;
  switch_file_handle *result = 0 ;
  
  result = (switch_file_handle *)new switch_file_handle();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_file_handle___(void * jarg1) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_interface_name_set___(void * jarg1, char * jarg2) {
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->interface_name, (const char *)arg2);
    } else {
      arg1->interface_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_interface_name_get___(void * jarg1) {
  char * jresult ;
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  result = (char *) ((arg1)->interface_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_open_set___(void * jarg1, void * jarg2) {
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*arg2)(switch_asr_handle_t *,char const *,int,char const *,switch_asr_flag_t *) = (switch_status_t (*)(switch_asr_handle_t *,char const *,int,char const *,switch_asr_flag_t *)) 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_asr_handle_t *,char const *,int,char const *,switch_asr_flag_t *))jarg2; 
  if (arg1) (arg1)->asr_open = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_open_get___(void * jarg1) {
  void * jresult ;
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*result)(switch_asr_handle_t *,char const *,int,char const *,switch_asr_flag_t *) = 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  result = (switch_status_t (*)(switch_asr_handle_t *,char const *,int,char const *,switch_asr_flag_t *)) ((arg1)->asr_open);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_load_grammar_set___(void * jarg1, void * jarg2) {
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*arg2)(switch_asr_handle_t *,char const *,char const *) = (switch_status_t (*)(switch_asr_handle_t *,char const *,char const *)) 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_asr_handle_t *,char const *,char const *))jarg2; 
  if (arg1) (arg1)->asr_load_grammar = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_load_grammar_get___(void * jarg1) {
  void * jresult ;
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*result)(switch_asr_handle_t *,char const *,char const *) = 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  result = (switch_status_t (*)(switch_asr_handle_t *,char const *,char const *)) ((arg1)->asr_load_grammar);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_unload_grammar_set___(void * jarg1, void * jarg2) {
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*arg2)(switch_asr_handle_t *,char const *) = (switch_status_t (*)(switch_asr_handle_t *,char const *)) 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_asr_handle_t *,char const *))jarg2; 
  if (arg1) (arg1)->asr_unload_grammar = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_unload_grammar_get___(void * jarg1) {
  void * jresult ;
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*result)(switch_asr_handle_t *,char const *) = 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  result = (switch_status_t (*)(switch_asr_handle_t *,char const *)) ((arg1)->asr_unload_grammar);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_close_set___(void * jarg1, void * jarg2) {
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*arg2)(switch_asr_handle_t *,switch_asr_flag_t *) = (switch_status_t (*)(switch_asr_handle_t *,switch_asr_flag_t *)) 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_asr_handle_t *,switch_asr_flag_t *))jarg2; 
  if (arg1) (arg1)->asr_close = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_close_get___(void * jarg1) {
  void * jresult ;
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*result)(switch_asr_handle_t *,switch_asr_flag_t *) = 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  result = (switch_status_t (*)(switch_asr_handle_t *,switch_asr_flag_t *)) ((arg1)->asr_close);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_feed_set___(void * jarg1, void * jarg2) {
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*arg2)(switch_asr_handle_t *,void *,unsigned int,switch_asr_flag_t *) = (switch_status_t (*)(switch_asr_handle_t *,void *,unsigned int,switch_asr_flag_t *)) 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_asr_handle_t *,void *,unsigned int,switch_asr_flag_t *))jarg2; 
  if (arg1) (arg1)->asr_feed = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_feed_get___(void * jarg1) {
  void * jresult ;
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*result)(switch_asr_handle_t *,void *,unsigned int,switch_asr_flag_t *) = 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  result = (switch_status_t (*)(switch_asr_handle_t *,void *,unsigned int,switch_asr_flag_t *)) ((arg1)->asr_feed);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_resume_set___(void * jarg1, void * jarg2) {
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*arg2)(switch_asr_handle_t *) = (switch_status_t (*)(switch_asr_handle_t *)) 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_asr_handle_t *))jarg2; 
  if (arg1) (arg1)->asr_resume = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_resume_get___(void * jarg1) {
  void * jresult ;
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*result)(switch_asr_handle_t *) = 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  result = (switch_status_t (*)(switch_asr_handle_t *)) ((arg1)->asr_resume);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_pause_set___(void * jarg1, void * jarg2) {
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*arg2)(switch_asr_handle_t *) = (switch_status_t (*)(switch_asr_handle_t *)) 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_asr_handle_t *))jarg2; 
  if (arg1) (arg1)->asr_pause = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_pause_get___(void * jarg1) {
  void * jresult ;
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*result)(switch_asr_handle_t *) = 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  result = (switch_status_t (*)(switch_asr_handle_t *)) ((arg1)->asr_pause);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_check_results_set___(void * jarg1, void * jarg2) {
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*arg2)(switch_asr_handle_t *,switch_asr_flag_t *) = (switch_status_t (*)(switch_asr_handle_t *,switch_asr_flag_t *)) 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_asr_handle_t *,switch_asr_flag_t *))jarg2; 
  if (arg1) (arg1)->asr_check_results = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_check_results_get___(void * jarg1) {
  void * jresult ;
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*result)(switch_asr_handle_t *,switch_asr_flag_t *) = 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  result = (switch_status_t (*)(switch_asr_handle_t *,switch_asr_flag_t *)) ((arg1)->asr_check_results);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_get_results_set___(void * jarg1, void * jarg2) {
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*arg2)(switch_asr_handle_t *,char **,switch_asr_flag_t *) = (switch_status_t (*)(switch_asr_handle_t *,char **,switch_asr_flag_t *)) 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_asr_handle_t *,char **,switch_asr_flag_t *))jarg2; 
  if (arg1) (arg1)->asr_get_results = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_get_results_get___(void * jarg1) {
  void * jresult ;
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*result)(switch_asr_handle_t *,char **,switch_asr_flag_t *) = 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  result = (switch_status_t (*)(switch_asr_handle_t *,char **,switch_asr_flag_t *)) ((arg1)->asr_get_results);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_get_result_headers_set___(void * jarg1, void * jarg2) {
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*arg2)(switch_asr_handle_t *,switch_event_t **,switch_asr_flag_t *) = (switch_status_t (*)(switch_asr_handle_t *,switch_event_t **,switch_asr_flag_t *)) 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_asr_handle_t *,switch_event_t **,switch_asr_flag_t *))jarg2; 
  if (arg1) (arg1)->asr_get_result_headers = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_get_result_headers_get___(void * jarg1) {
  void * jresult ;
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*result)(switch_asr_handle_t *,switch_event_t **,switch_asr_flag_t *) = 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  result = (switch_status_t (*)(switch_asr_handle_t *,switch_event_t **,switch_asr_flag_t *)) ((arg1)->asr_get_result_headers);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_start_input_timers_set___(void * jarg1, void * jarg2) {
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*arg2)(switch_asr_handle_t *) = (switch_status_t (*)(switch_asr_handle_t *)) 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_asr_handle_t *))jarg2; 
  if (arg1) (arg1)->asr_start_input_timers = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_start_input_timers_get___(void * jarg1) {
  void * jresult ;
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*result)(switch_asr_handle_t *) = 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  result = (switch_status_t (*)(switch_asr_handle_t *)) ((arg1)->asr_start_input_timers);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_text_param_set___(void * jarg1, void * jarg2) {
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  void (*arg2)(switch_asr_handle_t *,char *,char const *) = (void (*)(switch_asr_handle_t *,char *,char const *)) 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  arg2 = (void (*)(switch_asr_handle_t *,char *,char const *))jarg2; 
  if (arg1) (arg1)->asr_text_param = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_text_param_get___(void * jarg1) {
  void * jresult ;
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  void (*result)(switch_asr_handle_t *,char *,char const *) = 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  result = (void (*)(switch_asr_handle_t *,char *,char const *)) ((arg1)->asr_text_param);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_numeric_param_set___(void * jarg1, void * jarg2) {
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  void (*arg2)(switch_asr_handle_t *,char *,int) = (void (*)(switch_asr_handle_t *,char *,int)) 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  arg2 = (void (*)(switch_asr_handle_t *,char *,int))jarg2; 
  if (arg1) (arg1)->asr_numeric_param = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_numeric_param_get___(void * jarg1) {
  void * jresult ;
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  void (*result)(switch_asr_handle_t *,char *,int) = 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  result = (void (*)(switch_asr_handle_t *,char *,int)) ((arg1)->asr_numeric_param);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_float_param_set___(void * jarg1, void * jarg2) {
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  void (*arg2)(switch_asr_handle_t *,char *,double) = (void (*)(switch_asr_handle_t *,char *,double)) 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  arg2 = (void (*)(switch_asr_handle_t *,char *,double))jarg2; 
  if (arg1) (arg1)->asr_float_param = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_float_param_get___(void * jarg1) {
  void * jresult ;
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  void (*result)(switch_asr_handle_t *,char *,double) = 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  result = (void (*)(switch_asr_handle_t *,char *,double)) ((arg1)->asr_float_param);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_rwlock_set___(void * jarg1, void * jarg2) {
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  arg2 = (switch_thread_rwlock_t *)jarg2; 
  if (arg1) (arg1)->rwlock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_rwlock_get___(void * jarg1) {
  void * jresult ;
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_thread_rwlock_t *result = 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_refs_set___(void * jarg1, int jarg2) {
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  int arg2 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->refs = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_refs_get___(void * jarg1) {
  int jresult ;
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  int result;
  
  arg1 = (switch_asr_interface *)jarg1; 
  result = (int) ((arg1)->refs);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_reflock_set___(void * jarg1, void * jarg2) {
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  arg2 = (switch_mutex_t *)jarg2; 
  if (arg1) (arg1)->reflock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_reflock_get___(void * jarg1) {
  void * jresult ;
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_mutex_t *result = 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  result = (switch_mutex_t *) ((arg1)->reflock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_parent_set___(void * jarg1, void * jarg2) {
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_loadable_module_interface_t *arg2 = (switch_loadable_module_interface_t *) 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  arg2 = (switch_loadable_module_interface_t *)jarg2; 
  if (arg1) (arg1)->parent = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_parent_get___(void * jarg1) {
  void * jresult ;
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_loadable_module_interface_t *result = 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  result = (switch_loadable_module_interface_t *) ((arg1)->parent);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_next_set___(void * jarg1, void * jarg2) {
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_asr_interface *arg2 = (switch_asr_interface *) 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  arg2 = (switch_asr_interface *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_next_get___(void * jarg1) {
  void * jresult ;
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_asr_interface *result = 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  result = (switch_asr_interface *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_enable_grammar_set___(void * jarg1, void * jarg2) {
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*arg2)(switch_asr_handle_t *,char const *) = (switch_status_t (*)(switch_asr_handle_t *,char const *)) 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_asr_handle_t *,char const *))jarg2; 
  if (arg1) (arg1)->asr_enable_grammar = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_enable_grammar_get___(void * jarg1) {
  void * jresult ;
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*result)(switch_asr_handle_t *,char const *) = 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  result = (switch_status_t (*)(switch_asr_handle_t *,char const *)) ((arg1)->asr_enable_grammar);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_disable_grammar_set___(void * jarg1, void * jarg2) {
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*arg2)(switch_asr_handle_t *,char const *) = (switch_status_t (*)(switch_asr_handle_t *,char const *)) 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_asr_handle_t *,char const *))jarg2; 
  if (arg1) (arg1)->asr_disable_grammar = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_disable_grammar_get___(void * jarg1) {
  void * jresult ;
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*result)(switch_asr_handle_t *,char const *) = 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  result = (switch_status_t (*)(switch_asr_handle_t *,char const *)) ((arg1)->asr_disable_grammar);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_disable_all_grammars_set___(void * jarg1, void * jarg2) {
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*arg2)(switch_asr_handle_t *) = (switch_status_t (*)(switch_asr_handle_t *)) 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_asr_handle_t *))jarg2; 
  if (arg1) (arg1)->asr_disable_all_grammars = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_disable_all_grammars_get___(void * jarg1) {
  void * jresult ;
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*result)(switch_asr_handle_t *) = 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  result = (switch_status_t (*)(switch_asr_handle_t *)) ((arg1)->asr_disable_all_grammars);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_feed_dtmf_set___(void * jarg1, void * jarg2) {
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*arg2)(switch_asr_handle_t *,switch_dtmf_t const *,switch_asr_flag_t *) = (switch_status_t (*)(switch_asr_handle_t *,switch_dtmf_t const *,switch_asr_flag_t *)) 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_asr_handle_t *,switch_dtmf_t const *,switch_asr_flag_t *))jarg2; 
  if (arg1) (arg1)->asr_feed_dtmf = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_interface_asr_feed_dtmf_get___(void * jarg1) {
  void * jresult ;
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  switch_status_t (*result)(switch_asr_handle_t *,switch_dtmf_t const *,switch_asr_flag_t *) = 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  result = (switch_status_t (*)(switch_asr_handle_t *,switch_dtmf_t const *,switch_asr_flag_t *)) ((arg1)->asr_feed_dtmf);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_asr_interface___() {
  void * jresult ;
  switch_asr_interface *result = 0 ;
  
  result = (switch_asr_interface *)new switch_asr_interface();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_asr_interface___(void * jarg1) {
  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
  
  arg1 = (switch_asr_interface *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_asr_interface_set___(void * jarg1, void * jarg2) {
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  switch_asr_interface_t *arg2 = (switch_asr_interface_t *) 0 ;
  
  arg1 = (switch_asr_handle *)jarg1; 
  arg2 = (switch_asr_interface_t *)jarg2; 
  if (arg1) (arg1)->asr_interface = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_asr_interface_get___(void * jarg1) {
  void * jresult ;
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  switch_asr_interface_t *result = 0 ;
  
  arg1 = (switch_asr_handle *)jarg1; 
  result = (switch_asr_interface_t *) ((arg1)->asr_interface);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_flags_set___(void * jarg1, unsigned long jarg2) {
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_asr_handle *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->flags = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_flags_get___(void * jarg1) {
  unsigned long jresult ;
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  uint32_t result;
  
  arg1 = (switch_asr_handle *)jarg1; 
  result = (uint32_t) ((arg1)->flags);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_name_set___(void * jarg1, char * jarg2) {
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_asr_handle *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->name;
    if (arg2) {
      arg1->name = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->name, (const char *)arg2);
    } else {
      arg1->name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_name_get___(void * jarg1) {
  char * jresult ;
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_asr_handle *)jarg1; 
  result = (char *) ((arg1)->name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_codec_set___(void * jarg1, char * jarg2) {
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_asr_handle *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->codec;
    if (arg2) {
      arg1->codec = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->codec, (const char *)arg2);
    } else {
      arg1->codec = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_codec_get___(void * jarg1) {
  char * jresult ;
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_asr_handle *)jarg1; 
  result = (char *) ((arg1)->codec);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_rate_set___(void * jarg1, unsigned long jarg2) {
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_asr_handle *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->rate = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_rate_get___(void * jarg1) {
  unsigned long jresult ;
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  uint32_t result;
  
  arg1 = (switch_asr_handle *)jarg1; 
  result = (uint32_t) ((arg1)->rate);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_grammar_set___(void * jarg1, char * jarg2) {
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_asr_handle *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->grammar;
    if (arg2) {
      arg1->grammar = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->grammar, (const char *)arg2);
    } else {
      arg1->grammar = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_grammar_get___(void * jarg1) {
  char * jresult ;
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_asr_handle *)jarg1; 
  result = (char *) ((arg1)->grammar);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_param_set___(void * jarg1, char * jarg2) {
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_asr_handle *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->param;
    if (arg2) {
      arg1->param = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->param, (const char *)arg2);
    } else {
      arg1->param = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_param_get___(void * jarg1) {
  char * jresult ;
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_asr_handle *)jarg1; 
  result = (char *) ((arg1)->param);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_memory_pool_set___(void * jarg1, void * jarg2) {
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
  
  arg1 = (switch_asr_handle *)jarg1; 
  arg2 = (switch_memory_pool_t *)jarg2; 
  if (arg1) (arg1)->memory_pool = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_memory_pool_get___(void * jarg1) {
  void * jresult ;
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  switch_memory_pool_t *result = 0 ;
  
  arg1 = (switch_asr_handle *)jarg1; 
  result = (switch_memory_pool_t *) ((arg1)->memory_pool);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_buffer_set___(void * jarg1, void * jarg2) {
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  switch_buffer_t *arg2 = (switch_buffer_t *) 0 ;
  
  arg1 = (switch_asr_handle *)jarg1; 
  arg2 = (switch_buffer_t *)jarg2; 
  if (arg1) (arg1)->buffer = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_buffer_get___(void * jarg1) {
  void * jresult ;
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  switch_buffer_t *result = 0 ;
  
  arg1 = (switch_asr_handle *)jarg1; 
  result = (switch_buffer_t *) ((arg1)->buffer);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_dbuf_set___(void * jarg1, void * jarg2) {
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  switch_byte_t *arg2 = (switch_byte_t *) 0 ;
  
  arg1 = (switch_asr_handle *)jarg1; 
  arg2 = (switch_byte_t *)jarg2; 
  if (arg1) (arg1)->dbuf = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_dbuf_get___(void * jarg1) {
  void * jresult ;
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  switch_byte_t *result = 0 ;
  
  arg1 = (switch_asr_handle *)jarg1; 
  result = (switch_byte_t *) ((arg1)->dbuf);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_dbuflen_set___(void * jarg1, void * jarg2) {
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_asr_handle *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->dbuflen = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_dbuflen_get___(void * jarg1) {
  void * jresult ;
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_asr_handle *)jarg1; 
  result =  ((arg1)->dbuflen);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_resampler_set___(void * jarg1, void * jarg2) {
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  switch_audio_resampler_t *arg2 = (switch_audio_resampler_t *) 0 ;
  
  arg1 = (switch_asr_handle *)jarg1; 
  arg2 = (switch_audio_resampler_t *)jarg2; 
  if (arg1) (arg1)->resampler = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_resampler_get___(void * jarg1) {
  void * jresult ;
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  switch_audio_resampler_t *result = 0 ;
  
  arg1 = (switch_asr_handle *)jarg1; 
  result = (switch_audio_resampler_t *) ((arg1)->resampler);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_samplerate_set___(void * jarg1, unsigned long jarg2) {
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_asr_handle *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->samplerate = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_samplerate_get___(void * jarg1) {
  unsigned long jresult ;
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  uint32_t result;
  
  arg1 = (switch_asr_handle *)jarg1; 
  result = (uint32_t) ((arg1)->samplerate);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_native_rate_set___(void * jarg1, unsigned long jarg2) {
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_asr_handle *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->native_rate = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_native_rate_get___(void * jarg1) {
  unsigned long jresult ;
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  uint32_t result;
  
  arg1 = (switch_asr_handle *)jarg1; 
  result = (uint32_t) ((arg1)->native_rate);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_private_info_set___(void * jarg1, void * jarg2) {
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_asr_handle *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->private_info = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_private_info_get___(void * jarg1) {
  void * jresult ;
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_asr_handle *)jarg1; 
  result = (void *) ((arg1)->private_info);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_asr_handle___() {
  void * jresult ;
  switch_asr_handle *result = 0 ;
  
  result = (switch_asr_handle *)new switch_asr_handle();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_asr_handle___(void * jarg1) {
  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
  
  arg1 = (switch_asr_handle *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_interface_name_set___(void * jarg1, char * jarg2) {
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->interface_name, (const char *)arg2);
    } else {
      arg1->interface_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_interface_name_get___(void * jarg1) {
  char * jresult ;
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  result = (char *) ((arg1)->interface_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_speech_open_set___(void * jarg1, void * jarg2) {
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  switch_status_t (*arg2)(switch_speech_handle_t *,char const *,int,int,switch_speech_flag_t *) = (switch_status_t (*)(switch_speech_handle_t *,char const *,int,int,switch_speech_flag_t *)) 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_speech_handle_t *,char const *,int,int,switch_speech_flag_t *))jarg2; 
  if (arg1) (arg1)->speech_open = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_speech_open_get___(void * jarg1) {
  void * jresult ;
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  switch_status_t (*result)(switch_speech_handle_t *,char const *,int,int,switch_speech_flag_t *) = 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  result = (switch_status_t (*)(switch_speech_handle_t *,char const *,int,int,switch_speech_flag_t *)) ((arg1)->speech_open);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_speech_close_set___(void * jarg1, void * jarg2) {
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  switch_status_t (*arg2)(switch_speech_handle_t *,switch_speech_flag_t *) = (switch_status_t (*)(switch_speech_handle_t *,switch_speech_flag_t *)) 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_speech_handle_t *,switch_speech_flag_t *))jarg2; 
  if (arg1) (arg1)->speech_close = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_speech_close_get___(void * jarg1) {
  void * jresult ;
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  switch_status_t (*result)(switch_speech_handle_t *,switch_speech_flag_t *) = 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  result = (switch_status_t (*)(switch_speech_handle_t *,switch_speech_flag_t *)) ((arg1)->speech_close);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_speech_feed_tts_set___(void * jarg1, void * jarg2) {
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  switch_status_t (*arg2)(switch_speech_handle_t *,char *,switch_speech_flag_t *) = (switch_status_t (*)(switch_speech_handle_t *,char *,switch_speech_flag_t *)) 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_speech_handle_t *,char *,switch_speech_flag_t *))jarg2; 
  if (arg1) (arg1)->speech_feed_tts = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_speech_feed_tts_get___(void * jarg1) {
  void * jresult ;
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  switch_status_t (*result)(switch_speech_handle_t *,char *,switch_speech_flag_t *) = 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  result = (switch_status_t (*)(switch_speech_handle_t *,char *,switch_speech_flag_t *)) ((arg1)->speech_feed_tts);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_speech_read_tts_set___(void * jarg1, void * jarg2) {
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  switch_status_t (*arg2)(switch_speech_handle_t *,void *,switch_size_t *,switch_speech_flag_t *) = (switch_status_t (*)(switch_speech_handle_t *,void *,switch_size_t *,switch_speech_flag_t *)) 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_speech_handle_t *,void *,switch_size_t *,switch_speech_flag_t *))jarg2; 
  if (arg1) (arg1)->speech_read_tts = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_speech_read_tts_get___(void * jarg1) {
  void * jresult ;
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  switch_status_t (*result)(switch_speech_handle_t *,void *,switch_size_t *,switch_speech_flag_t *) = 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  result = (switch_status_t (*)(switch_speech_handle_t *,void *,switch_size_t *,switch_speech_flag_t *)) ((arg1)->speech_read_tts);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_speech_flush_tts_set___(void * jarg1, void * jarg2) {
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  void (*arg2)(switch_speech_handle_t *) = (void (*)(switch_speech_handle_t *)) 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  arg2 = (void (*)(switch_speech_handle_t *))jarg2; 
  if (arg1) (arg1)->speech_flush_tts = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_speech_flush_tts_get___(void * jarg1) {
  void * jresult ;
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  void (*result)(switch_speech_handle_t *) = 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  result = (void (*)(switch_speech_handle_t *)) ((arg1)->speech_flush_tts);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_speech_text_param_tts_set___(void * jarg1, void * jarg2) {
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  void (*arg2)(switch_speech_handle_t *,char *,char const *) = (void (*)(switch_speech_handle_t *,char *,char const *)) 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  arg2 = (void (*)(switch_speech_handle_t *,char *,char const *))jarg2; 
  if (arg1) (arg1)->speech_text_param_tts = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_speech_text_param_tts_get___(void * jarg1) {
  void * jresult ;
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  void (*result)(switch_speech_handle_t *,char *,char const *) = 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  result = (void (*)(switch_speech_handle_t *,char *,char const *)) ((arg1)->speech_text_param_tts);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_speech_numeric_param_tts_set___(void * jarg1, void * jarg2) {
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  void (*arg2)(switch_speech_handle_t *,char *,int) = (void (*)(switch_speech_handle_t *,char *,int)) 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  arg2 = (void (*)(switch_speech_handle_t *,char *,int))jarg2; 
  if (arg1) (arg1)->speech_numeric_param_tts = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_speech_numeric_param_tts_get___(void * jarg1) {
  void * jresult ;
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  void (*result)(switch_speech_handle_t *,char *,int) = 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  result = (void (*)(switch_speech_handle_t *,char *,int)) ((arg1)->speech_numeric_param_tts);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_speech_float_param_tts_set___(void * jarg1, void * jarg2) {
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  void (*arg2)(switch_speech_handle_t *,char *,double) = (void (*)(switch_speech_handle_t *,char *,double)) 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  arg2 = (void (*)(switch_speech_handle_t *,char *,double))jarg2; 
  if (arg1) (arg1)->speech_float_param_tts = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_speech_float_param_tts_get___(void * jarg1) {
  void * jresult ;
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  void (*result)(switch_speech_handle_t *,char *,double) = 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  result = (void (*)(switch_speech_handle_t *,char *,double)) ((arg1)->speech_float_param_tts);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_rwlock_set___(void * jarg1, void * jarg2) {
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  arg2 = (switch_thread_rwlock_t *)jarg2; 
  if (arg1) (arg1)->rwlock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_rwlock_get___(void * jarg1) {
  void * jresult ;
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  switch_thread_rwlock_t *result = 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_refs_set___(void * jarg1, int jarg2) {
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  int arg2 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->refs = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_refs_get___(void * jarg1) {
  int jresult ;
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  int result;
  
  arg1 = (switch_speech_interface *)jarg1; 
  result = (int) ((arg1)->refs);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_reflock_set___(void * jarg1, void * jarg2) {
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  arg2 = (switch_mutex_t *)jarg2; 
  if (arg1) (arg1)->reflock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_reflock_get___(void * jarg1) {
  void * jresult ;
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  switch_mutex_t *result = 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  result = (switch_mutex_t *) ((arg1)->reflock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_parent_set___(void * jarg1, void * jarg2) {
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  switch_loadable_module_interface_t *arg2 = (switch_loadable_module_interface_t *) 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  arg2 = (switch_loadable_module_interface_t *)jarg2; 
  if (arg1) (arg1)->parent = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_parent_get___(void * jarg1) {
  void * jresult ;
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  switch_loadable_module_interface_t *result = 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  result = (switch_loadable_module_interface_t *) ((arg1)->parent);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_next_set___(void * jarg1, void * jarg2) {
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  switch_speech_interface *arg2 = (switch_speech_interface *) 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  arg2 = (switch_speech_interface *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_interface_next_get___(void * jarg1) {
  void * jresult ;
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  switch_speech_interface *result = 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  result = (switch_speech_interface *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_speech_interface___() {
  void * jresult ;
  switch_speech_interface *result = 0 ;
  
  result = (switch_speech_interface *)new switch_speech_interface();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_speech_interface___(void * jarg1) {
  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_speech_interface_set___(void * jarg1, void * jarg2) {
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  switch_speech_interface_t *arg2 = (switch_speech_interface_t *) 0 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  arg2 = (switch_speech_interface_t *)jarg2; 
  if (arg1) (arg1)->speech_interface = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_speech_interface_get___(void * jarg1) {
  void * jresult ;
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  switch_speech_interface_t *result = 0 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  result = (switch_speech_interface_t *) ((arg1)->speech_interface);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_flags_set___(void * jarg1, unsigned long jarg2) {
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->flags = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_flags_get___(void * jarg1) {
  unsigned long jresult ;
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  uint32_t result;
  
  arg1 = (switch_speech_handle *)jarg1; 
  result = (uint32_t) ((arg1)->flags);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_name_set___(void * jarg1, char * jarg2) {
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->name;
    if (arg2) {
      arg1->name = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->name, (const char *)arg2);
    } else {
      arg1->name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_name_get___(void * jarg1) {
  char * jresult ;
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  result = (char *) ((arg1)->name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_rate_set___(void * jarg1, unsigned long jarg2) {
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->rate = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_rate_get___(void * jarg1) {
  unsigned long jresult ;
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  uint32_t result;
  
  arg1 = (switch_speech_handle *)jarg1; 
  result = (uint32_t) ((arg1)->rate);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_speed_set___(void * jarg1, unsigned long jarg2) {
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->speed = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_speed_get___(void * jarg1) {
  unsigned long jresult ;
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  uint32_t result;
  
  arg1 = (switch_speech_handle *)jarg1; 
  result = (uint32_t) ((arg1)->speed);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_samples_set___(void * jarg1, unsigned long jarg2) {
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->samples = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_samples_get___(void * jarg1) {
  unsigned long jresult ;
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  uint32_t result;
  
  arg1 = (switch_speech_handle *)jarg1; 
  result = (uint32_t) ((arg1)->samples);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_channels_set___(void * jarg1, unsigned long jarg2) {
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->channels = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_channels_get___(void * jarg1) {
  unsigned long jresult ;
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  uint32_t result;
  
  arg1 = (switch_speech_handle *)jarg1; 
  result = (uint32_t) ((arg1)->channels);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_real_channels_set___(void * jarg1, unsigned long jarg2) {
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->real_channels = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_real_channels_get___(void * jarg1) {
  unsigned long jresult ;
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  uint32_t result;
  
  arg1 = (switch_speech_handle *)jarg1; 
  result = (uint32_t) ((arg1)->real_channels);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_voice_set___(void * jarg1, char * jarg2) {
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  char *arg2 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if(arg2) {
      strncpy((char*)arg1->voice, (const char *)arg2, 80-1);
      arg1->voice[80-1] = 0;
    } else {
      arg1->voice[0] = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_voice_get___(void * jarg1) {
  char * jresult ;
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  result = (char *)(char *) ((arg1)->voice);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_engine_set___(void * jarg1, char * jarg2) {
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->engine;
    if (arg2) {
      arg1->engine = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->engine, (const char *)arg2);
    } else {
      arg1->engine = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_engine_get___(void * jarg1) {
  char * jresult ;
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  result = (char *) ((arg1)->engine);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_param_set___(void * jarg1, char * jarg2) {
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->param;
    if (arg2) {
      arg1->param = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->param, (const char *)arg2);
    } else {
      arg1->param = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_param_get___(void * jarg1) {
  char * jresult ;
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  result = (char *) ((arg1)->param);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_memory_pool_set___(void * jarg1, void * jarg2) {
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  arg2 = (switch_memory_pool_t *)jarg2; 
  if (arg1) (arg1)->memory_pool = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_memory_pool_get___(void * jarg1) {
  void * jresult ;
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  switch_memory_pool_t *result = 0 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  result = (switch_memory_pool_t *) ((arg1)->memory_pool);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_resampler_set___(void * jarg1, void * jarg2) {
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  switch_audio_resampler_t *arg2 = (switch_audio_resampler_t *) 0 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  arg2 = (switch_audio_resampler_t *)jarg2; 
  if (arg1) (arg1)->resampler = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_resampler_get___(void * jarg1) {
  void * jresult ;
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  switch_audio_resampler_t *result = 0 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  result = (switch_audio_resampler_t *) ((arg1)->resampler);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_buffer_set___(void * jarg1, void * jarg2) {
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  switch_buffer_t *arg2 = (switch_buffer_t *) 0 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  arg2 = (switch_buffer_t *)jarg2; 
  if (arg1) (arg1)->buffer = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_buffer_get___(void * jarg1) {
  void * jresult ;
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  switch_buffer_t *result = 0 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  result = (switch_buffer_t *) ((arg1)->buffer);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_dbuf_set___(void * jarg1, void * jarg2) {
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  switch_byte_t *arg2 = (switch_byte_t *) 0 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  arg2 = (switch_byte_t *)jarg2; 
  if (arg1) (arg1)->dbuf = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_dbuf_get___(void * jarg1) {
  void * jresult ;
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  switch_byte_t *result = 0 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  result = (switch_byte_t *) ((arg1)->dbuf);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_dbuflen_set___(void * jarg1, void * jarg2) {
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->dbuflen = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_dbuflen_get___(void * jarg1) {
  void * jresult ;
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_speech_handle *)jarg1; 
  result =  ((arg1)->dbuflen);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_samplerate_set___(void * jarg1, unsigned long jarg2) {
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->samplerate = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_samplerate_get___(void * jarg1) {
  unsigned long jresult ;
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  uint32_t result;
  
  arg1 = (switch_speech_handle *)jarg1; 
  result = (uint32_t) ((arg1)->samplerate);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_native_rate_set___(void * jarg1, unsigned long jarg2) {
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->native_rate = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_native_rate_get___(void * jarg1) {
  unsigned long jresult ;
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  uint32_t result;
  
  arg1 = (switch_speech_handle *)jarg1; 
  result = (uint32_t) ((arg1)->native_rate);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_private_info_set___(void * jarg1, void * jarg2) {
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->private_info = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_private_info_get___(void * jarg1) {
  void * jresult ;
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  result = (void *) ((arg1)->private_info);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_speech_handle___() {
  void * jresult ;
  switch_speech_handle *result = 0 ;
  
  result = (switch_speech_handle *)new switch_speech_handle();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_speech_handle___(void * jarg1) {
  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
  
  arg1 = (switch_speech_handle *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_interface_interface_name_set___(void * jarg1, char * jarg2) {
  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_say_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->interface_name, (const char *)arg2);
    } else {
      arg1->interface_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_interface_interface_name_get___(void * jarg1) {
  char * jresult ;
  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_say_interface *)jarg1; 
  result = (char *) ((arg1)->interface_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_interface_say_function_set___(void * jarg1, void * jarg2) {
  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
  switch_say_callback_t arg2 = (switch_say_callback_t) 0 ;
  
  arg1 = (switch_say_interface *)jarg1; 
  arg2 = (switch_say_callback_t)jarg2; 
  if (arg1) (arg1)->say_function = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_interface_say_function_get___(void * jarg1) {
  void * jresult ;
  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
  switch_say_callback_t result;
  
  arg1 = (switch_say_interface *)jarg1; 
  result = (switch_say_callback_t) ((arg1)->say_function);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_interface_say_string_function_set___(void * jarg1, void * jarg2) {
  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
  switch_say_string_callback_t arg2 = (switch_say_string_callback_t) 0 ;
  
  arg1 = (switch_say_interface *)jarg1; 
  arg2 = (switch_say_string_callback_t)jarg2; 
  if (arg1) (arg1)->say_string_function = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_interface_say_string_function_get___(void * jarg1) {
  void * jresult ;
  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
  switch_say_string_callback_t result;
  
  arg1 = (switch_say_interface *)jarg1; 
  result = (switch_say_string_callback_t) ((arg1)->say_string_function);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_interface_rwlock_set___(void * jarg1, void * jarg2) {
  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
  
  arg1 = (switch_say_interface *)jarg1; 
  arg2 = (switch_thread_rwlock_t *)jarg2; 
  if (arg1) (arg1)->rwlock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_interface_rwlock_get___(void * jarg1) {
  void * jresult ;
  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
  switch_thread_rwlock_t *result = 0 ;
  
  arg1 = (switch_say_interface *)jarg1; 
  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_interface_refs_set___(void * jarg1, int jarg2) {
  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
  int arg2 ;
  
  arg1 = (switch_say_interface *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->refs = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_interface_refs_get___(void * jarg1) {
  int jresult ;
  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
  int result;
  
  arg1 = (switch_say_interface *)jarg1; 
  result = (int) ((arg1)->refs);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_interface_reflock_set___(void * jarg1, void * jarg2) {
  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
  
  arg1 = (switch_say_interface *)jarg1; 
  arg2 = (switch_mutex_t *)jarg2; 
  if (arg1) (arg1)->reflock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_interface_reflock_get___(void * jarg1) {
  void * jresult ;
  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
  switch_mutex_t *result = 0 ;
  
  arg1 = (switch_say_interface *)jarg1; 
  result = (switch_mutex_t *) ((arg1)->reflock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_interface_parent_set___(void * jarg1, void * jarg2) {
  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
  switch_loadable_module_interface_t *arg2 = (switch_loadable_module_interface_t *) 0 ;
  
  arg1 = (switch_say_interface *)jarg1; 
  arg2 = (switch_loadable_module_interface_t *)jarg2; 
  if (arg1) (arg1)->parent = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_interface_parent_get___(void * jarg1) {
  void * jresult ;
  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
  switch_loadable_module_interface_t *result = 0 ;
  
  arg1 = (switch_say_interface *)jarg1; 
  result = (switch_loadable_module_interface_t *) ((arg1)->parent);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_interface_next_set___(void * jarg1, void * jarg2) {
  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
  switch_say_interface *arg2 = (switch_say_interface *) 0 ;
  
  arg1 = (switch_say_interface *)jarg1; 
  arg2 = (switch_say_interface *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_say_interface_next_get___(void * jarg1) {
  void * jresult ;
  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
  switch_say_interface *result = 0 ;
  
  arg1 = (switch_say_interface *)jarg1; 
  result = (switch_say_interface *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_say_interface___() {
  void * jresult ;
  switch_say_interface *result = 0 ;
  
  result = (switch_say_interface *)new switch_say_interface();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_say_interface___(void * jarg1) {
  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
  
  arg1 = (switch_say_interface *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_interface_interface_name_set___(void * jarg1, char * jarg2) {
  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_chat_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->interface_name, (const char *)arg2);
    } else {
      arg1->interface_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_interface_interface_name_get___(void * jarg1) {
  char * jresult ;
  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_chat_interface *)jarg1; 
  result = (char *) ((arg1)->interface_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_interface_chat_send_set___(void * jarg1, void * jarg2) {
  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
  switch_status_t (*arg2)(switch_event_t *) = (switch_status_t (*)(switch_event_t *)) 0 ;
  
  arg1 = (switch_chat_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_event_t *))jarg2; 
  if (arg1) (arg1)->chat_send = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_interface_chat_send_get___(void * jarg1) {
  void * jresult ;
  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
  switch_status_t (*result)(switch_event_t *) = 0 ;
  
  arg1 = (switch_chat_interface *)jarg1; 
  result = (switch_status_t (*)(switch_event_t *)) ((arg1)->chat_send);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_interface_rwlock_set___(void * jarg1, void * jarg2) {
  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
  
  arg1 = (switch_chat_interface *)jarg1; 
  arg2 = (switch_thread_rwlock_t *)jarg2; 
  if (arg1) (arg1)->rwlock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_interface_rwlock_get___(void * jarg1) {
  void * jresult ;
  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
  switch_thread_rwlock_t *result = 0 ;
  
  arg1 = (switch_chat_interface *)jarg1; 
  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_interface_refs_set___(void * jarg1, int jarg2) {
  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
  int arg2 ;
  
  arg1 = (switch_chat_interface *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->refs = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_interface_refs_get___(void * jarg1) {
  int jresult ;
  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
  int result;
  
  arg1 = (switch_chat_interface *)jarg1; 
  result = (int) ((arg1)->refs);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_interface_reflock_set___(void * jarg1, void * jarg2) {
  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
  
  arg1 = (switch_chat_interface *)jarg1; 
  arg2 = (switch_mutex_t *)jarg2; 
  if (arg1) (arg1)->reflock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_interface_reflock_get___(void * jarg1) {
  void * jresult ;
  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
  switch_mutex_t *result = 0 ;
  
  arg1 = (switch_chat_interface *)jarg1; 
  result = (switch_mutex_t *) ((arg1)->reflock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_interface_parent_set___(void * jarg1, void * jarg2) {
  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
  switch_loadable_module_interface_t *arg2 = (switch_loadable_module_interface_t *) 0 ;
  
  arg1 = (switch_chat_interface *)jarg1; 
  arg2 = (switch_loadable_module_interface_t *)jarg2; 
  if (arg1) (arg1)->parent = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_interface_parent_get___(void * jarg1) {
  void * jresult ;
  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
  switch_loadable_module_interface_t *result = 0 ;
  
  arg1 = (switch_chat_interface *)jarg1; 
  result = (switch_loadable_module_interface_t *) ((arg1)->parent);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_interface_next_set___(void * jarg1, void * jarg2) {
  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
  switch_chat_interface *arg2 = (switch_chat_interface *) 0 ;
  
  arg1 = (switch_chat_interface *)jarg1; 
  arg2 = (switch_chat_interface *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_interface_next_get___(void * jarg1) {
  void * jresult ;
  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
  switch_chat_interface *result = 0 ;
  
  arg1 = (switch_chat_interface *)jarg1; 
  result = (switch_chat_interface *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_chat_interface___() {
  void * jresult ;
  switch_chat_interface *result = 0 ;
  
  result = (switch_chat_interface *)new switch_chat_interface();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_chat_interface___(void * jarg1) {
  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
  
  arg1 = (switch_chat_interface *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_management_interface_relative_oid_set___(void * jarg1, char * jarg2) {
  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_management_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->relative_oid = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->relative_oid, (const char *)arg2);
    } else {
      arg1->relative_oid = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_management_interface_relative_oid_get___(void * jarg1) {
  char * jresult ;
  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_management_interface *)jarg1; 
  result = (char *) ((arg1)->relative_oid);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_management_interface_management_function_set___(void * jarg1, void * jarg2) {
  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
  switch_status_t (*arg2)(char *,switch_management_action_t,char *,switch_size_t) = (switch_status_t (*)(char *,switch_management_action_t,char *,switch_size_t)) 0 ;
  
  arg1 = (switch_management_interface *)jarg1; 
  arg2 = (switch_status_t (*)(char *,switch_management_action_t,char *,switch_size_t))jarg2; 
  if (arg1) (arg1)->management_function = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_management_interface_management_function_get___(void * jarg1) {
  void * jresult ;
  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
  switch_status_t (*result)(char *,switch_management_action_t,char *,switch_size_t) = 0 ;
  
  arg1 = (switch_management_interface *)jarg1; 
  result = (switch_status_t (*)(char *,switch_management_action_t,char *,switch_size_t)) ((arg1)->management_function);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_management_interface_rwlock_set___(void * jarg1, void * jarg2) {
  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
  
  arg1 = (switch_management_interface *)jarg1; 
  arg2 = (switch_thread_rwlock_t *)jarg2; 
  if (arg1) (arg1)->rwlock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_management_interface_rwlock_get___(void * jarg1) {
  void * jresult ;
  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
  switch_thread_rwlock_t *result = 0 ;
  
  arg1 = (switch_management_interface *)jarg1; 
  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_management_interface_refs_set___(void * jarg1, int jarg2) {
  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
  int arg2 ;
  
  arg1 = (switch_management_interface *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->refs = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_management_interface_refs_get___(void * jarg1) {
  int jresult ;
  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
  int result;
  
  arg1 = (switch_management_interface *)jarg1; 
  result = (int) ((arg1)->refs);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_management_interface_reflock_set___(void * jarg1, void * jarg2) {
  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
  
  arg1 = (switch_management_interface *)jarg1; 
  arg2 = (switch_mutex_t *)jarg2; 
  if (arg1) (arg1)->reflock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_management_interface_reflock_get___(void * jarg1) {
  void * jresult ;
  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
  switch_mutex_t *result = 0 ;
  
  arg1 = (switch_management_interface *)jarg1; 
  result = (switch_mutex_t *) ((arg1)->reflock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_management_interface_parent_set___(void * jarg1, void * jarg2) {
  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
  switch_loadable_module_interface_t *arg2 = (switch_loadable_module_interface_t *) 0 ;
  
  arg1 = (switch_management_interface *)jarg1; 
  arg2 = (switch_loadable_module_interface_t *)jarg2; 
  if (arg1) (arg1)->parent = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_management_interface_parent_get___(void * jarg1) {
  void * jresult ;
  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
  switch_loadable_module_interface_t *result = 0 ;
  
  arg1 = (switch_management_interface *)jarg1; 
  result = (switch_loadable_module_interface_t *) ((arg1)->parent);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_management_interface_next_set___(void * jarg1, void * jarg2) {
  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
  switch_management_interface *arg2 = (switch_management_interface *) 0 ;
  
  arg1 = (switch_management_interface *)jarg1; 
  arg2 = (switch_management_interface *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_management_interface_next_get___(void * jarg1) {
  void * jresult ;
  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
  switch_management_interface *result = 0 ;
  
  arg1 = (switch_management_interface *)jarg1; 
  result = (switch_management_interface *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_management_interface___() {
  void * jresult ;
  switch_management_interface *result = 0 ;
  
  result = (switch_management_interface *)new switch_management_interface();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_management_interface___(void * jarg1) {
  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
  
  arg1 = (switch_management_interface *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_limit_interface_interface_name_set___(void * jarg1, char * jarg2) {
  switch_limit_interface *arg1 = (switch_limit_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_limit_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->interface_name, (const char *)arg2);
    } else {
      arg1->interface_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_limit_interface_interface_name_get___(void * jarg1) {
  char * jresult ;
  switch_limit_interface *arg1 = (switch_limit_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_limit_interface *)jarg1; 
  result = (char *) ((arg1)->interface_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_limit_interface_incr_set___(void * jarg1, void * jarg2) {
  switch_limit_interface *arg1 = (switch_limit_interface *) 0 ;
  switch_status_t (*arg2)(switch_core_session_t *,char const *,char const *,int const,int const) = (switch_status_t (*)(switch_core_session_t *,char const *,char const *,int const,int const)) 0 ;
  
  arg1 = (switch_limit_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_core_session_t *,char const *,char const *,int const,int const))jarg2; 
  if (arg1) (arg1)->incr = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_limit_interface_incr_get___(void * jarg1) {
  void * jresult ;
  switch_limit_interface *arg1 = (switch_limit_interface *) 0 ;
  switch_status_t (*result)(switch_core_session_t *,char const *,char const *,int const,int const) = 0 ;
  
  arg1 = (switch_limit_interface *)jarg1; 
  result = (switch_status_t (*)(switch_core_session_t *,char const *,char const *,int const,int const)) ((arg1)->incr);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_limit_interface_release_set___(void * jarg1, void * jarg2) {
  switch_limit_interface *arg1 = (switch_limit_interface *) 0 ;
  switch_status_t (*arg2)(switch_core_session_t *,char const *,char const *) = (switch_status_t (*)(switch_core_session_t *,char const *,char const *)) 0 ;
  
  arg1 = (switch_limit_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_core_session_t *,char const *,char const *))jarg2; 
  if (arg1) (arg1)->release = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_limit_interface_release_get___(void * jarg1) {
  void * jresult ;
  switch_limit_interface *arg1 = (switch_limit_interface *) 0 ;
  switch_status_t (*result)(switch_core_session_t *,char const *,char const *) = 0 ;
  
  arg1 = (switch_limit_interface *)jarg1; 
  result = (switch_status_t (*)(switch_core_session_t *,char const *,char const *)) ((arg1)->release);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_limit_interface_usage_set___(void * jarg1, void * jarg2) {
  switch_limit_interface *arg1 = (switch_limit_interface *) 0 ;
  int (*arg2)(char const *,char const *,uint32_t *) = (int (*)(char const *,char const *,uint32_t *)) 0 ;
  
  arg1 = (switch_limit_interface *)jarg1; 
  arg2 = (int (*)(char const *,char const *,uint32_t *))jarg2; 
  if (arg1) (arg1)->usage = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_limit_interface_usage_get___(void * jarg1) {
  void * jresult ;
  switch_limit_interface *arg1 = (switch_limit_interface *) 0 ;
  int (*result)(char const *,char const *,uint32_t *) = 0 ;
  
  arg1 = (switch_limit_interface *)jarg1; 
  result = (int (*)(char const *,char const *,uint32_t *)) ((arg1)->usage);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_limit_interface_reset_set___(void * jarg1, void * jarg2) {
  switch_limit_interface *arg1 = (switch_limit_interface *) 0 ;
  switch_status_t (*arg2)(void) = (switch_status_t (*)(void)) 0 ;
  
  arg1 = (switch_limit_interface *)jarg1; 
  arg2 = (switch_status_t (*)(void))jarg2; 
  if (arg1) (arg1)->reset = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_limit_interface_reset_get___(void * jarg1) {
  void * jresult ;
  switch_limit_interface *arg1 = (switch_limit_interface *) 0 ;
  switch_status_t (*result)(void) = 0 ;
  
  arg1 = (switch_limit_interface *)jarg1; 
  result = (switch_status_t (*)(void)) ((arg1)->reset);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_limit_interface_status_set___(void * jarg1, void * jarg2) {
  switch_limit_interface *arg1 = (switch_limit_interface *) 0 ;
  char *(*arg2)(void) = (char *(*)(void)) 0 ;
  
  arg1 = (switch_limit_interface *)jarg1; 
  arg2 = (char *(*)(void))jarg2; 
  if (arg1) (arg1)->status = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_limit_interface_status_get___(void * jarg1) {
  void * jresult ;
  switch_limit_interface *arg1 = (switch_limit_interface *) 0 ;
  char *(*result)(void) = 0 ;
  
  arg1 = (switch_limit_interface *)jarg1; 
  result = (char *(*)(void)) ((arg1)->status);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_limit_interface_interval_reset_set___(void * jarg1, void * jarg2) {
  switch_limit_interface *arg1 = (switch_limit_interface *) 0 ;
  switch_status_t (*arg2)(char const *,char const *) = (switch_status_t (*)(char const *,char const *)) 0 ;
  
  arg1 = (switch_limit_interface *)jarg1; 
  arg2 = (switch_status_t (*)(char const *,char const *))jarg2; 
  if (arg1) (arg1)->interval_reset = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_limit_interface_interval_reset_get___(void * jarg1) {
  void * jresult ;
  switch_limit_interface *arg1 = (switch_limit_interface *) 0 ;
  switch_status_t (*result)(char const *,char const *) = 0 ;
  
  arg1 = (switch_limit_interface *)jarg1; 
  result = (switch_status_t (*)(char const *,char const *)) ((arg1)->interval_reset);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_limit_interface_rwlock_set___(void * jarg1, void * jarg2) {
  switch_limit_interface *arg1 = (switch_limit_interface *) 0 ;
  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
  
  arg1 = (switch_limit_interface *)jarg1; 
  arg2 = (switch_thread_rwlock_t *)jarg2; 
  if (arg1) (arg1)->rwlock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_limit_interface_rwlock_get___(void * jarg1) {
  void * jresult ;
  switch_limit_interface *arg1 = (switch_limit_interface *) 0 ;
  switch_thread_rwlock_t *result = 0 ;
  
  arg1 = (switch_limit_interface *)jarg1; 
  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_limit_interface_refs_set___(void * jarg1, int jarg2) {
  switch_limit_interface *arg1 = (switch_limit_interface *) 0 ;
  int arg2 ;
  
  arg1 = (switch_limit_interface *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->refs = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_limit_interface_refs_get___(void * jarg1) {
  int jresult ;
  switch_limit_interface *arg1 = (switch_limit_interface *) 0 ;
  int result;
  
  arg1 = (switch_limit_interface *)jarg1; 
  result = (int) ((arg1)->refs);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_limit_interface_reflock_set___(void * jarg1, void * jarg2) {
  switch_limit_interface *arg1 = (switch_limit_interface *) 0 ;
  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
  
  arg1 = (switch_limit_interface *)jarg1; 
  arg2 = (switch_mutex_t *)jarg2; 
  if (arg1) (arg1)->reflock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_limit_interface_reflock_get___(void * jarg1) {
  void * jresult ;
  switch_limit_interface *arg1 = (switch_limit_interface *) 0 ;
  switch_mutex_t *result = 0 ;
  
  arg1 = (switch_limit_interface *)jarg1; 
  result = (switch_mutex_t *) ((arg1)->reflock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_limit_interface_parent_set___(void * jarg1, void * jarg2) {
  switch_limit_interface *arg1 = (switch_limit_interface *) 0 ;
  switch_loadable_module_interface_t *arg2 = (switch_loadable_module_interface_t *) 0 ;
  
  arg1 = (switch_limit_interface *)jarg1; 
  arg2 = (switch_loadable_module_interface_t *)jarg2; 
  if (arg1) (arg1)->parent = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_limit_interface_parent_get___(void * jarg1) {
  void * jresult ;
  switch_limit_interface *arg1 = (switch_limit_interface *) 0 ;
  switch_loadable_module_interface_t *result = 0 ;
  
  arg1 = (switch_limit_interface *)jarg1; 
  result = (switch_loadable_module_interface_t *) ((arg1)->parent);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_limit_interface_next_set___(void * jarg1, void * jarg2) {
  switch_limit_interface *arg1 = (switch_limit_interface *) 0 ;
  switch_limit_interface *arg2 = (switch_limit_interface *) 0 ;
  
  arg1 = (switch_limit_interface *)jarg1; 
  arg2 = (switch_limit_interface *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_limit_interface_next_get___(void * jarg1) {
  void * jresult ;
  switch_limit_interface *arg1 = (switch_limit_interface *) 0 ;
  switch_limit_interface *result = 0 ;
  
  arg1 = (switch_limit_interface *)jarg1; 
  result = (switch_limit_interface *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_limit_interface___() {
  void * jresult ;
  switch_limit_interface *result = 0 ;
  
  result = (switch_limit_interface *)new switch_limit_interface();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_limit_interface___(void * jarg1) {
  switch_limit_interface *arg1 = (switch_limit_interface *) 0 ;
  
  arg1 = (switch_limit_interface *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_interface_interface_name_set___(void * jarg1, char * jarg2) {
  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_directory_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->interface_name, (const char *)arg2);
    } else {
      arg1->interface_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_interface_interface_name_get___(void * jarg1) {
  char * jresult ;
  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_directory_interface *)jarg1; 
  result = (char *) ((arg1)->interface_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_interface_directory_open_set___(void * jarg1, void * jarg2) {
  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
  switch_status_t (*arg2)(switch_directory_handle_t *,char *,char *,char *) = (switch_status_t (*)(switch_directory_handle_t *,char *,char *,char *)) 0 ;
  
  arg1 = (switch_directory_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_directory_handle_t *,char *,char *,char *))jarg2; 
  if (arg1) (arg1)->directory_open = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_interface_directory_open_get___(void * jarg1) {
  void * jresult ;
  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
  switch_status_t (*result)(switch_directory_handle_t *,char *,char *,char *) = 0 ;
  
  arg1 = (switch_directory_interface *)jarg1; 
  result = (switch_status_t (*)(switch_directory_handle_t *,char *,char *,char *)) ((arg1)->directory_open);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_interface_directory_close_set___(void * jarg1, void * jarg2) {
  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
  switch_status_t (*arg2)(switch_directory_handle_t *) = (switch_status_t (*)(switch_directory_handle_t *)) 0 ;
  
  arg1 = (switch_directory_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_directory_handle_t *))jarg2; 
  if (arg1) (arg1)->directory_close = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_interface_directory_close_get___(void * jarg1) {
  void * jresult ;
  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
  switch_status_t (*result)(switch_directory_handle_t *) = 0 ;
  
  arg1 = (switch_directory_interface *)jarg1; 
  result = (switch_status_t (*)(switch_directory_handle_t *)) ((arg1)->directory_close);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_interface_directory_query_set___(void * jarg1, void * jarg2) {
  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
  switch_status_t (*arg2)(switch_directory_handle_t *,char *,char *) = (switch_status_t (*)(switch_directory_handle_t *,char *,char *)) 0 ;
  
  arg1 = (switch_directory_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_directory_handle_t *,char *,char *))jarg2; 
  if (arg1) (arg1)->directory_query = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_interface_directory_query_get___(void * jarg1) {
  void * jresult ;
  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
  switch_status_t (*result)(switch_directory_handle_t *,char *,char *) = 0 ;
  
  arg1 = (switch_directory_interface *)jarg1; 
  result = (switch_status_t (*)(switch_directory_handle_t *,char *,char *)) ((arg1)->directory_query);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_interface_directory_next_set___(void * jarg1, void * jarg2) {
  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
  switch_status_t (*arg2)(switch_directory_handle_t *) = (switch_status_t (*)(switch_directory_handle_t *)) 0 ;
  
  arg1 = (switch_directory_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_directory_handle_t *))jarg2; 
  if (arg1) (arg1)->directory_next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_interface_directory_next_get___(void * jarg1) {
  void * jresult ;
  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
  switch_status_t (*result)(switch_directory_handle_t *) = 0 ;
  
  arg1 = (switch_directory_interface *)jarg1; 
  result = (switch_status_t (*)(switch_directory_handle_t *)) ((arg1)->directory_next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_interface_directory_next_pair_set___(void * jarg1, void * jarg2) {
  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
  switch_status_t (*arg2)(switch_directory_handle_t *,char **,char **) = (switch_status_t (*)(switch_directory_handle_t *,char **,char **)) 0 ;
  
  arg1 = (switch_directory_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_directory_handle_t *,char **,char **))jarg2; 
  if (arg1) (arg1)->directory_next_pair = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_interface_directory_next_pair_get___(void * jarg1) {
  void * jresult ;
  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
  switch_status_t (*result)(switch_directory_handle_t *,char **,char **) = 0 ;
  
  arg1 = (switch_directory_interface *)jarg1; 
  result = (switch_status_t (*)(switch_directory_handle_t *,char **,char **)) ((arg1)->directory_next_pair);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_interface_rwlock_set___(void * jarg1, void * jarg2) {
  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
  
  arg1 = (switch_directory_interface *)jarg1; 
  arg2 = (switch_thread_rwlock_t *)jarg2; 
  if (arg1) (arg1)->rwlock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_interface_rwlock_get___(void * jarg1) {
  void * jresult ;
  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
  switch_thread_rwlock_t *result = 0 ;
  
  arg1 = (switch_directory_interface *)jarg1; 
  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_interface_refs_set___(void * jarg1, int jarg2) {
  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
  int arg2 ;
  
  arg1 = (switch_directory_interface *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->refs = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_interface_refs_get___(void * jarg1) {
  int jresult ;
  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
  int result;
  
  arg1 = (switch_directory_interface *)jarg1; 
  result = (int) ((arg1)->refs);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_interface_reflock_set___(void * jarg1, void * jarg2) {
  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
  
  arg1 = (switch_directory_interface *)jarg1; 
  arg2 = (switch_mutex_t *)jarg2; 
  if (arg1) (arg1)->reflock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_interface_reflock_get___(void * jarg1) {
  void * jresult ;
  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
  switch_mutex_t *result = 0 ;
  
  arg1 = (switch_directory_interface *)jarg1; 
  result = (switch_mutex_t *) ((arg1)->reflock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_interface_parent_set___(void * jarg1, void * jarg2) {
  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
  switch_loadable_module_interface_t *arg2 = (switch_loadable_module_interface_t *) 0 ;
  
  arg1 = (switch_directory_interface *)jarg1; 
  arg2 = (switch_loadable_module_interface_t *)jarg2; 
  if (arg1) (arg1)->parent = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_interface_parent_get___(void * jarg1) {
  void * jresult ;
  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
  switch_loadable_module_interface_t *result = 0 ;
  
  arg1 = (switch_directory_interface *)jarg1; 
  result = (switch_loadable_module_interface_t *) ((arg1)->parent);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_interface_next_set___(void * jarg1, void * jarg2) {
  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
  switch_directory_interface *arg2 = (switch_directory_interface *) 0 ;
  
  arg1 = (switch_directory_interface *)jarg1; 
  arg2 = (switch_directory_interface *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_interface_next_get___(void * jarg1) {
  void * jresult ;
  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
  switch_directory_interface *result = 0 ;
  
  arg1 = (switch_directory_interface *)jarg1; 
  result = (switch_directory_interface *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_directory_interface___() {
  void * jresult ;
  switch_directory_interface *result = 0 ;
  
  result = (switch_directory_interface *)new switch_directory_interface();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_directory_interface___(void * jarg1) {
  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
  
  arg1 = (switch_directory_interface *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_handle_directory_interface_set___(void * jarg1, void * jarg2) {
  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
  switch_directory_interface_t *arg2 = (switch_directory_interface_t *) 0 ;
  
  arg1 = (switch_directory_handle *)jarg1; 
  arg2 = (switch_directory_interface_t *)jarg2; 
  if (arg1) (arg1)->directory_interface = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_handle_directory_interface_get___(void * jarg1) {
  void * jresult ;
  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
  switch_directory_interface_t *result = 0 ;
  
  arg1 = (switch_directory_handle *)jarg1; 
  result = (switch_directory_interface_t *) ((arg1)->directory_interface);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_handle_flags_set___(void * jarg1, unsigned long jarg2) {
  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_directory_handle *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->flags = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_handle_flags_get___(void * jarg1) {
  unsigned long jresult ;
  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
  uint32_t result;
  
  arg1 = (switch_directory_handle *)jarg1; 
  result = (uint32_t) ((arg1)->flags);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_handle_memory_pool_set___(void * jarg1, void * jarg2) {
  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
  
  arg1 = (switch_directory_handle *)jarg1; 
  arg2 = (switch_memory_pool_t *)jarg2; 
  if (arg1) (arg1)->memory_pool = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_handle_memory_pool_get___(void * jarg1) {
  void * jresult ;
  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
  switch_memory_pool_t *result = 0 ;
  
  arg1 = (switch_directory_handle *)jarg1; 
  result = (switch_memory_pool_t *) ((arg1)->memory_pool);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_handle_private_info_set___(void * jarg1, void * jarg2) {
  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_directory_handle *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->private_info = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_directory_handle_private_info_get___(void * jarg1) {
  void * jresult ;
  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_directory_handle *)jarg1; 
  result = (void *) ((arg1)->private_info);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_directory_handle___() {
  void * jresult ;
  switch_directory_handle *result = 0 ;
  
  result = (switch_directory_handle *)new switch_directory_handle();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_directory_handle___(void * jarg1) {
  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
  
  arg1 = (switch_directory_handle *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_interface_name_set___(void * jarg1, char * jarg2) {
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->interface_name, (const char *)arg2);
    } else {
      arg1->interface_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_interface_name_get___(void * jarg1) {
  char * jresult ;
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  result = (char *) ((arg1)->interface_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_flags_set___(void * jarg1, unsigned long jarg2) {
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->flags = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_flags_get___(void * jarg1) {
  unsigned long jresult ;
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  uint32_t result;
  
  arg1 = (switch_database_interface *)jarg1; 
  result = (uint32_t) ((arg1)->flags);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_handle_new_set___(void * jarg1, void * jarg2) {
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_status_t (*arg2)(switch_cache_db_database_interface_options_t,switch_database_interface_handle_t **) = (switch_status_t (*)(switch_cache_db_database_interface_options_t,switch_database_interface_handle_t **)) 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_cache_db_database_interface_options_t,switch_database_interface_handle_t **))jarg2; 
  if (arg1) (arg1)->handle_new = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_handle_new_get___(void * jarg1) {
  void * jresult ;
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_status_t (*result)(switch_cache_db_database_interface_options_t,switch_database_interface_handle_t **) = 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  result = (switch_status_t (*)(switch_cache_db_database_interface_options_t,switch_database_interface_handle_t **)) ((arg1)->handle_new);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_handle_destroy_set___(void * jarg1, void * jarg2) {
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_status_t (*arg2)(switch_database_interface_handle_t **) = (switch_status_t (*)(switch_database_interface_handle_t **)) 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_database_interface_handle_t **))jarg2; 
  if (arg1) (arg1)->handle_destroy = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_handle_destroy_get___(void * jarg1) {
  void * jresult ;
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_status_t (*result)(switch_database_interface_handle_t **) = 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  result = (switch_status_t (*)(switch_database_interface_handle_t **)) ((arg1)->handle_destroy);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_flush_set___(void * jarg1, void * jarg2) {
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_status_t (*arg2)(switch_database_interface_handle_t *) = (switch_status_t (*)(switch_database_interface_handle_t *)) 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_database_interface_handle_t *))jarg2; 
  if (arg1) (arg1)->flush = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_flush_get___(void * jarg1) {
  void * jresult ;
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_status_t (*result)(switch_database_interface_handle_t *) = 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  result = (switch_status_t (*)(switch_database_interface_handle_t *)) ((arg1)->flush);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_exec_detailed_set___(void * jarg1, void * jarg2) {
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_status_t (*arg2)(char const *,char const *,int,switch_database_interface_handle_t *,char const *,char **) = (switch_status_t (*)(char const *,char const *,int,switch_database_interface_handle_t *,char const *,char **)) 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  arg2 = (switch_status_t (*)(char const *,char const *,int,switch_database_interface_handle_t *,char const *,char **))jarg2; 
  if (arg1) (arg1)->exec_detailed = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_exec_detailed_get___(void * jarg1) {
  void * jresult ;
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_status_t (*result)(char const *,char const *,int,switch_database_interface_handle_t *,char const *,char **) = 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  result = (switch_status_t (*)(char const *,char const *,int,switch_database_interface_handle_t *,char const *,char **)) ((arg1)->exec_detailed);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_exec_string_set___(void * jarg1, void * jarg2) {
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_status_t (*arg2)(switch_database_interface_handle_t *,char const *,char *,size_t,char **) = (switch_status_t (*)(switch_database_interface_handle_t *,char const *,char *,size_t,char **)) 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_database_interface_handle_t *,char const *,char *,size_t,char **))jarg2; 
  if (arg1) (arg1)->exec_string = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_exec_string_get___(void * jarg1) {
  void * jresult ;
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_status_t (*result)(switch_database_interface_handle_t *,char const *,char *,size_t,char **) = 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  result = (switch_status_t (*)(switch_database_interface_handle_t *,char const *,char *,size_t,char **)) ((arg1)->exec_string);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_sql_set_auto_commit_attr_set___(void * jarg1, void * jarg2) {
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_status_t (*arg2)(switch_database_interface_handle_t *,switch_bool_t) = (switch_status_t (*)(switch_database_interface_handle_t *,switch_bool_t)) 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_database_interface_handle_t *,switch_bool_t))jarg2; 
  if (arg1) (arg1)->sql_set_auto_commit_attr = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_sql_set_auto_commit_attr_get___(void * jarg1) {
  void * jresult ;
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_status_t (*result)(switch_database_interface_handle_t *,switch_bool_t) = 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  result = (switch_status_t (*)(switch_database_interface_handle_t *,switch_bool_t)) ((arg1)->sql_set_auto_commit_attr);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_commit_set___(void * jarg1, void * jarg2) {
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_status_t (*arg2)(switch_database_interface_handle_t *) = (switch_status_t (*)(switch_database_interface_handle_t *)) 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_database_interface_handle_t *))jarg2; 
  if (arg1) (arg1)->commit = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_commit_get___(void * jarg1) {
  void * jresult ;
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_status_t (*result)(switch_database_interface_handle_t *) = 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  result = (switch_status_t (*)(switch_database_interface_handle_t *)) ((arg1)->commit);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_rollback_set___(void * jarg1, void * jarg2) {
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_status_t (*arg2)(switch_database_interface_handle_t *) = (switch_status_t (*)(switch_database_interface_handle_t *)) 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_database_interface_handle_t *))jarg2; 
  if (arg1) (arg1)->rollback = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_rollback_get___(void * jarg1) {
  void * jresult ;
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_status_t (*result)(switch_database_interface_handle_t *) = 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  result = (switch_status_t (*)(switch_database_interface_handle_t *)) ((arg1)->rollback);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_callback_exec_detailed_set___(void * jarg1, void * jarg2) {
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_status_t (*arg2)(char const *,char const *,int,switch_database_interface_handle_t *,char const *,switch_core_db_callback_func_t,void *,char **) = (switch_status_t (*)(char const *,char const *,int,switch_database_interface_handle_t *,char const *,switch_core_db_callback_func_t,void *,char **)) 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  arg2 = (switch_status_t (*)(char const *,char const *,int,switch_database_interface_handle_t *,char const *,switch_core_db_callback_func_t,void *,char **))jarg2; 
  if (arg1) (arg1)->callback_exec_detailed = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_callback_exec_detailed_get___(void * jarg1) {
  void * jresult ;
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_status_t (*result)(char const *,char const *,int,switch_database_interface_handle_t *,char const *,switch_core_db_callback_func_t,void *,char **) = 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  result = (switch_status_t (*)(char const *,char const *,int,switch_database_interface_handle_t *,char const *,switch_core_db_callback_func_t,void *,char **)) ((arg1)->callback_exec_detailed);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_affected_rows_set___(void * jarg1, void * jarg2) {
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_status_t (*arg2)(switch_database_interface_handle_t *,int *) = (switch_status_t (*)(switch_database_interface_handle_t *,int *)) 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_database_interface_handle_t *,int *))jarg2; 
  if (arg1) (arg1)->affected_rows = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_affected_rows_get___(void * jarg1) {
  void * jresult ;
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_status_t (*result)(switch_database_interface_handle_t *,int *) = 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  result = (switch_status_t (*)(switch_database_interface_handle_t *,int *)) ((arg1)->affected_rows);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_prefixes_set___(void * jarg1, void * jarg2) {
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  char **arg2 = (char **) 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  arg2 = (char **)jarg2; 
  if (arg1) (arg1)->prefixes = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_prefixes_get___(void * jarg1) {
  void * jresult ;
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  char **result = 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  result = (char **) ((arg1)->prefixes);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_rwlock_set___(void * jarg1, void * jarg2) {
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  arg2 = (switch_thread_rwlock_t *)jarg2; 
  if (arg1) (arg1)->rwlock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_rwlock_get___(void * jarg1) {
  void * jresult ;
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_thread_rwlock_t *result = 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_refs_set___(void * jarg1, int jarg2) {
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  int arg2 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->refs = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_refs_get___(void * jarg1) {
  int jresult ;
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  int result;
  
  arg1 = (switch_database_interface *)jarg1; 
  result = (int) ((arg1)->refs);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_reflock_set___(void * jarg1, void * jarg2) {
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  arg2 = (switch_mutex_t *)jarg2; 
  if (arg1) (arg1)->reflock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_reflock_get___(void * jarg1) {
  void * jresult ;
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_mutex_t *result = 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  result = (switch_mutex_t *) ((arg1)->reflock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_parent_set___(void * jarg1, void * jarg2) {
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_loadable_module_interface_t *arg2 = (switch_loadable_module_interface_t *) 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  arg2 = (switch_loadable_module_interface_t *)jarg2; 
  if (arg1) (arg1)->parent = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_parent_get___(void * jarg1) {
  void * jresult ;
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_loadable_module_interface_t *result = 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  result = (switch_loadable_module_interface_t *) ((arg1)->parent);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_next_set___(void * jarg1, void * jarg2) {
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_database_interface *arg2 = (switch_database_interface *) 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  arg2 = (switch_database_interface *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_next_get___(void * jarg1) {
  void * jresult ;
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  switch_database_interface *result = 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  result = (switch_database_interface *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_database_interface___() {
  void * jresult ;
  switch_database_interface *result = 0 ;
  
  result = (switch_database_interface *)new switch_database_interface();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_database_interface___(void * jarg1) {
  switch_database_interface *arg1 = (switch_database_interface *) 0 ;
  
  arg1 = (switch_database_interface *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_handle_connection_options_set___(void * jarg1, void * jarg2) {
  switch_database_interface_handle *arg1 = (switch_database_interface_handle *) 0 ;
  switch_cache_db_database_interface_options_t *arg2 = (switch_cache_db_database_interface_options_t *) 0 ;
  
  arg1 = (switch_database_interface_handle *)jarg1; 
  arg2 = (switch_cache_db_database_interface_options_t *)jarg2; 
  if (arg1) (arg1)->connection_options = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_handle_connection_options_get___(void * jarg1) {
  void * jresult ;
  switch_database_interface_handle *arg1 = (switch_database_interface_handle *) 0 ;
  switch_cache_db_database_interface_options_t *result = 0 ;
  
  arg1 = (switch_database_interface_handle *)jarg1; 
  result = (switch_cache_db_database_interface_options_t *)& ((arg1)->connection_options);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_handle_handle_set___(void * jarg1, void * jarg2) {
  switch_database_interface_handle *arg1 = (switch_database_interface_handle *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_database_interface_handle *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->handle = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_database_interface_handle_handle_get___(void * jarg1) {
  void * jresult ;
  switch_database_interface_handle *arg1 = (switch_database_interface_handle *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_database_interface_handle *)jarg1; 
  result = (void *) ((arg1)->handle);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_database_interface_handle___() {
  void * jresult ;
  switch_database_interface_handle *result = 0 ;
  
  result = (switch_database_interface_handle *)new switch_database_interface_handle();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_database_interface_handle___(void * jarg1) {
  switch_database_interface_handle *arg1 = (switch_database_interface_handle *) 0 ;
  
  arg1 = (switch_database_interface_handle *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_audio_codec_settings_unused_set___(void * jarg1, int jarg2) {
  switch_audio_codec_settings *arg1 = (switch_audio_codec_settings *) 0 ;
  int arg2 ;
  
  arg1 = (switch_audio_codec_settings *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->unused = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_audio_codec_settings_unused_get___(void * jarg1) {
  int jresult ;
  switch_audio_codec_settings *arg1 = (switch_audio_codec_settings *) 0 ;
  int result;
  
  arg1 = (switch_audio_codec_settings *)jarg1; 
  result = (int) ((arg1)->unused);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_audio_codec_settings___() {
  void * jresult ;
  switch_audio_codec_settings *result = 0 ;
  
  result = (switch_audio_codec_settings *)new switch_audio_codec_settings();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_audio_codec_settings___(void * jarg1) {
  switch_audio_codec_settings *arg1 = (switch_audio_codec_settings *) 0 ;
  
  arg1 = (switch_audio_codec_settings *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_video_codec_settings_bandwidth_set___(void * jarg1, unsigned long jarg2) {
  switch_video_codec_settings *arg1 = (switch_video_codec_settings *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_video_codec_settings *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->bandwidth = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_video_codec_settings_bandwidth_get___(void * jarg1) {
  unsigned long jresult ;
  switch_video_codec_settings *arg1 = (switch_video_codec_settings *) 0 ;
  uint32_t result;
  
  arg1 = (switch_video_codec_settings *)jarg1; 
  result = (uint32_t) ((arg1)->bandwidth);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_video_codec_settings_width_set___(void * jarg1, int jarg2) {
  switch_video_codec_settings *arg1 = (switch_video_codec_settings *) 0 ;
  int32_t arg2 ;
  
  arg1 = (switch_video_codec_settings *)jarg1; 
  arg2 = (int32_t)jarg2; 
  if (arg1) (arg1)->width = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_video_codec_settings_width_get___(void * jarg1) {
  int jresult ;
  switch_video_codec_settings *arg1 = (switch_video_codec_settings *) 0 ;
  int32_t result;
  
  arg1 = (switch_video_codec_settings *)jarg1; 
  result = (int32_t) ((arg1)->width);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_video_codec_settings_height_set___(void * jarg1, int jarg2) {
  switch_video_codec_settings *arg1 = (switch_video_codec_settings *) 0 ;
  int32_t arg2 ;
  
  arg1 = (switch_video_codec_settings *)jarg1; 
  arg2 = (int32_t)jarg2; 
  if (arg1) (arg1)->height = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_video_codec_settings_height_get___(void * jarg1) {
  int jresult ;
  switch_video_codec_settings *arg1 = (switch_video_codec_settings *) 0 ;
  int32_t result;
  
  arg1 = (switch_video_codec_settings *)jarg1; 
  result = (int32_t) ((arg1)->height);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_video_codec_settings_try_hardware_encoder_set___(void * jarg1, unsigned char jarg2) {
  switch_video_codec_settings *arg1 = (switch_video_codec_settings *) 0 ;
  uint8_t arg2 ;
  
  arg1 = (switch_video_codec_settings *)jarg1; 
  arg2 = (uint8_t)jarg2; 
  if (arg1) (arg1)->try_hardware_encoder = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_video_codec_settings_try_hardware_encoder_get___(void * jarg1) {
  unsigned char jresult ;
  switch_video_codec_settings *arg1 = (switch_video_codec_settings *) 0 ;
  uint8_t result;
  
  arg1 = (switch_video_codec_settings *)jarg1; 
  result = (uint8_t) ((arg1)->try_hardware_encoder);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_video_codec_settings_fps_set___(void * jarg1, unsigned char jarg2) {
  switch_video_codec_settings *arg1 = (switch_video_codec_settings *) 0 ;
  uint8_t arg2 ;
  
  arg1 = (switch_video_codec_settings *)jarg1; 
  arg2 = (uint8_t)jarg2; 
  if (arg1) (arg1)->fps = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_video_codec_settings_fps_get___(void * jarg1) {
  unsigned char jresult ;
  switch_video_codec_settings *arg1 = (switch_video_codec_settings *) 0 ;
  uint8_t result;
  
  arg1 = (switch_video_codec_settings *)jarg1; 
  result = (uint8_t) ((arg1)->fps);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_video_codec_settings_config_profile_name_set___(void * jarg1, char * jarg2) {
  switch_video_codec_settings *arg1 = (switch_video_codec_settings *) 0 ;
  char *arg2 ;
  
  arg1 = (switch_video_codec_settings *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if(arg2) {
      strncpy((char*)arg1->config_profile_name, (const char *)arg2, 64-1);
      arg1->config_profile_name[64-1] = 0;
    } else {
      arg1->config_profile_name[0] = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_video_codec_settings_config_profile_name_get___(void * jarg1) {
  char * jresult ;
  switch_video_codec_settings *arg1 = (switch_video_codec_settings *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_video_codec_settings *)jarg1; 
  result = (char *)(char *) ((arg1)->config_profile_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_video_codec_settings___() {
  void * jresult ;
  switch_video_codec_settings *result = 0 ;
  
  result = (switch_video_codec_settings *)new switch_video_codec_settings();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_video_codec_settings___(void * jarg1) {
  switch_video_codec_settings *arg1 = (switch_video_codec_settings *) 0 ;
  
  arg1 = (switch_video_codec_settings *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_settings_audio_set___(void * jarg1, void * jarg2) {
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  switch_audio_codec_settings *arg2 = (switch_audio_codec_settings *) 0 ;
  
  arg1 = (switch_codec_settings *)jarg1; 
  arg2 = (switch_audio_codec_settings *)jarg2; 
  if (arg1) (arg1)->audio = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_settings_audio_get___(void * jarg1) {
  void * jresult ;
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  switch_audio_codec_settings *result = 0 ;
  
  arg1 = (switch_codec_settings *)jarg1; 
  result = (switch_audio_codec_settings *)& ((arg1)->audio);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_settings_video_set___(void * jarg1, void * jarg2) {
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  switch_video_codec_settings *arg2 = (switch_video_codec_settings *) 0 ;
  
  arg1 = (switch_codec_settings *)jarg1; 
  arg2 = (switch_video_codec_settings *)jarg2; 
  if (arg1) (arg1)->video = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_settings_video_get___(void * jarg1) {
  void * jresult ;
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  switch_video_codec_settings *result = 0 ;
  
  arg1 = (switch_codec_settings *)jarg1; 
  result = (switch_video_codec_settings *)& ((arg1)->video);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_codec_settings___() {
  void * jresult ;
  switch_codec_settings *result = 0 ;
  
  result = (switch_codec_settings *)new switch_codec_settings();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_codec_settings___(void * jarg1) {
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  
  arg1 = (switch_codec_settings *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_fmtp_actual_samples_per_second_set___(void * jarg1, unsigned long jarg2) {
  switch_codec_fmtp *arg1 = (switch_codec_fmtp *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_codec_fmtp *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->actual_samples_per_second = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_fmtp_actual_samples_per_second_get___(void * jarg1) {
  unsigned long jresult ;
  switch_codec_fmtp *arg1 = (switch_codec_fmtp *) 0 ;
  uint32_t result;
  
  arg1 = (switch_codec_fmtp *)jarg1; 
  result = (uint32_t) ((arg1)->actual_samples_per_second);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_fmtp_bits_per_second_set___(void * jarg1, int jarg2) {
  switch_codec_fmtp *arg1 = (switch_codec_fmtp *) 0 ;
  int arg2 ;
  
  arg1 = (switch_codec_fmtp *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->bits_per_second = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_fmtp_bits_per_second_get___(void * jarg1) {
  int jresult ;
  switch_codec_fmtp *arg1 = (switch_codec_fmtp *) 0 ;
  int result;
  
  arg1 = (switch_codec_fmtp *)jarg1; 
  result = (int) ((arg1)->bits_per_second);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_fmtp_microseconds_per_packet_set___(void * jarg1, int jarg2) {
  switch_codec_fmtp *arg1 = (switch_codec_fmtp *) 0 ;
  int arg2 ;
  
  arg1 = (switch_codec_fmtp *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->microseconds_per_packet = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_fmtp_microseconds_per_packet_get___(void * jarg1) {
  int jresult ;
  switch_codec_fmtp *arg1 = (switch_codec_fmtp *) 0 ;
  int result;
  
  arg1 = (switch_codec_fmtp *)jarg1; 
  result = (int) ((arg1)->microseconds_per_packet);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_fmtp_stereo_set___(void * jarg1, int jarg2) {
  switch_codec_fmtp *arg1 = (switch_codec_fmtp *) 0 ;
  int arg2 ;
  
  arg1 = (switch_codec_fmtp *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->stereo = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_fmtp_stereo_get___(void * jarg1) {
  int jresult ;
  switch_codec_fmtp *arg1 = (switch_codec_fmtp *) 0 ;
  int result;
  
  arg1 = (switch_codec_fmtp *)jarg1; 
  result = (int) ((arg1)->stereo);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_fmtp_private_info_set___(void * jarg1, void * jarg2) {
  switch_codec_fmtp *arg1 = (switch_codec_fmtp *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_codec_fmtp *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->private_info = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_fmtp_private_info_get___(void * jarg1) {
  void * jresult ;
  switch_codec_fmtp *arg1 = (switch_codec_fmtp *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_codec_fmtp *)jarg1; 
  result = (void *) ((arg1)->private_info);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_codec_fmtp___() {
  void * jresult ;
  switch_codec_fmtp *result = 0 ;
  
  result = (switch_codec_fmtp *)new switch_codec_fmtp();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_codec_fmtp___(void * jarg1) {
  switch_codec_fmtp *arg1 = (switch_codec_fmtp *) 0 ;
  
  arg1 = (switch_codec_fmtp *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_picture_width_set___(void * jarg1, unsigned long jarg2) {
  switch_picture *arg1 = (switch_picture *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_picture *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->width = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_picture_width_get___(void * jarg1) {
  unsigned long jresult ;
  switch_picture *arg1 = (switch_picture *) 0 ;
  uint32_t result;
  
  arg1 = (switch_picture *)jarg1; 
  result = (uint32_t) ((arg1)->width);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_picture_height_set___(void * jarg1, unsigned long jarg2) {
  switch_picture *arg1 = (switch_picture *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_picture *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->height = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_picture_height_get___(void * jarg1) {
  unsigned long jresult ;
  switch_picture *arg1 = (switch_picture *) 0 ;
  uint32_t result;
  
  arg1 = (switch_picture *)jarg1; 
  result = (uint32_t) ((arg1)->height);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_picture_planes_set___(void * jarg1, void * jarg2) {
  switch_picture *arg1 = (switch_picture *) 0 ;
  uint8_t **arg2 ;
  
  arg1 = (switch_picture *)jarg1; 
  arg2 = (uint8_t **)jarg2; 
  {
    size_t ii;
    uint8_t * *b = (uint8_t * *) arg1->planes;
    for (ii = 0; ii < (size_t)4; ii++) b[ii] = *((uint8_t * *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_picture_planes_get___(void * jarg1) {
  void * jresult ;
  switch_picture *arg1 = (switch_picture *) 0 ;
  uint8_t **result = 0 ;
  
  arg1 = (switch_picture *)jarg1; 
  result = (uint8_t **)(uint8_t **) ((arg1)->planes);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_picture_stride_set___(void * jarg1, void * jarg2) {
  switch_picture *arg1 = (switch_picture *) 0 ;
  uint32_t *arg2 ;
  
  arg1 = (switch_picture *)jarg1; 
  arg2 = (uint32_t *)jarg2; 
  {
    size_t ii;
    uint32_t *b = (uint32_t *) arg1->stride;
    for (ii = 0; ii < (size_t)4; ii++) b[ii] = *((uint32_t *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_picture_stride_get___(void * jarg1) {
  void * jresult ;
  switch_picture *arg1 = (switch_picture *) 0 ;
  uint32_t *result = 0 ;
  
  arg1 = (switch_picture *)jarg1; 
  result = (uint32_t *)(uint32_t *) ((arg1)->stride);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_picture___() {
  void * jresult ;
  switch_picture *result = 0 ;
  
  result = (switch_picture *)new switch_picture();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_picture___(void * jarg1) {
  switch_picture *arg1 = (switch_picture *) 0 ;
  
  arg1 = (switch_picture *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_codec_interface_set___(void * jarg1, void * jarg2) {
  switch_codec *arg1 = (switch_codec *) 0 ;
  switch_codec_interface_t *arg2 = (switch_codec_interface_t *) 0 ;
  
  arg1 = (switch_codec *)jarg1; 
  arg2 = (switch_codec_interface_t *)jarg2; 
  if (arg1) (arg1)->codec_interface = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_codec_interface_get___(void * jarg1) {
  void * jresult ;
  switch_codec *arg1 = (switch_codec *) 0 ;
  switch_codec_interface_t *result = 0 ;
  
  arg1 = (switch_codec *)jarg1; 
  result = (switch_codec_interface_t *) ((arg1)->codec_interface);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_set___(void * jarg1, void * jarg2) {
  switch_codec *arg1 = (switch_codec *) 0 ;
  switch_codec_implementation_t *arg2 = (switch_codec_implementation_t *) 0 ;
  
  arg1 = (switch_codec *)jarg1; 
  arg2 = (switch_codec_implementation_t *)jarg2; 
  if (arg1) (arg1)->implementation = (switch_codec_implementation_t const *)arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_get___(void * jarg1) {
  void * jresult ;
  switch_codec *arg1 = (switch_codec *) 0 ;
  switch_codec_implementation_t *result = 0 ;
  
  arg1 = (switch_codec *)jarg1; 
  result = (switch_codec_implementation_t *) ((arg1)->implementation);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_fmtp_in_set___(void * jarg1, char * jarg2) {
  switch_codec *arg1 = (switch_codec *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_codec *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->fmtp_in;
    if (arg2) {
      arg1->fmtp_in = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->fmtp_in, (const char *)arg2);
    } else {
      arg1->fmtp_in = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_fmtp_in_get___(void * jarg1) {
  char * jresult ;
  switch_codec *arg1 = (switch_codec *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_codec *)jarg1; 
  result = (char *) ((arg1)->fmtp_in);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_fmtp_out_set___(void * jarg1, char * jarg2) {
  switch_codec *arg1 = (switch_codec *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_codec *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->fmtp_out;
    if (arg2) {
      arg1->fmtp_out = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->fmtp_out, (const char *)arg2);
    } else {
      arg1->fmtp_out = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_fmtp_out_get___(void * jarg1) {
  char * jresult ;
  switch_codec *arg1 = (switch_codec *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_codec *)jarg1; 
  result = (char *) ((arg1)->fmtp_out);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_flags_set___(void * jarg1, unsigned long jarg2) {
  switch_codec *arg1 = (switch_codec *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_codec *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->flags = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_flags_get___(void * jarg1) {
  unsigned long jresult ;
  switch_codec *arg1 = (switch_codec *) 0 ;
  uint32_t result;
  
  arg1 = (switch_codec *)jarg1; 
  result = (uint32_t) ((arg1)->flags);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_memory_pool_set___(void * jarg1, void * jarg2) {
  switch_codec *arg1 = (switch_codec *) 0 ;
  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
  
  arg1 = (switch_codec *)jarg1; 
  arg2 = (switch_memory_pool_t *)jarg2; 
  if (arg1) (arg1)->memory_pool = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_memory_pool_get___(void * jarg1) {
  void * jresult ;
  switch_codec *arg1 = (switch_codec *) 0 ;
  switch_memory_pool_t *result = 0 ;
  
  arg1 = (switch_codec *)jarg1; 
  result = (switch_memory_pool_t *) ((arg1)->memory_pool);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_private_info_set___(void * jarg1, void * jarg2) {
  switch_codec *arg1 = (switch_codec *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_codec *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->private_info = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_private_info_get___(void * jarg1) {
  void * jresult ;
  switch_codec *arg1 = (switch_codec *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_codec *)jarg1; 
  result = (void *) ((arg1)->private_info);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_agreed_pt_set___(void * jarg1, unsigned char jarg2) {
  switch_codec *arg1 = (switch_codec *) 0 ;
  switch_payload_t arg2 ;
  
  arg1 = (switch_codec *)jarg1; 
  arg2 = (switch_payload_t)jarg2; 
  if (arg1) (arg1)->agreed_pt = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_agreed_pt_get___(void * jarg1) {
  unsigned char jresult ;
  switch_codec *arg1 = (switch_codec *) 0 ;
  switch_payload_t result;
  
  arg1 = (switch_codec *)jarg1; 
  result = (switch_payload_t) ((arg1)->agreed_pt);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_mutex_set___(void * jarg1, void * jarg2) {
  switch_codec *arg1 = (switch_codec *) 0 ;
  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
  
  arg1 = (switch_codec *)jarg1; 
  arg2 = (switch_mutex_t *)jarg2; 
  if (arg1) (arg1)->mutex = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_mutex_get___(void * jarg1) {
  void * jresult ;
  switch_codec *arg1 = (switch_codec *) 0 ;
  switch_mutex_t *result = 0 ;
  
  arg1 = (switch_codec *)jarg1; 
  result = (switch_mutex_t *) ((arg1)->mutex);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_next_set___(void * jarg1, void * jarg2) {
  switch_codec *arg1 = (switch_codec *) 0 ;
  switch_codec *arg2 = (switch_codec *) 0 ;
  
  arg1 = (switch_codec *)jarg1; 
  arg2 = (switch_codec *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_next_get___(void * jarg1) {
  void * jresult ;
  switch_codec *arg1 = (switch_codec *) 0 ;
  switch_codec *result = 0 ;
  
  arg1 = (switch_codec *)jarg1; 
  result = (switch_codec *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_session_set___(void * jarg1, void * jarg2) {
  switch_codec *arg1 = (switch_codec *) 0 ;
  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_codec *)jarg1; 
  arg2 = (switch_core_session_t *)jarg2; 
  if (arg1) (arg1)->session = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_session_get___(void * jarg1) {
  void * jresult ;
  switch_codec *arg1 = (switch_codec *) 0 ;
  switch_core_session_t *result = 0 ;
  
  arg1 = (switch_codec *)jarg1; 
  result = (switch_core_session_t *) ((arg1)->session);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_cur_frame_set___(void * jarg1, void * jarg2) {
  switch_codec *arg1 = (switch_codec *) 0 ;
  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
  
  arg1 = (switch_codec *)jarg1; 
  arg2 = (switch_frame_t *)jarg2; 
  if (arg1) (arg1)->cur_frame = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_cur_frame_get___(void * jarg1) {
  void * jresult ;
  switch_codec *arg1 = (switch_codec *) 0 ;
  switch_frame_t *result = 0 ;
  
  arg1 = (switch_codec *)jarg1; 
  result = (switch_frame_t *) ((arg1)->cur_frame);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_codec___() {
  void * jresult ;
  switch_codec *result = 0 ;
  
  result = (switch_codec *)new switch_codec();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_codec___(void * jarg1) {
  switch_codec *arg1 = (switch_codec *) 0 ;
  
  arg1 = (switch_codec *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_codec_type_set___(void * jarg1, int jarg2) {
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  switch_codec_type_t arg2 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  arg2 = (switch_codec_type_t)jarg2; 
  if (arg1) (arg1)->codec_type = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_codec_type_get___(void * jarg1) {
  int jresult ;
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  switch_codec_type_t result;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  result = (switch_codec_type_t) ((arg1)->codec_type);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_ianacode_set___(void * jarg1, unsigned char jarg2) {
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  switch_payload_t arg2 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  arg2 = (switch_payload_t)jarg2; 
  if (arg1) (arg1)->ianacode = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_ianacode_get___(void * jarg1) {
  unsigned char jresult ;
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  switch_payload_t result;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  result = (switch_payload_t) ((arg1)->ianacode);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_iananame_set___(void * jarg1, char * jarg2) {
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->iananame;
    if (arg2) {
      arg1->iananame = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->iananame, (const char *)arg2);
    } else {
      arg1->iananame = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_iananame_get___(void * jarg1) {
  char * jresult ;
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  result = (char *) ((arg1)->iananame);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_fmtp_set___(void * jarg1, char * jarg2) {
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->fmtp;
    if (arg2) {
      arg1->fmtp = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->fmtp, (const char *)arg2);
    } else {
      arg1->fmtp = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_fmtp_get___(void * jarg1) {
  char * jresult ;
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  result = (char *) ((arg1)->fmtp);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_samples_per_second_set___(void * jarg1, unsigned long jarg2) {
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->samples_per_second = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_samples_per_second_get___(void * jarg1) {
  unsigned long jresult ;
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  uint32_t result;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  result = (uint32_t) ((arg1)->samples_per_second);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_actual_samples_per_second_set___(void * jarg1, unsigned long jarg2) {
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->actual_samples_per_second = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_actual_samples_per_second_get___(void * jarg1) {
  unsigned long jresult ;
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  uint32_t result;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  result = (uint32_t) ((arg1)->actual_samples_per_second);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_bits_per_second_set___(void * jarg1, int jarg2) {
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  int arg2 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->bits_per_second = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_bits_per_second_get___(void * jarg1) {
  int jresult ;
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  int result;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  result = (int) ((arg1)->bits_per_second);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_microseconds_per_packet_set___(void * jarg1, int jarg2) {
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  int arg2 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->microseconds_per_packet = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_microseconds_per_packet_get___(void * jarg1) {
  int jresult ;
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  int result;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  result = (int) ((arg1)->microseconds_per_packet);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_samples_per_packet_set___(void * jarg1, unsigned long jarg2) {
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->samples_per_packet = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_samples_per_packet_get___(void * jarg1) {
  unsigned long jresult ;
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  uint32_t result;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  result = (uint32_t) ((arg1)->samples_per_packet);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_decoded_bytes_per_packet_set___(void * jarg1, unsigned long jarg2) {
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->decoded_bytes_per_packet = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_decoded_bytes_per_packet_get___(void * jarg1) {
  unsigned long jresult ;
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  uint32_t result;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  result = (uint32_t) ((arg1)->decoded_bytes_per_packet);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_encoded_bytes_per_packet_set___(void * jarg1, unsigned long jarg2) {
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->encoded_bytes_per_packet = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_encoded_bytes_per_packet_get___(void * jarg1) {
  unsigned long jresult ;
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  uint32_t result;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  result = (uint32_t) ((arg1)->encoded_bytes_per_packet);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_number_of_channels_set___(void * jarg1, unsigned char jarg2) {
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  uint8_t arg2 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  arg2 = (uint8_t)jarg2; 
  if (arg1) (arg1)->number_of_channels = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_number_of_channels_get___(void * jarg1) {
  unsigned char jresult ;
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  uint8_t result;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  result = (uint8_t) ((arg1)->number_of_channels);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_codec_frames_per_packet_set___(void * jarg1, int jarg2) {
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  int arg2 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->codec_frames_per_packet = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_codec_frames_per_packet_get___(void * jarg1) {
  int jresult ;
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  int result;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  result = (int) ((arg1)->codec_frames_per_packet);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_init_set___(void * jarg1, void * jarg2) {
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  switch_core_codec_init_func_t arg2 = (switch_core_codec_init_func_t) 0 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  arg2 = (switch_core_codec_init_func_t)jarg2; 
  if (arg1) (arg1)->init = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_init_get___(void * jarg1) {
  void * jresult ;
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  switch_core_codec_init_func_t result;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  result = (switch_core_codec_init_func_t) ((arg1)->init);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_encode_set___(void * jarg1, void * jarg2) {
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  switch_core_codec_encode_func_t arg2 = (switch_core_codec_encode_func_t) 0 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  arg2 = (switch_core_codec_encode_func_t)jarg2; 
  if (arg1) (arg1)->encode = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_encode_get___(void * jarg1) {
  void * jresult ;
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  switch_core_codec_encode_func_t result;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  result = (switch_core_codec_encode_func_t) ((arg1)->encode);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_decode_set___(void * jarg1, void * jarg2) {
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  switch_core_codec_decode_func_t arg2 = (switch_core_codec_decode_func_t) 0 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  arg2 = (switch_core_codec_decode_func_t)jarg2; 
  if (arg1) (arg1)->decode = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_decode_get___(void * jarg1) {
  void * jresult ;
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  switch_core_codec_decode_func_t result;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  result = (switch_core_codec_decode_func_t) ((arg1)->decode);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_encode_video_set___(void * jarg1, void * jarg2) {
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  switch_core_codec_video_encode_func_t arg2 = (switch_core_codec_video_encode_func_t) 0 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  arg2 = (switch_core_codec_video_encode_func_t)jarg2; 
  if (arg1) (arg1)->encode_video = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_encode_video_get___(void * jarg1) {
  void * jresult ;
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  switch_core_codec_video_encode_func_t result;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  result = (switch_core_codec_video_encode_func_t) ((arg1)->encode_video);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_decode_video_set___(void * jarg1, void * jarg2) {
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  switch_core_codec_video_decode_func_t arg2 = (switch_core_codec_video_decode_func_t) 0 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  arg2 = (switch_core_codec_video_decode_func_t)jarg2; 
  if (arg1) (arg1)->decode_video = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_decode_video_get___(void * jarg1) {
  void * jresult ;
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  switch_core_codec_video_decode_func_t result;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  result = (switch_core_codec_video_decode_func_t) ((arg1)->decode_video);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_codec_control_set___(void * jarg1, void * jarg2) {
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  switch_core_codec_control_func_t arg2 = (switch_core_codec_control_func_t) 0 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  arg2 = (switch_core_codec_control_func_t)jarg2; 
  if (arg1) (arg1)->codec_control = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_codec_control_get___(void * jarg1) {
  void * jresult ;
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  switch_core_codec_control_func_t result;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  result = (switch_core_codec_control_func_t) ((arg1)->codec_control);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_destroy_set___(void * jarg1, void * jarg2) {
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  switch_core_codec_destroy_func_t arg2 = (switch_core_codec_destroy_func_t) 0 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  arg2 = (switch_core_codec_destroy_func_t)jarg2; 
  if (arg1) (arg1)->destroy = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_destroy_get___(void * jarg1) {
  void * jresult ;
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  switch_core_codec_destroy_func_t result;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  result = (switch_core_codec_destroy_func_t) ((arg1)->destroy);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_codec_id_set___(void * jarg1, unsigned long jarg2) {
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->codec_id = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_codec_id_get___(void * jarg1) {
  unsigned long jresult ;
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  uint32_t result;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  result = (uint32_t) ((arg1)->codec_id);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_impl_id_set___(void * jarg1, unsigned long jarg2) {
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->impl_id = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_impl_id_get___(void * jarg1) {
  unsigned long jresult ;
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  uint32_t result;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  result = (uint32_t) ((arg1)->impl_id);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_modname_set___(void * jarg1, char * jarg2) {
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->modname;
    if (arg2) {
      arg1->modname = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->modname, (const char *)arg2);
    } else {
      arg1->modname = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_modname_get___(void * jarg1) {
  char * jresult ;
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  result = (char *) ((arg1)->modname);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_next_set___(void * jarg1, void * jarg2) {
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  switch_codec_implementation *arg2 = (switch_codec_implementation *) 0 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  arg2 = (switch_codec_implementation *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_implementation_next_get___(void * jarg1) {
  void * jresult ;
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  switch_codec_implementation *result = 0 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  result = (switch_codec_implementation *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_codec_implementation___() {
  void * jresult ;
  switch_codec_implementation *result = 0 ;
  
  result = (switch_codec_implementation *)new switch_codec_implementation();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_codec_implementation___(void * jarg1) {
  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
  
  arg1 = (switch_codec_implementation *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_interface_interface_name_set___(void * jarg1, char * jarg2) {
  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_codec_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->interface_name, (const char *)arg2);
    } else {
      arg1->interface_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_interface_interface_name_get___(void * jarg1) {
  char * jresult ;
  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_codec_interface *)jarg1; 
  result = (char *) ((arg1)->interface_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_interface_implementations_set___(void * jarg1, void * jarg2) {
  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
  switch_codec_implementation_t *arg2 = (switch_codec_implementation_t *) 0 ;
  
  arg1 = (switch_codec_interface *)jarg1; 
  arg2 = (switch_codec_implementation_t *)jarg2; 
  if (arg1) (arg1)->implementations = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_interface_implementations_get___(void * jarg1) {
  void * jresult ;
  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
  switch_codec_implementation_t *result = 0 ;
  
  arg1 = (switch_codec_interface *)jarg1; 
  result = (switch_codec_implementation_t *) ((arg1)->implementations);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_interface_parse_fmtp_set___(void * jarg1, void * jarg2) {
  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
  switch_core_codec_fmtp_parse_func_t arg2 = (switch_core_codec_fmtp_parse_func_t) 0 ;
  
  arg1 = (switch_codec_interface *)jarg1; 
  arg2 = (switch_core_codec_fmtp_parse_func_t)jarg2; 
  if (arg1) (arg1)->parse_fmtp = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_interface_parse_fmtp_get___(void * jarg1) {
  void * jresult ;
  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
  switch_core_codec_fmtp_parse_func_t result;
  
  arg1 = (switch_codec_interface *)jarg1; 
  result = (switch_core_codec_fmtp_parse_func_t) ((arg1)->parse_fmtp);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_interface_codec_id_set___(void * jarg1, unsigned long jarg2) {
  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_codec_interface *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->codec_id = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_interface_codec_id_get___(void * jarg1) {
  unsigned long jresult ;
  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
  uint32_t result;
  
  arg1 = (switch_codec_interface *)jarg1; 
  result = (uint32_t) ((arg1)->codec_id);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_interface_rwlock_set___(void * jarg1, void * jarg2) {
  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
  
  arg1 = (switch_codec_interface *)jarg1; 
  arg2 = (switch_thread_rwlock_t *)jarg2; 
  if (arg1) (arg1)->rwlock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_interface_rwlock_get___(void * jarg1) {
  void * jresult ;
  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
  switch_thread_rwlock_t *result = 0 ;
  
  arg1 = (switch_codec_interface *)jarg1; 
  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_interface_refs_set___(void * jarg1, int jarg2) {
  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
  int arg2 ;
  
  arg1 = (switch_codec_interface *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->refs = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_interface_refs_get___(void * jarg1) {
  int jresult ;
  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
  int result;
  
  arg1 = (switch_codec_interface *)jarg1; 
  result = (int) ((arg1)->refs);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_interface_reflock_set___(void * jarg1, void * jarg2) {
  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
  
  arg1 = (switch_codec_interface *)jarg1; 
  arg2 = (switch_mutex_t *)jarg2; 
  if (arg1) (arg1)->reflock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_interface_reflock_get___(void * jarg1) {
  void * jresult ;
  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
  switch_mutex_t *result = 0 ;
  
  arg1 = (switch_codec_interface *)jarg1; 
  result = (switch_mutex_t *) ((arg1)->reflock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_interface_modname_set___(void * jarg1, char * jarg2) {
  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_codec_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->modname;
    if (arg2) {
      arg1->modname = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->modname, (const char *)arg2);
    } else {
      arg1->modname = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_interface_modname_get___(void * jarg1) {
  char * jresult ;
  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_codec_interface *)jarg1; 
  result = (char *) ((arg1)->modname);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_interface_parent_set___(void * jarg1, void * jarg2) {
  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
  switch_loadable_module_interface_t *arg2 = (switch_loadable_module_interface_t *) 0 ;
  
  arg1 = (switch_codec_interface *)jarg1; 
  arg2 = (switch_loadable_module_interface_t *)jarg2; 
  if (arg1) (arg1)->parent = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_interface_parent_get___(void * jarg1) {
  void * jresult ;
  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
  switch_loadable_module_interface_t *result = 0 ;
  
  arg1 = (switch_codec_interface *)jarg1; 
  result = (switch_loadable_module_interface_t *) ((arg1)->parent);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_interface_next_set___(void * jarg1, void * jarg2) {
  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
  switch_codec_interface *arg2 = (switch_codec_interface *) 0 ;
  
  arg1 = (switch_codec_interface *)jarg1; 
  arg2 = (switch_codec_interface *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_codec_interface_next_get___(void * jarg1) {
  void * jresult ;
  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
  switch_codec_interface *result = 0 ;
  
  arg1 = (switch_codec_interface *)jarg1; 
  result = (switch_codec_interface *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_codec_interface___() {
  void * jresult ;
  switch_codec_interface *result = 0 ;
  
  result = (switch_codec_interface *)new switch_codec_interface();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_codec_interface___(void * jarg1) {
  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
  
  arg1 = (switch_codec_interface *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_application_interface_interface_name_set___(void * jarg1, char * jarg2) {
  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_application_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->interface_name, (const char *)arg2);
    } else {
      arg1->interface_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_application_interface_interface_name_get___(void * jarg1) {
  char * jresult ;
  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_application_interface *)jarg1; 
  result = (char *) ((arg1)->interface_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_application_interface_application_function_set___(void * jarg1, void * jarg2) {
  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
  switch_application_function_t arg2 = (switch_application_function_t) 0 ;
  
  arg1 = (switch_application_interface *)jarg1; 
  arg2 = (switch_application_function_t)jarg2; 
  if (arg1) (arg1)->application_function = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_application_interface_application_function_get___(void * jarg1) {
  void * jresult ;
  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
  switch_application_function_t result;
  
  arg1 = (switch_application_interface *)jarg1; 
  result = (switch_application_function_t) ((arg1)->application_function);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_application_interface_long_desc_set___(void * jarg1, char * jarg2) {
  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_application_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->long_desc = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->long_desc, (const char *)arg2);
    } else {
      arg1->long_desc = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_application_interface_long_desc_get___(void * jarg1) {
  char * jresult ;
  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_application_interface *)jarg1; 
  result = (char *) ((arg1)->long_desc);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_application_interface_short_desc_set___(void * jarg1, char * jarg2) {
  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_application_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->short_desc = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->short_desc, (const char *)arg2);
    } else {
      arg1->short_desc = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_application_interface_short_desc_get___(void * jarg1) {
  char * jresult ;
  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_application_interface *)jarg1; 
  result = (char *) ((arg1)->short_desc);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_application_interface_syntax_set___(void * jarg1, char * jarg2) {
  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_application_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->syntax = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->syntax, (const char *)arg2);
    } else {
      arg1->syntax = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_application_interface_syntax_get___(void * jarg1) {
  char * jresult ;
  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_application_interface *)jarg1; 
  result = (char *) ((arg1)->syntax);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_application_interface_flags_set___(void * jarg1, unsigned long jarg2) {
  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_application_interface *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->flags = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_application_interface_flags_get___(void * jarg1) {
  unsigned long jresult ;
  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
  uint32_t result;
  
  arg1 = (switch_application_interface *)jarg1; 
  result = (uint32_t) ((arg1)->flags);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_application_interface_rwlock_set___(void * jarg1, void * jarg2) {
  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
  
  arg1 = (switch_application_interface *)jarg1; 
  arg2 = (switch_thread_rwlock_t *)jarg2; 
  if (arg1) (arg1)->rwlock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_application_interface_rwlock_get___(void * jarg1) {
  void * jresult ;
  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
  switch_thread_rwlock_t *result = 0 ;
  
  arg1 = (switch_application_interface *)jarg1; 
  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_application_interface_refs_set___(void * jarg1, int jarg2) {
  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
  int arg2 ;
  
  arg1 = (switch_application_interface *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->refs = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_application_interface_refs_get___(void * jarg1) {
  int jresult ;
  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
  int result;
  
  arg1 = (switch_application_interface *)jarg1; 
  result = (int) ((arg1)->refs);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_application_interface_reflock_set___(void * jarg1, void * jarg2) {
  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
  
  arg1 = (switch_application_interface *)jarg1; 
  arg2 = (switch_mutex_t *)jarg2; 
  if (arg1) (arg1)->reflock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_application_interface_reflock_get___(void * jarg1) {
  void * jresult ;
  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
  switch_mutex_t *result = 0 ;
  
  arg1 = (switch_application_interface *)jarg1; 
  result = (switch_mutex_t *) ((arg1)->reflock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_application_interface_parent_set___(void * jarg1, void * jarg2) {
  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
  switch_loadable_module_interface_t *arg2 = (switch_loadable_module_interface_t *) 0 ;
  
  arg1 = (switch_application_interface *)jarg1; 
  arg2 = (switch_loadable_module_interface_t *)jarg2; 
  if (arg1) (arg1)->parent = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_application_interface_parent_get___(void * jarg1) {
  void * jresult ;
  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
  switch_loadable_module_interface_t *result = 0 ;
  
  arg1 = (switch_application_interface *)jarg1; 
  result = (switch_loadable_module_interface_t *) ((arg1)->parent);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_application_interface_next_set___(void * jarg1, void * jarg2) {
  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
  switch_application_interface *arg2 = (switch_application_interface *) 0 ;
  
  arg1 = (switch_application_interface *)jarg1; 
  arg2 = (switch_application_interface *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_application_interface_next_get___(void * jarg1) {
  void * jresult ;
  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
  switch_application_interface *result = 0 ;
  
  arg1 = (switch_application_interface *)jarg1; 
  result = (switch_application_interface *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_application_interface___() {
  void * jresult ;
  switch_application_interface *result = 0 ;
  
  result = (switch_application_interface *)new switch_application_interface();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_application_interface___(void * jarg1) {
  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
  
  arg1 = (switch_application_interface *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_application_interface_interface_name_set___(void * jarg1, char * jarg2) {
  switch_chat_application_interface *arg1 = (switch_chat_application_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_chat_application_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->interface_name, (const char *)arg2);
    } else {
      arg1->interface_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_application_interface_interface_name_get___(void * jarg1) {
  char * jresult ;
  switch_chat_application_interface *arg1 = (switch_chat_application_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_chat_application_interface *)jarg1; 
  result = (char *) ((arg1)->interface_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_application_interface_chat_application_function_set___(void * jarg1, void * jarg2) {
  switch_chat_application_interface *arg1 = (switch_chat_application_interface *) 0 ;
  switch_chat_application_function_t arg2 = (switch_chat_application_function_t) 0 ;
  
  arg1 = (switch_chat_application_interface *)jarg1; 
  arg2 = (switch_chat_application_function_t)jarg2; 
  if (arg1) (arg1)->chat_application_function = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_application_interface_chat_application_function_get___(void * jarg1) {
  void * jresult ;
  switch_chat_application_interface *arg1 = (switch_chat_application_interface *) 0 ;
  switch_chat_application_function_t result;
  
  arg1 = (switch_chat_application_interface *)jarg1; 
  result = (switch_chat_application_function_t) ((arg1)->chat_application_function);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_application_interface_long_desc_set___(void * jarg1, char * jarg2) {
  switch_chat_application_interface *arg1 = (switch_chat_application_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_chat_application_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->long_desc = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->long_desc, (const char *)arg2);
    } else {
      arg1->long_desc = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_application_interface_long_desc_get___(void * jarg1) {
  char * jresult ;
  switch_chat_application_interface *arg1 = (switch_chat_application_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_chat_application_interface *)jarg1; 
  result = (char *) ((arg1)->long_desc);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_application_interface_short_desc_set___(void * jarg1, char * jarg2) {
  switch_chat_application_interface *arg1 = (switch_chat_application_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_chat_application_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->short_desc = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->short_desc, (const char *)arg2);
    } else {
      arg1->short_desc = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_application_interface_short_desc_get___(void * jarg1) {
  char * jresult ;
  switch_chat_application_interface *arg1 = (switch_chat_application_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_chat_application_interface *)jarg1; 
  result = (char *) ((arg1)->short_desc);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_application_interface_syntax_set___(void * jarg1, char * jarg2) {
  switch_chat_application_interface *arg1 = (switch_chat_application_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_chat_application_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->syntax = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->syntax, (const char *)arg2);
    } else {
      arg1->syntax = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_application_interface_syntax_get___(void * jarg1) {
  char * jresult ;
  switch_chat_application_interface *arg1 = (switch_chat_application_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_chat_application_interface *)jarg1; 
  result = (char *) ((arg1)->syntax);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_application_interface_flags_set___(void * jarg1, unsigned long jarg2) {
  switch_chat_application_interface *arg1 = (switch_chat_application_interface *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_chat_application_interface *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->flags = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_application_interface_flags_get___(void * jarg1) {
  unsigned long jresult ;
  switch_chat_application_interface *arg1 = (switch_chat_application_interface *) 0 ;
  uint32_t result;
  
  arg1 = (switch_chat_application_interface *)jarg1; 
  result = (uint32_t) ((arg1)->flags);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_application_interface_rwlock_set___(void * jarg1, void * jarg2) {
  switch_chat_application_interface *arg1 = (switch_chat_application_interface *) 0 ;
  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
  
  arg1 = (switch_chat_application_interface *)jarg1; 
  arg2 = (switch_thread_rwlock_t *)jarg2; 
  if (arg1) (arg1)->rwlock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_application_interface_rwlock_get___(void * jarg1) {
  void * jresult ;
  switch_chat_application_interface *arg1 = (switch_chat_application_interface *) 0 ;
  switch_thread_rwlock_t *result = 0 ;
  
  arg1 = (switch_chat_application_interface *)jarg1; 
  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_application_interface_refs_set___(void * jarg1, int jarg2) {
  switch_chat_application_interface *arg1 = (switch_chat_application_interface *) 0 ;
  int arg2 ;
  
  arg1 = (switch_chat_application_interface *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->refs = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_application_interface_refs_get___(void * jarg1) {
  int jresult ;
  switch_chat_application_interface *arg1 = (switch_chat_application_interface *) 0 ;
  int result;
  
  arg1 = (switch_chat_application_interface *)jarg1; 
  result = (int) ((arg1)->refs);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_application_interface_reflock_set___(void * jarg1, void * jarg2) {
  switch_chat_application_interface *arg1 = (switch_chat_application_interface *) 0 ;
  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
  
  arg1 = (switch_chat_application_interface *)jarg1; 
  arg2 = (switch_mutex_t *)jarg2; 
  if (arg1) (arg1)->reflock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_application_interface_reflock_get___(void * jarg1) {
  void * jresult ;
  switch_chat_application_interface *arg1 = (switch_chat_application_interface *) 0 ;
  switch_mutex_t *result = 0 ;
  
  arg1 = (switch_chat_application_interface *)jarg1; 
  result = (switch_mutex_t *) ((arg1)->reflock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_application_interface_parent_set___(void * jarg1, void * jarg2) {
  switch_chat_application_interface *arg1 = (switch_chat_application_interface *) 0 ;
  switch_loadable_module_interface_t *arg2 = (switch_loadable_module_interface_t *) 0 ;
  
  arg1 = (switch_chat_application_interface *)jarg1; 
  arg2 = (switch_loadable_module_interface_t *)jarg2; 
  if (arg1) (arg1)->parent = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_application_interface_parent_get___(void * jarg1) {
  void * jresult ;
  switch_chat_application_interface *arg1 = (switch_chat_application_interface *) 0 ;
  switch_loadable_module_interface_t *result = 0 ;
  
  arg1 = (switch_chat_application_interface *)jarg1; 
  result = (switch_loadable_module_interface_t *) ((arg1)->parent);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_application_interface_next_set___(void * jarg1, void * jarg2) {
  switch_chat_application_interface *arg1 = (switch_chat_application_interface *) 0 ;
  switch_chat_application_interface *arg2 = (switch_chat_application_interface *) 0 ;
  
  arg1 = (switch_chat_application_interface *)jarg1; 
  arg2 = (switch_chat_application_interface *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_chat_application_interface_next_get___(void * jarg1) {
  void * jresult ;
  switch_chat_application_interface *arg1 = (switch_chat_application_interface *) 0 ;
  switch_chat_application_interface *result = 0 ;
  
  arg1 = (switch_chat_application_interface *)jarg1; 
  result = (switch_chat_application_interface *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_chat_application_interface___() {
  void * jresult ;
  switch_chat_application_interface *result = 0 ;
  
  result = (switch_chat_application_interface *)new switch_chat_application_interface();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_chat_application_interface___(void * jarg1) {
  switch_chat_application_interface *arg1 = (switch_chat_application_interface *) 0 ;
  
  arg1 = (switch_chat_application_interface *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_api_interface_interface_name_set___(void * jarg1, char * jarg2) {
  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_api_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->interface_name, (const char *)arg2);
    } else {
      arg1->interface_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_api_interface_interface_name_get___(void * jarg1) {
  char * jresult ;
  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_api_interface *)jarg1; 
  result = (char *) ((arg1)->interface_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_api_interface_desc_set___(void * jarg1, char * jarg2) {
  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_api_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->desc = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->desc, (const char *)arg2);
    } else {
      arg1->desc = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_api_interface_desc_get___(void * jarg1) {
  char * jresult ;
  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_api_interface *)jarg1; 
  result = (char *) ((arg1)->desc);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_api_interface_function_set___(void * jarg1, void * jarg2) {
  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
  switch_api_function_t arg2 = (switch_api_function_t) 0 ;
  
  arg1 = (switch_api_interface *)jarg1; 
  arg2 = (switch_api_function_t)jarg2; 
  if (arg1) (arg1)->function = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_api_interface_function_get___(void * jarg1) {
  void * jresult ;
  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
  switch_api_function_t result;
  
  arg1 = (switch_api_interface *)jarg1; 
  result = (switch_api_function_t) ((arg1)->function);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_api_interface_syntax_set___(void * jarg1, char * jarg2) {
  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_api_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->syntax = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->syntax, (const char *)arg2);
    } else {
      arg1->syntax = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_api_interface_syntax_get___(void * jarg1) {
  char * jresult ;
  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_api_interface *)jarg1; 
  result = (char *) ((arg1)->syntax);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_api_interface_rwlock_set___(void * jarg1, void * jarg2) {
  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
  
  arg1 = (switch_api_interface *)jarg1; 
  arg2 = (switch_thread_rwlock_t *)jarg2; 
  if (arg1) (arg1)->rwlock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_api_interface_rwlock_get___(void * jarg1) {
  void * jresult ;
  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
  switch_thread_rwlock_t *result = 0 ;
  
  arg1 = (switch_api_interface *)jarg1; 
  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_api_interface_refs_set___(void * jarg1, int jarg2) {
  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
  int arg2 ;
  
  arg1 = (switch_api_interface *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->refs = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_api_interface_refs_get___(void * jarg1) {
  int jresult ;
  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
  int result;
  
  arg1 = (switch_api_interface *)jarg1; 
  result = (int) ((arg1)->refs);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_api_interface_reflock_set___(void * jarg1, void * jarg2) {
  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
  
  arg1 = (switch_api_interface *)jarg1; 
  arg2 = (switch_mutex_t *)jarg2; 
  if (arg1) (arg1)->reflock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_api_interface_reflock_get___(void * jarg1) {
  void * jresult ;
  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
  switch_mutex_t *result = 0 ;
  
  arg1 = (switch_api_interface *)jarg1; 
  result = (switch_mutex_t *) ((arg1)->reflock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_api_interface_parent_set___(void * jarg1, void * jarg2) {
  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
  switch_loadable_module_interface_t *arg2 = (switch_loadable_module_interface_t *) 0 ;
  
  arg1 = (switch_api_interface *)jarg1; 
  arg2 = (switch_loadable_module_interface_t *)jarg2; 
  if (arg1) (arg1)->parent = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_api_interface_parent_get___(void * jarg1) {
  void * jresult ;
  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
  switch_loadable_module_interface_t *result = 0 ;
  
  arg1 = (switch_api_interface *)jarg1; 
  result = (switch_loadable_module_interface_t *) ((arg1)->parent);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_api_interface_next_set___(void * jarg1, void * jarg2) {
  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
  switch_api_interface *arg2 = (switch_api_interface *) 0 ;
  
  arg1 = (switch_api_interface *)jarg1; 
  arg2 = (switch_api_interface *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_api_interface_next_get___(void * jarg1) {
  void * jresult ;
  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
  switch_api_interface *result = 0 ;
  
  arg1 = (switch_api_interface *)jarg1; 
  result = (switch_api_interface *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_api_interface___() {
  void * jresult ;
  switch_api_interface *result = 0 ;
  
  result = (switch_api_interface *)new switch_api_interface();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_api_interface___(void * jarg1) {
  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
  
  arg1 = (switch_api_interface *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_json_api_interface_interface_name_set___(void * jarg1, char * jarg2) {
  switch_json_api_interface *arg1 = (switch_json_api_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_json_api_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->interface_name, (const char *)arg2);
    } else {
      arg1->interface_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_json_api_interface_interface_name_get___(void * jarg1) {
  char * jresult ;
  switch_json_api_interface *arg1 = (switch_json_api_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_json_api_interface *)jarg1; 
  result = (char *) ((arg1)->interface_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_json_api_interface_desc_set___(void * jarg1, char * jarg2) {
  switch_json_api_interface *arg1 = (switch_json_api_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_json_api_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->desc = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->desc, (const char *)arg2);
    } else {
      arg1->desc = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_json_api_interface_desc_get___(void * jarg1) {
  char * jresult ;
  switch_json_api_interface *arg1 = (switch_json_api_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_json_api_interface *)jarg1; 
  result = (char *) ((arg1)->desc);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_json_api_interface_function_set___(void * jarg1, void * jarg2) {
  switch_json_api_interface *arg1 = (switch_json_api_interface *) 0 ;
  switch_json_api_function_t arg2 = (switch_json_api_function_t) 0 ;
  
  arg1 = (switch_json_api_interface *)jarg1; 
  arg2 = (switch_json_api_function_t)jarg2; 
  if (arg1) (arg1)->function = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_json_api_interface_function_get___(void * jarg1) {
  void * jresult ;
  switch_json_api_interface *arg1 = (switch_json_api_interface *) 0 ;
  switch_json_api_function_t result;
  
  arg1 = (switch_json_api_interface *)jarg1; 
  result = (switch_json_api_function_t) ((arg1)->function);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_json_api_interface_syntax_set___(void * jarg1, char * jarg2) {
  switch_json_api_interface *arg1 = (switch_json_api_interface *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_json_api_interface *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->syntax = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->syntax, (const char *)arg2);
    } else {
      arg1->syntax = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_json_api_interface_syntax_get___(void * jarg1) {
  char * jresult ;
  switch_json_api_interface *arg1 = (switch_json_api_interface *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_json_api_interface *)jarg1; 
  result = (char *) ((arg1)->syntax);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_json_api_interface_rwlock_set___(void * jarg1, void * jarg2) {
  switch_json_api_interface *arg1 = (switch_json_api_interface *) 0 ;
  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
  
  arg1 = (switch_json_api_interface *)jarg1; 
  arg2 = (switch_thread_rwlock_t *)jarg2; 
  if (arg1) (arg1)->rwlock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_json_api_interface_rwlock_get___(void * jarg1) {
  void * jresult ;
  switch_json_api_interface *arg1 = (switch_json_api_interface *) 0 ;
  switch_thread_rwlock_t *result = 0 ;
  
  arg1 = (switch_json_api_interface *)jarg1; 
  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_json_api_interface_refs_set___(void * jarg1, int jarg2) {
  switch_json_api_interface *arg1 = (switch_json_api_interface *) 0 ;
  int arg2 ;
  
  arg1 = (switch_json_api_interface *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->refs = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_json_api_interface_refs_get___(void * jarg1) {
  int jresult ;
  switch_json_api_interface *arg1 = (switch_json_api_interface *) 0 ;
  int result;
  
  arg1 = (switch_json_api_interface *)jarg1; 
  result = (int) ((arg1)->refs);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_json_api_interface_reflock_set___(void * jarg1, void * jarg2) {
  switch_json_api_interface *arg1 = (switch_json_api_interface *) 0 ;
  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
  
  arg1 = (switch_json_api_interface *)jarg1; 
  arg2 = (switch_mutex_t *)jarg2; 
  if (arg1) (arg1)->reflock = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_json_api_interface_reflock_get___(void * jarg1) {
  void * jresult ;
  switch_json_api_interface *arg1 = (switch_json_api_interface *) 0 ;
  switch_mutex_t *result = 0 ;
  
  arg1 = (switch_json_api_interface *)jarg1; 
  result = (switch_mutex_t *) ((arg1)->reflock);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_json_api_interface_parent_set___(void * jarg1, void * jarg2) {
  switch_json_api_interface *arg1 = (switch_json_api_interface *) 0 ;
  switch_loadable_module_interface_t *arg2 = (switch_loadable_module_interface_t *) 0 ;
  
  arg1 = (switch_json_api_interface *)jarg1; 
  arg2 = (switch_loadable_module_interface_t *)jarg2; 
  if (arg1) (arg1)->parent = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_json_api_interface_parent_get___(void * jarg1) {
  void * jresult ;
  switch_json_api_interface *arg1 = (switch_json_api_interface *) 0 ;
  switch_loadable_module_interface_t *result = 0 ;
  
  arg1 = (switch_json_api_interface *)jarg1; 
  result = (switch_loadable_module_interface_t *) ((arg1)->parent);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_json_api_interface_next_set___(void * jarg1, void * jarg2) {
  switch_json_api_interface *arg1 = (switch_json_api_interface *) 0 ;
  switch_json_api_interface *arg2 = (switch_json_api_interface *) 0 ;
  
  arg1 = (switch_json_api_interface *)jarg1; 
  arg2 = (switch_json_api_interface *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_json_api_interface_next_get___(void * jarg1) {
  void * jresult ;
  switch_json_api_interface *arg1 = (switch_json_api_interface *) 0 ;
  switch_json_api_interface *result = 0 ;
  
  arg1 = (switch_json_api_interface *)jarg1; 
  result = (switch_json_api_interface *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_json_api_interface___() {
  void * jresult ;
  switch_json_api_interface *result = 0 ;
  
  result = (switch_json_api_interface *)new switch_json_api_interface();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_json_api_interface___(void * jarg1) {
  switch_json_api_interface *arg1 = (switch_json_api_interface *) 0 ;
  
  arg1 = (switch_json_api_interface *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_slin_data_session_set___(void * jarg1, void * jarg2) {
  switch_slin_data *arg1 = (switch_slin_data *) 0 ;
  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_slin_data *)jarg1; 
  arg2 = (switch_core_session_t *)jarg2; 
  if (arg1) (arg1)->session = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_slin_data_session_get___(void * jarg1) {
  void * jresult ;
  switch_slin_data *arg1 = (switch_slin_data *) 0 ;
  switch_core_session_t *result = 0 ;
  
  arg1 = (switch_slin_data *)jarg1; 
  result = (switch_core_session_t *) ((arg1)->session);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_slin_data_write_frame_set___(void * jarg1, void * jarg2) {
  switch_slin_data *arg1 = (switch_slin_data *) 0 ;
  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
  
  arg1 = (switch_slin_data *)jarg1; 
  arg2 = (switch_frame_t *)jarg2; 
  if (arg1) (arg1)->write_frame = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_slin_data_write_frame_get___(void * jarg1) {
  void * jresult ;
  switch_slin_data *arg1 = (switch_slin_data *) 0 ;
  switch_frame_t *result = 0 ;
  
  arg1 = (switch_slin_data *)jarg1; 
  result = (switch_frame_t *)& ((arg1)->write_frame);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_slin_data_codec_set___(void * jarg1, void * jarg2) {
  switch_slin_data *arg1 = (switch_slin_data *) 0 ;
  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
  
  arg1 = (switch_slin_data *)jarg1; 
  arg2 = (switch_codec_t *)jarg2; 
  if (arg1) (arg1)->codec = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_slin_data_codec_get___(void * jarg1) {
  void * jresult ;
  switch_slin_data *arg1 = (switch_slin_data *) 0 ;
  switch_codec_t *result = 0 ;
  
  arg1 = (switch_slin_data *)jarg1; 
  result = (switch_codec_t *)& ((arg1)->codec);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_slin_data_frame_data_set___(void * jarg1, char * jarg2) {
  switch_slin_data *arg1 = (switch_slin_data *) 0 ;
  char *arg2 ;
  
  arg1 = (switch_slin_data *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if(arg2) {
      strncpy((char*)arg1->frame_data, (const char *)arg2, 8192-1);
      arg1->frame_data[8192-1] = 0;
    } else {
      arg1->frame_data[0] = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_slin_data_frame_data_get___(void * jarg1) {
  char * jresult ;
  switch_slin_data *arg1 = (switch_slin_data *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_slin_data *)jarg1; 
  result = (char *)(char *) ((arg1)->frame_data);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_slin_data___() {
  void * jresult ;
  switch_slin_data *result = 0 ;
  
  result = (switch_slin_data *)new switch_slin_data();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_slin_data___(void * jarg1) {
  switch_slin_data *arg1 = (switch_slin_data *) 0 ;
  
  arg1 = (switch_slin_data *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_profile_created_set___(void * jarg1, void * jarg2) {
  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
  switch_time_t arg2 ;
  switch_time_t *argp2 ;
  
  arg1 = (switch_channel_timetable *)jarg1; 
  argp2 = (switch_time_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->profile_created = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_profile_created_get___(void * jarg1) {
  void * jresult ;
  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
  switch_time_t result;
  
  arg1 = (switch_channel_timetable *)jarg1; 
  result =  ((arg1)->profile_created);
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_created_set___(void * jarg1, void * jarg2) {
  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
  switch_time_t arg2 ;
  switch_time_t *argp2 ;
  
  arg1 = (switch_channel_timetable *)jarg1; 
  argp2 = (switch_time_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->created = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_created_get___(void * jarg1) {
  void * jresult ;
  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
  switch_time_t result;
  
  arg1 = (switch_channel_timetable *)jarg1; 
  result =  ((arg1)->created);
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_answered_set___(void * jarg1, void * jarg2) {
  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
  switch_time_t arg2 ;
  switch_time_t *argp2 ;
  
  arg1 = (switch_channel_timetable *)jarg1; 
  argp2 = (switch_time_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->answered = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_answered_get___(void * jarg1) {
  void * jresult ;
  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
  switch_time_t result;
  
  arg1 = (switch_channel_timetable *)jarg1; 
  result =  ((arg1)->answered);
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_progress_set___(void * jarg1, void * jarg2) {
  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
  switch_time_t arg2 ;
  switch_time_t *argp2 ;
  
  arg1 = (switch_channel_timetable *)jarg1; 
  argp2 = (switch_time_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->progress = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_progress_get___(void * jarg1) {
  void * jresult ;
  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
  switch_time_t result;
  
  arg1 = (switch_channel_timetable *)jarg1; 
  result =  ((arg1)->progress);
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_progress_media_set___(void * jarg1, void * jarg2) {
  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
  switch_time_t arg2 ;
  switch_time_t *argp2 ;
  
  arg1 = (switch_channel_timetable *)jarg1; 
  argp2 = (switch_time_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->progress_media = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_progress_media_get___(void * jarg1) {
  void * jresult ;
  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
  switch_time_t result;
  
  arg1 = (switch_channel_timetable *)jarg1; 
  result =  ((arg1)->progress_media);
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_hungup_set___(void * jarg1, void * jarg2) {
  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
  switch_time_t arg2 ;
  switch_time_t *argp2 ;
  
  arg1 = (switch_channel_timetable *)jarg1; 
  argp2 = (switch_time_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->hungup = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_hungup_get___(void * jarg1) {
  void * jresult ;
  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
  switch_time_t result;
  
  arg1 = (switch_channel_timetable *)jarg1; 
  result =  ((arg1)->hungup);
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_transferred_set___(void * jarg1, void * jarg2) {
  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
  switch_time_t arg2 ;
  switch_time_t *argp2 ;
  
  arg1 = (switch_channel_timetable *)jarg1; 
  argp2 = (switch_time_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->transferred = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_transferred_get___(void * jarg1) {
  void * jresult ;
  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
  switch_time_t result;
  
  arg1 = (switch_channel_timetable *)jarg1; 
  result =  ((arg1)->transferred);
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_resurrected_set___(void * jarg1, void * jarg2) {
  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
  switch_time_t arg2 ;
  switch_time_t *argp2 ;
  
  arg1 = (switch_channel_timetable *)jarg1; 
  argp2 = (switch_time_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->resurrected = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_resurrected_get___(void * jarg1) {
  void * jresult ;
  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
  switch_time_t result;
  
  arg1 = (switch_channel_timetable *)jarg1; 
  result =  ((arg1)->resurrected);
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_bridged_set___(void * jarg1, void * jarg2) {
  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
  switch_time_t arg2 ;
  switch_time_t *argp2 ;
  
  arg1 = (switch_channel_timetable *)jarg1; 
  argp2 = (switch_time_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->bridged = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_bridged_get___(void * jarg1) {
  void * jresult ;
  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
  switch_time_t result;
  
  arg1 = (switch_channel_timetable *)jarg1; 
  result =  ((arg1)->bridged);
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_last_hold_set___(void * jarg1, void * jarg2) {
  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
  switch_time_t arg2 ;
  switch_time_t *argp2 ;
  
  arg1 = (switch_channel_timetable *)jarg1; 
  argp2 = (switch_time_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->last_hold = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_last_hold_get___(void * jarg1) {
  void * jresult ;
  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
  switch_time_t result;
  
  arg1 = (switch_channel_timetable *)jarg1; 
  result =  ((arg1)->last_hold);
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_hold_accum_set___(void * jarg1, void * jarg2) {
  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
  switch_time_t arg2 ;
  switch_time_t *argp2 ;
  
  arg1 = (switch_channel_timetable *)jarg1; 
  argp2 = (switch_time_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->hold_accum = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_hold_accum_get___(void * jarg1) {
  void * jresult ;
  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
  switch_time_t result;
  
  arg1 = (switch_channel_timetable *)jarg1; 
  result =  ((arg1)->hold_accum);
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_next_set___(void * jarg1, void * jarg2) {
  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
  switch_channel_timetable *arg2 = (switch_channel_timetable *) 0 ;
  
  arg1 = (switch_channel_timetable *)jarg1; 
  arg2 = (switch_channel_timetable *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_next_get___(void * jarg1) {
  void * jresult ;
  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
  switch_channel_timetable *result = 0 ;
  
  arg1 = (switch_channel_timetable *)jarg1; 
  result = (switch_channel_timetable *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_channel_timetable___() {
  void * jresult ;
  switch_channel_timetable *result = 0 ;
  
  result = (switch_channel_timetable *)new switch_channel_timetable();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_channel_timetable___(void * jarg1) {
  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
  
  arg1 = (switch_channel_timetable *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_state___(void * jarg1) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_state_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (switch_channel_state_t)switch_channel_get_state(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_running_state___(void * jarg1) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_state_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (switch_channel_state_t)switch_channel_get_running_state(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_check_signal___(void * jarg1, int jarg2) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_bool_t arg2 ;
  int result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  result = (int)switch_channel_check_signal(arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_test_ready___(void * jarg1, int jarg2, int jarg3) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_bool_t arg2 ;
  switch_bool_t arg3 ;
  int result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  result = (int)switch_channel_test_ready(arg1,arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_wait_for_state___(void * jarg1, void * jarg2, int jarg3) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_t *arg2 = (switch_channel_t *) 0 ;
  switch_channel_state_t arg3 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_channel_t *)jarg2; 
  arg3 = (switch_channel_state_t)jarg3; 
  switch_channel_wait_for_state(arg1,arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_wait_for_state_timeout___(void * jarg1, int jarg2, unsigned long jarg3) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_state_t arg2 ;
  uint32_t arg3 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_channel_state_t)jarg2; 
  arg3 = (uint32_t)jarg3; 
  switch_channel_wait_for_state_timeout(arg1,arg2,arg3);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_wait_for_flag___(void * jarg1, int jarg2, int jarg3, unsigned long jarg4, void * jarg5) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_flag_t arg2 ;
  switch_bool_t arg3 ;
  uint32_t arg4 ;
  switch_channel_t *arg5 = (switch_channel_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_channel_flag_t)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  arg4 = (uint32_t)jarg4; 
  arg5 = (switch_channel_t *)jarg5; 
  result = (switch_status_t)switch_channel_wait_for_flag(arg1,arg2,arg3,arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_wait_for_app_flag___(void * jarg1, unsigned long jarg2, char * jarg3, int jarg4, unsigned long jarg5) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  uint32_t arg2 ;
  char *arg3 = (char *) 0 ;
  switch_bool_t arg4 ;
  uint32_t arg5 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (switch_bool_t)jarg4; 
  arg5 = (uint32_t)jarg5; 
  result = (switch_status_t)switch_channel_wait_for_app_flag(arg1,arg2,(char const *)arg3,arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_perform_set_state___(void * jarg1, char * jarg2, char * jarg3, int jarg4, int jarg5) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  switch_channel_state_t arg5 ;
  switch_channel_state_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  arg5 = (switch_channel_state_t)jarg5; 
  result = (switch_channel_state_t)switch_channel_perform_set_state(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_perform_set_running_state___(void * jarg1, int jarg2, char * jarg3, char * jarg4, int jarg5) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_state_t arg2 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  int arg5 ;
  switch_channel_state_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_channel_state_t)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (int)jarg5; 
  result = (switch_channel_state_t)switch_channel_perform_set_running_state(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_str2cause___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_call_cause_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_call_cause_t)switch_channel_str2cause((char const *)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_cause___(void * jarg1) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_call_cause_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (switch_call_cause_t)switch_channel_get_cause(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_cause_q850___(int jarg1) {
  int jresult ;
  switch_call_cause_t arg1 ;
  switch_call_cause_t result;
  
  arg1 = (switch_call_cause_t)jarg1; 
  result = (switch_call_cause_t)switch_channel_cause_q850(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_cause_q850___(void * jarg1) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_call_cause_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (switch_call_cause_t)switch_channel_get_cause_q850(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_cause_ptr___(void * jarg1) {
  void * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_call_cause_t *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (switch_call_cause_t *)switch_channel_get_cause_ptr(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_cause2str___(int jarg1) {
  char * jresult ;
  switch_call_cause_t arg1 ;
  char *result = 0 ;
  
  arg1 = (switch_call_cause_t)jarg1; 
  result = (char *)switch_channel_cause2str(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_timetable___(void * jarg1) {
  void * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_timetable_t *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (switch_channel_timetable_t *)switch_channel_get_timetable(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_alloc___(void * jarg1, int jarg2, void * jarg3) {
  int jresult ;
  switch_channel_t **arg1 = (switch_channel_t **) 0 ;
  switch_call_direction_t arg2 ;
  switch_memory_pool_t *arg3 = (switch_memory_pool_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t **)jarg1; 
  arg2 = (switch_call_direction_t)jarg2; 
  arg3 = (switch_memory_pool_t *)jarg3; 
  result = (switch_status_t)switch_channel_alloc(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_init___(void * jarg1, void * jarg2, int jarg3, int jarg4) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
  switch_channel_state_t arg3 ;
  switch_channel_flag_t arg4 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_core_session_t *)jarg2; 
  arg3 = (switch_channel_state_t)jarg3; 
  arg4 = (switch_channel_flag_t)jarg4; 
  result = (switch_status_t)switch_channel_init(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_presence_data_vals___(void * jarg1, char * jarg2) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  switch_channel_set_presence_data_vals(arg1,(char const *)arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_perform_presence___(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5, char * jarg6, int jarg7) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  char *arg6 = (char *) 0 ;
  int arg7 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (char *)jarg6; 
  arg7 = (int)jarg7; 
  switch_channel_perform_presence(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,arg7);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_uninit___(void * jarg1) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  switch_channel_uninit(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_caller_profile___(void * jarg1, void * jarg2) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_caller_profile_t *arg2 = (switch_caller_profile_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_caller_profile_t *)jarg2; 
  switch_channel_set_caller_profile(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_step_caller_profile___(void * jarg1) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  switch_channel_step_caller_profile(arg1);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_caller_profile___(void * jarg1) {
  void * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_caller_profile_t *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (switch_caller_profile_t *)switch_channel_get_caller_profile(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_originator_caller_profile___(void * jarg1, void * jarg2) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_caller_profile_t *arg2 = (switch_caller_profile_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_caller_profile_t *)jarg2; 
  switch_channel_set_originator_caller_profile(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_hunt_caller_profile___(void * jarg1, void * jarg2) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_caller_profile_t *arg2 = (switch_caller_profile_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_caller_profile_t *)jarg2; 
  switch_channel_set_hunt_caller_profile(arg1,arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_originator_caller_profile___(void * jarg1) {
  void * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_caller_profile_t *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (switch_caller_profile_t *)switch_channel_get_originator_caller_profile(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_originatee_caller_profile___(void * jarg1, void * jarg2) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_caller_profile_t *arg2 = (switch_caller_profile_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_caller_profile_t *)jarg2; 
  switch_channel_set_originatee_caller_profile(arg1,arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_originatee_caller_profile___(void * jarg1) {
  void * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_caller_profile_t *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (switch_caller_profile_t *)switch_channel_get_originatee_caller_profile(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_origination_caller_profile___(void * jarg1, void * jarg2) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_caller_profile_t *arg2 = (switch_caller_profile_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_caller_profile_t *)jarg2; 
  switch_channel_set_origination_caller_profile(arg1,arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_origination_caller_profile___(void * jarg1) {
  void * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_caller_profile_t *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (switch_caller_profile_t *)switch_channel_get_origination_caller_profile(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_uuid___(void * jarg1) {
  char * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (char *)switch_channel_get_uuid(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_profile_var___(void * jarg1, char * jarg2, char * jarg3) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_status_t)switch_channel_set_profile_var(arg1,(char const *)arg2,(char const *)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_log_tag___(void * jarg1, char * jarg2, char * jarg3) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_status_t)switch_channel_set_log_tag(arg1,(char const *)arg2,(char const *)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_log_tags___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_event_t **arg2 = (switch_event_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_event_t **)jarg2; 
  result = (switch_status_t)switch_channel_get_log_tags(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_variable_var_check___(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_bool_t arg4 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (switch_bool_t)jarg4; 
  result = (switch_status_t)switch_channel_set_variable_var_check(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_variable_strip_quotes_var_check___(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_bool_t arg4 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (switch_bool_t)jarg4; 
  result = (switch_status_t)switch_channel_set_variable_strip_quotes_var_check(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_add_variable_var_check___(void * jarg1, char * jarg2, char * jarg3, int jarg4, int jarg5) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_bool_t arg4 ;
  switch_stack_t arg5 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (switch_bool_t)jarg4; 
  arg5 = (switch_stack_t)jarg5; 
  result = (switch_status_t)switch_channel_add_variable_var_check(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_variable_printf___(void * jarg1, char * jarg2, char * jarg3) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  void *arg4 = 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_status_t)switch_channel_set_variable_printf(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_variable_name_printf___(void * jarg1, char * jarg2, char * jarg3) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  void *arg4 = 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_status_t)switch_channel_set_variable_name_printf(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_variable_partner_var_check___(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_bool_t arg4 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (switch_bool_t)jarg4; 
  result = (switch_status_t)switch_channel_set_variable_partner_var_check(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_variable_partner___(void * jarg1, char * jarg2) {
  char * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (char *)switch_channel_get_variable_partner(arg1,(char const *)arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_hold_music___(void * jarg1) {
  char * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (char *)switch_channel_get_hold_music(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_hold_music_partner___(void * jarg1) {
  char * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (char *)switch_channel_get_hold_music_partner(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_del_variable_prefix___(void * jarg1, char * jarg2) {
  unsigned long jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (uint32_t)switch_channel_del_variable_prefix(arg1,(char const *)arg2);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_transfer_variable_prefix___(void * jarg1, void * jarg2, char * jarg3) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_t *arg2 = (switch_channel_t *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_channel_t *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_status_t)switch_channel_transfer_variable_prefix(arg1,arg2,(char const *)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_export_variable_var_check___(void * jarg1, char * jarg2, char * jarg3, char * jarg4, int jarg5) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  switch_bool_t arg5 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (switch_bool_t)jarg5; 
  result = (switch_status_t)switch_channel_export_variable_var_check(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_process_export___(void * jarg1, void * jarg2, void * jarg3, char * jarg4) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_t *arg2 = (switch_channel_t *) 0 ;
  switch_event_t *arg3 = (switch_event_t *) 0 ;
  char *arg4 = (char *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_channel_t *)jarg2; 
  arg3 = (switch_event_t *)jarg3; 
  arg4 = (char *)jarg4; 
  switch_channel_process_export(arg1,arg2,arg3,(char const *)arg4);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_export_variable_printf___(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  void *arg5 = 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  result = (switch_status_t)switch_channel_export_variable_printf(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_scope_variables___(void * jarg1, void * jarg2) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_event_t **arg2 = (switch_event_t **) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_event_t **)jarg2; 
  switch_channel_set_scope_variables(arg1,arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_scope_variables___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_event_t **arg2 = (switch_event_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_event_t **)jarg2; 
  result = (switch_status_t)switch_channel_get_scope_variables(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_variable_dup___(void * jarg1, char * jarg2, int jarg3, int jarg4) {
  char * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_bool_t arg3 ;
  int arg4 ;
  char *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  arg4 = (int)jarg4; 
  result = (char *)switch_channel_get_variable_dup(arg1,(char const *)arg2,arg3,arg4);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_variables___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_event_t **arg2 = (switch_event_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_event_t **)jarg2; 
  result = (switch_status_t)switch_channel_get_variables(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_variables_prefix___(void * jarg1, char * jarg2, void * jarg3) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_event_t **arg3 = (switch_event_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_event_t **)jarg3; 
  result = (switch_status_t)switch_channel_get_variables_prefix(arg1,(char const *)arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_pass_callee_id___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_t *arg2 = (switch_channel_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_channel_t *)jarg2; 
  result = (switch_status_t)switch_channel_pass_callee_id(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_var_false___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  int result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (int)switch_channel_var_false(arg1,(char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_var_true___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  int result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (int)switch_channel_var_true(arg1,(char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_variable_first___(void * jarg1) {
  void * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_event_header_t *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (switch_event_header_t *)switch_channel_variable_first(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_variable_last___(void * jarg1) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  switch_channel_variable_last(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_restart___(void * jarg1) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  switch_channel_restart(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_caller_extension_masquerade___(void * jarg1, void * jarg2, unsigned long jarg3) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_t *arg2 = (switch_channel_t *) 0 ;
  uint32_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_channel_t *)jarg2; 
  arg3 = (uint32_t)jarg3; 
  result = (switch_status_t)switch_channel_caller_extension_masquerade(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_caller_extension___(void * jarg1, void * jarg2) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_caller_extension_t *arg2 = (switch_caller_extension_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_caller_extension_t *)jarg2; 
  switch_channel_set_caller_extension(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_invert_cid___(void * jarg1) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  switch_channel_invert_cid(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_flip_cid___(void * jarg1) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  switch_channel_flip_cid(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_sort_cid___(void * jarg1) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  switch_channel_sort_cid(arg1);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_caller_extension___(void * jarg1) {
  void * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_caller_extension_t *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (switch_caller_extension_t *)switch_channel_get_caller_extension(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_test_flag___(void * jarg1, int jarg2) {
  unsigned long jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_flag_t arg2 ;
  uint32_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_channel_flag_t)jarg2; 
  result = (uint32_t)switch_channel_test_flag(arg1,arg2);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_flag_value___(void * jarg1, int jarg2, unsigned long jarg3) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_flag_t arg2 ;
  uint32_t arg3 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_channel_flag_t)jarg2; 
  arg3 = (uint32_t)jarg3; 
  switch_channel_set_flag_value(arg1,arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_flag_recursive___(void * jarg1, int jarg2) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_flag_t arg2 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_channel_flag_t)jarg2; 
  switch_channel_set_flag_recursive(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_cap_value___(void * jarg1, int jarg2, unsigned long jarg3) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_cap_t arg2 ;
  uint32_t arg3 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_channel_cap_t)jarg2; 
  arg3 = (uint32_t)jarg3; 
  switch_channel_set_cap_value(arg1,arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_clear_cap___(void * jarg1, int jarg2) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_cap_t arg2 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_channel_cap_t)jarg2; 
  switch_channel_clear_cap(arg1,arg2);
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_test_cap___(void * jarg1, int jarg2) {
  unsigned long jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_cap_t arg2 ;
  uint32_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_channel_cap_t)jarg2; 
  result = (uint32_t)switch_channel_test_cap(arg1,arg2);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_test_cap_partner___(void * jarg1, int jarg2) {
  unsigned long jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_cap_t arg2 ;
  uint32_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_channel_cap_t)jarg2; 
  result = (uint32_t)switch_channel_test_cap_partner(arg1,arg2);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_flag_partner___(void * jarg1, int jarg2) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_flag_t arg2 ;
  switch_bool_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_channel_flag_t)jarg2; 
  result = (switch_bool_t)switch_channel_set_flag_partner(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_clear_flag_partner___(void * jarg1, int jarg2) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_flag_t arg2 ;
  switch_bool_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_channel_flag_t)jarg2; 
  result = (switch_bool_t)switch_channel_clear_flag_partner(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_test_flag_partner___(void * jarg1, int jarg2) {
  unsigned long jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_flag_t arg2 ;
  uint32_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_channel_flag_t)jarg2; 
  result = (uint32_t)switch_channel_test_flag_partner(arg1,arg2);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_state_flag___(void * jarg1, int jarg2) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_flag_t arg2 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_channel_flag_t)jarg2; 
  switch_channel_set_state_flag(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_clear_state_flag___(void * jarg1, int jarg2) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_flag_t arg2 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_channel_flag_t)jarg2; 
  switch_channel_clear_state_flag(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_clear_flag___(void * jarg1, int jarg2) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_flag_t arg2 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_channel_flag_t)jarg2; 
  switch_channel_clear_flag(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_clear_flag_recursive___(void * jarg1, int jarg2) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_flag_t arg2 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_channel_flag_t)jarg2; 
  switch_channel_clear_flag_recursive(arg1,arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_perform_answer___(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  result = (switch_status_t)switch_channel_perform_answer(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_perform_mark_answered___(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  result = (switch_status_t)switch_channel_perform_mark_answered(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_check_zrtp___(void * jarg1) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  switch_channel_check_zrtp(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_perform_acknowledge_call___(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  result = (switch_status_t)switch_channel_perform_acknowledge_call(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_perform_ring_ready_value___(void * jarg1, int jarg2, char * jarg3, char * jarg4, int jarg5) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_ring_ready_t arg2 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  int arg5 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_ring_ready_t)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (int)jarg5; 
  result = (switch_status_t)switch_channel_perform_ring_ready_value(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_perform_pre_answer___(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  result = (switch_status_t)switch_channel_perform_pre_answer(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_perform_mark_pre_answered___(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  result = (switch_status_t)switch_channel_perform_mark_pre_answered(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_perform_mark_ring_ready_value___(void * jarg1, int jarg2, char * jarg3, char * jarg4, int jarg5) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_ring_ready_t arg2 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  int arg5 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_ring_ready_t)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (int)jarg5; 
  result = (switch_status_t)switch_channel_perform_mark_ring_ready_value(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_add_state_handler___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_state_handler_table_t *arg2 = (switch_state_handler_table_t *) 0 ;
  int result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_state_handler_table_t *)jarg2; 
  result = (int)switch_channel_add_state_handler(arg1,(switch_state_handler_table const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_clear_state_handler___(void * jarg1, void * jarg2) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_state_handler_table_t *arg2 = (switch_state_handler_table_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_state_handler_table_t *)jarg2; 
  switch_channel_clear_state_handler(arg1,(switch_state_handler_table const *)arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_state_handler___(void * jarg1, int jarg2) {
  void * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  int arg2 ;
  switch_state_handler_table_t *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (int)jarg2; 
  result = (switch_state_handler_table_t *)switch_channel_get_state_handler(arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_private___(void * jarg1, char * jarg2, void * jarg3) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  void *arg3 = (void *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (void *)jarg3; 
  result = (switch_status_t)switch_channel_set_private(arg1,(char const *)arg2,(void const *)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_private___(void * jarg1, char * jarg2) {
  void * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (void *)switch_channel_get_private(arg1,(char const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_private_partner___(void * jarg1, char * jarg2) {
  void * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (void *)switch_channel_get_private_partner(arg1,(char const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_name___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_channel_set_name(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_name___(void * jarg1) {
  char * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (char *)switch_channel_get_name(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_perform_hangup___(void * jarg1, char * jarg2, char * jarg3, int jarg4, int jarg5) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  switch_call_cause_t arg5 ;
  switch_channel_state_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  arg5 = (switch_call_cause_t)jarg5; 
  result = (switch_channel_state_t)switch_channel_perform_hangup(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_has_dtmf___(void * jarg1) {
  void * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = switch_channel_has_dtmf(arg1);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_dtmf_lock___(void * jarg1) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (switch_status_t)switch_channel_dtmf_lock(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_try_dtmf_lock___(void * jarg1) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (switch_status_t)switch_channel_try_dtmf_lock(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_dtmf_unlock___(void * jarg1) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (switch_status_t)switch_channel_dtmf_unlock(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_queue_dtmf___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_dtmf_t *arg2 = (switch_dtmf_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_dtmf_t *)jarg2; 
  result = (switch_status_t)switch_channel_queue_dtmf(arg1,(switch_dtmf_t const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_queue_dtmf_string___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_channel_queue_dtmf_string(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_dequeue_dtmf___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_dtmf_t *arg2 = (switch_dtmf_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_dtmf_t *)jarg2; 
  result = (switch_status_t)switch_channel_dequeue_dtmf(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_flush_dtmf___(void * jarg1) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  switch_channel_flush_dtmf(arg1);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_dequeue_dtmf_string___(void * jarg1, char * jarg2, void * jarg3) {
  void * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_size_t arg3 ;
  switch_size_t *argp3 ;
  switch_size_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = switch_channel_dequeue_dtmf_string(arg1,arg2,arg3);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_state_name___(int jarg1) {
  char * jresult ;
  switch_channel_state_t arg1 ;
  char *result = 0 ;
  
  arg1 = (switch_channel_state_t)jarg1; 
  result = (char *)switch_channel_state_name(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_name_state___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_channel_state_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_channel_state_t)switch_channel_name_state((char const *)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_event_set_data___(void * jarg1, void * jarg2) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_event_t *arg2 = (switch_event_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_event_t *)jarg2; 
  switch_channel_event_set_data(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_event_set_basic_data___(void * jarg1, void * jarg2) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_event_t *arg2 = (switch_event_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_event_t *)jarg2; 
  switch_channel_event_set_basic_data(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_event_set_extended_data___(void * jarg1, void * jarg2) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_event_t *arg2 = (switch_event_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_event_t *)jarg2; 
  switch_channel_event_set_extended_data(arg1,arg2);
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_expand_variables_check___(void * jarg1, char * jarg2, void * jarg3, void * jarg4, unsigned long jarg5) {
  char * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_event_t *arg3 = (switch_event_t *) 0 ;
  switch_event_t *arg4 = (switch_event_t *) 0 ;
  uint32_t arg5 ;
  char *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_event_t *)jarg3; 
  arg4 = (switch_event_t *)jarg4; 
  arg5 = (uint32_t)jarg5; 
  result = (char *)switch_channel_expand_variables_check(arg1,(char const *)arg2,arg3,arg4,arg5);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_build_param_string___(void * jarg1, void * jarg2, char * jarg3) {
  char * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_caller_profile_t *arg2 = (switch_caller_profile_t *) 0 ;
  char *arg3 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_caller_profile_t *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (char *)switch_channel_build_param_string(arg1,arg2,(char const *)arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_timestamps___(void * jarg1) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (switch_status_t)switch_channel_set_timestamps(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_perform_audio_sync___(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  switch_channel_perform_audio_sync(arg1,(char const *)arg2,(char const *)arg3,arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_perform_video_sync___(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  switch_channel_perform_video_sync(arg1,(char const *)arg2,(char const *)arg3,arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_private_flag___(void * jarg1, unsigned long jarg2) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  switch_channel_set_private_flag(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_clear_private_flag___(void * jarg1, unsigned long jarg2) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  switch_channel_clear_private_flag(arg1,arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_test_private_flag___(void * jarg1, unsigned long jarg2) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  uint32_t arg2 ;
  int result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  result = (int)switch_channel_test_private_flag(arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_app_flag_key___(char * jarg1, void * jarg2, unsigned long jarg3) {
  char *arg1 = (char *) 0 ;
  switch_channel_t *arg2 = (switch_channel_t *) 0 ;
  uint32_t arg3 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_channel_t *)jarg2; 
  arg3 = (uint32_t)jarg3; 
  switch_channel_set_app_flag_key((char const *)arg1,arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_clear_app_flag_key___(char * jarg1, void * jarg2, unsigned long jarg3) {
  char *arg1 = (char *) 0 ;
  switch_channel_t *arg2 = (switch_channel_t *) 0 ;
  uint32_t arg3 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_channel_t *)jarg2; 
  arg3 = (uint32_t)jarg3; 
  switch_channel_clear_app_flag_key((char const *)arg1,arg2,arg3);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_test_app_flag_key___(char * jarg1, void * jarg2, unsigned long jarg3) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_channel_t *arg2 = (switch_channel_t *) 0 ;
  uint32_t arg3 ;
  int result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_channel_t *)jarg2; 
  arg3 = (uint32_t)jarg3; 
  result = (int)switch_channel_test_app_flag_key((char const *)arg1,arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_bridge_time___(void * jarg1) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  switch_channel_set_bridge_time(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_hangup_time___(void * jarg1) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  switch_channel_set_hangup_time(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_direction___(void * jarg1) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_call_direction_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (switch_call_direction_t)switch_channel_direction(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_logical_direction___(void * jarg1) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_call_direction_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (switch_call_direction_t)switch_channel_logical_direction(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_direction___(void * jarg1, int jarg2) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_call_direction_t arg2 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_call_direction_t)jarg2; 
  switch_channel_set_direction(arg1,arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_session___(void * jarg1) {
  void * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_core_session_t *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (switch_core_session_t *)switch_channel_get_session(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_flag_string___(void * jarg1) {
  char * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (char *)switch_channel_get_flag_string(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_cap_string___(void * jarg1) {
  char * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (char *)switch_channel_get_cap_string(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_state_change_pending___(void * jarg1) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  int result;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (int)switch_channel_state_change_pending(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_perform_set_callstate___(void * jarg1, int jarg2, char * jarg3, char * jarg4, int jarg5) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_callstate_t arg2 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  int arg5 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_channel_callstate_t)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (int)jarg5; 
  switch_channel_perform_set_callstate(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_callstate___(void * jarg1) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_callstate_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (switch_channel_callstate_t)switch_channel_get_callstate(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_callstate2str___(int jarg1) {
  char * jresult ;
  switch_channel_callstate_t arg1 ;
  char *result = 0 ;
  
  arg1 = (switch_channel_callstate_t)jarg1; 
  result = (char *)switch_channel_callstate2str(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_str2callstate___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_channel_callstate_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_channel_callstate_t)switch_channel_str2callstate((char const *)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_mark_hold___(void * jarg1, int jarg2) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_bool_t arg2 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  switch_channel_mark_hold(arg1,arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_execute_on___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_channel_execute_on(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_execute_on_value___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_channel_execute_on_value(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_api_on___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_channel_api_on(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_process_device_hangup___(void * jarg1) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  switch_channel_process_device_hangup(arg1);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_queued_extension___(void * jarg1) {
  void * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_caller_extension_t *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (switch_caller_extension_t *)switch_channel_get_queued_extension(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_transfer_to_extension___(void * jarg1, void * jarg2) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_caller_extension_t *arg2 = (switch_caller_extension_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_caller_extension_t *)jarg2; 
  switch_channel_transfer_to_extension(arg1,arg2);
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_partner_uuid___(void * jarg1) {
  char * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (char *)switch_channel_get_partner_uuid(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_partner_uuid_copy___(void * jarg1, char * jarg2, void * jarg3) {
  char * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_size_t arg3 ;
  switch_size_t *argp3 ;
  char *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = (char *)switch_channel_get_partner_uuid_copy(arg1,arg2,arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_hold_record___(void * jarg1) {
  void * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_hold_record_t *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (switch_hold_record_t *)switch_channel_get_hold_record(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_state_thread_lock___(void * jarg1) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  switch_channel_state_thread_lock(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_state_thread_unlock___(void * jarg1) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  switch_channel_state_thread_unlock(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_state_thread_trylock___(void * jarg1) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (switch_status_t)switch_channel_state_thread_trylock(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_handle_cause___(void * jarg1, int jarg2) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_call_cause_t arg2 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_call_cause_t)jarg2; 
  switch_channel_handle_cause(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_global_init___(void * jarg1) {
  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
  
  arg1 = (switch_memory_pool_t *)jarg1; 
  switch_channel_global_init(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_global_uninit___() {
  switch_channel_global_uninit();
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_set_device_id___(void * jarg1, char * jarg2) {
  char * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (char *)switch_channel_set_device_id(arg1,(char const *)arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_clear_device_record___(void * jarg1) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  switch_channel_clear_device_record(arg1);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_device_record___(void * jarg1) {
  void * jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_device_record_t *result = 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (switch_device_record_t *)switch_channel_get_device_record(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_release_device_record___(void * jarg1) {
  switch_device_record_t **arg1 = (switch_device_record_t **) 0 ;
  
  arg1 = (switch_device_record_t **)jarg1; 
  switch_channel_release_device_record(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_bind_device_state_handler___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_device_state_function_t arg1 = (switch_device_state_function_t) 0 ;
  void *arg2 = (void *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_device_state_function_t)jarg1; 
  arg2 = (void *)jarg2; 
  result = (switch_status_t)switch_channel_bind_device_state_handler(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_unbind_device_state_handler___(void * jarg1) {
  int jresult ;
  switch_device_state_function_t arg1 = (switch_device_state_function_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_device_state_function_t)jarg1; 
  result = (switch_status_t)switch_channel_unbind_device_state_handler(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_device_state2str___(int jarg1) {
  char * jresult ;
  switch_device_state_t arg1 ;
  char *result = 0 ;
  
  arg1 = (switch_device_state_t)jarg1; 
  result = (char *)switch_channel_device_state2str(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_pass_sdp___(void * jarg1, void * jarg2, char * jarg3) {
  int jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_channel_t *arg2 = (switch_channel_t *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_channel_t *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_status_t)switch_channel_pass_sdp(arg1,arg2,(char const *)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_create_partition___(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
  int jresult ;
  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
  switch_buffer_t **arg2 = (switch_buffer_t **) 0 ;
  void *arg3 = (void *) 0 ;
  switch_size_t arg4 ;
  switch_size_t *argp4 ;
  switch_status_t result;
  
  arg1 = (switch_memory_pool_t *)jarg1; 
  arg2 = (switch_buffer_t **)jarg2; 
  arg3 = (void *)jarg3; 
  argp4 = (switch_size_t *)jarg4; 
  if (!argp4) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg4 = *argp4; 
  result = (switch_status_t)switch_buffer_create_partition(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_set_partition_data___(void * jarg1, void * jarg2, void * jarg3) {
  int jresult ;
  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
  void *arg2 = (void *) 0 ;
  switch_size_t arg3 ;
  switch_size_t *argp3 ;
  switch_status_t result;
  
  arg1 = (switch_buffer_t *)jarg1; 
  arg2 = (void *)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = (switch_status_t)switch_buffer_set_partition_data(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_reset_partition_data___(void * jarg1) {
  int jresult ;
  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_buffer_t *)jarg1; 
  result = (switch_status_t)switch_buffer_reset_partition_data(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_create___(void * jarg1, void * jarg2, void * jarg3) {
  int jresult ;
  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
  switch_buffer_t **arg2 = (switch_buffer_t **) 0 ;
  switch_size_t arg3 ;
  switch_size_t *argp3 ;
  switch_status_t result;
  
  arg1 = (switch_memory_pool_t *)jarg1; 
  arg2 = (switch_buffer_t **)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = (switch_status_t)switch_buffer_create(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_create_dynamic___(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
  int jresult ;
  switch_buffer_t **arg1 = (switch_buffer_t **) 0 ;
  switch_size_t arg2 ;
  switch_size_t arg3 ;
  switch_size_t arg4 ;
  switch_size_t *argp2 ;
  switch_size_t *argp3 ;
  switch_size_t *argp4 ;
  switch_status_t result;
  
  arg1 = (switch_buffer_t **)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg2 = *argp2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  argp4 = (switch_size_t *)jarg4; 
  if (!argp4) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg4 = *argp4; 
  result = (switch_status_t)switch_buffer_create_dynamic(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_add_mutex___(void * jarg1, void * jarg2) {
  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
  
  arg1 = (switch_buffer_t *)jarg1; 
  arg2 = (switch_mutex_t *)jarg2; 
  switch_buffer_add_mutex(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_lock___(void * jarg1) {
  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
  
  arg1 = (switch_buffer_t *)jarg1; 
  switch_buffer_lock(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_trylock___(void * jarg1) {
  int jresult ;
  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_buffer_t *)jarg1; 
  result = (switch_status_t)switch_buffer_trylock(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_unlock___(void * jarg1) {
  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
  
  arg1 = (switch_buffer_t *)jarg1; 
  switch_buffer_unlock(arg1);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_len___(void * jarg1) {
  void * jresult ;
  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_buffer_t *)jarg1; 
  result = switch_buffer_len(arg1);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_freespace___(void * jarg1) {
  void * jresult ;
  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_buffer_t *)jarg1; 
  result = switch_buffer_freespace(arg1);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_inuse___(void * jarg1) {
  void * jresult ;
  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_buffer_t *)jarg1; 
  result = switch_buffer_inuse(arg1);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_read___(void * jarg1, void * jarg2, void * jarg3) {
  void * jresult ;
  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
  void *arg2 = (void *) 0 ;
  switch_size_t arg3 ;
  switch_size_t *argp3 ;
  switch_size_t result;
  
  arg1 = (switch_buffer_t *)jarg1; 
  arg2 = (void *)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = switch_buffer_read(arg1,arg2,arg3);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_peek___(void * jarg1, void * jarg2, void * jarg3) {
  void * jresult ;
  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
  void *arg2 = (void *) 0 ;
  switch_size_t arg3 ;
  switch_size_t *argp3 ;
  switch_size_t result;
  
  arg1 = (switch_buffer_t *)jarg1; 
  arg2 = (void *)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = switch_buffer_peek(arg1,arg2,arg3);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_peek_zerocopy___(void * jarg1, void * jarg2) {
  void * jresult ;
  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
  void **arg2 = (void **) 0 ;
  switch_size_t result;
  
  arg1 = (switch_buffer_t *)jarg1; 
  arg2 = (void **)jarg2; 
  result = switch_buffer_peek_zerocopy(arg1,(void const **)arg2);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_read_loop___(void * jarg1, void * jarg2, void * jarg3) {
  void * jresult ;
  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
  void *arg2 = (void *) 0 ;
  switch_size_t arg3 ;
  switch_size_t *argp3 ;
  switch_size_t result;
  
  arg1 = (switch_buffer_t *)jarg1; 
  arg2 = (void *)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = switch_buffer_read_loop(arg1,arg2,arg3);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_set_loops___(void * jarg1, int jarg2) {
  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
  int32_t arg2 ;
  
  arg1 = (switch_buffer_t *)jarg1; 
  arg2 = (int32_t)jarg2; 
  switch_buffer_set_loops(arg1,arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_write___(void * jarg1, void * jarg2, void * jarg3) {
  void * jresult ;
  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
  void *arg2 = (void *) 0 ;
  switch_size_t arg3 ;
  switch_size_t *argp3 ;
  switch_size_t result;
  
  arg1 = (switch_buffer_t *)jarg1; 
  arg2 = (void *)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = switch_buffer_write(arg1,(void const *)arg2,arg3);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_toss___(void * jarg1, void * jarg2) {
  void * jresult ;
  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  switch_size_t result;
  
  arg1 = (switch_buffer_t *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg2 = *argp2; 
  result = switch_buffer_toss(arg1,arg2);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_zero___(void * jarg1) {
  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
  
  arg1 = (switch_buffer_t *)jarg1; 
  switch_buffer_zero(arg1);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_slide_write___(void * jarg1, void * jarg2, void * jarg3) {
  void * jresult ;
  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
  void *arg2 = (void *) 0 ;
  switch_size_t arg3 ;
  switch_size_t *argp3 ;
  switch_size_t result;
  
  arg1 = (switch_buffer_t *)jarg1; 
  arg2 = (void *)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = switch_buffer_slide_write(arg1,(void const *)arg2,arg3);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_destroy___(void * jarg1) {
  switch_buffer_t **arg1 = (switch_buffer_t **) 0 ;
  
  arg1 = (switch_buffer_t **)jarg1; 
  switch_buffer_destroy(arg1);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_zwrite___(void * jarg1, void * jarg2, void * jarg3) {
  void * jresult ;
  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
  void *arg2 = (void *) 0 ;
  switch_size_t arg3 ;
  switch_size_t *argp3 ;
  switch_size_t result;
  
  arg1 = (switch_buffer_t *)jarg1; 
  arg2 = (void *)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = switch_buffer_zwrite(arg1,(void const *)arg2,arg3);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_get_head_pointer___(void * jarg1) {
  void * jresult ;
  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_buffer_t *)jarg1; 
  result = (void *)switch_buffer_get_head_pointer(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_header_name_set___(void * jarg1, char * jarg2) {
  switch_event_header *arg1 = (switch_event_header *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_event_header *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->name;
    if (arg2) {
      arg1->name = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->name, (const char *)arg2);
    } else {
      arg1->name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_header_name_get___(void * jarg1) {
  char * jresult ;
  switch_event_header *arg1 = (switch_event_header *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_event_header *)jarg1; 
  result = (char *) ((arg1)->name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_header_value_set___(void * jarg1, char * jarg2) {
  switch_event_header *arg1 = (switch_event_header *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_event_header *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->value;
    if (arg2) {
      arg1->value = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->value, (const char *)arg2);
    } else {
      arg1->value = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_header_value_get___(void * jarg1) {
  char * jresult ;
  switch_event_header *arg1 = (switch_event_header *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_event_header *)jarg1; 
  result = (char *) ((arg1)->value);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_header_array_set___(void * jarg1, void * jarg2) {
  switch_event_header *arg1 = (switch_event_header *) 0 ;
  char **arg2 = (char **) 0 ;
  
  arg1 = (switch_event_header *)jarg1; 
  arg2 = (char **)jarg2; 
  if (arg1) (arg1)->array = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_header_array_get___(void * jarg1) {
  void * jresult ;
  switch_event_header *arg1 = (switch_event_header *) 0 ;
  char **result = 0 ;
  
  arg1 = (switch_event_header *)jarg1; 
  result = (char **) ((arg1)->array);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_header_idx_set___(void * jarg1, int jarg2) {
  switch_event_header *arg1 = (switch_event_header *) 0 ;
  int arg2 ;
  
  arg1 = (switch_event_header *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->idx = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_header_idx_get___(void * jarg1) {
  int jresult ;
  switch_event_header *arg1 = (switch_event_header *) 0 ;
  int result;
  
  arg1 = (switch_event_header *)jarg1; 
  result = (int) ((arg1)->idx);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_header_hash_set___(void * jarg1, unsigned long jarg2) {
  switch_event_header *arg1 = (switch_event_header *) 0 ;
  unsigned long arg2 ;
  
  arg1 = (switch_event_header *)jarg1; 
  arg2 = (unsigned long)jarg2; 
  if (arg1) (arg1)->hash = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_header_hash_get___(void * jarg1) {
  unsigned long jresult ;
  switch_event_header *arg1 = (switch_event_header *) 0 ;
  unsigned long result;
  
  arg1 = (switch_event_header *)jarg1; 
  result = (unsigned long) ((arg1)->hash);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_header_next_set___(void * jarg1, void * jarg2) {
  switch_event_header *arg1 = (switch_event_header *) 0 ;
  switch_event_header *arg2 = (switch_event_header *) 0 ;
  
  arg1 = (switch_event_header *)jarg1; 
  arg2 = (switch_event_header *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_header_next_get___(void * jarg1) {
  void * jresult ;
  switch_event_header *arg1 = (switch_event_header *) 0 ;
  switch_event_header *result = 0 ;
  
  arg1 = (switch_event_header *)jarg1; 
  result = (switch_event_header *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_event_header___() {
  void * jresult ;
  switch_event_header *result = 0 ;
  
  result = (switch_event_header *)new switch_event_header();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_event_header___(void * jarg1) {
  switch_event_header *arg1 = (switch_event_header *) 0 ;
  
  arg1 = (switch_event_header *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_event_id_set___(void * jarg1, int jarg2) {
  switch_event *arg1 = (switch_event *) 0 ;
  switch_event_types_t arg2 ;
  
  arg1 = (switch_event *)jarg1; 
  arg2 = (switch_event_types_t)jarg2; 
  if (arg1) (arg1)->event_id = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_event_id_get___(void * jarg1) {
  int jresult ;
  switch_event *arg1 = (switch_event *) 0 ;
  switch_event_types_t result;
  
  arg1 = (switch_event *)jarg1; 
  result = (switch_event_types_t) ((arg1)->event_id);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_priority_set___(void * jarg1, int jarg2) {
  switch_event *arg1 = (switch_event *) 0 ;
  switch_priority_t arg2 ;
  
  arg1 = (switch_event *)jarg1; 
  arg2 = (switch_priority_t)jarg2; 
  if (arg1) (arg1)->priority = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_priority_get___(void * jarg1) {
  int jresult ;
  switch_event *arg1 = (switch_event *) 0 ;
  switch_priority_t result;
  
  arg1 = (switch_event *)jarg1; 
  result = (switch_priority_t) ((arg1)->priority);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_owner_set___(void * jarg1, char * jarg2) {
  switch_event *arg1 = (switch_event *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_event *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->owner;
    if (arg2) {
      arg1->owner = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->owner, (const char *)arg2);
    } else {
      arg1->owner = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_owner_get___(void * jarg1) {
  char * jresult ;
  switch_event *arg1 = (switch_event *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_event *)jarg1; 
  result = (char *) ((arg1)->owner);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_subclass_name_set___(void * jarg1, char * jarg2) {
  switch_event *arg1 = (switch_event *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_event *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->subclass_name;
    if (arg2) {
      arg1->subclass_name = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->subclass_name, (const char *)arg2);
    } else {
      arg1->subclass_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_subclass_name_get___(void * jarg1) {
  char * jresult ;
  switch_event *arg1 = (switch_event *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_event *)jarg1; 
  result = (char *) ((arg1)->subclass_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_headers_set___(void * jarg1, void * jarg2) {
  switch_event *arg1 = (switch_event *) 0 ;
  switch_event_header_t *arg2 = (switch_event_header_t *) 0 ;
  
  arg1 = (switch_event *)jarg1; 
  arg2 = (switch_event_header_t *)jarg2; 
  if (arg1) (arg1)->headers = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_headers_get___(void * jarg1) {
  void * jresult ;
  switch_event *arg1 = (switch_event *) 0 ;
  switch_event_header_t *result = 0 ;
  
  arg1 = (switch_event *)jarg1; 
  result = (switch_event_header_t *) ((arg1)->headers);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_last_header_set___(void * jarg1, void * jarg2) {
  switch_event *arg1 = (switch_event *) 0 ;
  switch_event_header_t *arg2 = (switch_event_header_t *) 0 ;
  
  arg1 = (switch_event *)jarg1; 
  arg2 = (switch_event_header_t *)jarg2; 
  if (arg1) (arg1)->last_header = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_last_header_get___(void * jarg1) {
  void * jresult ;
  switch_event *arg1 = (switch_event *) 0 ;
  switch_event_header_t *result = 0 ;
  
  arg1 = (switch_event *)jarg1; 
  result = (switch_event_header_t *) ((arg1)->last_header);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_body_set___(void * jarg1, char * jarg2) {
  switch_event *arg1 = (switch_event *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_event *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->body;
    if (arg2) {
      arg1->body = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->body, (const char *)arg2);
    } else {
      arg1->body = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_body_get___(void * jarg1) {
  char * jresult ;
  switch_event *arg1 = (switch_event *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_event *)jarg1; 
  result = (char *) ((arg1)->body);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_bind_user_data_set___(void * jarg1, void * jarg2) {
  switch_event *arg1 = (switch_event *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_event *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->bind_user_data = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_bind_user_data_get___(void * jarg1) {
  void * jresult ;
  switch_event *arg1 = (switch_event *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_event *)jarg1; 
  result = (void *) ((arg1)->bind_user_data);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_event_user_data_set___(void * jarg1, void * jarg2) {
  switch_event *arg1 = (switch_event *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_event *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->event_user_data = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_event_user_data_get___(void * jarg1) {
  void * jresult ;
  switch_event *arg1 = (switch_event *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_event *)jarg1; 
  result = (void *) ((arg1)->event_user_data);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_key_set___(void * jarg1, unsigned long jarg2) {
  switch_event *arg1 = (switch_event *) 0 ;
  unsigned long arg2 ;
  
  arg1 = (switch_event *)jarg1; 
  arg2 = (unsigned long)jarg2; 
  if (arg1) (arg1)->key = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_key_get___(void * jarg1) {
  unsigned long jresult ;
  switch_event *arg1 = (switch_event *) 0 ;
  unsigned long result;
  
  arg1 = (switch_event *)jarg1; 
  result = (unsigned long) ((arg1)->key);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_next_set___(void * jarg1, void * jarg2) {
  switch_event *arg1 = (switch_event *) 0 ;
  switch_event *arg2 = (switch_event *) 0 ;
  
  arg1 = (switch_event *)jarg1; 
  arg2 = (switch_event *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_next_get___(void * jarg1) {
  void * jresult ;
  switch_event *arg1 = (switch_event *) 0 ;
  switch_event *result = 0 ;
  
  arg1 = (switch_event *)jarg1; 
  result = (switch_event *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_flags_set___(void * jarg1, int jarg2) {
  switch_event *arg1 = (switch_event *) 0 ;
  int arg2 ;
  
  arg1 = (switch_event *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->flags = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_flags_get___(void * jarg1) {
  int jresult ;
  switch_event *arg1 = (switch_event *) 0 ;
  int result;
  
  arg1 = (switch_event *)jarg1; 
  result = (int) ((arg1)->flags);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_event___() {
  void * jresult ;
  switch_event *result = 0 ;
  
  result = (switch_event *)new switch_event();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_event___(void * jarg1) {
  switch_event *arg1 = (switch_event *) 0 ;
  
  arg1 = (switch_event *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_serial_event_t_event_id_set___(void * jarg1, int jarg2) {
  switch_serial_event_s *arg1 = (switch_serial_event_s *) 0 ;
  int arg2 ;
  
  arg1 = (switch_serial_event_s *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->event_id = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_serial_event_t_event_id_get___(void * jarg1) {
  int jresult ;
  switch_serial_event_s *arg1 = (switch_serial_event_s *) 0 ;
  int result;
  
  arg1 = (switch_serial_event_s *)jarg1; 
  result = (int) ((arg1)->event_id);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_serial_event_t_priority_set___(void * jarg1, int jarg2) {
  switch_serial_event_s *arg1 = (switch_serial_event_s *) 0 ;
  int arg2 ;
  
  arg1 = (switch_serial_event_s *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->priority = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_serial_event_t_priority_get___(void * jarg1) {
  int jresult ;
  switch_serial_event_s *arg1 = (switch_serial_event_s *) 0 ;
  int result;
  
  arg1 = (switch_serial_event_s *)jarg1; 
  result = (int) ((arg1)->priority);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_serial_event_t_flags_set___(void * jarg1, int jarg2) {
  switch_serial_event_s *arg1 = (switch_serial_event_s *) 0 ;
  int arg2 ;
  
  arg1 = (switch_serial_event_s *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->flags = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_serial_event_t_flags_get___(void * jarg1) {
  int jresult ;
  switch_serial_event_s *arg1 = (switch_serial_event_s *) 0 ;
  int result;
  
  arg1 = (switch_serial_event_s *)jarg1; 
  result = (int) ((arg1)->flags);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_serial_event_t_owner_set___(void * jarg1, char * jarg2) {
  switch_serial_event_s *arg1 = (switch_serial_event_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_serial_event_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->owner;
    if (arg2) {
      arg1->owner = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->owner, (const char *)arg2);
    } else {
      arg1->owner = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_serial_event_t_owner_get___(void * jarg1) {
  char * jresult ;
  switch_serial_event_s *arg1 = (switch_serial_event_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_serial_event_s *)jarg1; 
  result = (char *) ((arg1)->owner);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_serial_event_t_subclass_name_set___(void * jarg1, char * jarg2) {
  switch_serial_event_s *arg1 = (switch_serial_event_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_serial_event_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->subclass_name;
    if (arg2) {
      arg1->subclass_name = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->subclass_name, (const char *)arg2);
    } else {
      arg1->subclass_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_serial_event_t_subclass_name_get___(void * jarg1) {
  char * jresult ;
  switch_serial_event_s *arg1 = (switch_serial_event_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_serial_event_s *)jarg1; 
  result = (char *) ((arg1)->subclass_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_serial_event_t_body_set___(void * jarg1, char * jarg2) {
  switch_serial_event_s *arg1 = (switch_serial_event_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_serial_event_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->body;
    if (arg2) {
      arg1->body = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->body, (const char *)arg2);
    } else {
      arg1->body = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_serial_event_t_body_get___(void * jarg1) {
  char * jresult ;
  switch_serial_event_s *arg1 = (switch_serial_event_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_serial_event_s *)jarg1; 
  result = (char *) ((arg1)->body);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_serial_event_t___() {
  void * jresult ;
  switch_serial_event_s *result = 0 ;
  
  result = (switch_serial_event_s *)new switch_serial_event_s();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_serial_event_t___(void * jarg1) {
  switch_serial_event_s *arg1 = (switch_serial_event_s *) 0 ;
  
  arg1 = (switch_serial_event_s *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_serial_event_header_t_name_set___(void * jarg1, char * jarg2) {
  switch_serial_event_header_s *arg1 = (switch_serial_event_header_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_serial_event_header_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->name;
    if (arg2) {
      arg1->name = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->name, (const char *)arg2);
    } else {
      arg1->name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_serial_event_header_t_name_get___(void * jarg1) {
  char * jresult ;
  switch_serial_event_header_s *arg1 = (switch_serial_event_header_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_serial_event_header_s *)jarg1; 
  result = (char *) ((arg1)->name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_serial_event_header_t_value_set___(void * jarg1, char * jarg2) {
  switch_serial_event_header_s *arg1 = (switch_serial_event_header_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_serial_event_header_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->value;
    if (arg2) {
      arg1->value = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->value, (const char *)arg2);
    } else {
      arg1->value = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_serial_event_header_t_value_get___(void * jarg1) {
  char * jresult ;
  switch_serial_event_header_s *arg1 = (switch_serial_event_header_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_serial_event_header_s *)jarg1; 
  result = (char *) ((arg1)->value);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_serial_event_header_t___() {
  void * jresult ;
  switch_serial_event_header_s *result = 0 ;
  
  result = (switch_serial_event_header_s *)new switch_serial_event_header_s();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_serial_event_header_t___(void * jarg1) {
  switch_serial_event_header_s *arg1 = (switch_serial_event_header_s *) 0 ;
  
  arg1 = (switch_serial_event_header_s *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_init___(void * jarg1) {
  int jresult ;
  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_memory_pool_t *)jarg1; 
  result = (switch_status_t)switch_event_init(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_shutdown___() {
  int jresult ;
  switch_status_t result;
  
  result = (switch_status_t)switch_event_shutdown();
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_create_subclass_detailed___(char * jarg1, char * jarg2, int jarg3, void * jarg4, int jarg5, char * jarg6) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  int arg3 ;
  switch_event_t **arg4 = (switch_event_t **) 0 ;
  switch_event_types_t arg5 ;
  char *arg6 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (switch_event_t **)jarg4; 
  arg5 = (switch_event_types_t)jarg5; 
  arg6 = (char *)jarg6; 
  result = (switch_status_t)switch_event_create_subclass_detailed((char const *)arg1,(char const *)arg2,arg3,arg4,arg5,(char const *)arg6);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_set_priority___(void * jarg1, int jarg2) {
  int jresult ;
  switch_event_t *arg1 = (switch_event_t *) 0 ;
  switch_priority_t arg2 ;
  switch_status_t result;
  
  arg1 = (switch_event_t *)jarg1; 
  arg2 = (switch_priority_t)jarg2; 
  result = (switch_status_t)switch_event_set_priority(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_get_header_ptr___(void * jarg1, char * jarg2) {
  void * jresult ;
  switch_event_t *arg1 = (switch_event_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_event_header_t *result = 0 ;
  
  arg1 = (switch_event_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_event_header_t *)switch_event_get_header_ptr(arg1,(char const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_get_header_idx___(void * jarg1, char * jarg2, int jarg3) {
  char * jresult ;
  switch_event_t *arg1 = (switch_event_t *) 0 ;
  char *arg2 = (char *) 0 ;
  int arg3 ;
  char *result = 0 ;
  
  arg1 = (switch_event_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (int)jarg3; 
  result = (char *)switch_event_get_header_idx(arg1,(char const *)arg2,arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_rename_header___(void * jarg1, char * jarg2, char * jarg3) {
  int jresult ;
  switch_event_t *arg1 = (switch_event_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_event_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_status_t)switch_event_rename_header(arg1,(char const *)arg2,(char const *)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_get_body___(void * jarg1) {
  char * jresult ;
  switch_event_t *arg1 = (switch_event_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_event_t *)jarg1; 
  result = (char *)switch_event_get_body(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_set_subclass_name___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_event_t *arg1 = (switch_event_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_event_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_event_set_subclass_name(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_add_header_string___(void * jarg1, int jarg2, char * jarg3, char * jarg4) {
  int jresult ;
  switch_event_t *arg1 = (switch_event_t *) 0 ;
  switch_stack_t arg2 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_event_t *)jarg1; 
  arg2 = (switch_stack_t)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  result = (switch_status_t)switch_event_add_header_string(arg1,arg2,(char const *)arg3,(char const *)arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_del_header_val___(void * jarg1, char * jarg2, char * jarg3) {
  int jresult ;
  switch_event_t *arg1 = (switch_event_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_event_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_status_t)switch_event_del_header_val(arg1,(char const *)arg2,(char const *)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_add_array___(void * jarg1, char * jarg2, char * jarg3) {
  int jresult ;
  switch_event_t *arg1 = (switch_event_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int result;
  
  arg1 = (switch_event_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (int)switch_event_add_array(arg1,(char const *)arg2,(char const *)arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_destroy___(void * jarg1) {
  switch_event_t **arg1 = (switch_event_t **) 0 ;
  
  arg1 = (switch_event_t **)jarg1; 
  switch_event_destroy(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_dup___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_event_t **arg1 = (switch_event_t **) 0 ;
  switch_event_t *arg2 = (switch_event_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_event_t **)jarg1; 
  arg2 = (switch_event_t *)jarg2; 
  result = (switch_status_t)switch_event_dup(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_merge___(void * jarg1, void * jarg2) {
  switch_event_t *arg1 = (switch_event_t *) 0 ;
  switch_event_t *arg2 = (switch_event_t *) 0 ;
  
  arg1 = (switch_event_t *)jarg1; 
  arg2 = (switch_event_t *)jarg2; 
  switch_event_merge(arg1,arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_dup_reply___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_event_t **arg1 = (switch_event_t **) 0 ;
  switch_event_t *arg2 = (switch_event_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_event_t **)jarg1; 
  arg2 = (switch_event_t *)jarg2; 
  result = (switch_status_t)switch_event_dup_reply(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_fire_detailed___(char * jarg1, char * jarg2, int jarg3, void * jarg4, void * jarg5) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  int arg3 ;
  switch_event_t **arg4 = (switch_event_t **) 0 ;
  void *arg5 = (void *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (switch_event_t **)jarg4; 
  arg5 = (void *)jarg5; 
  result = (switch_status_t)switch_event_fire_detailed((char const *)arg1,(char const *)arg2,arg3,arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_prep_for_delivery_detailed___(char * jarg1, char * jarg2, int jarg3, void * jarg4) {
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  int arg3 ;
  switch_event_t *arg4 = (switch_event_t *) 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (switch_event_t *)jarg4; 
  switch_event_prep_for_delivery_detailed((char const *)arg1,(char const *)arg2,arg3,arg4);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_bind___(char * jarg1, int jarg2, char * jarg3, void * jarg4, void * jarg5) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_event_types_t arg2 ;
  char *arg3 = (char *) 0 ;
  switch_event_callback_t arg4 = (switch_event_callback_t) 0 ;
  void *arg5 = (void *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_event_types_t)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (switch_event_callback_t)jarg4; 
  arg5 = (void *)jarg5; 
  result = (switch_status_t)switch_event_bind((char const *)arg1,arg2,(char const *)arg3,arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_get_custom_events___(void * jarg1) {
  int jresult ;
  switch_console_callback_match_t **arg1 = (switch_console_callback_match_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_console_callback_match_t **)jarg1; 
  result = (switch_status_t)switch_event_get_custom_events(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_bind_removable___(char * jarg1, int jarg2, char * jarg3, void * jarg4, void * jarg5, void * jarg6) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_event_types_t arg2 ;
  char *arg3 = (char *) 0 ;
  switch_event_callback_t arg4 = (switch_event_callback_t) 0 ;
  void *arg5 = (void *) 0 ;
  switch_event_node_t **arg6 = (switch_event_node_t **) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_event_types_t)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (switch_event_callback_t)jarg4; 
  arg5 = (void *)jarg5; 
  arg6 = (switch_event_node_t **)jarg6; 
  result = (switch_status_t)switch_event_bind_removable((char const *)arg1,arg2,(char const *)arg3,arg4,arg5,arg6);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_unbind___(void * jarg1) {
  int jresult ;
  switch_event_node_t **arg1 = (switch_event_node_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_event_node_t **)jarg1; 
  result = (switch_status_t)switch_event_unbind(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_unbind_callback___(void * jarg1) {
  int jresult ;
  switch_event_callback_t arg1 = (switch_event_callback_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_event_callback_t)jarg1; 
  result = (switch_status_t)switch_event_unbind_callback(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_name___(int jarg1) {
  char * jresult ;
  switch_event_types_t arg1 ;
  char *result = 0 ;
  
  arg1 = (switch_event_types_t)jarg1; 
  result = (char *)switch_event_name(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_name_event___(char * jarg1, void * jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_event_types_t *arg2 = (switch_event_types_t *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_event_types_t *)jarg2; 
  result = (switch_status_t)switch_name_event((char const *)arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_reserve_subclass_detailed___(char * jarg1, char * jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_event_reserve_subclass_detailed((char const *)arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_free_subclass_detailed___(char * jarg1, char * jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_event_free_subclass_detailed((char const *)arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_binary_deserialize___(void * jarg1, void * jarg2, void * jarg3, int jarg4) {
  int jresult ;
  switch_event_t **arg1 = (switch_event_t **) 0 ;
  void **arg2 = (void **) 0 ;
  switch_size_t arg3 ;
  switch_bool_t arg4 ;
  switch_size_t *argp3 ;
  switch_status_t result;
  
  arg1 = (switch_event_t **)jarg1; 
  arg2 = (void **)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  arg4 = (switch_bool_t)jarg4; 
  result = (switch_status_t)switch_event_binary_deserialize(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_binary_serialize___(void * jarg1, void * jarg2, void * jarg3) {
  int jresult ;
  switch_event_t *arg1 = (switch_event_t *) 0 ;
  void **arg2 = (void **) 0 ;
  switch_size_t *arg3 = (switch_size_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_event_t *)jarg1; 
  arg2 = (void **)jarg2; 
  arg3 = (switch_size_t *)jarg3; 
  result = (switch_status_t)switch_event_binary_serialize(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_serialize___(void * jarg1, void * jarg2, int jarg3) {
  int jresult ;
  switch_event_t *arg1 = (switch_event_t *) 0 ;
  char **arg2 = (char **) 0 ;
  switch_bool_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_event_t *)jarg1; 
  arg2 = (char **)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  result = (switch_status_t)switch_event_serialize(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_serialize_json___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_event_t *arg1 = (switch_event_t *) 0 ;
  char **arg2 = (char **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_event_t *)jarg1; 
  arg2 = (char **)jarg2; 
  result = (switch_status_t)switch_event_serialize_json(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_serialize_json_obj___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_event_t *arg1 = (switch_event_t *) 0 ;
  cJSON **arg2 = (cJSON **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_event_t *)jarg1; 
  arg2 = (cJSON **)jarg2; 
  result = (switch_status_t)switch_event_serialize_json_obj(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_create_json___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_event_t **arg1 = (switch_event_t **) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_event_t **)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_event_create_json(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_create_brackets___(char * jarg1, char jarg2, char jarg3, char jarg4, void * jarg5, void * jarg6, int jarg7) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char arg2 ;
  char arg3 ;
  char arg4 ;
  switch_event_t **arg5 = (switch_event_t **) 0 ;
  char **arg6 = (char **) 0 ;
  switch_bool_t arg7 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char)jarg2; 
  arg3 = (char)jarg3; 
  arg4 = (char)jarg4; 
  arg5 = (switch_event_t **)jarg5; 
  arg6 = (char **)jarg6; 
  arg7 = (switch_bool_t)jarg7; 
  result = (switch_status_t)switch_event_create_brackets(arg1,arg2,arg3,arg4,arg5,arg6,arg7);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_create_array_pair___(void * jarg1, void * jarg2, void * jarg3, int jarg4) {
  int jresult ;
  switch_event_t **arg1 = (switch_event_t **) 0 ;
  char **arg2 = (char **) 0 ;
  char **arg3 = (char **) 0 ;
  int arg4 ;
  switch_status_t result;
  
  arg1 = (switch_event_t **)jarg1; 
  arg2 = (char **)jarg2; 
  arg3 = (char **)jarg3; 
  arg4 = (int)jarg4; 
  result = (switch_status_t)switch_event_create_array_pair(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_running___() {
  int jresult ;
  switch_status_t result;
  
  result = (switch_status_t)switch_event_running();
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_set_body___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_event_t *arg1 = (switch_event_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_event_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_event_set_body(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_expand_headers_check___(void * jarg1, char * jarg2, void * jarg3, void * jarg4, unsigned long jarg5) {
  char * jresult ;
  switch_event_t *arg1 = (switch_event_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_event_t *arg3 = (switch_event_t *) 0 ;
  switch_event_t *arg4 = (switch_event_t *) 0 ;
  uint32_t arg5 ;
  char *result = 0 ;
  
  arg1 = (switch_event_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_event_t *)jarg3; 
  arg4 = (switch_event_t *)jarg4; 
  arg5 = (uint32_t)jarg5; 
  result = (char *)switch_event_expand_headers_check(arg1,(char const *)arg2,arg3,arg4,arg5);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_create_pres_in_detailed___(char * jarg1, char * jarg2, int jarg3, char * jarg4, char * jarg5, char * jarg6, char * jarg7, char * jarg8, char * jarg9, char * jarg10, int jarg11, char * jarg12, char * jarg13, char * jarg14, char * jarg15) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  int arg3 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  char *arg6 = (char *) 0 ;
  char *arg7 = (char *) 0 ;
  char *arg8 = (char *) 0 ;
  char *arg9 = (char *) 0 ;
  char *arg10 = (char *) 0 ;
  int arg11 ;
  char *arg12 = (char *) 0 ;
  char *arg13 = (char *) 0 ;
  char *arg14 = (char *) 0 ;
  char *arg15 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (char *)jarg6; 
  arg7 = (char *)jarg7; 
  arg8 = (char *)jarg8; 
  arg9 = (char *)jarg9; 
  arg10 = (char *)jarg10; 
  arg11 = (int)jarg11; 
  arg12 = (char *)jarg12; 
  arg13 = (char *)jarg13; 
  arg14 = (char *)jarg14; 
  arg15 = (char *)jarg15; 
  result = (switch_status_t)switch_event_create_pres_in_detailed(arg1,arg2,arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7,(char const *)arg8,(char const *)arg9,(char const *)arg10,arg11,(char const *)arg12,(char const *)arg13,(char const *)arg14,(char const *)arg15);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_create_plain___(void * jarg1, int jarg2) {
  int jresult ;
  switch_event_t **arg1 = (switch_event_t **) 0 ;
  switch_event_types_t arg2 ;
  switch_status_t result;
  
  arg1 = (switch_event_t **)jarg1; 
  arg2 = (switch_event_types_t)jarg2; 
  result = (switch_status_t)switch_event_create_plain(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_deliver___(void * jarg1) {
  switch_event_t **arg1 = (switch_event_t **) 0 ;
  
  arg1 = (switch_event_t **)jarg1; 
  switch_event_deliver(arg1);
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_build_param_string___(void * jarg1, char * jarg2, void * jarg3) {
  char * jresult ;
  switch_event_t *arg1 = (switch_event_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_hash_t *arg3 = (switch_hash_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_event_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_hash_t *)jarg3; 
  result = (char *)switch_event_build_param_string(arg1,(char const *)arg2,arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_check_permission_list___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_event_t *arg1 = (switch_event_t *) 0 ;
  char *arg2 = (char *) 0 ;
  int result;
  
  arg1 = (switch_event_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (int)switch_event_check_permission_list(arg1,(char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_add_presence_data_cols___(void * jarg1, void * jarg2, char * jarg3) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  switch_event_t *arg2 = (switch_event_t *) 0 ;
  char *arg3 = (char *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (switch_event_t *)jarg2; 
  arg3 = (char *)jarg3; 
  switch_event_add_presence_data_cols(arg1,arg2,(char const *)arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_json_add_presence_data_cols___(void * jarg1, void * jarg2, char * jarg3) {
  switch_event_t *arg1 = (switch_event_t *) 0 ;
  cJSON *arg2 = (cJSON *) 0 ;
  char *arg3 = (char *) 0 ;
  
  arg1 = (switch_event_t *)jarg1; 
  arg2 = (cJSON *)jarg2; 
  arg3 = (char *)jarg3; 
  switch_json_add_presence_data_cols(arg1,arg2,(char const *)arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_launch_dispatch_threads___(unsigned long jarg1) {
  uint32_t arg1 ;
  
  arg1 = (uint32_t)jarg1; 
  switch_event_launch_dispatch_threads(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_channel_broadcast___(char * jarg1, void * jarg2, char * jarg3, unsigned long jarg4) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  cJSON **arg2 = (cJSON **) 0 ;
  char *arg3 = (char *) 0 ;
  switch_event_channel_id_t arg4 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (cJSON **)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (switch_event_channel_id_t)jarg4; 
  result = (switch_status_t)switch_event_channel_broadcast((char const *)arg1,arg2,(char const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_channel_deliver___(char * jarg1, void * jarg2, char * jarg3, unsigned long jarg4) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  cJSON **arg2 = (cJSON **) 0 ;
  char *arg3 = (char *) 0 ;
  switch_event_channel_id_t arg4 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (cJSON **)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (switch_event_channel_id_t)jarg4; 
  result = (switch_status_t)switch_event_channel_deliver((char const *)arg1,arg2,(char const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_channel_unbind___(char * jarg1, void * jarg2, void * jarg3) {
  unsigned long jresult ;
  char *arg1 = (char *) 0 ;
  switch_event_channel_func_t arg2 = (switch_event_channel_func_t) 0 ;
  void *arg3 = (void *) 0 ;
  uint32_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_event_channel_func_t)jarg2; 
  arg3 = (void *)jarg3; 
  result = (uint32_t)switch_event_channel_unbind((char const *)arg1,arg2,arg3);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_channel_bind___(char * jarg1, void * jarg2, void * jarg3, void * jarg4) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_event_channel_func_t arg2 = (switch_event_channel_func_t) 0 ;
  switch_event_channel_id_t *arg3 = (switch_event_channel_id_t *) 0 ;
  void *arg4 = (void *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_event_channel_func_t)jarg2; 
  arg3 = (switch_event_channel_id_t *)jarg3; 
  arg4 = (void *)jarg4; 
  result = (switch_status_t)switch_event_channel_bind((char const *)arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_NO_EVENT_CHANNEL_ID_get___() {
  int jresult ;
  int result;
  
  result = (int)(0);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_EVENT_CHANNEL_GLOBAL_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("__global__");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_live_array_clear___(void * jarg1) {
  int jresult ;
  switch_live_array_t *arg1 = (switch_live_array_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_live_array_t *)jarg1; 
  result = (switch_status_t)switch_live_array_clear(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_live_array_bootstrap___(void * jarg1, char * jarg2, unsigned long jarg3) {
  int jresult ;
  switch_live_array_t *arg1 = (switch_live_array_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_event_channel_id_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_live_array_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_event_channel_id_t)jarg3; 
  result = (switch_status_t)switch_live_array_bootstrap(arg1,(char const *)arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_live_array_destroy___(void * jarg1) {
  int jresult ;
  switch_live_array_t **arg1 = (switch_live_array_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_live_array_t **)jarg1; 
  result = (switch_status_t)switch_live_array_destroy(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_live_array_create___(char * jarg1, char * jarg2, unsigned long jarg3, void * jarg4) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_event_channel_id_t arg3 ;
  switch_live_array_t **arg4 = (switch_live_array_t **) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_event_channel_id_t)jarg3; 
  arg4 = (switch_live_array_t **)jarg4; 
  result = (switch_status_t)switch_live_array_create((char const *)arg1,(char const *)arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_live_array_get___(void * jarg1, char * jarg2) {
  void * jresult ;
  switch_live_array_t *arg1 = (switch_live_array_t *) 0 ;
  char *arg2 = (char *) 0 ;
  cJSON *result = 0 ;
  
  arg1 = (switch_live_array_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (cJSON *)switch_live_array_get(arg1,(char const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_live_array_get_idx___(void * jarg1, int jarg2) {
  void * jresult ;
  switch_live_array_t *arg1 = (switch_live_array_t *) 0 ;
  int arg2 ;
  cJSON *result = 0 ;
  
  arg1 = (switch_live_array_t *)jarg1; 
  arg2 = (int)jarg2; 
  result = (cJSON *)switch_live_array_get_idx(arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_live_array_del___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_live_array_t *arg1 = (switch_live_array_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_live_array_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_live_array_del(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_live_array_add___(void * jarg1, char * jarg2, int jarg3, void * jarg4, int jarg5) {
  int jresult ;
  switch_live_array_t *arg1 = (switch_live_array_t *) 0 ;
  char *arg2 = (char *) 0 ;
  int arg3 ;
  cJSON **arg4 = (cJSON **) 0 ;
  switch_bool_t arg5 ;
  switch_status_t result;
  
  arg1 = (switch_live_array_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (cJSON **)jarg4; 
  arg5 = (switch_bool_t)jarg5; 
  result = (switch_status_t)switch_live_array_add(arg1,(char const *)arg2,arg3,arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_live_array_visible___(void * jarg1, int jarg2, int jarg3) {
  int jresult ;
  switch_live_array_t *arg1 = (switch_live_array_t *) 0 ;
  switch_bool_t arg2 ;
  switch_bool_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_live_array_t *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  result = (switch_status_t)switch_live_array_visible(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_live_array_isnew___(void * jarg1) {
  int jresult ;
  switch_live_array_t *arg1 = (switch_live_array_t *) 0 ;
  switch_bool_t result;
  
  arg1 = (switch_live_array_t *)jarg1; 
  result = (switch_bool_t)switch_live_array_isnew(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_live_array_lock___(void * jarg1) {
  switch_live_array_t *arg1 = (switch_live_array_t *) 0 ;
  
  arg1 = (switch_live_array_t *)jarg1; 
  switch_live_array_lock(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_live_array_unlock___(void * jarg1) {
  switch_live_array_t *arg1 = (switch_live_array_t *) 0 ;
  
  arg1 = (switch_live_array_t *)jarg1; 
  switch_live_array_unlock(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_live_array_set_user_data___(void * jarg1, void * jarg2) {
  switch_live_array_t *arg1 = (switch_live_array_t *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_live_array_t *)jarg1; 
  arg2 = (void *)jarg2; 
  switch_live_array_set_user_data(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_live_array_set_command_handler___(void * jarg1, void * jarg2) {
  switch_live_array_t *arg1 = (switch_live_array_t *) 0 ;
  switch_live_array_command_handler_t arg2 = (switch_live_array_command_handler_t) 0 ;
  
  arg1 = (switch_live_array_t *)jarg1; 
  arg2 = (switch_live_array_command_handler_t)jarg2; 
  switch_live_array_set_command_handler(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_live_array_parse_json___(void * jarg1, unsigned long jarg2) {
  cJSON *arg1 = (cJSON *) 0 ;
  switch_event_channel_id_t arg2 ;
  
  arg1 = (cJSON *)jarg1; 
  arg2 = (switch_event_channel_id_t)jarg2; 
  switch_live_array_parse_json(arg1,arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_live_array_add_alias___(void * jarg1, char * jarg2, char * jarg3) {
  int jresult ;
  switch_live_array_t *arg1 = (switch_live_array_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_bool_t result;
  
  arg1 = (switch_live_array_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_bool_t)switch_live_array_add_alias(arg1,(char const *)arg2,(char const *)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_live_array_clear_alias___(void * jarg1, char * jarg2, char * jarg3) {
  int jresult ;
  switch_live_array_t *arg1 = (switch_live_array_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_bool_t result;
  
  arg1 = (switch_live_array_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_bool_t)switch_live_array_clear_alias(arg1,(char const *)arg2,(char const *)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_channel_permission_verify___(char * jarg1, char * jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_bool_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_bool_t)switch_event_channel_permission_verify((char const *)arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_channel_permission_modify___(char * jarg1, char * jarg2, int jarg3) {
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_bool_t arg3 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  switch_event_channel_permission_modify((char const *)arg1,(char const *)arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_channel_permission_clear___(char * jarg1) {
  char *arg1 = (char *) 0 ;
  
  arg1 = (char *)jarg1; 
  switch_event_channel_permission_clear((char const *)arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_GRANULAR_VOLUME_MAX_get___() {
  int jresult ;
  int result;
  
  result = (int)(50);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_RESAMPLE_QUALITY_get___() {
  int jresult ;
  int result;
  
  result = (int)(2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_audio_resampler_t_resampler_set___(void * jarg1, void * jarg2) {
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_audio_resampler_t *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->resampler = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_audio_resampler_t_resampler_get___(void * jarg1) {
  void * jresult ;
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_audio_resampler_t *)jarg1; 
  result = (void *) ((arg1)->resampler);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_audio_resampler_t_from_rate_set___(void * jarg1, int jarg2) {
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  int arg2 ;
  
  arg1 = (switch_audio_resampler_t *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->from_rate = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_audio_resampler_t_from_rate_get___(void * jarg1) {
  int jresult ;
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  int result;
  
  arg1 = (switch_audio_resampler_t *)jarg1; 
  result = (int) ((arg1)->from_rate);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_audio_resampler_t_to_rate_set___(void * jarg1, int jarg2) {
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  int arg2 ;
  
  arg1 = (switch_audio_resampler_t *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->to_rate = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_audio_resampler_t_to_rate_get___(void * jarg1) {
  int jresult ;
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  int result;
  
  arg1 = (switch_audio_resampler_t *)jarg1; 
  result = (int) ((arg1)->to_rate);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_audio_resampler_t_factor_set___(void * jarg1, double jarg2) {
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  double arg2 ;
  
  arg1 = (switch_audio_resampler_t *)jarg1; 
  arg2 = (double)jarg2; 
  if (arg1) (arg1)->factor = arg2;
}


SWIGEXPORT double SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_audio_resampler_t_factor_get___(void * jarg1) {
  double jresult ;
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  double result;
  
  arg1 = (switch_audio_resampler_t *)jarg1; 
  result = (double) ((arg1)->factor);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_audio_resampler_t_rfactor_set___(void * jarg1, double jarg2) {
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  double arg2 ;
  
  arg1 = (switch_audio_resampler_t *)jarg1; 
  arg2 = (double)jarg2; 
  if (arg1) (arg1)->rfactor = arg2;
}


SWIGEXPORT double SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_audio_resampler_t_rfactor_get___(void * jarg1) {
  double jresult ;
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  double result;
  
  arg1 = (switch_audio_resampler_t *)jarg1; 
  result = (double) ((arg1)->rfactor);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_audio_resampler_t_to_set___(void * jarg1, void * jarg2) {
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  int16_t *arg2 = (int16_t *) 0 ;
  
  arg1 = (switch_audio_resampler_t *)jarg1; 
  arg2 = (int16_t *)jarg2; 
  if (arg1) (arg1)->to = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_audio_resampler_t_to_get___(void * jarg1) {
  void * jresult ;
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  int16_t *result = 0 ;
  
  arg1 = (switch_audio_resampler_t *)jarg1; 
  result = (int16_t *) ((arg1)->to);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_audio_resampler_t_to_len_set___(void * jarg1, unsigned long jarg2) {
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_audio_resampler_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->to_len = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_audio_resampler_t_to_len_get___(void * jarg1) {
  unsigned long jresult ;
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_audio_resampler_t *)jarg1; 
  result = (uint32_t) ((arg1)->to_len);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_audio_resampler_t_to_size_set___(void * jarg1, unsigned long jarg2) {
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_audio_resampler_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->to_size = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_audio_resampler_t_to_size_get___(void * jarg1) {
  unsigned long jresult ;
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_audio_resampler_t *)jarg1; 
  result = (uint32_t) ((arg1)->to_size);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_audio_resampler_t_channels_set___(void * jarg1, int jarg2) {
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  int arg2 ;
  
  arg1 = (switch_audio_resampler_t *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->channels = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_audio_resampler_t_channels_get___(void * jarg1) {
  int jresult ;
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  int result;
  
  arg1 = (switch_audio_resampler_t *)jarg1; 
  result = (int) ((arg1)->channels);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_audio_resampler_t___() {
  void * jresult ;
  switch_audio_resampler_t *result = 0 ;
  
  result = (switch_audio_resampler_t *)new switch_audio_resampler_t();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_audio_resampler_t___(void * jarg1) {
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  
  arg1 = (switch_audio_resampler_t *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_resample_perform_create___(void * jarg1, unsigned long jarg2, unsigned long jarg3, unsigned long jarg4, int jarg5, unsigned long jarg6, char * jarg7, char * jarg8, int jarg9) {
  int jresult ;
  switch_audio_resampler_t **arg1 = (switch_audio_resampler_t **) 0 ;
  uint32_t arg2 ;
  uint32_t arg3 ;
  uint32_t arg4 ;
  int arg5 ;
  uint32_t arg6 ;
  char *arg7 = (char *) 0 ;
  char *arg8 = (char *) 0 ;
  int arg9 ;
  switch_status_t result;
  
  arg1 = (switch_audio_resampler_t **)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = (uint32_t)jarg4; 
  arg5 = (int)jarg5; 
  arg6 = (uint32_t)jarg6; 
  arg7 = (char *)jarg7; 
  arg8 = (char *)jarg8; 
  arg9 = (int)jarg9; 
  result = (switch_status_t)switch_resample_perform_create(arg1,arg2,arg3,arg4,arg5,arg6,(char const *)arg7,(char const *)arg8,arg9);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_resample_destroy___(void * jarg1) {
  switch_audio_resampler_t **arg1 = (switch_audio_resampler_t **) 0 ;
  
  arg1 = (switch_audio_resampler_t **)jarg1; 
  switch_resample_destroy(arg1);
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_resample_process___(void * jarg1, void * jarg2, unsigned long jarg3) {
  unsigned long jresult ;
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  int16_t *arg2 = (int16_t *) 0 ;
  uint32_t arg3 ;
  uint32_t result;
  
  arg1 = (switch_audio_resampler_t *)jarg1; 
  arg2 = (int16_t *)jarg2; 
  arg3 = (uint32_t)jarg3; 
  result = (uint32_t)switch_resample_process(arg1,arg2,arg3);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_float_to_short___(void * jarg1, void * jarg2, void * jarg3) {
  void * jresult ;
  float *arg1 = (float *) 0 ;
  short *arg2 = (short *) 0 ;
  switch_size_t arg3 ;
  switch_size_t *argp3 ;
  switch_size_t result;
  
  arg1 = (float *)jarg1; 
  arg2 = (short *)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = switch_float_to_short(arg1,arg2,arg3);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_char_to_float___(char * jarg1, void * jarg2, int jarg3) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  float *arg2 = (float *) 0 ;
  int arg3 ;
  int result;
  
  arg1 = (char *)jarg1; 
  arg2 = (float *)jarg2; 
  arg3 = (int)jarg3; 
  result = (int)switch_char_to_float(arg1,arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_float_to_char___(void * jarg1, char * jarg2, int jarg3) {
  int jresult ;
  float *arg1 = (float *) 0 ;
  char *arg2 = (char *) 0 ;
  int arg3 ;
  int result;
  
  arg1 = (float *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (int)jarg3; 
  result = (int)switch_float_to_char(arg1,arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_short_to_float___(void * jarg1, void * jarg2, int jarg3) {
  int jresult ;
  short *arg1 = (short *) 0 ;
  float *arg2 = (float *) 0 ;
  int arg3 ;
  int result;
  
  arg1 = (short *)jarg1; 
  arg2 = (float *)jarg2; 
  arg3 = (int)jarg3; 
  result = (int)switch_short_to_float(arg1,arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_swap_linear___(void * jarg1, int jarg2) {
  int16_t *arg1 = (int16_t *) 0 ;
  int arg2 ;
  
  arg1 = (int16_t *)jarg1; 
  arg2 = (int)jarg2; 
  switch_swap_linear(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_generate_sln_silence___(void * jarg1, unsigned long jarg2, unsigned long jarg3, unsigned long jarg4) {
  int16_t *arg1 = (int16_t *) 0 ;
  uint32_t arg2 ;
  uint32_t arg3 ;
  uint32_t arg4 ;
  
  arg1 = (int16_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = (uint32_t)jarg4; 
  switch_generate_sln_silence(arg1,arg2,arg3,arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_change_sln_volume___(void * jarg1, unsigned long jarg2, int jarg3) {
  int16_t *arg1 = (int16_t *) 0 ;
  uint32_t arg2 ;
  int32_t arg3 ;
  
  arg1 = (int16_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (int32_t)jarg3; 
  switch_change_sln_volume(arg1,arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_change_sln_volume_granular___(void * jarg1, unsigned long jarg2, int jarg3) {
  int16_t *arg1 = (int16_t *) 0 ;
  uint32_t arg2 ;
  int32_t arg3 ;
  
  arg1 = (int16_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (int32_t)jarg3; 
  switch_change_sln_volume_granular(arg1,arg2,arg3);
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_merge_sln___(void * jarg1, unsigned long jarg2, void * jarg3, unsigned long jarg4, int jarg5) {
  unsigned long jresult ;
  int16_t *arg1 = (int16_t *) 0 ;
  uint32_t arg2 ;
  int16_t *arg3 = (int16_t *) 0 ;
  uint32_t arg4 ;
  int arg5 ;
  uint32_t result;
  
  arg1 = (int16_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (int16_t *)jarg3; 
  arg4 = (uint32_t)jarg4; 
  arg5 = (int)jarg5; 
  result = (uint32_t)switch_merge_sln(arg1,arg2,arg3,arg4,arg5);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unmerge_sln___(void * jarg1, unsigned long jarg2, void * jarg3, unsigned long jarg4, int jarg5) {
  unsigned long jresult ;
  int16_t *arg1 = (int16_t *) 0 ;
  uint32_t arg2 ;
  int16_t *arg3 = (int16_t *) 0 ;
  uint32_t arg4 ;
  int arg5 ;
  uint32_t result;
  
  arg1 = (int16_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (int16_t *)jarg3; 
  arg4 = (uint32_t)jarg4; 
  arg5 = (int)jarg5; 
  result = (uint32_t)switch_unmerge_sln(arg1,arg2,arg3,arg4,arg5);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mux_channels___(void * jarg1, void * jarg2, unsigned long jarg3, unsigned long jarg4) {
  int16_t *arg1 = (int16_t *) 0 ;
  switch_size_t arg2 ;
  uint32_t arg3 ;
  uint32_t arg4 ;
  switch_size_t *argp2 ;
  
  arg1 = (int16_t *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = (uint32_t)jarg4; 
  switch_mux_channels(arg1,arg2,arg3,arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_agc_set___(void * jarg1, unsigned long jarg2, unsigned long jarg3, unsigned long jarg4, unsigned long jarg5, unsigned long jarg6) {
  switch_agc_t *arg1 = (switch_agc_t *) 0 ;
  uint32_t arg2 ;
  uint32_t arg3 ;
  uint32_t arg4 ;
  uint32_t arg5 ;
  uint32_t arg6 ;
  
  arg1 = (switch_agc_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = (uint32_t)jarg4; 
  arg5 = (uint32_t)jarg5; 
  arg6 = (uint32_t)jarg6; 
  switch_agc_set(arg1,arg2,arg3,arg4,arg5,arg6);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_agc_create___(void * jarg1, unsigned long jarg2, unsigned long jarg3, unsigned long jarg4, unsigned long jarg5, unsigned long jarg6) {
  int jresult ;
  switch_agc_t **arg1 = (switch_agc_t **) 0 ;
  uint32_t arg2 ;
  uint32_t arg3 ;
  uint32_t arg4 ;
  uint32_t arg5 ;
  uint32_t arg6 ;
  switch_status_t result;
  
  arg1 = (switch_agc_t **)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = (uint32_t)jarg4; 
  arg5 = (uint32_t)jarg5; 
  arg6 = (uint32_t)jarg6; 
  result = (switch_status_t)switch_agc_create(arg1,arg2,arg3,arg4,arg5,arg6);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_agc_destroy___(void * jarg1) {
  switch_agc_t **arg1 = (switch_agc_t **) 0 ;
  
  arg1 = (switch_agc_t **)jarg1; 
  switch_agc_destroy(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_agc_feed___(void * jarg1, void * jarg2, unsigned long jarg3, unsigned long jarg4) {
  int jresult ;
  switch_agc_t *arg1 = (switch_agc_t *) 0 ;
  int16_t *arg2 = (int16_t *) 0 ;
  uint32_t arg3 ;
  uint32_t arg4 ;
  switch_status_t result;
  
  arg1 = (switch_agc_t *)jarg1; 
  arg2 = (int16_t *)jarg2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = (uint32_t)jarg4; 
  result = (switch_status_t)switch_agc_feed(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_agc_set_energy_avg___(void * jarg1, unsigned long jarg2) {
  switch_agc_t *arg1 = (switch_agc_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_agc_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  switch_agc_set_energy_avg(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_agc_set_energy_low___(void * jarg1, unsigned long jarg2) {
  switch_agc_t *arg1 = (switch_agc_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_agc_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  switch_agc_set_energy_low(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_agc_set_token___(void * jarg1, char * jarg2) {
  switch_agc_t *arg1 = (switch_agc_t *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_agc_t *)jarg1; 
  arg2 = (char *)jarg2; 
  switch_agc_set_token(arg1,(char const *)arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_session_set___(void * jarg1, void * jarg2) {
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  arg2 = (switch_core_session_t *)jarg2; 
  if (arg1) (arg1)->session = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_session_get___(void * jarg1) {
  void * jresult ;
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  switch_core_session_t *result = 0 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  result = (switch_core_session_t *) ((arg1)->session);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_read_codec_set___(void * jarg1, void * jarg2) {
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  arg2 = (switch_codec_t *)jarg2; 
  if (arg1) (arg1)->read_codec = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_read_codec_get___(void * jarg1) {
  void * jresult ;
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  switch_codec_t *result = 0 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  result = (switch_codec_t *)& ((arg1)->read_codec);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_write_frame_set___(void * jarg1, void * jarg2) {
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  arg2 = (switch_frame_t *)jarg2; 
  if (arg1) (arg1)->write_frame = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_write_frame_get___(void * jarg1) {
  void * jresult ;
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  switch_frame_t *result = 0 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  result = (switch_frame_t *)& ((arg1)->write_frame);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_write_frame_data_set___(void * jarg1, void * jarg2) {
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  switch_byte_t *arg2 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  arg2 = (switch_byte_t *)jarg2; 
  {
    size_t ii;
    switch_byte_t *b = (switch_byte_t *) arg1->write_frame_data;
    for (ii = 0; ii < (size_t)8192; ii++) b[ii] = *((switch_byte_t *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_write_frame_data_get___(void * jarg1) {
  void * jresult ;
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  switch_byte_t *result = 0 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  result = (switch_byte_t *)(switch_byte_t *) ((arg1)->write_frame_data);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_socket_set___(void * jarg1, void * jarg2) {
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  switch_socket_t *arg2 = (switch_socket_t *) 0 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  arg2 = (switch_socket_t *)jarg2; 
  if (arg1) (arg1)->socket = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_socket_get___(void * jarg1) {
  void * jresult ;
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  switch_socket_t *result = 0 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  result = (switch_socket_t *) ((arg1)->socket);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_local_ip_set___(void * jarg1, char * jarg2) {
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->local_ip;
    if (arg2) {
      arg1->local_ip = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->local_ip, (const char *)arg2);
    } else {
      arg1->local_ip = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_local_ip_get___(void * jarg1) {
  char * jresult ;
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  result = (char *) ((arg1)->local_ip);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_local_port_set___(void * jarg1, unsigned short jarg2) {
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  switch_port_t arg2 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  arg2 = (switch_port_t)jarg2; 
  if (arg1) (arg1)->local_port = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_local_port_get___(void * jarg1) {
  unsigned short jresult ;
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  switch_port_t result;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  result = (switch_port_t) ((arg1)->local_port);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_remote_ip_set___(void * jarg1, char * jarg2) {
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->remote_ip;
    if (arg2) {
      arg1->remote_ip = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->remote_ip, (const char *)arg2);
    } else {
      arg1->remote_ip = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_remote_ip_get___(void * jarg1) {
  char * jresult ;
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  result = (char *) ((arg1)->remote_ip);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_remote_port_set___(void * jarg1, unsigned short jarg2) {
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  switch_port_t arg2 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  arg2 = (switch_port_t)jarg2; 
  if (arg1) (arg1)->remote_port = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_remote_port_get___(void * jarg1) {
  unsigned short jresult ;
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  switch_port_t result;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  result = (switch_port_t) ((arg1)->remote_port);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_local_addr_set___(void * jarg1, void * jarg2) {
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  switch_sockaddr_t *arg2 = (switch_sockaddr_t *) 0 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  arg2 = (switch_sockaddr_t *)jarg2; 
  if (arg1) (arg1)->local_addr = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_local_addr_get___(void * jarg1) {
  void * jresult ;
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  switch_sockaddr_t *result = 0 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  result = (switch_sockaddr_t *) ((arg1)->local_addr);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_remote_addr_set___(void * jarg1, void * jarg2) {
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  switch_sockaddr_t *arg2 = (switch_sockaddr_t *) 0 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  arg2 = (switch_sockaddr_t *)jarg2; 
  if (arg1) (arg1)->remote_addr = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_remote_addr_get___(void * jarg1) {
  void * jresult ;
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  switch_sockaddr_t *result = 0 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  result = (switch_sockaddr_t *) ((arg1)->remote_addr);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_flag_mutex_set___(void * jarg1, void * jarg2) {
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  arg2 = (switch_mutex_t *)jarg2; 
  if (arg1) (arg1)->flag_mutex = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_flag_mutex_get___(void * jarg1) {
  void * jresult ;
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  switch_mutex_t *result = 0 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  result = (switch_mutex_t *) ((arg1)->flag_mutex);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_flags_set___(void * jarg1, int jarg2) {
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  int32_t arg2 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  arg2 = (int32_t)jarg2; 
  if (arg1) (arg1)->flags = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_flags_get___(void * jarg1) {
  int jresult ;
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  int32_t result;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  result = (int32_t) ((arg1)->flags);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_type_set___(void * jarg1, int jarg2) {
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  int arg2 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->type = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_type_get___(void * jarg1) {
  int jresult ;
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  int result;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  result = (int) ((arg1)->type);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_transport_set___(void * jarg1, int jarg2) {
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  int arg2 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->transport = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_transport_get___(void * jarg1) {
  int jresult ;
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  int result;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  result = (int) ((arg1)->transport);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_stream_id_set___(void * jarg1, int jarg2) {
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  int arg2 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->stream_id = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_stream_id_get___(void * jarg1) {
  int jresult ;
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  int result;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  result = (int) ((arg1)->stream_id);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_thread_set___(void * jarg1, void * jarg2) {
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  switch_thread_t *arg2 = (switch_thread_t *) 0 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  arg2 = (switch_thread_t *)jarg2; 
  if (arg1) (arg1)->thread = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_unicast_conninfo_thread_get___(void * jarg1) {
  void * jresult ;
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  switch_thread_t *result = 0 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  result = (switch_thread_t *) ((arg1)->thread);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_unicast_conninfo___() {
  void * jresult ;
  switch_unicast_conninfo *result = 0 ;
  
  result = (switch_unicast_conninfo *)new switch_unicast_conninfo();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_unicast_conninfo___(void * jarg1) {
  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
  
  arg1 = (switch_unicast_conninfo *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_deactivate_unicast___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_ivr_deactivate_unicast(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_activate_unicast___(void * jarg1, char * jarg2, unsigned short jarg3, char * jarg4, unsigned short jarg5, char * jarg6, char * jarg7) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_port_t arg3 ;
  char *arg4 = (char *) 0 ;
  switch_port_t arg5 ;
  char *arg6 = (char *) 0 ;
  char *arg7 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_port_t)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (switch_port_t)jarg5; 
  arg6 = (char *)jarg6; 
  arg7 = (char *)jarg7; 
  result = (switch_status_t)switch_ivr_activate_unicast(arg1,arg2,arg3,arg4,arg5,arg6,arg7);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_generate_json_cdr___(void * jarg1, void * jarg2, int jarg3) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  cJSON **arg2 = (cJSON **) 0 ;
  switch_bool_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (cJSON **)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  result = (switch_status_t)switch_ivr_generate_json_cdr(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_generate_xml_cdr___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_xml_t *arg2 = (switch_xml_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_xml_t *)jarg2; 
  result = (switch_status_t)switch_ivr_generate_xml_cdr(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_set_xml_profile_data___(void * jarg1, void * jarg2, int jarg3) {
  int jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  switch_caller_profile_t *arg2 = (switch_caller_profile_t *) 0 ;
  int arg3 ;
  int result;
  
  arg1 = (switch_xml_t)jarg1; 
  arg2 = (switch_caller_profile_t *)jarg2; 
  arg3 = (int)jarg3; 
  result = (int)switch_ivr_set_xml_profile_data(arg1,arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_set_xml_chan_vars___(void * jarg1, void * jarg2, int jarg3) {
  int jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  switch_channel_t *arg2 = (switch_channel_t *) 0 ;
  int arg3 ;
  int result;
  
  arg1 = (switch_xml_t)jarg1; 
  arg2 = (switch_channel_t *)jarg2; 
  arg3 = (int)jarg3; 
  result = (int)switch_ivr_set_xml_chan_vars(arg1,arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_parse_event___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_event_t *arg2 = (switch_event_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_event_t *)jarg2; 
  result = (switch_status_t)switch_ivr_parse_event(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_parse_all_events___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_ivr_parse_all_events(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_parse_next_event___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_ivr_parse_next_event(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_parse_all_messages___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_ivr_parse_all_messages(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_parse_all_signal_data___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_ivr_parse_all_signal_data(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_parse_signal_data___(void * jarg1, int jarg2, int jarg3) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_bool_t arg2 ;
  switch_bool_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  result = (switch_status_t)switch_ivr_parse_signal_data(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_parse_next_signal_data___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_ivr_parse_next_signal_data(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_process_indications___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_core_session_message_t *arg2 = (switch_core_session_message_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_core_session_message_t *)jarg2; 
  result = (switch_status_t)switch_ivr_process_indications(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_sleep___(void * jarg1, unsigned long jarg2, int jarg3, void * jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  uint32_t arg2 ;
  switch_bool_t arg3 ;
  switch_input_args_t *arg4 = (switch_input_args_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  arg4 = (switch_input_args_t *)jarg4; 
  result = (switch_status_t)switch_ivr_sleep(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_park___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_input_args_t *arg2 = (switch_input_args_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_input_args_t *)jarg2; 
  result = (switch_status_t)switch_ivr_park(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_collect_digits_callback___(void * jarg1, void * jarg2, unsigned long jarg3, unsigned long jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_input_args_t *arg2 = (switch_input_args_t *) 0 ;
  uint32_t arg3 ;
  uint32_t arg4 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_input_args_t *)jarg2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = (uint32_t)jarg4; 
  result = (switch_status_t)switch_ivr_collect_digits_callback(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_collect_digits_count___(void * jarg1, char * jarg2, void * jarg3, void * jarg4, char * jarg5, char * jarg6, unsigned long jarg7, unsigned long jarg8, unsigned long jarg9) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_size_t arg3 ;
  switch_size_t arg4 ;
  char *arg5 = (char *) 0 ;
  char *arg6 = (char *) 0 ;
  uint32_t arg7 ;
  uint32_t arg8 ;
  uint32_t arg9 ;
  switch_size_t *argp3 ;
  switch_size_t *argp4 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  argp4 = (switch_size_t *)jarg4; 
  if (!argp4) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg4 = *argp4; 
  arg5 = (char *)jarg5; 
  arg6 = (char *)jarg6; 
  arg7 = (uint32_t)jarg7; 
  arg8 = (uint32_t)jarg8; 
  arg9 = (uint32_t)jarg9; 
  result = (switch_status_t)switch_ivr_collect_digits_count(arg1,arg2,arg3,arg4,(char const *)arg5,arg6,arg7,arg8,arg9);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_play_and_detect_speech___(void * jarg1, char * jarg2, char * jarg3, char * jarg4, void * jarg5, unsigned long jarg6, void * jarg7) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  char **arg5 = (char **) 0 ;
  uint32_t arg6 ;
  switch_input_args_t *arg7 = (switch_input_args_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char **)jarg5; 
  arg6 = (uint32_t)jarg6; 
  arg7 = (switch_input_args_t *)jarg7; 
  result = (switch_status_t)switch_ivr_play_and_detect_speech(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5,arg6,arg7);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_detect_speech_init___(void * jarg1, char * jarg2, char * jarg3, void * jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_asr_handle_t *arg4 = (switch_asr_handle_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (switch_asr_handle_t *)jarg4; 
  result = (switch_status_t)switch_ivr_detect_speech_init(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_detect_speech___(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5, void * jarg6) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  switch_asr_handle_t *arg6 = (switch_asr_handle_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (switch_asr_handle_t *)jarg6; 
  result = (switch_status_t)switch_ivr_detect_speech(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,arg6);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_stop_detect_speech___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_ivr_stop_detect_speech(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_pause_detect_speech___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_ivr_pause_detect_speech(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_resume_detect_speech___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_ivr_resume_detect_speech(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_detect_speech_load_grammar___(void * jarg1, char * jarg2, char * jarg3) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_status_t)switch_ivr_detect_speech_load_grammar(arg1,(char const *)arg2,(char const *)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_detect_speech_unload_grammar___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_ivr_detect_speech_unload_grammar(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_detect_speech_enable_grammar___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_ivr_detect_speech_enable_grammar(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_detect_speech_disable_grammar___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_ivr_detect_speech_disable_grammar(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_detect_speech_disable_all_grammars___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_ivr_detect_speech_disable_all_grammars(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_set_param_detect_speech___(void * jarg1, char * jarg2, char * jarg3) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_status_t)switch_ivr_set_param_detect_speech(arg1,(char const *)arg2,(char const *)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_detect_speech_start_input_timers___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_ivr_detect_speech_start_input_timers(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_record_session___(void * jarg1, char * jarg2, unsigned long jarg3, void * jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32_t arg3 ;
  switch_file_handle_t *arg4 = (switch_file_handle_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = (switch_file_handle_t *)jarg4; 
  result = (switch_status_t)switch_ivr_record_session(arg1,(char const *)arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_record_session_event___(void * jarg1, char * jarg2, unsigned long jarg3, void * jarg4, void * jarg5) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32_t arg3 ;
  switch_file_handle_t *arg4 = (switch_file_handle_t *) 0 ;
  switch_event_t *arg5 = (switch_event_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = (switch_file_handle_t *)jarg4; 
  arg5 = (switch_event_t *)jarg5; 
  result = (switch_status_t)switch_ivr_record_session_event(arg1,(char const *)arg2,arg3,arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_transfer_recordings___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_core_session_t *)jarg2; 
  result = (switch_status_t)switch_ivr_transfer_recordings(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_eavesdrop_pop_eavesdropper___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_core_session_t **arg2 = (switch_core_session_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_core_session_t **)jarg2; 
  result = (switch_status_t)switch_ivr_eavesdrop_pop_eavesdropper(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_eavesdrop_exec_all___(void * jarg1, char * jarg2, char * jarg3) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_status_t)switch_ivr_eavesdrop_exec_all(arg1,(char const *)arg2,(char const *)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_eavesdrop_update_display___(void * jarg1, char * jarg2, char * jarg3) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_status_t)switch_ivr_eavesdrop_update_display(arg1,(char const *)arg2,(char const *)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_eavesdrop_session___(void * jarg1, char * jarg2, char * jarg3, unsigned long jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_eavesdrop_flag_t arg4 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (switch_eavesdrop_flag_t)jarg4; 
  result = (switch_status_t)switch_ivr_eavesdrop_session(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_displace_session___(void * jarg1, char * jarg2, unsigned long jarg3, char * jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32_t arg3 ;
  char *arg4 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = (char *)jarg4; 
  result = (switch_status_t)switch_ivr_displace_session(arg1,(char const *)arg2,arg3,(char const *)arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_stop_displace_session___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_ivr_stop_displace_session(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_stop_record_session___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_ivr_stop_record_session(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_session_audio___(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  result = (switch_status_t)switch_ivr_session_audio(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_stop_session_audio___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_ivr_stop_session_audio(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_inband_dtmf_session___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_ivr_inband_dtmf_session(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_stop_inband_dtmf_session___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_ivr_stop_inband_dtmf_session(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_inband_dtmf_generate_session___(void * jarg1, int jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_bool_t arg2 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  result = (switch_status_t)switch_ivr_inband_dtmf_generate_session(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_stop_inband_dtmf_generate_session___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_ivr_stop_inband_dtmf_generate_session(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_session_echo___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_input_args_t *arg2 = (switch_input_args_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_input_args_t *)jarg2; 
  result = (switch_status_t)switch_ivr_session_echo(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_stop_tone_detect_session___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_ivr_stop_tone_detect_session(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_tone_detect_session___(void * jarg1, char * jarg2, char * jarg3, char * jarg4, void * jarg5, int jarg6, char * jarg7, char * jarg8, void * jarg9) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  time_t arg5 ;
  int arg6 ;
  char *arg7 = (char *) 0 ;
  char *arg8 = (char *) 0 ;
  switch_tone_detect_callback_t arg9 = (switch_tone_detect_callback_t) 0 ;
  time_t *argp5 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  argp5 = (time_t *)jarg5; 
  if (!argp5) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null time_t", 0);
    return 0;
  }
  arg5 = *argp5; 
  arg6 = (int)jarg6; 
  arg7 = (char *)jarg7; 
  arg8 = (char *)jarg8; 
  arg9 = (switch_tone_detect_callback_t)jarg9; 
  result = (switch_status_t)switch_ivr_tone_detect_session(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5,arg6,(char const *)arg7,(char const *)arg8,arg9);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_play_file___(void * jarg1, void * jarg2, char * jarg3, void * jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_file_handle_t *arg2 = (switch_file_handle_t *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_input_args_t *arg4 = (switch_input_args_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_file_handle_t *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (switch_input_args_t *)jarg4; 
  result = (switch_status_t)switch_ivr_play_file(arg1,arg2,(char const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_detect_audio___(void * jarg1, unsigned long jarg2, unsigned long jarg3, unsigned long jarg4, char * jarg5) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  uint32_t arg2 ;
  uint32_t arg3 ;
  uint32_t arg4 ;
  char *arg5 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = (uint32_t)jarg4; 
  arg5 = (char *)jarg5; 
  result = (switch_status_t)switch_ivr_detect_audio(arg1,arg2,arg3,arg4,(char const *)arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_detect_silence___(void * jarg1, unsigned long jarg2, unsigned long jarg3, unsigned long jarg4, char * jarg5) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  uint32_t arg2 ;
  uint32_t arg3 ;
  uint32_t arg4 ;
  char *arg5 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = (uint32_t)jarg4; 
  arg5 = (char *)jarg5; 
  result = (switch_status_t)switch_ivr_detect_silence(arg1,arg2,arg3,arg4,(char const *)arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_wait_for_silence___(void * jarg1, unsigned long jarg2, unsigned long jarg3, unsigned long jarg4, unsigned long jarg5, char * jarg6) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  uint32_t arg2 ;
  uint32_t arg3 ;
  uint32_t arg4 ;
  uint32_t arg5 ;
  char *arg6 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = (uint32_t)jarg4; 
  arg5 = (uint32_t)jarg5; 
  arg6 = (char *)jarg6; 
  result = (switch_status_t)switch_ivr_wait_for_silence(arg1,arg2,arg3,arg4,arg5,(char const *)arg6);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_gentones___(void * jarg1, char * jarg2, int jarg3, void * jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  int32_t arg3 ;
  switch_input_args_t *arg4 = (switch_input_args_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (int32_t)jarg3; 
  arg4 = (switch_input_args_t *)jarg4; 
  result = (switch_status_t)switch_ivr_gentones(arg1,(char const *)arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_record_file___(void * jarg1, void * jarg2, char * jarg3, void * jarg4, unsigned long jarg5) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_file_handle_t *arg2 = (switch_file_handle_t *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_input_args_t *arg4 = (switch_input_args_t *) 0 ;
  uint32_t arg5 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_file_handle_t *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (switch_input_args_t *)jarg4; 
  arg5 = (uint32_t)jarg5; 
  result = (switch_status_t)switch_ivr_record_file(arg1,arg2,(char const *)arg3,arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_record_file_event___(void * jarg1, void * jarg2, char * jarg3, void * jarg4, unsigned long jarg5, void * jarg6) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_file_handle_t *arg2 = (switch_file_handle_t *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_input_args_t *arg4 = (switch_input_args_t *) 0 ;
  uint32_t arg5 ;
  switch_event_t *arg6 = (switch_event_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_file_handle_t *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (switch_input_args_t *)jarg4; 
  arg5 = (uint32_t)jarg5; 
  arg6 = (switch_event_t *)jarg6; 
  result = (switch_status_t)switch_ivr_record_file_event(arg1,arg2,(char const *)arg3,arg4,arg5,arg6);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_play_and_get_digits___(void * jarg1, unsigned long jarg2, unsigned long jarg3, unsigned long jarg4, unsigned long jarg5, char * jarg6, char * jarg7, char * jarg8, char * jarg9, char * jarg10, unsigned long jarg11, char * jarg12, unsigned long jarg13, char * jarg14) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  uint32_t arg2 ;
  uint32_t arg3 ;
  uint32_t arg4 ;
  uint32_t arg5 ;
  char *arg6 = (char *) 0 ;
  char *arg7 = (char *) 0 ;
  char *arg8 = (char *) 0 ;
  char *arg9 = (char *) 0 ;
  char *arg10 = (char *) 0 ;
  uint32_t arg11 ;
  char *arg12 = (char *) 0 ;
  uint32_t arg13 ;
  char *arg14 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = (uint32_t)jarg4; 
  arg5 = (uint32_t)jarg5; 
  arg6 = (char *)jarg6; 
  arg7 = (char *)jarg7; 
  arg8 = (char *)jarg8; 
  arg9 = (char *)jarg9; 
  arg10 = (char *)jarg10; 
  arg11 = (uint32_t)jarg11; 
  arg12 = (char *)jarg12; 
  arg13 = (uint32_t)jarg13; 
  arg14 = (char *)jarg14; 
  result = (switch_status_t)switch_play_and_get_digits(arg1,arg2,arg3,arg4,arg5,(char const *)arg6,(char const *)arg7,(char const *)arg8,(char const *)arg9,arg10,arg11,(char const *)arg12,arg13,(char const *)arg14);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_speak_text_handle___(void * jarg1, void * jarg2, void * jarg3, void * jarg4, char * jarg5, void * jarg6) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_speech_handle_t *arg2 = (switch_speech_handle_t *) 0 ;
  switch_codec_t *arg3 = (switch_codec_t *) 0 ;
  switch_timer_t *arg4 = (switch_timer_t *) 0 ;
  char *arg5 = (char *) 0 ;
  switch_input_args_t *arg6 = (switch_input_args_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_speech_handle_t *)jarg2; 
  arg3 = (switch_codec_t *)jarg3; 
  arg4 = (switch_timer_t *)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (switch_input_args_t *)jarg6; 
  result = (switch_status_t)switch_ivr_speak_text_handle(arg1,arg2,arg3,arg4,(char const *)arg5,arg6);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_clear_speech_cache___(void * jarg1) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  switch_ivr_clear_speech_cache(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_speak_text___(void * jarg1, char * jarg2, char * jarg3, char * jarg4, void * jarg5) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  switch_input_args_t *arg5 = (switch_input_args_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (switch_input_args_t *)jarg5; 
  result = (switch_status_t)switch_ivr_speak_text(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_originate___(void * jarg1, void * jarg2, void * jarg3, char * jarg4, unsigned long jarg5, void * jarg6, char * jarg7, char * jarg8, void * jarg9, void * jarg10, unsigned long jarg11, void * jarg12, void * jarg13) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_core_session_t **arg2 = (switch_core_session_t **) 0 ;
  switch_call_cause_t *arg3 = (switch_call_cause_t *) 0 ;
  char *arg4 = (char *) 0 ;
  uint32_t arg5 ;
  switch_state_handler_table_t *arg6 = (switch_state_handler_table_t *) 0 ;
  char *arg7 = (char *) 0 ;
  char *arg8 = (char *) 0 ;
  switch_caller_profile_t *arg9 = (switch_caller_profile_t *) 0 ;
  switch_event_t *arg10 = (switch_event_t *) 0 ;
  switch_originate_flag_t arg11 ;
  switch_call_cause_t *arg12 = (switch_call_cause_t *) 0 ;
  switch_dial_handle_t *arg13 = (switch_dial_handle_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_core_session_t **)jarg2; 
  arg3 = (switch_call_cause_t *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (uint32_t)jarg5; 
  arg6 = (switch_state_handler_table_t *)jarg6; 
  arg7 = (char *)jarg7; 
  arg8 = (char *)jarg8; 
  arg9 = (switch_caller_profile_t *)jarg9; 
  arg10 = (switch_event_t *)jarg10; 
  arg11 = (switch_originate_flag_t)jarg11; 
  arg12 = (switch_call_cause_t *)jarg12; 
  arg13 = (switch_dial_handle_t *)jarg13; 
  result = (switch_status_t)switch_ivr_originate(arg1,arg2,arg3,(char const *)arg4,arg5,(switch_state_handler_table const *)arg6,(char const *)arg7,(char const *)arg8,arg9,arg10,arg11,arg12,arg13);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_enterprise_originate___(void * jarg1, void * jarg2, void * jarg3, char * jarg4, unsigned long jarg5, void * jarg6, char * jarg7, char * jarg8, void * jarg9, void * jarg10, unsigned long jarg11, void * jarg12, void * jarg13) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_core_session_t **arg2 = (switch_core_session_t **) 0 ;
  switch_call_cause_t *arg3 = (switch_call_cause_t *) 0 ;
  char *arg4 = (char *) 0 ;
  uint32_t arg5 ;
  switch_state_handler_table_t *arg6 = (switch_state_handler_table_t *) 0 ;
  char *arg7 = (char *) 0 ;
  char *arg8 = (char *) 0 ;
  switch_caller_profile_t *arg9 = (switch_caller_profile_t *) 0 ;
  switch_event_t *arg10 = (switch_event_t *) 0 ;
  switch_originate_flag_t arg11 ;
  switch_call_cause_t *arg12 = (switch_call_cause_t *) 0 ;
  switch_dial_handle_list_t *arg13 = (switch_dial_handle_list_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_core_session_t **)jarg2; 
  arg3 = (switch_call_cause_t *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (uint32_t)jarg5; 
  arg6 = (switch_state_handler_table_t *)jarg6; 
  arg7 = (char *)jarg7; 
  arg8 = (char *)jarg8; 
  arg9 = (switch_caller_profile_t *)jarg9; 
  arg10 = (switch_event_t *)jarg10; 
  arg11 = (switch_originate_flag_t)jarg11; 
  arg12 = (switch_call_cause_t *)jarg12; 
  arg13 = (switch_dial_handle_list_t *)jarg13; 
  result = (switch_status_t)switch_ivr_enterprise_originate(arg1,arg2,arg3,(char const *)arg4,arg5,(switch_state_handler_table const *)arg6,(char const *)arg7,(char const *)arg8,arg9,arg10,arg11,arg12,arg13);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_bridge_display___(void * jarg1, void * jarg2) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_core_session_t *)jarg2; 
  switch_ivr_bridge_display(arg1,arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_multi_threaded_bridge___(void * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
  switch_input_callback_function_t arg3 = (switch_input_callback_function_t) 0 ;
  void *arg4 = (void *) 0 ;
  void *arg5 = (void *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_core_session_t *)jarg2; 
  arg3 = (switch_input_callback_function_t)jarg3; 
  arg4 = (void *)jarg4; 
  arg5 = (void *)jarg5; 
  result = (switch_status_t)switch_ivr_multi_threaded_bridge(arg1,arg2,arg3,arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_bridge_bleg___(void * jarg1, void * jarg2, unsigned long jarg3) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
  uint32_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_core_session_t *)jarg2; 
  arg3 = (uint32_t)jarg3; 
  result = (switch_status_t)switch_ivr_bridge_bleg(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_signal_bridge___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_core_session_t *)jarg2; 
  result = (switch_status_t)switch_ivr_signal_bridge(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_check_hold___(void * jarg1) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  switch_ivr_check_hold(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_session_transfer___(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  result = (switch_status_t)switch_ivr_session_transfer(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_schedule_transfer___(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5) {
  unsigned long jresult ;
  time_t arg1 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  time_t *argp1 ;
  uint32_t result;
  
  argp1 = (time_t *)jarg1; 
  if (!argp1) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null time_t", 0);
    return 0;
  }
  arg1 = *argp1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  result = (uint32_t)switch_ivr_schedule_transfer(arg1,(char const *)arg2,arg3,arg4,arg5);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_schedule_hangup___(void * jarg1, char * jarg2, int jarg3, int jarg4) {
  unsigned long jresult ;
  time_t arg1 ;
  char *arg2 = (char *) 0 ;
  switch_call_cause_t arg3 ;
  switch_bool_t arg4 ;
  time_t *argp1 ;
  uint32_t result;
  
  argp1 = (time_t *)jarg1; 
  if (!argp1) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null time_t", 0);
    return 0;
  }
  arg1 = *argp1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_call_cause_t)jarg3; 
  arg4 = (switch_bool_t)jarg4; 
  result = (uint32_t)switch_ivr_schedule_hangup(arg1,(char const *)arg2,arg3,arg4);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_uuid_bridge___(char * jarg1, char * jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_ivr_uuid_bridge((char const *)arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_media___(char * jarg1, unsigned long jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_media_flag_t arg2 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_media_flag_t)jarg2; 
  result = (switch_status_t)switch_ivr_media((char const *)arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_3p_media___(char * jarg1, unsigned long jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_media_flag_t arg2 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_media_flag_t)jarg2; 
  result = (switch_status_t)switch_ivr_3p_media((char const *)arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_nomedia___(char * jarg1, unsigned long jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_media_flag_t arg2 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_media_flag_t)jarg2; 
  result = (switch_status_t)switch_ivr_nomedia((char const *)arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_3p_nomedia___(char * jarg1, unsigned long jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_media_flag_t arg2 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_media_flag_t)jarg2; 
  result = (switch_status_t)switch_ivr_3p_nomedia((char const *)arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_bg_media___(char * jarg1, unsigned long jarg2, int jarg3, int jarg4, unsigned long jarg5) {
  char *arg1 = (char *) 0 ;
  switch_media_flag_t arg2 ;
  switch_bool_t arg3 ;
  switch_bool_t arg4 ;
  uint32_t arg5 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_media_flag_t)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  arg4 = (switch_bool_t)jarg4; 
  arg5 = (uint32_t)jarg5; 
  switch_ivr_bg_media((char const *)arg1,arg2,arg3,arg4,arg5);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_hold_uuid___(char * jarg1, char * jarg2, int jarg3) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_bool_t arg3 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  result = (switch_status_t)switch_ivr_hold_uuid((char const *)arg1,(char const *)arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_hold_toggle_uuid___(char * jarg1, char * jarg2, int jarg3) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_bool_t arg3 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  result = (switch_status_t)switch_ivr_hold_toggle_uuid((char const *)arg1,(char const *)arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_unhold_uuid___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_status_t)switch_ivr_unhold_uuid((char const *)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_hold___(void * jarg1, char * jarg2, int jarg3) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_bool_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  result = (switch_status_t)switch_ivr_hold(arg1,(char const *)arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_unhold___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_ivr_unhold(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_schedule_broadcast___(void * jarg1, char * jarg2, char * jarg3, unsigned long jarg4) {
  unsigned long jresult ;
  time_t arg1 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_media_flag_t arg4 ;
  time_t *argp1 ;
  uint32_t result;
  
  argp1 = (time_t *)jarg1; 
  if (!argp1) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null time_t", 0);
    return 0;
  }
  arg1 = *argp1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (switch_media_flag_t)jarg4; 
  result = (uint32_t)switch_ivr_schedule_broadcast(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_broadcast___(char * jarg1, char * jarg2, unsigned long jarg3) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_media_flag_t arg3 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_media_flag_t)jarg3; 
  result = (switch_status_t)switch_ivr_broadcast((char const *)arg1,(char const *)arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_broadcast_in_thread___(void * jarg1, char * jarg2, int jarg3) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  int arg3 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (int)jarg3; 
  switch_ivr_broadcast_in_thread(arg1,(char const *)arg2,arg3);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_transfer_variable___(void * jarg1, void * jarg2, char * jarg3) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_core_session_t *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_status_t)switch_ivr_transfer_variable(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_digit_stream_parser_new___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
  switch_ivr_digit_stream_parser_t **arg2 = (switch_ivr_digit_stream_parser_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_memory_pool_t *)jarg1; 
  arg2 = (switch_ivr_digit_stream_parser_t **)jarg2; 
  result = (switch_status_t)switch_ivr_digit_stream_parser_new(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_digit_stream_parser_destroy___(void * jarg1) {
  int jresult ;
  switch_ivr_digit_stream_parser_t *arg1 = (switch_ivr_digit_stream_parser_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_ivr_digit_stream_parser_t *)jarg1; 
  result = (switch_status_t)switch_ivr_digit_stream_parser_destroy(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_digit_stream_new___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_ivr_digit_stream_parser_t *arg1 = (switch_ivr_digit_stream_parser_t *) 0 ;
  switch_ivr_digit_stream_t **arg2 = (switch_ivr_digit_stream_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_ivr_digit_stream_parser_t *)jarg1; 
  arg2 = (switch_ivr_digit_stream_t **)jarg2; 
  result = (switch_status_t)switch_ivr_digit_stream_new(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_digit_stream_destroy___(void * jarg1) {
  int jresult ;
  switch_ivr_digit_stream_t **arg1 = (switch_ivr_digit_stream_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_ivr_digit_stream_t **)jarg1; 
  result = (switch_status_t)switch_ivr_digit_stream_destroy(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_digit_stream_parser_set_event___(void * jarg1, char * jarg2, void * jarg3) {
  int jresult ;
  switch_ivr_digit_stream_parser_t *arg1 = (switch_ivr_digit_stream_parser_t *) 0 ;
  char *arg2 = (char *) 0 ;
  void *arg3 = (void *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_ivr_digit_stream_parser_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (void *)jarg3; 
  result = (switch_status_t)switch_ivr_digit_stream_parser_set_event(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_digit_stream_parser_del_event___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_ivr_digit_stream_parser_t *arg1 = (switch_ivr_digit_stream_parser_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_ivr_digit_stream_parser_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_ivr_digit_stream_parser_del_event(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_digit_stream_parser_feed___(void * jarg1, void * jarg2, char jarg3) {
  void * jresult ;
  switch_ivr_digit_stream_parser_t *arg1 = (switch_ivr_digit_stream_parser_t *) 0 ;
  switch_ivr_digit_stream_t *arg2 = (switch_ivr_digit_stream_t *) 0 ;
  char arg3 ;
  void *result = 0 ;
  
  arg1 = (switch_ivr_digit_stream_parser_t *)jarg1; 
  arg2 = (switch_ivr_digit_stream_t *)jarg2; 
  arg3 = (char)jarg3; 
  result = (void *)switch_ivr_digit_stream_parser_feed(arg1,arg2,arg3);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_digit_stream_reset___(void * jarg1) {
  int jresult ;
  switch_ivr_digit_stream_t *arg1 = (switch_ivr_digit_stream_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_ivr_digit_stream_t *)jarg1; 
  result = (switch_status_t)switch_ivr_digit_stream_reset(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_digit_stream_parser_set_terminator___(void * jarg1, char jarg2) {
  int jresult ;
  switch_ivr_digit_stream_parser_t *arg1 = (switch_ivr_digit_stream_parser_t *) 0 ;
  char arg2 ;
  switch_status_t result;
  
  arg1 = (switch_ivr_digit_stream_parser_t *)jarg1; 
  arg2 = (char)jarg2; 
  result = (switch_status_t)switch_ivr_digit_stream_parser_set_terminator(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_menu_init___(void * jarg1, void * jarg2, char * jarg3, char * jarg4, char * jarg5, char * jarg6, char * jarg7, char * jarg8, char * jarg9, char * jarg10, char * jarg11, char * jarg12, int jarg13, int jarg14, int jarg15, int jarg16, int jarg17, int jarg18, void * jarg19) {
  int jresult ;
  switch_ivr_menu_t **arg1 = (switch_ivr_menu_t **) 0 ;
  switch_ivr_menu_t *arg2 = (switch_ivr_menu_t *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  char *arg6 = (char *) 0 ;
  char *arg7 = (char *) 0 ;
  char *arg8 = (char *) 0 ;
  char *arg9 = (char *) 0 ;
  char *arg10 = (char *) 0 ;
  char *arg11 = (char *) 0 ;
  char *arg12 = (char *) 0 ;
  int arg13 ;
  int arg14 ;
  int arg15 ;
  int arg16 ;
  int arg17 ;
  int arg18 ;
  switch_memory_pool_t *arg19 = (switch_memory_pool_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_ivr_menu_t **)jarg1; 
  arg2 = (switch_ivr_menu_t *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (char *)jarg6; 
  arg7 = (char *)jarg7; 
  arg8 = (char *)jarg8; 
  arg9 = (char *)jarg9; 
  arg10 = (char *)jarg10; 
  arg11 = (char *)jarg11; 
  arg12 = (char *)jarg12; 
  arg13 = (int)jarg13; 
  arg14 = (int)jarg14; 
  arg15 = (int)jarg15; 
  arg16 = (int)jarg16; 
  arg17 = (int)jarg17; 
  arg18 = (int)jarg18; 
  arg19 = (switch_memory_pool_t *)jarg19; 
  result = (switch_status_t)switch_ivr_menu_init(arg1,arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7,(char const *)arg8,(char const *)arg9,(char const *)arg10,(char const *)arg11,(char const *)arg12,arg13,arg14,arg15,arg16,arg17,arg18,arg19);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_menu_bind_action___(void * jarg1, int jarg2, char * jarg3, char * jarg4) {
  int jresult ;
  switch_ivr_menu_t *arg1 = (switch_ivr_menu_t *) 0 ;
  switch_ivr_action_t arg2 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_ivr_menu_t *)jarg1; 
  arg2 = (switch_ivr_action_t)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  result = (switch_status_t)switch_ivr_menu_bind_action(arg1,arg2,(char const *)arg3,(char const *)arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_menu_bind_function___(void * jarg1, void * jarg2, char * jarg3, char * jarg4) {
  int jresult ;
  switch_ivr_menu_t *arg1 = (switch_ivr_menu_t *) 0 ;
  switch_ivr_menu_action_function_t *arg2 = (switch_ivr_menu_action_function_t *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_ivr_menu_t *)jarg1; 
  arg2 = (switch_ivr_menu_action_function_t *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  result = (switch_status_t)switch_ivr_menu_bind_function(arg1,arg2,(char const *)arg3,(char const *)arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_menu_execute___(void * jarg1, void * jarg2, char * jarg3, void * jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_ivr_menu_t *arg2 = (switch_ivr_menu_t *) 0 ;
  char *arg3 = (char *) 0 ;
  void *arg4 = (void *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_ivr_menu_t *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (void *)jarg4; 
  result = (switch_status_t)switch_ivr_menu_execute(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_menu_stack_free___(void * jarg1) {
  int jresult ;
  switch_ivr_menu_t *arg1 = (switch_ivr_menu_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_ivr_menu_t *)jarg1; 
  result = (switch_status_t)switch_ivr_menu_stack_free(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_menu_stack_xml_build___(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
  int jresult ;
  switch_ivr_menu_xml_ctx_t *arg1 = (switch_ivr_menu_xml_ctx_t *) 0 ;
  switch_ivr_menu_t **arg2 = (switch_ivr_menu_t **) 0 ;
  switch_xml_t arg3 = (switch_xml_t) 0 ;
  switch_xml_t arg4 = (switch_xml_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_ivr_menu_xml_ctx_t *)jarg1; 
  arg2 = (switch_ivr_menu_t **)jarg2; 
  arg3 = (switch_xml_t)jarg3; 
  arg4 = (switch_xml_t)jarg4; 
  result = (switch_status_t)switch_ivr_menu_stack_xml_build(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_menu_str2action___(char * jarg1, void * jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_ivr_action_t *arg2 = (switch_ivr_action_t *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_ivr_action_t *)jarg2; 
  result = (switch_status_t)switch_ivr_menu_str2action((char const *)arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_menu_stack_xml_add_custom___(void * jarg1, char * jarg2, void * jarg3) {
  int jresult ;
  switch_ivr_menu_xml_ctx_t *arg1 = (switch_ivr_menu_xml_ctx_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_ivr_menu_action_function_t *arg3 = (switch_ivr_menu_action_function_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_ivr_menu_xml_ctx_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_ivr_menu_action_function_t *)jarg3; 
  result = (switch_status_t)switch_ivr_menu_stack_xml_add_custom(arg1,(char const *)arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_menu_stack_xml_init___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_ivr_menu_xml_ctx_t **arg1 = (switch_ivr_menu_xml_ctx_t **) 0 ;
  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_ivr_menu_xml_ctx_t **)jarg1; 
  arg2 = (switch_memory_pool_t *)jarg2; 
  result = (switch_status_t)switch_ivr_menu_stack_xml_init(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_phrase_macro_event___(void * jarg1, char * jarg2, char * jarg3, void * jarg4, char * jarg5, void * jarg6) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_event_t *arg4 = (switch_event_t *) 0 ;
  char *arg5 = (char *) 0 ;
  switch_input_args_t *arg6 = (switch_input_args_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (switch_event_t *)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (switch_input_args_t *)jarg6; 
  result = (switch_status_t)switch_ivr_phrase_macro_event(arg1,(char const *)arg2,(char const *)arg3,arg4,(char const *)arg5,arg6);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_delay_echo___(void * jarg1, unsigned long jarg2) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  switch_ivr_delay_echo(arg1,arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_find_bridged_uuid___(char * jarg1, char * jarg2, void * jarg3) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_size_t arg3 ;
  switch_size_t *argp3 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = (switch_status_t)switch_ivr_find_bridged_uuid((char const *)arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_intercept_session___(void * jarg1, char * jarg2, int jarg3) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_bool_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  result = (switch_status_t)switch_ivr_intercept_session(arg1,(char const *)arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_park_session___(void * jarg1) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  switch_ivr_park_session(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_wait_for_answer___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_core_session_t *)jarg2; 
  result = (switch_status_t)switch_ivr_wait_for_answer(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_read___(void * jarg1, unsigned long jarg2, unsigned long jarg3, char * jarg4, char * jarg5, char * jarg6, void * jarg7, unsigned long jarg8, char * jarg9, unsigned long jarg10) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  uint32_t arg2 ;
  uint32_t arg3 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  char *arg6 = (char *) 0 ;
  switch_size_t arg7 ;
  uint32_t arg8 ;
  char *arg9 = (char *) 0 ;
  uint32_t arg10 ;
  switch_size_t *argp7 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (char *)jarg6; 
  argp7 = (switch_size_t *)jarg7; 
  if (!argp7) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg7 = *argp7; 
  arg8 = (uint32_t)jarg8; 
  arg9 = (char *)jarg9; 
  arg10 = (uint32_t)jarg10; 
  result = (switch_status_t)switch_ivr_read(arg1,arg2,arg3,(char const *)arg4,(char const *)arg5,arg6,arg7,arg8,(char const *)arg9,arg10);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_block_dtmf_session___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_ivr_block_dtmf_session(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_unblock_dtmf_session___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_ivr_unblock_dtmf_session(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_bind_dtmf_meta_session___(void * jarg1, unsigned long jarg2, unsigned long jarg3, char * jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  uint32_t arg2 ;
  switch_bind_flag_t arg3 ;
  char *arg4 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (switch_bind_flag_t)jarg3; 
  arg4 = (char *)jarg4; 
  result = (switch_status_t)switch_ivr_bind_dtmf_meta_session(arg1,arg2,arg3,(char const *)arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_unbind_dtmf_meta_session___(void * jarg1, unsigned long jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  uint32_t arg2 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  result = (switch_status_t)switch_ivr_unbind_dtmf_meta_session(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_soft_hold___(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  result = (switch_status_t)switch_ivr_soft_hold(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_say___(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5, char * jarg6, void * jarg7) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  char *arg6 = (char *) 0 ;
  switch_input_args_t *arg7 = (switch_input_args_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (char *)jarg6; 
  arg7 = (switch_input_args_t *)jarg7; 
  result = (switch_status_t)switch_ivr_say(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,arg7);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_say_string___(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5, char * jarg6, char * jarg7, char * jarg8, void * jarg9) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  char *arg6 = (char *) 0 ;
  char *arg7 = (char *) 0 ;
  char *arg8 = (char *) 0 ;
  char **arg9 = (char **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (char *)jarg6; 
  arg7 = (char *)jarg7; 
  arg8 = (char *)jarg8; 
  arg9 = (char **)jarg9; 
  result = (switch_status_t)switch_ivr_say_string(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7,(char const *)arg8,arg9);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_get_say_method_by_name___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_say_method_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_say_method_t)switch_ivr_get_say_method_by_name((char const *)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_get_say_gender_by_name___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_say_gender_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_say_gender_t)switch_ivr_get_say_gender_by_name((char const *)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_get_say_type_by_name___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_say_type_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_say_type_t)switch_ivr_get_say_type_by_name((char const *)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_say_spell___(void * jarg1, char * jarg2, void * jarg3, void * jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_say_args_t *arg3 = (switch_say_args_t *) 0 ;
  switch_input_args_t *arg4 = (switch_input_args_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_say_args_t *)jarg3; 
  arg4 = (switch_input_args_t *)jarg4; 
  result = (switch_status_t)switch_ivr_say_spell(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_say_ip___(void * jarg1, char * jarg2, void * jarg3, void * jarg4, void * jarg5) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_say_callback_t arg3 = (switch_say_callback_t) 0 ;
  switch_say_args_t *arg4 = (switch_say_args_t *) 0 ;
  switch_input_args_t *arg5 = (switch_input_args_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_say_callback_t)jarg3; 
  arg4 = (switch_say_args_t *)jarg4; 
  arg5 = (switch_input_args_t *)jarg5; 
  result = (switch_status_t)switch_ivr_say_ip(arg1,arg2,arg3,arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_set_user___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_ivr_set_user(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_set_user_extended___(void * jarg1, char * jarg2, void * jarg3) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_event_t *arg3 = (switch_event_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_event_t *)jarg3; 
  result = (switch_status_t)switch_ivr_set_user_extended(arg1,(char const *)arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_set_user_xml___(void * jarg1, char * jarg2, char * jarg3, char * jarg4, void * jarg5) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  switch_xml_t arg5 = (switch_xml_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (switch_xml_t)jarg5; 
  result = (switch_status_t)switch_ivr_set_user_xml(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_sound_test___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_ivr_sound_test(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_process_import___(void * jarg1, void * jarg2, char * jarg3, char * jarg4) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_channel_t *arg2 = (switch_channel_t *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_channel_t *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  switch_process_import(arg1,arg2,(char const *)arg3,(char const *)arg4);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_uuid_exists___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_bool_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_bool_t)switch_ivr_uuid_exists((char const *)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_uuid_force_exists___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_bool_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_bool_t)switch_ivr_uuid_force_exists((char const *)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_is_parsing___(void * jarg1) {
  int jresult ;
  switch_ivr_dmachine_t *arg1 = (switch_ivr_dmachine_t *) 0 ;
  switch_bool_t result;
  
  arg1 = (switch_ivr_dmachine_t *)jarg1; 
  result = (switch_bool_t)switch_ivr_dmachine_is_parsing(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_last_ping___(void * jarg1) {
  int jresult ;
  switch_ivr_dmachine_t *arg1 = (switch_ivr_dmachine_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_ivr_dmachine_t *)jarg1; 
  result = (switch_status_t)switch_ivr_dmachine_last_ping(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_get_name___(void * jarg1) {
  char * jresult ;
  switch_ivr_dmachine_t *arg1 = (switch_ivr_dmachine_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_ivr_dmachine_t *)jarg1; 
  result = (char *)switch_ivr_dmachine_get_name(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_set_match_callback___(void * jarg1, void * jarg2) {
  switch_ivr_dmachine_t *arg1 = (switch_ivr_dmachine_t *) 0 ;
  switch_ivr_dmachine_callback_t arg2 = (switch_ivr_dmachine_callback_t) 0 ;
  
  arg1 = (switch_ivr_dmachine_t *)jarg1; 
  arg2 = (switch_ivr_dmachine_callback_t)jarg2; 
  switch_ivr_dmachine_set_match_callback(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_set_nonmatch_callback___(void * jarg1, void * jarg2) {
  switch_ivr_dmachine_t *arg1 = (switch_ivr_dmachine_t *) 0 ;
  switch_ivr_dmachine_callback_t arg2 = (switch_ivr_dmachine_callback_t) 0 ;
  
  arg1 = (switch_ivr_dmachine_t *)jarg1; 
  arg2 = (switch_ivr_dmachine_callback_t)jarg2; 
  switch_ivr_dmachine_set_nonmatch_callback(arg1,arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_create___(void * jarg1, char * jarg2, void * jarg3, unsigned long jarg4, unsigned long jarg5, void * jarg6, void * jarg7, void * jarg8) {
  int jresult ;
  switch_ivr_dmachine_t **arg1 = (switch_ivr_dmachine_t **) 0 ;
  char *arg2 = (char *) 0 ;
  switch_memory_pool_t *arg3 = (switch_memory_pool_t *) 0 ;
  uint32_t arg4 ;
  uint32_t arg5 ;
  switch_ivr_dmachine_callback_t arg6 = (switch_ivr_dmachine_callback_t) 0 ;
  switch_ivr_dmachine_callback_t arg7 = (switch_ivr_dmachine_callback_t) 0 ;
  void *arg8 = (void *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_ivr_dmachine_t **)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_memory_pool_t *)jarg3; 
  arg4 = (uint32_t)jarg4; 
  arg5 = (uint32_t)jarg5; 
  arg6 = (switch_ivr_dmachine_callback_t)jarg6; 
  arg7 = (switch_ivr_dmachine_callback_t)jarg7; 
  arg8 = (void *)jarg8; 
  result = (switch_status_t)switch_ivr_dmachine_create(arg1,(char const *)arg2,arg3,arg4,arg5,arg6,arg7,arg8);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_destroy___(void * jarg1) {
  switch_ivr_dmachine_t **arg1 = (switch_ivr_dmachine_t **) 0 ;
  
  arg1 = (switch_ivr_dmachine_t **)jarg1; 
  switch_ivr_dmachine_destroy(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_bind___(void * jarg1, char * jarg2, char * jarg3, unsigned char jarg4, int jarg5, void * jarg6, void * jarg7) {
  int jresult ;
  switch_ivr_dmachine_t *arg1 = (switch_ivr_dmachine_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_byte_t arg4 ;
  int32_t arg5 ;
  switch_ivr_dmachine_callback_t arg6 = (switch_ivr_dmachine_callback_t) 0 ;
  void *arg7 = (void *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_ivr_dmachine_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (switch_byte_t)jarg4; 
  arg5 = (int32_t)jarg5; 
  arg6 = (switch_ivr_dmachine_callback_t)jarg6; 
  arg7 = (void *)jarg7; 
  result = (switch_status_t)switch_ivr_dmachine_bind(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5,arg6,arg7);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_feed___(void * jarg1, char * jarg2, void * jarg3) {
  int jresult ;
  switch_ivr_dmachine_t *arg1 = (switch_ivr_dmachine_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_ivr_dmachine_match_t **arg3 = (switch_ivr_dmachine_match_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_ivr_dmachine_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_ivr_dmachine_match_t **)jarg3; 
  result = (switch_status_t)switch_ivr_dmachine_feed(arg1,(char const *)arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_clear___(void * jarg1) {
  int jresult ;
  switch_ivr_dmachine_t *arg1 = (switch_ivr_dmachine_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_ivr_dmachine_t *)jarg1; 
  result = (switch_status_t)switch_ivr_dmachine_clear(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_ping___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_ivr_dmachine_t *arg1 = (switch_ivr_dmachine_t *) 0 ;
  switch_ivr_dmachine_match_t **arg2 = (switch_ivr_dmachine_match_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_ivr_dmachine_t *)jarg1; 
  arg2 = (switch_ivr_dmachine_match_t **)jarg2; 
  result = (switch_status_t)switch_ivr_dmachine_ping(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_get_match___(void * jarg1) {
  void * jresult ;
  switch_ivr_dmachine_t *arg1 = (switch_ivr_dmachine_t *) 0 ;
  switch_ivr_dmachine_match_t *result = 0 ;
  
  arg1 = (switch_ivr_dmachine_t *)jarg1; 
  result = (switch_ivr_dmachine_match_t *)switch_ivr_dmachine_get_match(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_get_failed_digits___(void * jarg1) {
  char * jresult ;
  switch_ivr_dmachine_t *arg1 = (switch_ivr_dmachine_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_ivr_dmachine_t *)jarg1; 
  result = (char *)switch_ivr_dmachine_get_failed_digits(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_set_digit_timeout_ms___(void * jarg1, unsigned long jarg2) {
  switch_ivr_dmachine_t *arg1 = (switch_ivr_dmachine_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_ivr_dmachine_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  switch_ivr_dmachine_set_digit_timeout_ms(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_set_input_timeout_ms___(void * jarg1, unsigned long jarg2) {
  switch_ivr_dmachine_t *arg1 = (switch_ivr_dmachine_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_ivr_dmachine_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  switch_ivr_dmachine_set_input_timeout_ms(arg1,arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_clear_realm___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_ivr_dmachine_t *arg1 = (switch_ivr_dmachine_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_ivr_dmachine_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_ivr_dmachine_clear_realm(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_dmachine_set_realm___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_ivr_dmachine_t *arg1 = (switch_ivr_dmachine_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_ivr_dmachine_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_ivr_dmachine_set_realm(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_get_file_handle___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_file_handle_t **arg2 = (switch_file_handle_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_file_handle_t **)jarg2; 
  result = (switch_status_t)switch_ivr_get_file_handle(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_release_file_handle___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_file_handle_t **arg2 = (switch_file_handle_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_file_handle_t **)jarg2; 
  result = (switch_status_t)switch_ivr_release_file_handle(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_process_fh___(void * jarg1, char * jarg2, void * jarg3) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_file_handle_t *arg3 = (switch_file_handle_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_file_handle_t *)jarg3; 
  result = (switch_status_t)switch_ivr_process_fh(arg1,(char const *)arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_insert_file___(void * jarg1, char * jarg2, char * jarg3, void * jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_size_t arg4 ;
  switch_size_t *argp4 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  argp4 = (switch_size_t *)jarg4; 
  if (!argp4) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg4 = *argp4; 
  result = (switch_status_t)switch_ivr_insert_file(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_create_message_reply___(void * jarg1, void * jarg2, char * jarg3) {
  int jresult ;
  switch_event_t **arg1 = (switch_event_t **) 0 ;
  switch_event_t *arg2 = (switch_event_t *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_event_t **)jarg1; 
  arg2 = (switch_event_t *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_status_t)switch_ivr_create_message_reply(arg1,arg2,(char const *)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_check_presence_mapping___(char * jarg1, char * jarg2) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (char *)switch_ivr_check_presence_mapping((char const *)arg1,(char const *)arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_kill_uuid___(char * jarg1, int jarg2) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_call_cause_t arg2 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_call_cause_t)jarg2; 
  result = (switch_status_t)switch_ivr_kill_uuid((char const *)arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_blind_transfer_ack___(void * jarg1, int jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_bool_t arg2 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  result = (switch_status_t)switch_ivr_blind_transfer_ack(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_record_session_mask___(void * jarg1, char * jarg2, int jarg3) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_bool_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  result = (switch_status_t)switch_ivr_record_session_mask(arg1,(char const *)arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_record_session_pause___(void * jarg1, char * jarg2, int jarg3) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_bool_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  result = (switch_status_t)switch_ivr_record_session_pause(arg1,(char const *)arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_stop_video_write_overlay_session___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)switch_ivr_stop_video_write_overlay_session(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_video_write_overlay_session___(void * jarg1, char * jarg2, void * jarg3, unsigned char jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_img_position_t arg3 ;
  uint8_t arg4 ;
  switch_img_position_t *argp3 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  argp3 = (switch_img_position_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_img_position_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  arg4 = (uint8_t)jarg4; 
  result = (switch_status_t)switch_ivr_video_write_overlay_session(arg1,(char const *)arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_capture_text___(void * jarg1, int jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_bool_t arg2 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  result = (switch_status_t)switch_ivr_capture_text(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_handle_create___(void * jarg1) {
  int jresult ;
  switch_dial_handle_t **arg1 = (switch_dial_handle_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_dial_handle_t **)jarg1; 
  result = (switch_status_t)switch_dial_handle_create(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_handle_create_json_obj___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_dial_handle_t **arg1 = (switch_dial_handle_t **) 0 ;
  cJSON *arg2 = (cJSON *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_dial_handle_t **)jarg1; 
  arg2 = (cJSON *)jarg2; 
  result = (switch_status_t)switch_dial_handle_create_json_obj(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_handle_create_json___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_dial_handle_t **arg1 = (switch_dial_handle_t **) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_dial_handle_t **)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_dial_handle_create_json(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_handle_destroy___(void * jarg1) {
  switch_dial_handle_t **arg1 = (switch_dial_handle_t **) 0 ;
  
  arg1 = (switch_dial_handle_t **)jarg1; 
  switch_dial_handle_destroy(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_handle_serialize_json_obj___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_dial_handle_t *arg1 = (switch_dial_handle_t *) 0 ;
  cJSON **arg2 = (cJSON **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_dial_handle_t *)jarg1; 
  arg2 = (cJSON **)jarg2; 
  result = (switch_status_t)switch_dial_handle_serialize_json_obj(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_handle_serialize_json___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_dial_handle_t *arg1 = (switch_dial_handle_t *) 0 ;
  char **arg2 = (char **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_dial_handle_t *)jarg1; 
  arg2 = (char **)jarg2; 
  result = (switch_status_t)switch_dial_handle_serialize_json(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_handle_add_leg_list___(void * jarg1, void * jarg2) {
  switch_dial_handle_t *arg1 = (switch_dial_handle_t *) 0 ;
  switch_dial_leg_list_t **arg2 = (switch_dial_leg_list_t **) 0 ;
  
  arg1 = (switch_dial_handle_t *)jarg1; 
  arg2 = (switch_dial_leg_list_t **)jarg2; 
  switch_dial_handle_add_leg_list(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_leg_list_add_leg___(void * jarg1, void * jarg2, char * jarg3) {
  switch_dial_leg_list_t *arg1 = (switch_dial_leg_list_t *) 0 ;
  switch_dial_leg_t **arg2 = (switch_dial_leg_t **) 0 ;
  char *arg3 = (char *) 0 ;
  
  arg1 = (switch_dial_leg_list_t *)jarg1; 
  arg2 = (switch_dial_leg_t **)jarg2; 
  arg3 = (char *)jarg3; 
  switch_dial_leg_list_add_leg(arg1,arg2,(char const *)arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_leg_list_add_leg_printf___(void * jarg1, void * jarg2, char * jarg3) {
  switch_dial_leg_list_t *arg1 = (switch_dial_leg_list_t *) 0 ;
  switch_dial_leg_t **arg2 = (switch_dial_leg_t **) 0 ;
  char *arg3 = (char *) 0 ;
  void *arg4 = 0 ;
  
  arg1 = (switch_dial_leg_list_t *)jarg1; 
  arg2 = (switch_dial_leg_t **)jarg2; 
  arg3 = (char *)jarg3; 
  switch_dial_leg_list_add_leg_printf(arg1,arg2,(char const *)arg3,arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_handle_add_global_var___(void * jarg1, char * jarg2, char * jarg3) {
  switch_dial_handle_t *arg1 = (switch_dial_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  
  arg1 = (switch_dial_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  switch_dial_handle_add_global_var(arg1,(char const *)arg2,(char const *)arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_handle_add_global_var_printf___(void * jarg1, char * jarg2, char * jarg3) {
  switch_dial_handle_t *arg1 = (switch_dial_handle_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  void *arg4 = 0 ;
  
  arg1 = (switch_dial_handle_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  switch_dial_handle_add_global_var_printf(arg1,(char const *)arg2,(char const *)arg3,arg4);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_handle_add_leg_var___(void * jarg1, char * jarg2, char * jarg3) {
  int jresult ;
  switch_dial_leg_t *arg1 = (switch_dial_leg_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_dial_leg_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_status_t)switch_dial_handle_add_leg_var(arg1,(char const *)arg2,(char const *)arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_handle_add_leg_var_printf___(void * jarg1, char * jarg2, char * jarg3) {
  int jresult ;
  switch_dial_leg_t *arg1 = (switch_dial_leg_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  void *arg4 = 0 ;
  switch_status_t result;
  
  arg1 = (switch_dial_leg_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_status_t)switch_dial_handle_add_leg_var_printf(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_handle_get_peers___(void * jarg1, int jarg2, void * jarg3, int jarg4) {
  int jresult ;
  switch_dial_handle_t *arg1 = (switch_dial_handle_t *) 0 ;
  int arg2 ;
  char **arg3 = (char **) 0 ;
  int arg4 ;
  int result;
  
  arg1 = (switch_dial_handle_t *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (char **)jarg3; 
  arg4 = (int)jarg4; 
  result = (int)switch_dial_handle_get_peers(arg1,arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_handle_get_vars___(void * jarg1, int jarg2, void * jarg3, int jarg4) {
  int jresult ;
  switch_dial_handle_t *arg1 = (switch_dial_handle_t *) 0 ;
  int arg2 ;
  switch_event_t **arg3 = (switch_event_t **) 0 ;
  int arg4 ;
  int result;
  
  arg1 = (switch_dial_handle_t *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (switch_event_t **)jarg3; 
  arg4 = (int)jarg4; 
  result = (int)switch_dial_handle_get_vars(arg1,arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_handle_get_global_vars___(void * jarg1) {
  void * jresult ;
  switch_dial_handle_t *arg1 = (switch_dial_handle_t *) 0 ;
  switch_event_t *result = 0 ;
  
  arg1 = (switch_dial_handle_t *)jarg1; 
  result = (switch_event_t *)switch_dial_handle_get_global_vars(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_leg_get_vars___(void * jarg1) {
  void * jresult ;
  switch_dial_leg_t *arg1 = (switch_dial_leg_t *) 0 ;
  switch_event_t *result = 0 ;
  
  arg1 = (switch_dial_leg_t *)jarg1; 
  result = (switch_event_t *)switch_dial_leg_get_vars(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_leg_get_var___(void * jarg1, char * jarg2) {
  char * jresult ;
  switch_dial_leg_t *arg1 = (switch_dial_leg_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_dial_leg_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (char *)switch_dial_leg_get_var(arg1,(char const *)arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_handle_get_total___(void * jarg1) {
  int jresult ;
  switch_dial_handle_t *arg1 = (switch_dial_handle_t *) 0 ;
  int result;
  
  arg1 = (switch_dial_handle_t *)jarg1; 
  result = (int)switch_dial_handle_get_total(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_handle_list_serialize_json_obj___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_dial_handle_list_t *arg1 = (switch_dial_handle_list_t *) 0 ;
  cJSON **arg2 = (cJSON **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_dial_handle_list_t *)jarg1; 
  arg2 = (cJSON **)jarg2; 
  result = (switch_status_t)switch_dial_handle_list_serialize_json_obj(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_handle_list_serialize_json___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_dial_handle_list_t *arg1 = (switch_dial_handle_list_t *) 0 ;
  char **arg2 = (char **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_dial_handle_list_t *)jarg1; 
  arg2 = (char **)jarg2; 
  result = (switch_status_t)switch_dial_handle_list_serialize_json(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_handle_list_create_json_obj___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_dial_handle_list_t **arg1 = (switch_dial_handle_list_t **) 0 ;
  cJSON *arg2 = (cJSON *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_dial_handle_list_t **)jarg1; 
  arg2 = (cJSON *)jarg2; 
  result = (switch_status_t)switch_dial_handle_list_create_json_obj(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_handle_list_create_json___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_dial_handle_list_t **arg1 = (switch_dial_handle_list_t **) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_dial_handle_list_t **)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_dial_handle_list_create_json(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_handle_list_create___(void * jarg1) {
  int jresult ;
  switch_dial_handle_list_t **arg1 = (switch_dial_handle_list_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_dial_handle_list_t **)jarg1; 
  result = (switch_status_t)switch_dial_handle_list_create(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_handle_list_create_handle___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_dial_handle_list_t *arg1 = (switch_dial_handle_list_t *) 0 ;
  switch_dial_handle_t **arg2 = (switch_dial_handle_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_dial_handle_list_t *)jarg1; 
  arg2 = (switch_dial_handle_t **)jarg2; 
  result = (switch_status_t)switch_dial_handle_list_create_handle(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_handle_list_destroy___(void * jarg1) {
  switch_dial_handle_list_t **arg1 = (switch_dial_handle_list_t **) 0 ;
  
  arg1 = (switch_dial_handle_list_t **)jarg1; 
  switch_dial_handle_list_destroy(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_handle_list_add_global_var___(void * jarg1, char * jarg2, char * jarg3) {
  switch_dial_handle_list_t *arg1 = (switch_dial_handle_list_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  
  arg1 = (switch_dial_handle_list_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  switch_dial_handle_list_add_global_var(arg1,(char const *)arg2,(char const *)arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_dial_handle_list_add_global_var_printf___(void * jarg1, char * jarg2, char * jarg3) {
  switch_dial_handle_list_t *arg1 = (switch_dial_handle_list_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  void *arg4 = 0 ;
  
  arg1 = (switch_dial_handle_list_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  switch_dial_handle_list_add_global_var_printf(arg1,(char const *)arg2,(char const *)arg3,arg4);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_enterprise_orig_and_bridge___(void * jarg1, char * jarg2, void * jarg3, void * jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_dial_handle_list_t *arg3 = (switch_dial_handle_list_t *) 0 ;
  switch_call_cause_t *arg4 = (switch_call_cause_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_dial_handle_list_t *)jarg3; 
  arg4 = (switch_call_cause_t *)jarg4; 
  result = (switch_status_t)switch_ivr_enterprise_orig_and_bridge(arg1,(char const *)arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_orig_and_bridge___(void * jarg1, char * jarg2, void * jarg3, void * jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_dial_handle_t *arg3 = (switch_dial_handle_t *) 0 ;
  switch_call_cause_t *arg4 = (switch_call_cause_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_dial_handle_t *)jarg3; 
  arg4 = (switch_call_cause_t *)jarg4; 
  result = (switch_status_t)switch_ivr_orig_and_bridge(arg1,(char const *)arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_send_prompt___(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  result = (switch_status_t)switch_ivr_send_prompt(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_play_and_collect_input___(void * jarg1, char * jarg2, char * jarg3, char * jarg4, int jarg5, int jarg6, char * jarg7, unsigned long jarg8, void * jarg9, void * jarg10, char * jarg11, void * jarg12) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  int arg5 ;
  int arg6 ;
  char *arg7 = (char *) 0 ;
  uint32_t arg8 ;
  cJSON **arg9 = (cJSON **) 0 ;
  char **arg10 = (char **) 0 ;
  char *arg11 = (char *) 0 ;
  switch_input_args_t *arg12 = (switch_input_args_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (int)jarg5; 
  arg6 = (int)jarg6; 
  arg7 = (char *)jarg7; 
  arg8 = (uint32_t)jarg8; 
  arg9 = (cJSON **)jarg9; 
  arg10 = (char **)jarg10; 
  arg11 = (char *)jarg11; 
  arg12 = (switch_input_args_t *)jarg12; 
  result = (switch_status_t)switch_ivr_play_and_collect_input(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5,arg6,(char const *)arg7,arg8,arg9,arg10,arg11,arg12);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_RTP_MAX_BUF_LEN_get___() {
  int jresult ;
  int result;
  
  result = (int)(16384);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_RTCP_MAX_BUF_LEN_get___() {
  int jresult ;
  int result;
  
  result = (int)(16384);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_RTP_MAX_BUF_LEN_WORDS_get___() {
  int jresult ;
  int result;
  
  result = (int)(4094);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_RTP_CRYPTO_KEY_80_get___() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *)("AES_CM_128_HMAC_SHA1_80");
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_RTP_BUNDLE_INTERNAL_PT_get___() {
  int jresult ;
  int result;
  
  result = (int)(21);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_packet_t_header_set___(void * jarg1, void * jarg2) {
  switch_rtp_packet_t *arg1 = (switch_rtp_packet_t *) 0 ;
  switch_rtp_hdr_t *arg2 = (switch_rtp_hdr_t *) 0 ;
  
  arg1 = (switch_rtp_packet_t *)jarg1; 
  arg2 = (switch_rtp_hdr_t *)jarg2; 
  if (arg1) (arg1)->header = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_packet_t_header_get___(void * jarg1) {
  void * jresult ;
  switch_rtp_packet_t *arg1 = (switch_rtp_packet_t *) 0 ;
  switch_rtp_hdr_t *result = 0 ;
  
  arg1 = (switch_rtp_packet_t *)jarg1; 
  result = (switch_rtp_hdr_t *)& ((arg1)->header);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_packet_t_body_set___(void * jarg1, char * jarg2) {
  switch_rtp_packet_t *arg1 = (switch_rtp_packet_t *) 0 ;
  char *arg2 ;
  
  arg1 = (switch_rtp_packet_t *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if(arg2) {
      strncpy((char*)arg1->body, (const char *)arg2, 16384+4+sizeof(char *)-1);
      arg1->body[16384+4+sizeof(char *)-1] = 0;
    } else {
      arg1->body[0] = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_packet_t_body_get___(void * jarg1) {
  char * jresult ;
  switch_rtp_packet_t *arg1 = (switch_rtp_packet_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_rtp_packet_t *)jarg1; 
  result = (char *)(char *) ((arg1)->body);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_packet_t_ext_set___(void * jarg1, void * jarg2) {
  switch_rtp_packet_t *arg1 = (switch_rtp_packet_t *) 0 ;
  switch_rtp_hdr_ext_t *arg2 = (switch_rtp_hdr_ext_t *) 0 ;
  
  arg1 = (switch_rtp_packet_t *)jarg1; 
  arg2 = (switch_rtp_hdr_ext_t *)jarg2; 
  if (arg1) (arg1)->ext = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_packet_t_ext_get___(void * jarg1) {
  void * jresult ;
  switch_rtp_packet_t *arg1 = (switch_rtp_packet_t *) 0 ;
  switch_rtp_hdr_ext_t *result = 0 ;
  
  arg1 = (switch_rtp_packet_t *)jarg1; 
  result = (switch_rtp_hdr_ext_t *) ((arg1)->ext);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_packet_t_ebody_set___(void * jarg1, char * jarg2) {
  switch_rtp_packet_t *arg1 = (switch_rtp_packet_t *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_rtp_packet_t *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->ebody;
    if (arg2) {
      arg1->ebody = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->ebody, (const char *)arg2);
    } else {
      arg1->ebody = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_packet_t_ebody_get___(void * jarg1) {
  char * jresult ;
  switch_rtp_packet_t *arg1 = (switch_rtp_packet_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_rtp_packet_t *)jarg1; 
  result = (char *) ((arg1)->ebody);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_rtp_packet_t___() {
  void * jresult ;
  switch_rtp_packet_t *result = 0 ;
  
  result = (switch_rtp_packet_t *)new switch_rtp_packet_t();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_rtp_packet_t___(void * jarg1) {
  switch_rtp_packet_t *arg1 = (switch_rtp_packet_t *) 0 ;
  
  arg1 = (switch_rtp_packet_t *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_srtp_crypto_suite_t_name_set___(void * jarg1, char * jarg2) {
  switch_srtp_crypto_suite_s *arg1 = (switch_srtp_crypto_suite_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_srtp_crypto_suite_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->name;
    if (arg2) {
      arg1->name = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->name, (const char *)arg2);
    } else {
      arg1->name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_srtp_crypto_suite_t_name_get___(void * jarg1) {
  char * jresult ;
  switch_srtp_crypto_suite_s *arg1 = (switch_srtp_crypto_suite_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_srtp_crypto_suite_s *)jarg1; 
  result = (char *) ((arg1)->name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_srtp_crypto_suite_t_alias_set___(void * jarg1, char * jarg2) {
  switch_srtp_crypto_suite_s *arg1 = (switch_srtp_crypto_suite_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_srtp_crypto_suite_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->alias = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->alias, (const char *)arg2);
    } else {
      arg1->alias = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_srtp_crypto_suite_t_alias_get___(void * jarg1) {
  char * jresult ;
  switch_srtp_crypto_suite_s *arg1 = (switch_srtp_crypto_suite_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_srtp_crypto_suite_s *)jarg1; 
  result = (char *) ((arg1)->alias);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_srtp_crypto_suite_t_type_set___(void * jarg1, int jarg2) {
  switch_srtp_crypto_suite_s *arg1 = (switch_srtp_crypto_suite_s *) 0 ;
  switch_rtp_crypto_key_type_t arg2 ;
  
  arg1 = (switch_srtp_crypto_suite_s *)jarg1; 
  arg2 = (switch_rtp_crypto_key_type_t)jarg2; 
  if (arg1) (arg1)->type = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_srtp_crypto_suite_t_type_get___(void * jarg1) {
  int jresult ;
  switch_srtp_crypto_suite_s *arg1 = (switch_srtp_crypto_suite_s *) 0 ;
  switch_rtp_crypto_key_type_t result;
  
  arg1 = (switch_srtp_crypto_suite_s *)jarg1; 
  result = (switch_rtp_crypto_key_type_t) ((arg1)->type);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_srtp_crypto_suite_t_keysalt_len_set___(void * jarg1, int jarg2) {
  switch_srtp_crypto_suite_s *arg1 = (switch_srtp_crypto_suite_s *) 0 ;
  int arg2 ;
  
  arg1 = (switch_srtp_crypto_suite_s *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->keysalt_len = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_srtp_crypto_suite_t_keysalt_len_get___(void * jarg1) {
  int jresult ;
  switch_srtp_crypto_suite_s *arg1 = (switch_srtp_crypto_suite_s *) 0 ;
  int result;
  
  arg1 = (switch_srtp_crypto_suite_s *)jarg1; 
  result = (int) ((arg1)->keysalt_len);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_srtp_crypto_suite_t_salt_len_set___(void * jarg1, int jarg2) {
  switch_srtp_crypto_suite_s *arg1 = (switch_srtp_crypto_suite_s *) 0 ;
  int arg2 ;
  
  arg1 = (switch_srtp_crypto_suite_s *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->salt_len = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_srtp_crypto_suite_t_salt_len_get___(void * jarg1) {
  int jresult ;
  switch_srtp_crypto_suite_s *arg1 = (switch_srtp_crypto_suite_s *) 0 ;
  int result;
  
  arg1 = (switch_srtp_crypto_suite_s *)jarg1; 
  result = (int) ((arg1)->salt_len);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_srtp_crypto_suite_t___() {
  void * jresult ;
  switch_srtp_crypto_suite_s *result = 0 ;
  
  result = (switch_srtp_crypto_suite_s *)new switch_srtp_crypto_suite_s();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_srtp_crypto_suite_t___(void * jarg1) {
  switch_srtp_crypto_suite_s *arg1 = (switch_srtp_crypto_suite_s *) 0 ;
  
  arg1 = (switch_srtp_crypto_suite_s *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_crypto_key_index_set___(void * jarg1, unsigned long jarg2) {
  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_rtp_crypto_key *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->index = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_crypto_key_index_get___(void * jarg1) {
  unsigned long jresult ;
  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
  uint32_t result;
  
  arg1 = (switch_rtp_crypto_key *)jarg1; 
  result = (uint32_t) ((arg1)->index);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_crypto_key_type_set___(void * jarg1, int jarg2) {
  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
  switch_rtp_crypto_key_type_t arg2 ;
  
  arg1 = (switch_rtp_crypto_key *)jarg1; 
  arg2 = (switch_rtp_crypto_key_type_t)jarg2; 
  if (arg1) (arg1)->type = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_crypto_key_type_get___(void * jarg1) {
  int jresult ;
  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
  switch_rtp_crypto_key_type_t result;
  
  arg1 = (switch_rtp_crypto_key *)jarg1; 
  result = (switch_rtp_crypto_key_type_t) ((arg1)->type);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_crypto_key_keysalt_set___(void * jarg1, void * jarg2) {
  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
  unsigned char *arg2 ;
  
  arg1 = (switch_rtp_crypto_key *)jarg1; 
  arg2 = (unsigned char *)jarg2; 
  {
    size_t ii;
    unsigned char *b = (unsigned char *) arg1->keysalt;
    for (ii = 0; ii < (size_t)64; ii++) b[ii] = *((unsigned char *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_crypto_key_keysalt_get___(void * jarg1) {
  void * jresult ;
  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
  unsigned char *result = 0 ;
  
  arg1 = (switch_rtp_crypto_key *)jarg1; 
  result = (unsigned char *)(unsigned char *) ((arg1)->keysalt);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_crypto_key_keylen_set___(void * jarg1, void * jarg2) {
  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_rtp_crypto_key *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->keylen = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_crypto_key_keylen_get___(void * jarg1) {
  void * jresult ;
  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_rtp_crypto_key *)jarg1; 
  result =  ((arg1)->keylen);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_crypto_key_next_set___(void * jarg1, void * jarg2) {
  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
  switch_rtp_crypto_key *arg2 = (switch_rtp_crypto_key *) 0 ;
  
  arg1 = (switch_rtp_crypto_key *)jarg1; 
  arg2 = (switch_rtp_crypto_key *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_crypto_key_next_get___(void * jarg1) {
  void * jresult ;
  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
  switch_rtp_crypto_key *result = 0 ;
  
  arg1 = (switch_rtp_crypto_key *)jarg1; 
  result = (switch_rtp_crypto_key *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_rtp_crypto_key___() {
  void * jresult ;
  switch_rtp_crypto_key *result = 0 ;
  
  result = (switch_rtp_crypto_key *)new switch_rtp_crypto_key();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_rtp_crypto_key___(void * jarg1) {
  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
  
  arg1 = (switch_rtp_crypto_key *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_icand_t_foundation_set___(void * jarg1, char * jarg2) {
  icand_s *arg1 = (icand_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (icand_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->foundation;
    if (arg2) {
      arg1->foundation = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->foundation, (const char *)arg2);
    } else {
      arg1->foundation = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_icand_t_foundation_get___(void * jarg1) {
  char * jresult ;
  icand_s *arg1 = (icand_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (icand_s *)jarg1; 
  result = (char *) ((arg1)->foundation);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_icand_t_component_id_set___(void * jarg1, int jarg2) {
  icand_s *arg1 = (icand_s *) 0 ;
  int arg2 ;
  
  arg1 = (icand_s *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->component_id = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_icand_t_component_id_get___(void * jarg1) {
  int jresult ;
  icand_s *arg1 = (icand_s *) 0 ;
  int result;
  
  arg1 = (icand_s *)jarg1; 
  result = (int) ((arg1)->component_id);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_icand_t_transport_set___(void * jarg1, char * jarg2) {
  icand_s *arg1 = (icand_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (icand_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->transport;
    if (arg2) {
      arg1->transport = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->transport, (const char *)arg2);
    } else {
      arg1->transport = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_icand_t_transport_get___(void * jarg1) {
  char * jresult ;
  icand_s *arg1 = (icand_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (icand_s *)jarg1; 
  result = (char *) ((arg1)->transport);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_icand_t_priority_set___(void * jarg1, unsigned long jarg2) {
  icand_s *arg1 = (icand_s *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (icand_s *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->priority = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_icand_t_priority_get___(void * jarg1) {
  unsigned long jresult ;
  icand_s *arg1 = (icand_s *) 0 ;
  uint32_t result;
  
  arg1 = (icand_s *)jarg1; 
  result = (uint32_t) ((arg1)->priority);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_icand_t_con_addr_set___(void * jarg1, char * jarg2) {
  icand_s *arg1 = (icand_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (icand_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->con_addr;
    if (arg2) {
      arg1->con_addr = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->con_addr, (const char *)arg2);
    } else {
      arg1->con_addr = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_icand_t_con_addr_get___(void * jarg1) {
  char * jresult ;
  icand_s *arg1 = (icand_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (icand_s *)jarg1; 
  result = (char *) ((arg1)->con_addr);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_icand_t_con_port_set___(void * jarg1, unsigned short jarg2) {
  icand_s *arg1 = (icand_s *) 0 ;
  switch_port_t arg2 ;
  
  arg1 = (icand_s *)jarg1; 
  arg2 = (switch_port_t)jarg2; 
  if (arg1) (arg1)->con_port = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_icand_t_con_port_get___(void * jarg1) {
  unsigned short jresult ;
  icand_s *arg1 = (icand_s *) 0 ;
  switch_port_t result;
  
  arg1 = (icand_s *)jarg1; 
  result = (switch_port_t) ((arg1)->con_port);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_icand_t_cand_type_set___(void * jarg1, char * jarg2) {
  icand_s *arg1 = (icand_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (icand_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->cand_type;
    if (arg2) {
      arg1->cand_type = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->cand_type, (const char *)arg2);
    } else {
      arg1->cand_type = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_icand_t_cand_type_get___(void * jarg1) {
  char * jresult ;
  icand_s *arg1 = (icand_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (icand_s *)jarg1; 
  result = (char *) ((arg1)->cand_type);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_icand_t_raddr_set___(void * jarg1, char * jarg2) {
  icand_s *arg1 = (icand_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (icand_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->raddr;
    if (arg2) {
      arg1->raddr = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->raddr, (const char *)arg2);
    } else {
      arg1->raddr = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_icand_t_raddr_get___(void * jarg1) {
  char * jresult ;
  icand_s *arg1 = (icand_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (icand_s *)jarg1; 
  result = (char *) ((arg1)->raddr);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_icand_t_rport_set___(void * jarg1, unsigned short jarg2) {
  icand_s *arg1 = (icand_s *) 0 ;
  switch_port_t arg2 ;
  
  arg1 = (icand_s *)jarg1; 
  arg2 = (switch_port_t)jarg2; 
  if (arg1) (arg1)->rport = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_icand_t_rport_get___(void * jarg1) {
  unsigned short jresult ;
  icand_s *arg1 = (icand_s *) 0 ;
  switch_port_t result;
  
  arg1 = (icand_s *)jarg1; 
  result = (switch_port_t) ((arg1)->rport);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_icand_t_generation_set___(void * jarg1, char * jarg2) {
  icand_s *arg1 = (icand_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (icand_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->generation;
    if (arg2) {
      arg1->generation = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->generation, (const char *)arg2);
    } else {
      arg1->generation = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_icand_t_generation_get___(void * jarg1) {
  char * jresult ;
  icand_s *arg1 = (icand_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (icand_s *)jarg1; 
  result = (char *) ((arg1)->generation);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_icand_t_ready_set___(void * jarg1, unsigned char jarg2) {
  icand_s *arg1 = (icand_s *) 0 ;
  uint8_t arg2 ;
  
  arg1 = (icand_s *)jarg1; 
  arg2 = (uint8_t)jarg2; 
  if (arg1) (arg1)->ready = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_icand_t_ready_get___(void * jarg1) {
  unsigned char jresult ;
  icand_s *arg1 = (icand_s *) 0 ;
  uint8_t result;
  
  arg1 = (icand_s *)jarg1; 
  result = (uint8_t) ((arg1)->ready);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_icand_t___() {
  void * jresult ;
  icand_s *result = 0 ;
  
  result = (icand_s *)new icand_s();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_icand_t___(void * jarg1) {
  icand_s *arg1 = (icand_s *) 0 ;
  
  arg1 = (icand_s *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_MAX_CAND_get___() {
  int jresult ;
  int result;
  
  result = (int)(50);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_ice_t_cands_set___(void * jarg1, void * jarg2) {
  ice_s *arg1 = (ice_s *) 0 ;
  icand_t (*arg2)[2] ;
  
  arg1 = (ice_s *)jarg1; 
  arg2 = (icand_t (*)[2])jarg2; 
  {
    icand_t (*inp)[2] = (icand_t (*)[2])(arg2);
    icand_t (*dest)[2] = (icand_t (*)[2])(arg1->cands);
    size_t ii = 0;
    for (; ii < 50; ++ii) {
      icand_t *ip = inp[ii];
      icand_t *dp = dest[ii];
      size_t jj = 0;
      for (; jj < 2; ++jj) dp[jj] = ip[jj];
    }
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_ice_t_cands_get___(void * jarg1) {
  void * jresult ;
  ice_s *arg1 = (ice_s *) 0 ;
  icand_t (*result)[2] = 0 ;
  
  arg1 = (ice_s *)jarg1; 
  result = (icand_t (*)[2])(icand_t (*)[2]) ((arg1)->cands);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_ice_t_cand_idx_set___(void * jarg1, void * jarg2) {
  ice_s *arg1 = (ice_s *) 0 ;
  int *arg2 ;
  
  arg1 = (ice_s *)jarg1; 
  arg2 = (int *)jarg2; 
  {
    size_t ii;
    int *b = (int *) arg1->cand_idx;
    for (ii = 0; ii < (size_t)2; ii++) b[ii] = *((int *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_ice_t_cand_idx_get___(void * jarg1) {
  void * jresult ;
  ice_s *arg1 = (ice_s *) 0 ;
  int *result = 0 ;
  
  arg1 = (ice_s *)jarg1; 
  result = (int *)(int *) ((arg1)->cand_idx);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_ice_t_chosen_set___(void * jarg1, void * jarg2) {
  ice_s *arg1 = (ice_s *) 0 ;
  int *arg2 ;
  
  arg1 = (ice_s *)jarg1; 
  arg2 = (int *)jarg2; 
  {
    size_t ii;
    int *b = (int *) arg1->chosen;
    for (ii = 0; ii < (size_t)2; ii++) b[ii] = *((int *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_ice_t_chosen_get___(void * jarg1) {
  void * jresult ;
  ice_s *arg1 = (ice_s *) 0 ;
  int *result = 0 ;
  
  arg1 = (ice_s *)jarg1; 
  result = (int *)(int *) ((arg1)->chosen);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_ice_t_is_chosen_set___(void * jarg1, void * jarg2) {
  ice_s *arg1 = (ice_s *) 0 ;
  int *arg2 ;
  
  arg1 = (ice_s *)jarg1; 
  arg2 = (int *)jarg2; 
  {
    size_t ii;
    int *b = (int *) arg1->is_chosen;
    for (ii = 0; ii < (size_t)2; ii++) b[ii] = *((int *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_ice_t_is_chosen_get___(void * jarg1) {
  void * jresult ;
  ice_s *arg1 = (ice_s *) 0 ;
  int *result = 0 ;
  
  arg1 = (ice_s *)jarg1; 
  result = (int *)(int *) ((arg1)->is_chosen);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_ice_t_ufrag_set___(void * jarg1, char * jarg2) {
  ice_s *arg1 = (ice_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (ice_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->ufrag;
    if (arg2) {
      arg1->ufrag = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->ufrag, (const char *)arg2);
    } else {
      arg1->ufrag = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_ice_t_ufrag_get___(void * jarg1) {
  char * jresult ;
  ice_s *arg1 = (ice_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (ice_s *)jarg1; 
  result = (char *) ((arg1)->ufrag);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_ice_t_pwd_set___(void * jarg1, char * jarg2) {
  ice_s *arg1 = (ice_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (ice_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->pwd;
    if (arg2) {
      arg1->pwd = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->pwd, (const char *)arg2);
    } else {
      arg1->pwd = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_ice_t_pwd_get___(void * jarg1) {
  char * jresult ;
  ice_s *arg1 = (ice_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (ice_s *)jarg1; 
  result = (char *) ((arg1)->pwd);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_ice_t_options_set___(void * jarg1, char * jarg2) {
  ice_s *arg1 = (ice_s *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (ice_s *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->options;
    if (arg2) {
      arg1->options = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->options, (const char *)arg2);
    } else {
      arg1->options = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_ice_t_options_get___(void * jarg1) {
  char * jresult ;
  ice_s *arg1 = (ice_s *) 0 ;
  char *result = 0 ;
  
  arg1 = (ice_s *)jarg1; 
  result = (char *) ((arg1)->options);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_ice_t___() {
  void * jresult ;
  ice_s *result = 0 ;
  
  result = (ice_s *)new ice_s();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_ice_t___(void * jarg1) {
  ice_s *arg1 = (ice_s *) 0 ;
  
  arg1 = (ice_s *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_add_crypto_key___(void * jarg1, int jarg2, unsigned long jarg3, void * jarg4) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_rtp_crypto_direction_t arg2 ;
  uint32_t arg3 ;
  switch_secure_settings_t *arg4 = (switch_secure_settings_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (switch_rtp_crypto_direction_t)jarg2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = (switch_secure_settings_t *)jarg4; 
  result = (switch_status_t)switch_rtp_add_crypto_key(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_get_random___(void * jarg1, unsigned long jarg2) {
  void *arg1 = (void *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (void *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  switch_rtp_get_random(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_init___(void * jarg1) {
  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
  
  arg1 = (switch_memory_pool_t *)jarg1; 
  switch_rtp_init(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_shutdown___() {
  switch_rtp_shutdown();
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_set_start_port___(unsigned short jarg1) {
  unsigned short jresult ;
  switch_port_t arg1 ;
  switch_port_t result;
  
  arg1 = (switch_port_t)jarg1; 
  result = (switch_port_t)switch_rtp_set_start_port(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_set_ssrc___(void * jarg1, unsigned long jarg2) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  uint32_t arg2 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  result = (switch_status_t)switch_rtp_set_ssrc(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_set_remote_ssrc___(void * jarg1, unsigned long jarg2) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  uint32_t arg2 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  result = (switch_status_t)switch_rtp_set_remote_ssrc(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_set_end_port___(unsigned short jarg1) {
  unsigned short jresult ;
  switch_port_t arg1 ;
  switch_port_t result;
  
  arg1 = (switch_port_t)jarg1; 
  result = (switch_port_t)switch_rtp_set_end_port(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_request_port___(char * jarg1) {
  unsigned short jresult ;
  char *arg1 = (char *) 0 ;
  switch_port_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_port_t)switch_rtp_request_port((char const *)arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_release_port___(char * jarg1, unsigned short jarg2) {
  char *arg1 = (char *) 0 ;
  switch_port_t arg2 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_port_t)jarg2; 
  switch_rtp_release_port((char const *)arg1,arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_set_interval___(void * jarg1, unsigned long jarg2, unsigned long jarg3) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  uint32_t arg2 ;
  uint32_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (uint32_t)jarg3; 
  result = (switch_status_t)switch_rtp_set_interval(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_change_interval___(void * jarg1, unsigned long jarg2, unsigned long jarg3) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  uint32_t arg2 ;
  uint32_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (uint32_t)jarg3; 
  result = (switch_status_t)switch_rtp_change_interval(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_create___(void * jarg1, unsigned char jarg2, unsigned long jarg3, unsigned long jarg4, void * jarg5, char * jarg6, void * jarg7, void * jarg8) {
  int jresult ;
  switch_rtp_t **arg1 = (switch_rtp_t **) 0 ;
  switch_payload_t arg2 ;
  uint32_t arg3 ;
  uint32_t arg4 ;
  switch_rtp_flag_t *arg5 ;
  char *arg6 = (char *) 0 ;
  char **arg7 = (char **) 0 ;
  switch_memory_pool_t *arg8 = (switch_memory_pool_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t **)jarg1; 
  arg2 = (switch_payload_t)jarg2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = (uint32_t)jarg4; 
  arg5 = (switch_rtp_flag_t *)jarg5; 
  arg6 = (char *)jarg6; 
  arg7 = (char **)jarg7; 
  arg8 = (switch_memory_pool_t *)jarg8; 
  result = (switch_status_t)switch_rtp_create(arg1,arg2,arg3,arg4,arg5,arg6,(char const **)arg7,arg8);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_new___(char * jarg1, unsigned short jarg2, char * jarg3, unsigned short jarg4, unsigned char jarg5, unsigned long jarg6, unsigned long jarg7, void * jarg8, char * jarg9, void * jarg10, void * jarg11, unsigned short jarg12, unsigned short jarg13) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_port_t arg2 ;
  char *arg3 = (char *) 0 ;
  switch_port_t arg4 ;
  switch_payload_t arg5 ;
  uint32_t arg6 ;
  uint32_t arg7 ;
  switch_rtp_flag_t *arg8 ;
  char *arg9 = (char *) 0 ;
  char **arg10 = (char **) 0 ;
  switch_memory_pool_t *arg11 = (switch_memory_pool_t *) 0 ;
  switch_port_t arg12 ;
  switch_port_t arg13 ;
  switch_rtp_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_port_t)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (switch_port_t)jarg4; 
  arg5 = (switch_payload_t)jarg5; 
  arg6 = (uint32_t)jarg6; 
  arg7 = (uint32_t)jarg7; 
  arg8 = (switch_rtp_flag_t *)jarg8; 
  arg9 = (char *)jarg9; 
  arg10 = (char **)jarg10; 
  arg11 = (switch_memory_pool_t *)jarg11; 
  arg12 = (switch_port_t)jarg12; 
  arg13 = (switch_port_t)jarg13; 
  result = (switch_rtp_t *)switch_rtp_new((char const *)arg1,arg2,(char const *)arg3,arg4,arg5,arg6,arg7,arg8,arg9,(char const **)arg10,arg11,arg12,arg13);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_set_remote_address___(void * jarg1, char * jarg2, unsigned short jarg3, unsigned short jarg4, int jarg5, void * jarg6) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_port_t arg3 ;
  switch_port_t arg4 ;
  switch_bool_t arg5 ;
  char **arg6 = (char **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_port_t)jarg3; 
  arg4 = (switch_port_t)jarg4; 
  arg5 = (switch_bool_t)jarg5; 
  arg6 = (char **)jarg6; 
  result = (switch_status_t)switch_rtp_set_remote_address(arg1,(char const *)arg2,arg3,arg4,arg5,(char const **)arg6);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_reset_jb___(void * jarg1) {
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  switch_rtp_reset_jb(arg1);
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_get_remote_host___(void * jarg1) {
  char * jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  result = (char *)switch_rtp_get_remote_host(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_get_remote_port___(void * jarg1) {
  unsigned short jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_port_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  result = (switch_port_t)switch_rtp_get_remote_port(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_reset_media_timer___(void * jarg1) {
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  switch_rtp_reset_media_timer(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_set_max_missed_packets___(void * jarg1, unsigned long jarg2) {
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  switch_rtp_set_max_missed_packets(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_set_media_timeout___(void * jarg1, unsigned long jarg2) {
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  switch_rtp_set_media_timeout(arg1,arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_udptl_mode___(void * jarg1) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  result = (switch_status_t)switch_rtp_udptl_mode(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_reset___(void * jarg1) {
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  switch_rtp_reset(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_set_local_address___(void * jarg1, char * jarg2, unsigned short jarg3, void * jarg4) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_port_t arg3 ;
  char **arg4 = (char **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_port_t)jarg3; 
  arg4 = (char **)jarg4; 
  result = (switch_status_t)switch_rtp_set_local_address(arg1,(char const *)arg2,arg3,(char const **)arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_kill_socket___(void * jarg1) {
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  switch_rtp_kill_socket(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_break___(void * jarg1) {
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  switch_rtp_break(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_flush___(void * jarg1) {
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  switch_rtp_flush(arg1);
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_ready___(void * jarg1) {
  unsigned char jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  uint8_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  result = (uint8_t)switch_rtp_ready(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_destroy___(void * jarg1) {
  switch_rtp_t **arg1 = (switch_rtp_t **) 0 ;
  
  arg1 = (switch_rtp_t **)jarg1; 
  switch_rtp_destroy(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_sync_stats___(void * jarg1) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  result = (switch_status_t)switch_rtp_sync_stats(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_activate_ice___(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5, int jarg6, int jarg7, void * jarg8) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  ice_proto_t arg6 ;
  switch_core_media_ice_type_t arg7 ;
  ice_t *arg8 = (ice_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (ice_proto_t)jarg6; 
  arg7 = (switch_core_media_ice_type_t)jarg7; 
  arg8 = (ice_t *)jarg8; 
  result = (switch_status_t)switch_rtp_activate_ice(arg1,arg2,arg3,(char const *)arg4,(char const *)arg5,arg6,arg7,arg8);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_activate_rtcp___(void * jarg1, int jarg2, unsigned short jarg3, int jarg4) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  int arg2 ;
  switch_port_t arg3 ;
  switch_bool_t arg4 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (switch_port_t)jarg3; 
  arg4 = (switch_bool_t)jarg4; 
  result = (switch_status_t)switch_rtp_activate_rtcp(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_get_media_timer___(void * jarg1) {
  void * jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_timer_t *result = 0 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  result = (switch_timer_t *)switch_rtp_get_media_timer(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_set_video_buffer_size___(void * jarg1, unsigned long jarg2, unsigned long jarg3) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  uint32_t arg2 ;
  uint32_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (uint32_t)jarg3; 
  result = (switch_status_t)switch_rtp_set_video_buffer_size(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_get_video_buffer_size___(void * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  uint32_t *arg2 = (uint32_t *) 0 ;
  uint32_t *arg3 = (uint32_t *) 0 ;
  uint32_t *arg4 = (uint32_t *) 0 ;
  uint32_t *arg5 = (uint32_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (uint32_t *)jarg2; 
  arg3 = (uint32_t *)jarg3; 
  arg4 = (uint32_t *)jarg4; 
  arg5 = (uint32_t *)jarg5; 
  result = (switch_status_t)switch_rtp_get_video_buffer_size(arg1,arg2,arg3,arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_activate_jitter_buffer___(void * jarg1, unsigned long jarg2, unsigned long jarg3, unsigned long jarg4, unsigned long jarg5) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  uint32_t arg2 ;
  uint32_t arg3 ;
  uint32_t arg4 ;
  uint32_t arg5 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = (uint32_t)jarg4; 
  arg5 = (uint32_t)jarg5; 
  result = (switch_status_t)switch_rtp_activate_jitter_buffer(arg1,arg2,arg3,arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_debug_jitter_buffer___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_rtp_debug_jitter_buffer(arg1,(char const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_deactivate_jitter_buffer___(void * jarg1) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  result = (switch_status_t)switch_rtp_deactivate_jitter_buffer(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_pause_jitter_buffer___(void * jarg1, int jarg2) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_bool_t arg2 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  result = (switch_status_t)switch_rtp_pause_jitter_buffer(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_get_jitter_buffer___(void * jarg1) {
  void * jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_jb_t *result = 0 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  result = (switch_jb_t *)switch_rtp_get_jitter_buffer(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_set_flag___(void * jarg1, int jarg2) {
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_rtp_flag_t arg2 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (switch_rtp_flag_t)jarg2; 
  switch_rtp_set_flag(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_set_flags___(void * jarg1, void * jarg2) {
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_rtp_flag_t *arg2 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (switch_rtp_flag_t *)jarg2; 
  switch_rtp_set_flags(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_clear_flags___(void * jarg1, void * jarg2) {
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_rtp_flag_t *arg2 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (switch_rtp_flag_t *)jarg2; 
  switch_rtp_clear_flags(arg1,arg2);
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_test_flag___(void * jarg1, int jarg2) {
  unsigned long jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_rtp_flag_t arg2 ;
  uint32_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (switch_rtp_flag_t)jarg2; 
  result = (uint32_t)switch_rtp_test_flag(arg1,arg2);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_clear_flag___(void * jarg1, int jarg2) {
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_rtp_flag_t arg2 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (switch_rtp_flag_t)jarg2; 
  switch_rtp_clear_flag(arg1,arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_get_rtp_socket___(void * jarg1) {
  void * jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_socket_t *result = 0 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  result = (switch_socket_t *)switch_rtp_get_rtp_socket(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_ping___(void * jarg1) {
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  switch_rtp_ping(arg1);
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_get_default_samples_per_interval___(void * jarg1) {
  unsigned long jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  result = (uint32_t)switch_rtp_get_default_samples_per_interval(arg1);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_set_default_payload___(void * jarg1, unsigned char jarg2) {
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_payload_t arg2 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (switch_payload_t)jarg2; 
  switch_rtp_set_default_payload(arg1,arg2);
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_get_default_payload___(void * jarg1) {
  unsigned long jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  result = (uint32_t)switch_rtp_get_default_payload(arg1);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_set_invalid_handler___(void * jarg1, void * jarg2) {
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_rtp_invalid_handler_t arg2 = (switch_rtp_invalid_handler_t) 0 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (switch_rtp_invalid_handler_t)jarg2; 
  switch_rtp_set_invalid_handler(arg1,arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_read___(void * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5, unsigned long jarg6) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  void *arg2 = (void *) 0 ;
  uint32_t *arg3 = (uint32_t *) 0 ;
  switch_payload_t *arg4 = (switch_payload_t *) 0 ;
  switch_frame_flag_t *arg5 = (switch_frame_flag_t *) 0 ;
  switch_io_flag_t arg6 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (void *)jarg2; 
  arg3 = (uint32_t *)jarg3; 
  arg4 = (switch_payload_t *)jarg4; 
  arg5 = (switch_frame_flag_t *)jarg5; 
  arg6 = (switch_io_flag_t)jarg6; 
  result = (switch_status_t)switch_rtp_read(arg1,arg2,arg3,arg4,arg5,arg6);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_queue_rfc2833___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_dtmf_t *arg2 = (switch_dtmf_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (switch_dtmf_t *)jarg2; 
  result = (switch_status_t)switch_rtp_queue_rfc2833(arg1,(switch_dtmf_t const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_queue_rfc2833_in___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_dtmf_t *arg2 = (switch_dtmf_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (switch_dtmf_t *)jarg2; 
  result = (switch_status_t)switch_rtp_queue_rfc2833_in(arg1,(switch_dtmf_t const *)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_has_dtmf___(void * jarg1) {
  void * jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  result = switch_rtp_has_dtmf(arg1);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_dequeue_dtmf___(void * jarg1, void * jarg2) {
  void * jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_dtmf_t *arg2 = (switch_dtmf_t *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (switch_dtmf_t *)jarg2; 
  result = switch_rtp_dequeue_dtmf(arg1,arg2);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_zerocopy_read___(void * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5, unsigned long jarg6) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  void **arg2 = (void **) 0 ;
  uint32_t *arg3 = (uint32_t *) 0 ;
  switch_payload_t *arg4 = (switch_payload_t *) 0 ;
  switch_frame_flag_t *arg5 = (switch_frame_flag_t *) 0 ;
  switch_io_flag_t arg6 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (void **)jarg2; 
  arg3 = (uint32_t *)jarg3; 
  arg4 = (switch_payload_t *)jarg4; 
  arg5 = (switch_frame_flag_t *)jarg5; 
  arg6 = (switch_io_flag_t)jarg6; 
  result = (switch_status_t)switch_rtp_zerocopy_read(arg1,arg2,arg3,arg4,arg5,arg6);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_zerocopy_read_frame___(void * jarg1, void * jarg2, unsigned long jarg3) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
  switch_io_flag_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (switch_frame_t *)jarg2; 
  arg3 = (switch_io_flag_t)jarg3; 
  result = (switch_status_t)switch_rtp_zerocopy_read_frame(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtcp_zerocopy_read_frame___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_rtcp_frame_t *arg2 = (switch_rtcp_frame_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (switch_rtcp_frame_t *)jarg2; 
  result = (switch_status_t)switch_rtcp_zerocopy_read_frame(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_rtp_flush_read_buffer___(void * jarg1, int jarg2) {
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_rtp_flush_t arg2 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (switch_rtp_flush_t)jarg2; 
  rtp_flush_read_buffer(arg1,arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_enable_vad___(void * jarg1, void * jarg2, void * jarg3, unsigned long jarg4) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
  switch_codec_t *arg3 = (switch_codec_t *) 0 ;
  switch_vad_flag_t arg4 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (switch_core_session_t *)jarg2; 
  arg3 = (switch_codec_t *)jarg3; 
  arg4 = (switch_vad_flag_t)jarg4; 
  result = (switch_status_t)switch_rtp_enable_vad(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_disable_vad___(void * jarg1) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  result = (switch_status_t)switch_rtp_disable_vad(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_write_frame___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
  int result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (switch_frame_t *)jarg2; 
  result = (int)switch_rtp_write_frame(arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_write_manual___(void * jarg1, void * jarg2, unsigned long jarg3, unsigned char jarg4, unsigned char jarg5, unsigned long jarg6, void * jarg7) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  void *arg2 = (void *) 0 ;
  uint32_t arg3 ;
  uint8_t arg4 ;
  switch_payload_t arg5 ;
  uint32_t arg6 ;
  switch_frame_flag_t *arg7 = (switch_frame_flag_t *) 0 ;
  int result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (void *)jarg2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = (uint8_t)jarg4; 
  arg5 = (switch_payload_t)jarg5; 
  arg6 = (uint32_t)jarg6; 
  arg7 = (switch_frame_flag_t *)jarg7; 
  result = (int)switch_rtp_write_manual(arg1,arg2,arg3,arg4,arg5,arg6,arg7);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_write_raw___(void * jarg1, void * jarg2, void * jarg3, int jarg4) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  void *arg2 = (void *) 0 ;
  switch_size_t *arg3 = (switch_size_t *) 0 ;
  switch_bool_t arg4 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (void *)jarg2; 
  arg3 = (switch_size_t *)jarg3; 
  arg4 = (switch_bool_t)jarg4; 
  result = (switch_status_t)switch_rtp_write_raw(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_get_ssrc___(void * jarg1) {
  unsigned long jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  result = (uint32_t)switch_rtp_get_ssrc(arg1);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_set_private___(void * jarg1, void * jarg2) {
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (void *)jarg2; 
  switch_rtp_set_private(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_set_telephony_event___(void * jarg1, unsigned char jarg2) {
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_payload_t arg2 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (switch_payload_t)jarg2; 
  switch_rtp_set_telephony_event(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_set_telephony_recv_event___(void * jarg1, unsigned char jarg2) {
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_payload_t arg2 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (switch_payload_t)jarg2; 
  switch_rtp_set_telephony_recv_event(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_set_cng_pt___(void * jarg1, unsigned char jarg2) {
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_payload_t arg2 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (switch_payload_t)jarg2; 
  switch_rtp_set_cng_pt(arg1,arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_get_private___(void * jarg1) {
  void * jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  result = (void *)switch_rtp_get_private(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_set_payload_map___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  payload_map_t **arg2 = (payload_map_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (payload_map_t **)jarg2; 
  result = (switch_status_t)switch_rtp_set_payload_map(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_intentional_bugs___(void * jarg1, int jarg2) {
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_rtp_bug_flag_t arg2 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (switch_rtp_bug_flag_t)jarg2; 
  switch_rtp_intentional_bugs(arg1,arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_get_stats___(void * jarg1, void * jarg2) {
  void * jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
  switch_rtp_stats_t *result = 0 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (switch_memory_pool_t *)jarg2; 
  result = (switch_rtp_stats_t *)switch_rtp_get_stats(arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_check_auto_adj___(void * jarg1) {
  unsigned char jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_byte_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  result = (switch_byte_t)switch_rtp_check_auto_adj(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_set_interdigit_delay___(void * jarg1, unsigned long jarg2) {
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  switch_rtp_set_interdigit_delay(arg1,arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_add_dtls___(void * jarg1, void * jarg2, void * jarg3, int jarg4, unsigned char jarg5) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  dtls_fingerprint_t *arg2 = (dtls_fingerprint_t *) 0 ;
  dtls_fingerprint_t *arg3 = (dtls_fingerprint_t *) 0 ;
  dtls_type_t arg4 ;
  uint8_t arg5 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (dtls_fingerprint_t *)jarg2; 
  arg3 = (dtls_fingerprint_t *)jarg3; 
  arg4 = (dtls_type_t)jarg4; 
  arg5 = (uint8_t)jarg5; 
  result = (switch_status_t)switch_rtp_add_dtls(arg1,arg2,arg3,arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_del_dtls___(void * jarg1, int jarg2) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  dtls_type_t arg2 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (dtls_type_t)jarg2; 
  result = (switch_status_t)switch_rtp_del_dtls(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_dtls_state___(void * jarg1, int jarg2) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  dtls_type_t arg2 ;
  dtls_state_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (dtls_type_t)jarg2; 
  result = (dtls_state_t)switch_rtp_dtls_state(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_has_dtls___() {
  int jresult ;
  int result;
  
  result = (int)switch_rtp_has_dtls();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_req_bitrate___(void * jarg1, unsigned long jarg2) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  uint32_t arg2 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  result = (switch_status_t)switch_rtp_req_bitrate(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_ack_bitrate___(void * jarg1, unsigned long jarg2) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  uint32_t arg2 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  result = (switch_status_t)switch_rtp_ack_bitrate(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_video_refresh___(void * jarg1) {
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  switch_rtp_video_refresh(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_video_loss___(void * jarg1) {
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  switch_rtp_video_loss(arg1);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_get_core_session___(void * jarg1) {
  void * jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_core_session_t *result = 0 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  result = (switch_core_session_t *)switch_rtp_get_core_session(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_data_set___(void * jarg1, char * jarg2) {
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_log_node_t *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->data;
    if (arg2) {
      arg1->data = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->data, (const char *)arg2);
    } else {
      arg1->data = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_data_get___(void * jarg1) {
  char * jresult ;
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_log_node_t *)jarg1; 
  result = (char *) ((arg1)->data);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_file_set___(void * jarg1, char * jarg2) {
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  char *arg2 ;
  
  arg1 = (switch_log_node_t *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if(arg2) {
      strncpy((char*)arg1->file, (const char *)arg2, 80-1);
      arg1->file[80-1] = 0;
    } else {
      arg1->file[0] = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_file_get___(void * jarg1) {
  char * jresult ;
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_log_node_t *)jarg1; 
  result = (char *)(char *) ((arg1)->file);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_line_set___(void * jarg1, unsigned long jarg2) {
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_log_node_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->line = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_line_get___(void * jarg1) {
  unsigned long jresult ;
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  uint32_t result;
  
  arg1 = (switch_log_node_t *)jarg1; 
  result = (uint32_t) ((arg1)->line);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_func_set___(void * jarg1, char * jarg2) {
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  char *arg2 ;
  
  arg1 = (switch_log_node_t *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if(arg2) {
      strncpy((char*)arg1->func, (const char *)arg2, 80-1);
      arg1->func[80-1] = 0;
    } else {
      arg1->func[0] = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_func_get___(void * jarg1) {
  char * jresult ;
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_log_node_t *)jarg1; 
  result = (char *)(char *) ((arg1)->func);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_level_set___(void * jarg1, int jarg2) {
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  switch_log_level_t arg2 ;
  
  arg1 = (switch_log_node_t *)jarg1; 
  arg2 = (switch_log_level_t)jarg2; 
  if (arg1) (arg1)->level = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_level_get___(void * jarg1) {
  int jresult ;
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  switch_log_level_t result;
  
  arg1 = (switch_log_node_t *)jarg1; 
  result = (switch_log_level_t) ((arg1)->level);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_timestamp_set___(void * jarg1, void * jarg2) {
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  switch_time_t arg2 ;
  switch_time_t *argp2 ;
  
  arg1 = (switch_log_node_t *)jarg1; 
  argp2 = (switch_time_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->timestamp = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_timestamp_get___(void * jarg1) {
  void * jresult ;
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  switch_time_t result;
  
  arg1 = (switch_log_node_t *)jarg1; 
  result =  ((arg1)->timestamp);
  jresult = new switch_time_t((const switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_content_set___(void * jarg1, char * jarg2) {
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_log_node_t *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->content;
    if (arg2) {
      arg1->content = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->content, (const char *)arg2);
    } else {
      arg1->content = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_content_get___(void * jarg1) {
  char * jresult ;
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_log_node_t *)jarg1; 
  result = (char *) ((arg1)->content);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_userdata_set___(void * jarg1, char * jarg2) {
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_log_node_t *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->userdata;
    if (arg2) {
      arg1->userdata = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->userdata, (const char *)arg2);
    } else {
      arg1->userdata = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_userdata_get___(void * jarg1) {
  char * jresult ;
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_log_node_t *)jarg1; 
  result = (char *) ((arg1)->userdata);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_channel_set___(void * jarg1, int jarg2) {
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  switch_text_channel_t arg2 ;
  
  arg1 = (switch_log_node_t *)jarg1; 
  arg2 = (switch_text_channel_t)jarg2; 
  if (arg1) (arg1)->channel = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_channel_get___(void * jarg1) {
  int jresult ;
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  switch_text_channel_t result;
  
  arg1 = (switch_log_node_t *)jarg1; 
  result = (switch_text_channel_t) ((arg1)->channel);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_slevel_set___(void * jarg1, int jarg2) {
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  switch_log_level_t arg2 ;
  
  arg1 = (switch_log_node_t *)jarg1; 
  arg2 = (switch_log_level_t)jarg2; 
  if (arg1) (arg1)->slevel = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_slevel_get___(void * jarg1) {
  int jresult ;
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  switch_log_level_t result;
  
  arg1 = (switch_log_node_t *)jarg1; 
  result = (switch_log_level_t) ((arg1)->slevel);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_tags_set___(void * jarg1, void * jarg2) {
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  switch_event_t *arg2 = (switch_event_t *) 0 ;
  
  arg1 = (switch_log_node_t *)jarg1; 
  arg2 = (switch_event_t *)jarg2; 
  if (arg1) (arg1)->tags = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_tags_get___(void * jarg1) {
  void * jresult ;
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  switch_event_t *result = 0 ;
  
  arg1 = (switch_log_node_t *)jarg1; 
  result = (switch_event_t *) ((arg1)->tags);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_sequence_set___(void * jarg1, long long jarg2) {
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  int64_t arg2 ;
  
  arg1 = (switch_log_node_t *)jarg1; 
  arg2 = (int64_t)jarg2; 
  if (arg1) (arg1)->sequence = arg2;
}


SWIGEXPORT long long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_sequence_get___(void * jarg1) {
  long long jresult ;
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  int64_t result;
  
  arg1 = (switch_log_node_t *)jarg1; 
  result = (int64_t) ((arg1)->sequence);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_meta_set___(void * jarg1, void * jarg2) {
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  cJSON *arg2 = (cJSON *) 0 ;
  
  arg1 = (switch_log_node_t *)jarg1; 
  arg2 = (cJSON *)jarg2; 
  if (arg1) (arg1)->meta = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_meta_get___(void * jarg1) {
  void * jresult ;
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  cJSON *result = 0 ;
  
  arg1 = (switch_log_node_t *)jarg1; 
  result = (cJSON *) ((arg1)->meta);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_log_node_t___() {
  void * jresult ;
  switch_log_node_t *result = 0 ;
  
  result = (switch_log_node_t *)new switch_log_node_t();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_log_node_t___(void * jarg1) {
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  
  arg1 = (switch_log_node_t *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_item_t_name_set___(void * jarg1, char * jarg2) {
  switch_log_json_format_item_t *arg1 = (switch_log_json_format_item_t *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_log_json_format_item_t *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->name = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->name, (const char *)arg2);
    } else {
      arg1->name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_item_t_name_get___(void * jarg1) {
  char * jresult ;
  switch_log_json_format_item_t *arg1 = (switch_log_json_format_item_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_log_json_format_item_t *)jarg1; 
  result = (char *) ((arg1)->name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_item_t_value_set___(void * jarg1, char * jarg2) {
  switch_log_json_format_item_t *arg1 = (switch_log_json_format_item_t *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_log_json_format_item_t *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->value = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->value, (const char *)arg2);
    } else {
      arg1->value = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_item_t_value_get___(void * jarg1) {
  char * jresult ;
  switch_log_json_format_item_t *arg1 = (switch_log_json_format_item_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_log_json_format_item_t *)jarg1; 
  result = (char *) ((arg1)->value);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_log_json_format_item_t___() {
  void * jresult ;
  switch_log_json_format_item_t *result = 0 ;
  
  result = (switch_log_json_format_item_t *)new switch_log_json_format_item_t();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_log_json_format_item_t___(void * jarg1) {
  switch_log_json_format_item_t *arg1 = (switch_log_json_format_item_t *) 0 ;
  
  arg1 = (switch_log_json_format_item_t *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_version_set___(void * jarg1, void * jarg2) {
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  switch_log_json_format_item_t *arg2 = (switch_log_json_format_item_t *) 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  arg2 = (switch_log_json_format_item_t *)jarg2; 
  if (arg1) (arg1)->version = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_version_get___(void * jarg1) {
  void * jresult ;
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  switch_log_json_format_item_t *result = 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  result = (switch_log_json_format_item_t *)& ((arg1)->version);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_host_set___(void * jarg1, void * jarg2) {
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  switch_log_json_format_item_t *arg2 = (switch_log_json_format_item_t *) 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  arg2 = (switch_log_json_format_item_t *)jarg2; 
  if (arg1) (arg1)->host = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_host_get___(void * jarg1) {
  void * jresult ;
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  switch_log_json_format_item_t *result = 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  result = (switch_log_json_format_item_t *)& ((arg1)->host);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_timestamp_set___(void * jarg1, void * jarg2) {
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  switch_log_json_format_item_t *arg2 = (switch_log_json_format_item_t *) 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  arg2 = (switch_log_json_format_item_t *)jarg2; 
  if (arg1) (arg1)->timestamp = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_timestamp_get___(void * jarg1) {
  void * jresult ;
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  switch_log_json_format_item_t *result = 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  result = (switch_log_json_format_item_t *)& ((arg1)->timestamp);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_level_set___(void * jarg1, void * jarg2) {
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  switch_log_json_format_item_t *arg2 = (switch_log_json_format_item_t *) 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  arg2 = (switch_log_json_format_item_t *)jarg2; 
  if (arg1) (arg1)->level = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_level_get___(void * jarg1) {
  void * jresult ;
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  switch_log_json_format_item_t *result = 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  result = (switch_log_json_format_item_t *)& ((arg1)->level);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_ident_set___(void * jarg1, void * jarg2) {
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  switch_log_json_format_item_t *arg2 = (switch_log_json_format_item_t *) 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  arg2 = (switch_log_json_format_item_t *)jarg2; 
  if (arg1) (arg1)->ident = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_ident_get___(void * jarg1) {
  void * jresult ;
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  switch_log_json_format_item_t *result = 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  result = (switch_log_json_format_item_t *)& ((arg1)->ident);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_pid_set___(void * jarg1, void * jarg2) {
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  switch_log_json_format_item_t *arg2 = (switch_log_json_format_item_t *) 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  arg2 = (switch_log_json_format_item_t *)jarg2; 
  if (arg1) (arg1)->pid = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_pid_get___(void * jarg1) {
  void * jresult ;
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  switch_log_json_format_item_t *result = 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  result = (switch_log_json_format_item_t *)& ((arg1)->pid);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_uuid_set___(void * jarg1, void * jarg2) {
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  switch_log_json_format_item_t *arg2 = (switch_log_json_format_item_t *) 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  arg2 = (switch_log_json_format_item_t *)jarg2; 
  if (arg1) (arg1)->uuid = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_uuid_get___(void * jarg1) {
  void * jresult ;
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  switch_log_json_format_item_t *result = 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  result = (switch_log_json_format_item_t *)& ((arg1)->uuid);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_file_set___(void * jarg1, void * jarg2) {
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  switch_log_json_format_item_t *arg2 = (switch_log_json_format_item_t *) 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  arg2 = (switch_log_json_format_item_t *)jarg2; 
  if (arg1) (arg1)->file = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_file_get___(void * jarg1) {
  void * jresult ;
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  switch_log_json_format_item_t *result = 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  result = (switch_log_json_format_item_t *)& ((arg1)->file);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_line_set___(void * jarg1, void * jarg2) {
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  switch_log_json_format_item_t *arg2 = (switch_log_json_format_item_t *) 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  arg2 = (switch_log_json_format_item_t *)jarg2; 
  if (arg1) (arg1)->line = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_line_get___(void * jarg1) {
  void * jresult ;
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  switch_log_json_format_item_t *result = 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  result = (switch_log_json_format_item_t *)& ((arg1)->line);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_function_set___(void * jarg1, void * jarg2) {
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  switch_log_json_format_item_t *arg2 = (switch_log_json_format_item_t *) 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  arg2 = (switch_log_json_format_item_t *)jarg2; 
  if (arg1) (arg1)->function = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_function_get___(void * jarg1) {
  void * jresult ;
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  switch_log_json_format_item_t *result = 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  result = (switch_log_json_format_item_t *)& ((arg1)->function);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_full_message_set___(void * jarg1, void * jarg2) {
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  switch_log_json_format_item_t *arg2 = (switch_log_json_format_item_t *) 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  arg2 = (switch_log_json_format_item_t *)jarg2; 
  if (arg1) (arg1)->full_message = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_full_message_get___(void * jarg1) {
  void * jresult ;
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  switch_log_json_format_item_t *result = 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  result = (switch_log_json_format_item_t *)& ((arg1)->full_message);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_short_message_set___(void * jarg1, void * jarg2) {
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  switch_log_json_format_item_t *arg2 = (switch_log_json_format_item_t *) 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  arg2 = (switch_log_json_format_item_t *)jarg2; 
  if (arg1) (arg1)->short_message = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_short_message_get___(void * jarg1) {
  void * jresult ;
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  switch_log_json_format_item_t *result = 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  result = (switch_log_json_format_item_t *)& ((arg1)->short_message);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_custom_field_prefix_set___(void * jarg1, char * jarg2) {
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->custom_field_prefix = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->custom_field_prefix, (const char *)arg2);
    } else {
      arg1->custom_field_prefix = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_custom_field_prefix_get___(void * jarg1) {
  char * jresult ;
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  result = (char *) ((arg1)->custom_field_prefix);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_timestamp_divisor_set___(void * jarg1, double jarg2) {
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  double arg2 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  arg2 = (double)jarg2; 
  if (arg1) (arg1)->timestamp_divisor = arg2;
}


SWIGEXPORT double SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_timestamp_divisor_get___(void * jarg1) {
  double jresult ;
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  double result;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  result = (double) ((arg1)->timestamp_divisor);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_sequence_set___(void * jarg1, void * jarg2) {
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  switch_log_json_format_item_t *arg2 = (switch_log_json_format_item_t *) 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  arg2 = (switch_log_json_format_item_t *)jarg2; 
  if (arg1) (arg1)->sequence = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_json_format_t_sequence_get___(void * jarg1) {
  void * jresult ;
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  switch_log_json_format_item_t *result = 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  result = (switch_log_json_format_item_t *)& ((arg1)->sequence);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_log_json_format_t___() {
  void * jresult ;
  switch_log_json_format_t *result = 0 ;
  
  result = (switch_log_json_format_t *)new switch_log_json_format_t();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_log_json_format_t___(void * jarg1) {
  switch_log_json_format_t *arg1 = (switch_log_json_format_t *) 0 ;
  
  arg1 = (switch_log_json_format_t *)jarg1; 
  delete arg1;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_to_json___(void * jarg1, int jarg2, void * jarg3, void * jarg4) {
  void * jresult ;
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  int arg2 ;
  switch_log_json_format_t *arg3 = (switch_log_json_format_t *) 0 ;
  switch_event_t *arg4 = (switch_event_t *) 0 ;
  cJSON *result = 0 ;
  
  arg1 = (switch_log_node_t *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (switch_log_json_format_t *)jarg3; 
  arg4 = (switch_event_t *)jarg4; 
  result = (cJSON *)switch_log_node_to_json((switch_log_node_t const *)arg1,arg2,arg3,arg4);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_init___(void * jarg1, int jarg2) {
  int jresult ;
  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
  switch_bool_t arg2 ;
  switch_status_t result;
  
  arg1 = (switch_memory_pool_t *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  result = (switch_status_t)switch_log_init(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_shutdown___() {
  int jresult ;
  switch_status_t result;
  
  result = (switch_status_t)switch_log_shutdown();
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_bind_logger___(void * jarg1, int jarg2, int jarg3) {
  int jresult ;
  switch_log_function_t arg1 = (switch_log_function_t) 0 ;
  switch_log_level_t arg2 ;
  switch_bool_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_log_function_t)jarg1; 
  arg2 = (switch_log_level_t)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  result = (switch_status_t)switch_log_bind_logger(arg1,arg2,arg3);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_unbind_logger___(void * jarg1) {
  int jresult ;
  switch_log_function_t arg1 = (switch_log_function_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_log_function_t)jarg1; 
  result = (switch_status_t)switch_log_unbind_logger(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_level2str___(int jarg1) {
  char * jresult ;
  switch_log_level_t arg1 ;
  char *result = 0 ;
  
  arg1 = (switch_log_level_t)jarg1; 
  result = (char *)switch_log_level2str(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_str2level___(char * jarg1) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_log_level_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_log_level_t)switch_log_str2level((char const *)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_str2mask___(char * jarg1) {
  unsigned long jresult ;
  char *arg1 = (char *) 0 ;
  uint32_t result;
  
  arg1 = (char *)jarg1; 
  result = (uint32_t)switch_log_str2mask((char const *)arg1);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_dup___(void * jarg1) {
  void * jresult ;
  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
  switch_log_node_t *result = 0 ;
  
  arg1 = (switch_log_node_t *)jarg1; 
  result = (switch_log_node_t *)switch_log_node_dup((switch_log_node_t const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_free___(void * jarg1) {
  switch_log_node_t **arg1 = (switch_log_node_t **) 0 ;
  
  arg1 = (switch_log_node_t **)jarg1; 
  switch_log_node_free(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_SWITCH_XML_BUFSIZE_get___() {
  int jresult ;
  int result;
  
  result = (int)(1024);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_name_set___(void * jarg1, char * jarg2) {
  switch_xml *arg1 = (switch_xml *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_xml *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->name;
    if (arg2) {
      arg1->name = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->name, (const char *)arg2);
    } else {
      arg1->name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_name_get___(void * jarg1) {
  char * jresult ;
  switch_xml *arg1 = (switch_xml *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_xml *)jarg1; 
  result = (char *) ((arg1)->name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_attr_set___(void * jarg1, void * jarg2) {
  switch_xml *arg1 = (switch_xml *) 0 ;
  char **arg2 = (char **) 0 ;
  
  arg1 = (switch_xml *)jarg1; 
  arg2 = (char **)jarg2; 
  if (arg1) (arg1)->attr = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_attr_get___(void * jarg1) {
  void * jresult ;
  switch_xml *arg1 = (switch_xml *) 0 ;
  char **result = 0 ;
  
  arg1 = (switch_xml *)jarg1; 
  result = (char **) ((arg1)->attr);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_txt_set___(void * jarg1, char * jarg2) {
  switch_xml *arg1 = (switch_xml *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_xml *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->txt;
    if (arg2) {
      arg1->txt = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->txt, (const char *)arg2);
    } else {
      arg1->txt = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_txt_get___(void * jarg1) {
  char * jresult ;
  switch_xml *arg1 = (switch_xml *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_xml *)jarg1; 
  result = (char *) ((arg1)->txt);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_free_path_set___(void * jarg1, char * jarg2) {
  switch_xml *arg1 = (switch_xml *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_xml *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->free_path;
    if (arg2) {
      arg1->free_path = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->free_path, (const char *)arg2);
    } else {
      arg1->free_path = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_free_path_get___(void * jarg1) {
  char * jresult ;
  switch_xml *arg1 = (switch_xml *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_xml *)jarg1; 
  result = (char *) ((arg1)->free_path);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_off_set___(void * jarg1, void * jarg2) {
  switch_xml *arg1 = (switch_xml *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_xml *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->off = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_off_get___(void * jarg1) {
  void * jresult ;
  switch_xml *arg1 = (switch_xml *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_xml *)jarg1; 
  result =  ((arg1)->off);
  jresult = new switch_size_t((const switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_next_set___(void * jarg1, void * jarg2) {
  switch_xml *arg1 = (switch_xml *) 0 ;
  switch_xml_t arg2 = (switch_xml_t) 0 ;
  
  arg1 = (switch_xml *)jarg1; 
  arg2 = (switch_xml_t)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_next_get___(void * jarg1) {
  void * jresult ;
  switch_xml *arg1 = (switch_xml *) 0 ;
  switch_xml_t result;
  
  arg1 = (switch_xml *)jarg1; 
  result = (switch_xml_t) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_sibling_set___(void * jarg1, void * jarg2) {
  switch_xml *arg1 = (switch_xml *) 0 ;
  switch_xml_t arg2 = (switch_xml_t) 0 ;
  
  arg1 = (switch_xml *)jarg1; 
  arg2 = (switch_xml_t)jarg2; 
  if (arg1) (arg1)->sibling = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_sibling_get___(void * jarg1) {
  void * jresult ;
  switch_xml *arg1 = (switch_xml *) 0 ;
  switch_xml_t result;
  
  arg1 = (switch_xml *)jarg1; 
  result = (switch_xml_t) ((arg1)->sibling);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_ordered_set___(void * jarg1, void * jarg2) {
  switch_xml *arg1 = (switch_xml *) 0 ;
  switch_xml_t arg2 = (switch_xml_t) 0 ;
  
  arg1 = (switch_xml *)jarg1; 
  arg2 = (switch_xml_t)jarg2; 
  if (arg1) (arg1)->ordered = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_ordered_get___(void * jarg1) {
  void * jresult ;
  switch_xml *arg1 = (switch_xml *) 0 ;
  switch_xml_t result;
  
  arg1 = (switch_xml *)jarg1; 
  result = (switch_xml_t) ((arg1)->ordered);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_child_set___(void * jarg1, void * jarg2) {
  switch_xml *arg1 = (switch_xml *) 0 ;
  switch_xml_t arg2 = (switch_xml_t) 0 ;
  
  arg1 = (switch_xml *)jarg1; 
  arg2 = (switch_xml_t)jarg2; 
  if (arg1) (arg1)->child = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_child_get___(void * jarg1) {
  void * jresult ;
  switch_xml *arg1 = (switch_xml *) 0 ;
  switch_xml_t result;
  
  arg1 = (switch_xml *)jarg1; 
  result = (switch_xml_t) ((arg1)->child);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_parent_set___(void * jarg1, void * jarg2) {
  switch_xml *arg1 = (switch_xml *) 0 ;
  switch_xml_t arg2 = (switch_xml_t) 0 ;
  
  arg1 = (switch_xml *)jarg1; 
  arg2 = (switch_xml_t)jarg2; 
  if (arg1) (arg1)->parent = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_parent_get___(void * jarg1) {
  void * jresult ;
  switch_xml *arg1 = (switch_xml *) 0 ;
  switch_xml_t result;
  
  arg1 = (switch_xml *)jarg1; 
  result = (switch_xml_t) ((arg1)->parent);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_flags_set___(void * jarg1, unsigned long jarg2) {
  switch_xml *arg1 = (switch_xml *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_xml *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->flags = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_flags_get___(void * jarg1) {
  unsigned long jresult ;
  switch_xml *arg1 = (switch_xml *) 0 ;
  uint32_t result;
  
  arg1 = (switch_xml *)jarg1; 
  result = (uint32_t) ((arg1)->flags);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_is_switch_xml_root_t_set___(void * jarg1, int jarg2) {
  switch_xml *arg1 = (switch_xml *) 0 ;
  switch_bool_t arg2 ;
  
  arg1 = (switch_xml *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  if (arg1) (arg1)->is_switch_xml_root_t = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_is_switch_xml_root_t_get___(void * jarg1) {
  int jresult ;
  switch_xml *arg1 = (switch_xml *) 0 ;
  switch_bool_t result;
  
  arg1 = (switch_xml *)jarg1; 
  result = (switch_bool_t) ((arg1)->is_switch_xml_root_t);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_refs_set___(void * jarg1, unsigned long jarg2) {
  switch_xml *arg1 = (switch_xml *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_xml *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->refs = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_refs_get___(void * jarg1) {
  unsigned long jresult ;
  switch_xml *arg1 = (switch_xml *) 0 ;
  uint32_t result;
  
  arg1 = (switch_xml *)jarg1; 
  result = (uint32_t) ((arg1)->refs);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_open_set___(void * jarg1, char * jarg2) {
  switch_xml *arg1 = (switch_xml *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_xml *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->open = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->open, (const char *)arg2);
    } else {
      arg1->open = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_open_get___(void * jarg1) {
  char * jresult ;
  switch_xml *arg1 = (switch_xml *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_xml *)jarg1; 
  result = (char *) ((arg1)->open);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_close_set___(void * jarg1, char * jarg2) {
  switch_xml *arg1 = (switch_xml *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_xml *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg2) {
      arg1->close = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->close, (const char *)arg2);
    } else {
      arg1->close = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_close_get___(void * jarg1) {
  char * jresult ;
  switch_xml *arg1 = (switch_xml *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_xml *)jarg1; 
  result = (char *) ((arg1)->close);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_xml___() {
  void * jresult ;
  switch_xml *result = 0 ;
  
  result = (switch_xml *)new switch_xml();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_xml___(void * jarg1) {
  switch_xml *arg1 = (switch_xml *) 0 ;
  
  arg1 = (switch_xml *)jarg1; 
  delete arg1;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_parse_str_dynamic___(char * jarg1, int jarg2) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_bool_t arg2 ;
  switch_xml_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  result = (switch_xml_t)switch_xml_parse_str_dynamic(arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_parse_str___(char * jarg1, void * jarg2) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  switch_xml_t result;
  
  arg1 = (char *)jarg1; 
  argp2 = (switch_size_t *)jarg2; 
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg2 = *argp2; 
  result = (switch_xml_t)switch_xml_parse_str(arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_parse_fd___(int jarg1) {
  void * jresult ;
  int arg1 ;
  switch_xml_t result;
  
  arg1 = (int)jarg1; 
  result = (switch_xml_t)switch_xml_parse_fd(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_parse_file___(char * jarg1) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_xml_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_xml_t)switch_xml_parse_file((char const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_parse_file_simple___(char * jarg1) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_xml_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_xml_t)switch_xml_parse_file_simple((char const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_parse_fp___(void * jarg1) {
  void * jresult ;
  FILE *arg1 = (FILE *) 0 ;
  switch_xml_t result;
  
  arg1 = (FILE *)jarg1; 
  result = (switch_xml_t)switch_xml_parse_fp(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_child___(void * jarg1, char * jarg2) {
  void * jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  char *arg2 = (char *) 0 ;
  switch_xml_t result;
  
  arg1 = (switch_xml_t)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_xml_t)switch_xml_child(arg1,(char const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_find_child___(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
  void * jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  switch_xml_t result;
  
  arg1 = (switch_xml_t)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  result = (switch_xml_t)switch_xml_find_child(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_find_child_multi___(void * jarg1, char * jarg2) {
  void * jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  char *arg2 = (char *) 0 ;
  void *arg3 = 0 ;
  switch_xml_t result;
  
  arg1 = (switch_xml_t)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_xml_t)switch_xml_find_child_multi(arg1,(char const *)arg2,arg3);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_attr___(void * jarg1, char * jarg2) {
  char * jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  char *arg2 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_xml_t)jarg1; 
  arg2 = (char *)jarg2; 
  result = (char *)switch_xml_attr(arg1,(char const *)arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_attr_soft___(void * jarg1, char * jarg2) {
  char * jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  char *arg2 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_xml_t)jarg1; 
  arg2 = (char *)jarg2; 
  result = (char *)switch_xml_attr_soft(arg1,(char const *)arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_get___(void * jarg1) {
  void * jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  void *arg2 = 0 ;
  switch_xml_t result;
  
  arg1 = (switch_xml_t)jarg1; 
  result = (switch_xml_t)switch_xml_get(arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_toxml_ex___(void * jarg1, int jarg2, int jarg3) {
  char * jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  switch_bool_t arg2 ;
  switch_bool_t arg3 ;
  char *result = 0 ;
  
  arg1 = (switch_xml_t)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  result = (char *)switch_xml_toxml_ex(arg1,arg2,arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_toxml_nolock_ex___(void * jarg1, int jarg2, int jarg3) {
  char * jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  switch_bool_t arg2 ;
  switch_bool_t arg3 ;
  char *result = 0 ;
  
  arg1 = (switch_xml_t)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  result = (char *)switch_xml_toxml_nolock_ex(arg1,arg2,arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_tohtml_ex___(void * jarg1, int jarg2, int jarg3) {
  char * jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  switch_bool_t arg2 ;
  switch_bool_t arg3 ;
  char *result = 0 ;
  
  arg1 = (switch_xml_t)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  result = (char *)switch_xml_tohtml_ex(arg1,arg2,arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_toxml_buf_ex___(void * jarg1, char * jarg2, void * jarg3, void * jarg4, int jarg5, int jarg6) {
  char * jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  char *arg2 = (char *) 0 ;
  switch_size_t arg3 ;
  switch_size_t arg4 ;
  switch_bool_t arg5 ;
  switch_bool_t arg6 ;
  switch_size_t *argp3 ;
  switch_size_t *argp4 ;
  char *result = 0 ;
  
  arg1 = (switch_xml_t)jarg1; 
  arg2 = (char *)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  argp4 = (switch_size_t *)jarg4; 
  if (!argp4) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg4 = *argp4; 
  arg5 = (switch_bool_t)jarg5; 
  arg6 = (switch_bool_t)jarg6; 
  result = (char *)switch_xml_toxml_buf_ex(arg1,arg2,arg3,arg4,arg5,arg6);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_free___(void * jarg1) {
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  
  arg1 = (switch_xml_t)jarg1; 
  switch_xml_free(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_free_in_thread___(void * jarg1, int jarg2) {
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  int arg2 ;
  
  arg1 = (switch_xml_t)jarg1; 
  arg2 = (int)jarg2; 
  switch_xml_free_in_thread(arg1,arg2);
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_error___(void * jarg1) {
  char * jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_xml_t)jarg1; 
  result = (char *)switch_xml_error(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_new___(char * jarg1) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_xml_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_xml_t)switch_xml_new((char const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_add_child___(void * jarg1, char * jarg2, void * jarg3) {
  void * jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  char *arg2 = (char *) 0 ;
  switch_size_t arg3 ;
  switch_size_t *argp3 ;
  switch_xml_t result;
  
  arg1 = (switch_xml_t)jarg1; 
  arg2 = (char *)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = (switch_xml_t)switch_xml_add_child(arg1,(char const *)arg2,arg3);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_add_child_d___(void * jarg1, char * jarg2, void * jarg3) {
  void * jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  char *arg2 = (char *) 0 ;
  switch_size_t arg3 ;
  switch_size_t *argp3 ;
  switch_xml_t result;
  
  arg1 = (switch_xml_t)jarg1; 
  arg2 = (char *)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = (switch_xml_t)switch_xml_add_child_d(arg1,(char const *)arg2,arg3);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_set_txt___(void * jarg1, char * jarg2) {
  void * jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  char *arg2 = (char *) 0 ;
  switch_xml_t result;
  
  arg1 = (switch_xml_t)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_xml_t)switch_xml_set_txt(arg1,(char const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_set_txt_d___(void * jarg1, char * jarg2) {
  void * jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  char *arg2 = (char *) 0 ;
  switch_xml_t result;
  
  arg1 = (switch_xml_t)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_xml_t)switch_xml_set_txt_d(arg1,(char const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_set_attr___(void * jarg1, char * jarg2, char * jarg3) {
  void * jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_xml_t result;
  
  arg1 = (switch_xml_t)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_xml_t)switch_xml_set_attr(arg1,(char const *)arg2,(char const *)arg3);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_set_attr_d___(void * jarg1, char * jarg2, char * jarg3) {
  void * jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_xml_t result;
  
  arg1 = (switch_xml_t)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_xml_t)switch_xml_set_attr_d(arg1,(char const *)arg2,(char const *)arg3);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_set_attr_d_buf___(void * jarg1, char * jarg2, char * jarg3) {
  void * jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_xml_t result;
  
  arg1 = (switch_xml_t)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_xml_t)switch_xml_set_attr_d_buf(arg1,(char const *)arg2,(char const *)arg3);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_set_flag___(void * jarg1, int jarg2) {
  void * jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  switch_xml_flag_t arg2 ;
  switch_xml_t result;
  
  arg1 = (switch_xml_t)jarg1; 
  arg2 = (switch_xml_flag_t)jarg2; 
  result = (switch_xml_t)switch_xml_set_flag(arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_cut___(void * jarg1) {
  void * jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  switch_xml_t result;
  
  arg1 = (switch_xml_t)jarg1; 
  result = (switch_xml_t)switch_xml_cut(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_insert___(void * jarg1, void * jarg2, void * jarg3) {
  void * jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  switch_xml_t arg2 = (switch_xml_t) 0 ;
  switch_size_t arg3 ;
  switch_size_t *argp3 ;
  switch_xml_t result;
  
  arg1 = (switch_xml_t)jarg1; 
  arg2 = (switch_xml_t)jarg2; 
  argp3 = (switch_size_t *)jarg3; 
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg3 = *argp3; 
  result = (switch_xml_t)switch_xml_insert(arg1,arg2,arg3);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_set_root___(void * jarg1) {
  int jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_xml_t)jarg1; 
  result = (switch_status_t)switch_xml_set_root(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_set_open_root_function___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_xml_open_root_function_t arg1 = (switch_xml_open_root_function_t) 0 ;
  void *arg2 = (void *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_xml_open_root_function_t)jarg1; 
  arg2 = (void *)jarg2; 
  result = (switch_status_t)switch_xml_set_open_root_function(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_open_root___(unsigned char jarg1, void * jarg2) {
  void * jresult ;
  uint8_t arg1 ;
  char **arg2 = (char **) 0 ;
  switch_xml_t result;
  
  arg1 = (uint8_t)jarg1; 
  arg2 = (char **)jarg2; 
  result = (switch_xml_t)switch_xml_open_root(arg1,(char const **)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_init___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
  char **arg2 = (char **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_memory_pool_t *)jarg1; 
  arg2 = (char **)jarg2; 
  result = (switch_status_t)switch_xml_init(arg1,(char const **)arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_reload___(void * jarg1) {
  int jresult ;
  char **arg1 = (char **) 0 ;
  switch_status_t result;
  
  arg1 = (char **)jarg1; 
  result = (switch_status_t)switch_xml_reload((char const **)arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_destroy___() {
  int jresult ;
  switch_status_t result;
  
  result = (switch_status_t)switch_xml_destroy();
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_root___() {
  void * jresult ;
  switch_xml_t result;
  
  result = (switch_xml_t)switch_xml_root();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_locate___(char * jarg1, char * jarg2, char * jarg3, char * jarg4, void * jarg5, void * jarg6, void * jarg7, int jarg8) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  switch_xml_t *arg5 = (switch_xml_t *) 0 ;
  switch_xml_t *arg6 = (switch_xml_t *) 0 ;
  switch_event_t *arg7 = (switch_event_t *) 0 ;
  switch_bool_t arg8 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (switch_xml_t *)jarg5; 
  arg6 = (switch_xml_t *)jarg6; 
  arg7 = (switch_event_t *)jarg7; 
  arg8 = (switch_bool_t)jarg8; 
  result = (switch_status_t)switch_xml_locate((char const *)arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5,arg6,arg7,arg8);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_locate_domain___(char * jarg1, void * jarg2, void * jarg3, void * jarg4) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_event_t *arg2 = (switch_event_t *) 0 ;
  switch_xml_t *arg3 = (switch_xml_t *) 0 ;
  switch_xml_t *arg4 = (switch_xml_t *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_event_t *)jarg2; 
  arg3 = (switch_xml_t *)jarg3; 
  arg4 = (switch_xml_t *)jarg4; 
  result = (switch_status_t)switch_xml_locate_domain((char const *)arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_locate_group___(char * jarg1, char * jarg2, void * jarg3, void * jarg4, void * jarg5, void * jarg6) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_xml_t *arg3 = (switch_xml_t *) 0 ;
  switch_xml_t *arg4 = (switch_xml_t *) 0 ;
  switch_xml_t *arg5 = (switch_xml_t *) 0 ;
  switch_event_t *arg6 = (switch_event_t *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_xml_t *)jarg3; 
  arg4 = (switch_xml_t *)jarg4; 
  arg5 = (switch_xml_t *)jarg5; 
  arg6 = (switch_event_t *)jarg6; 
  result = (switch_status_t)switch_xml_locate_group((char const *)arg1,(char const *)arg2,arg3,arg4,arg5,arg6);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_locate_user___(char * jarg1, char * jarg2, char * jarg3, char * jarg4, void * jarg5, void * jarg6, void * jarg7, void * jarg8, void * jarg9) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  switch_xml_t *arg5 = (switch_xml_t *) 0 ;
  switch_xml_t *arg6 = (switch_xml_t *) 0 ;
  switch_xml_t *arg7 = (switch_xml_t *) 0 ;
  switch_xml_t *arg8 = (switch_xml_t *) 0 ;
  switch_event_t *arg9 = (switch_event_t *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (switch_xml_t *)jarg5; 
  arg6 = (switch_xml_t *)jarg6; 
  arg7 = (switch_xml_t *)jarg7; 
  arg8 = (switch_xml_t *)jarg8; 
  arg9 = (switch_event_t *)jarg9; 
  result = (switch_status_t)switch_xml_locate_user((char const *)arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5,arg6,arg7,arg8,arg9);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_locate_user_in_domain___(char * jarg1, void * jarg2, void * jarg3, void * jarg4) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_xml_t arg2 = (switch_xml_t) 0 ;
  switch_xml_t *arg3 = (switch_xml_t *) 0 ;
  switch_xml_t *arg4 = (switch_xml_t *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_xml_t)jarg2; 
  arg3 = (switch_xml_t *)jarg3; 
  arg4 = (switch_xml_t *)jarg4; 
  result = (switch_status_t)switch_xml_locate_user_in_domain((char const *)arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_locate_user_merged___(char * jarg1, char * jarg2, char * jarg3, char * jarg4, void * jarg5, void * jarg6) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  switch_xml_t *arg5 = (switch_xml_t *) 0 ;
  switch_event_t *arg6 = (switch_event_t *) 0 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (switch_xml_t *)jarg5; 
  arg6 = (switch_event_t *)jarg6; 
  result = (switch_status_t)switch_xml_locate_user_merged((char const *)arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5,arg6);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_clear_user_cache___(char * jarg1, char * jarg2, char * jarg3) {
  unsigned long jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  uint32_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (uint32_t)switch_xml_clear_user_cache((char const *)arg1,(char const *)arg2,(char const *)arg3);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_merge_user___(void * jarg1, void * jarg2, void * jarg3) {
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  switch_xml_t arg2 = (switch_xml_t) 0 ;
  switch_xml_t arg3 = (switch_xml_t) 0 ;
  
  arg1 = (switch_xml_t)jarg1; 
  arg2 = (switch_xml_t)jarg2; 
  arg3 = (switch_xml_t)jarg3; 
  switch_xml_merge_user(arg1,arg2,arg3);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_dup___(void * jarg1) {
  void * jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  switch_xml_t result;
  
  arg1 = (switch_xml_t)jarg1; 
  result = (switch_xml_t)switch_xml_dup(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_open_cfg___(char * jarg1, void * jarg2, void * jarg3) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_xml_t *arg2 = (switch_xml_t *) 0 ;
  switch_event_t *arg3 = (switch_event_t *) 0 ;
  switch_xml_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_xml_t *)jarg2; 
  arg3 = (switch_event_t *)jarg3; 
  result = (switch_xml_t)switch_xml_open_cfg((char const *)arg1,arg2,arg3);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_set_binding_sections___(void * jarg1, unsigned long jarg2) {
  switch_xml_binding_t *arg1 = (switch_xml_binding_t *) 0 ;
  switch_xml_section_t arg2 ;
  
  arg1 = (switch_xml_binding_t *)jarg1; 
  arg2 = (switch_xml_section_t)jarg2; 
  switch_xml_set_binding_sections(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_set_binding_user_data___(void * jarg1, void * jarg2) {
  switch_xml_binding_t *arg1 = (switch_xml_binding_t *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_xml_binding_t *)jarg1; 
  arg2 = (void *)jarg2; 
  switch_xml_set_binding_user_data(arg1,arg2);
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_get_binding_sections___(void * jarg1) {
  unsigned long jresult ;
  switch_xml_binding_t *arg1 = (switch_xml_binding_t *) 0 ;
  switch_xml_section_t result;
  
  arg1 = (switch_xml_binding_t *)jarg1; 
  result = (switch_xml_section_t)switch_xml_get_binding_sections(arg1);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_get_binding_user_data___(void * jarg1) {
  void * jresult ;
  switch_xml_binding_t *arg1 = (switch_xml_binding_t *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_xml_binding_t *)jarg1; 
  result = (void *)switch_xml_get_binding_user_data(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_bind_search_function_ret___(void * jarg1, unsigned long jarg2, void * jarg3, void * jarg4) {
  int jresult ;
  switch_xml_search_function_t arg1 = (switch_xml_search_function_t) 0 ;
  switch_xml_section_t arg2 ;
  void *arg3 = (void *) 0 ;
  switch_xml_binding_t **arg4 = (switch_xml_binding_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_xml_search_function_t)jarg1; 
  arg2 = (switch_xml_section_t)jarg2; 
  arg3 = (void *)jarg3; 
  arg4 = (switch_xml_binding_t **)jarg4; 
  result = (switch_status_t)switch_xml_bind_search_function_ret(arg1,arg2,arg3,arg4);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_unbind_search_function___(void * jarg1) {
  int jresult ;
  switch_xml_binding_t **arg1 = (switch_xml_binding_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_xml_binding_t **)jarg1; 
  result = (switch_status_t)switch_xml_unbind_search_function(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_unbind_search_function_ptr___(void * jarg1) {
  int jresult ;
  switch_xml_search_function_t arg1 = (switch_xml_search_function_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_xml_search_function_t)jarg1; 
  result = (switch_status_t)switch_xml_unbind_search_function_ptr(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_parse_section_string___(char * jarg1) {
  unsigned long jresult ;
  char *arg1 = (char *) 0 ;
  switch_xml_section_t result;
  
  arg1 = (char *)jarg1; 
  result = (switch_xml_section_t)switch_xml_parse_section_string((char const *)arg1);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_std_datetime_check___(void * jarg1, void * jarg2, char * jarg3) {
  int jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  int *arg2 = (int *) 0 ;
  char *arg3 = (char *) 0 ;
  int result;
  
  arg1 = (switch_xml_t)jarg1; 
  arg2 = (int *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (int)switch_xml_std_datetime_check(arg1,arg2,(char const *)arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_locate_language___(void * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5, void * jarg6, char * jarg7) {
  int jresult ;
  switch_xml_t *arg1 = (switch_xml_t *) 0 ;
  switch_xml_t *arg2 = (switch_xml_t *) 0 ;
  switch_event_t *arg3 = (switch_event_t *) 0 ;
  switch_xml_t *arg4 = (switch_xml_t *) 0 ;
  switch_xml_t *arg5 = (switch_xml_t *) 0 ;
  switch_xml_t *arg6 = (switch_xml_t *) 0 ;
  char *arg7 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_xml_t *)jarg1; 
  arg2 = (switch_xml_t *)jarg2; 
  arg3 = (switch_event_t *)jarg3; 
  arg4 = (switch_xml_t *)jarg4; 
  arg5 = (switch_xml_t *)jarg5; 
  arg6 = (switch_xml_t *)jarg6; 
  arg7 = (char *)jarg7; 
  result = (switch_status_t)switch_xml_locate_language(arg1,arg2,arg3,arg4,arg5,arg6,(char const *)arg7);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_outgoing_channel_outgoing_channel_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_outgoing_channel *arg1 = (switch_io_event_hook_outgoing_channel *) 0 ;
  switch_outgoing_channel_hook_t arg2 = (switch_outgoing_channel_hook_t) 0 ;
  
  arg1 = (switch_io_event_hook_outgoing_channel *)jarg1; 
  arg2 = (switch_outgoing_channel_hook_t)jarg2; 
  if (arg1) (arg1)->outgoing_channel = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_outgoing_channel_outgoing_channel_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_outgoing_channel *arg1 = (switch_io_event_hook_outgoing_channel *) 0 ;
  switch_outgoing_channel_hook_t result;
  
  arg1 = (switch_io_event_hook_outgoing_channel *)jarg1; 
  result = (switch_outgoing_channel_hook_t) ((arg1)->outgoing_channel);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_outgoing_channel_next_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_outgoing_channel *arg1 = (switch_io_event_hook_outgoing_channel *) 0 ;
  switch_io_event_hook_outgoing_channel *arg2 = (switch_io_event_hook_outgoing_channel *) 0 ;
  
  arg1 = (switch_io_event_hook_outgoing_channel *)jarg1; 
  arg2 = (switch_io_event_hook_outgoing_channel *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_outgoing_channel_next_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_outgoing_channel *arg1 = (switch_io_event_hook_outgoing_channel *) 0 ;
  switch_io_event_hook_outgoing_channel *result = 0 ;
  
  arg1 = (switch_io_event_hook_outgoing_channel *)jarg1; 
  result = (switch_io_event_hook_outgoing_channel *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_io_event_hook_outgoing_channel___() {
  void * jresult ;
  switch_io_event_hook_outgoing_channel *result = 0 ;
  
  result = (switch_io_event_hook_outgoing_channel *)new switch_io_event_hook_outgoing_channel();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_outgoing_channel___(void * jarg1) {
  switch_io_event_hook_outgoing_channel *arg1 = (switch_io_event_hook_outgoing_channel *) 0 ;
  
  arg1 = (switch_io_event_hook_outgoing_channel *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_receive_message_receive_message_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_receive_message *arg1 = (switch_io_event_hook_receive_message *) 0 ;
  switch_receive_message_hook_t arg2 = (switch_receive_message_hook_t) 0 ;
  
  arg1 = (switch_io_event_hook_receive_message *)jarg1; 
  arg2 = (switch_receive_message_hook_t)jarg2; 
  if (arg1) (arg1)->receive_message = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_receive_message_receive_message_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_receive_message *arg1 = (switch_io_event_hook_receive_message *) 0 ;
  switch_receive_message_hook_t result;
  
  arg1 = (switch_io_event_hook_receive_message *)jarg1; 
  result = (switch_receive_message_hook_t) ((arg1)->receive_message);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_receive_message_next_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_receive_message *arg1 = (switch_io_event_hook_receive_message *) 0 ;
  switch_io_event_hook_receive_message *arg2 = (switch_io_event_hook_receive_message *) 0 ;
  
  arg1 = (switch_io_event_hook_receive_message *)jarg1; 
  arg2 = (switch_io_event_hook_receive_message *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_receive_message_next_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_receive_message *arg1 = (switch_io_event_hook_receive_message *) 0 ;
  switch_io_event_hook_receive_message *result = 0 ;
  
  arg1 = (switch_io_event_hook_receive_message *)jarg1; 
  result = (switch_io_event_hook_receive_message *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_io_event_hook_receive_message___() {
  void * jresult ;
  switch_io_event_hook_receive_message *result = 0 ;
  
  result = (switch_io_event_hook_receive_message *)new switch_io_event_hook_receive_message();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_receive_message___(void * jarg1) {
  switch_io_event_hook_receive_message *arg1 = (switch_io_event_hook_receive_message *) 0 ;
  
  arg1 = (switch_io_event_hook_receive_message *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_receive_event_receive_event_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_receive_event *arg1 = (switch_io_event_hook_receive_event *) 0 ;
  switch_receive_event_hook_t arg2 = (switch_receive_event_hook_t) 0 ;
  
  arg1 = (switch_io_event_hook_receive_event *)jarg1; 
  arg2 = (switch_receive_event_hook_t)jarg2; 
  if (arg1) (arg1)->receive_event = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_receive_event_receive_event_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_receive_event *arg1 = (switch_io_event_hook_receive_event *) 0 ;
  switch_receive_event_hook_t result;
  
  arg1 = (switch_io_event_hook_receive_event *)jarg1; 
  result = (switch_receive_event_hook_t) ((arg1)->receive_event);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_receive_event_next_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_receive_event *arg1 = (switch_io_event_hook_receive_event *) 0 ;
  switch_io_event_hook_receive_event *arg2 = (switch_io_event_hook_receive_event *) 0 ;
  
  arg1 = (switch_io_event_hook_receive_event *)jarg1; 
  arg2 = (switch_io_event_hook_receive_event *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_receive_event_next_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_receive_event *arg1 = (switch_io_event_hook_receive_event *) 0 ;
  switch_io_event_hook_receive_event *result = 0 ;
  
  arg1 = (switch_io_event_hook_receive_event *)jarg1; 
  result = (switch_io_event_hook_receive_event *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_io_event_hook_receive_event___() {
  void * jresult ;
  switch_io_event_hook_receive_event *result = 0 ;
  
  result = (switch_io_event_hook_receive_event *)new switch_io_event_hook_receive_event();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_receive_event___(void * jarg1) {
  switch_io_event_hook_receive_event *arg1 = (switch_io_event_hook_receive_event *) 0 ;
  
  arg1 = (switch_io_event_hook_receive_event *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_read_frame_read_frame_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_read_frame *arg1 = (switch_io_event_hook_read_frame *) 0 ;
  switch_read_frame_hook_t arg2 = (switch_read_frame_hook_t) 0 ;
  
  arg1 = (switch_io_event_hook_read_frame *)jarg1; 
  arg2 = (switch_read_frame_hook_t)jarg2; 
  if (arg1) (arg1)->read_frame = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_read_frame_read_frame_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_read_frame *arg1 = (switch_io_event_hook_read_frame *) 0 ;
  switch_read_frame_hook_t result;
  
  arg1 = (switch_io_event_hook_read_frame *)jarg1; 
  result = (switch_read_frame_hook_t) ((arg1)->read_frame);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_read_frame_next_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_read_frame *arg1 = (switch_io_event_hook_read_frame *) 0 ;
  switch_io_event_hook_read_frame *arg2 = (switch_io_event_hook_read_frame *) 0 ;
  
  arg1 = (switch_io_event_hook_read_frame *)jarg1; 
  arg2 = (switch_io_event_hook_read_frame *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_read_frame_next_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_read_frame *arg1 = (switch_io_event_hook_read_frame *) 0 ;
  switch_io_event_hook_read_frame *result = 0 ;
  
  arg1 = (switch_io_event_hook_read_frame *)jarg1; 
  result = (switch_io_event_hook_read_frame *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_io_event_hook_read_frame___() {
  void * jresult ;
  switch_io_event_hook_read_frame *result = 0 ;
  
  result = (switch_io_event_hook_read_frame *)new switch_io_event_hook_read_frame();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_read_frame___(void * jarg1) {
  switch_io_event_hook_read_frame *arg1 = (switch_io_event_hook_read_frame *) 0 ;
  
  arg1 = (switch_io_event_hook_read_frame *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_video_read_frame_video_read_frame_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_video_read_frame *arg1 = (switch_io_event_hook_video_read_frame *) 0 ;
  switch_read_frame_hook_t arg2 = (switch_read_frame_hook_t) 0 ;
  
  arg1 = (switch_io_event_hook_video_read_frame *)jarg1; 
  arg2 = (switch_read_frame_hook_t)jarg2; 
  if (arg1) (arg1)->video_read_frame = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_video_read_frame_video_read_frame_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_video_read_frame *arg1 = (switch_io_event_hook_video_read_frame *) 0 ;
  switch_read_frame_hook_t result;
  
  arg1 = (switch_io_event_hook_video_read_frame *)jarg1; 
  result = (switch_read_frame_hook_t) ((arg1)->video_read_frame);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_video_read_frame_next_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_video_read_frame *arg1 = (switch_io_event_hook_video_read_frame *) 0 ;
  switch_io_event_hook_video_read_frame *arg2 = (switch_io_event_hook_video_read_frame *) 0 ;
  
  arg1 = (switch_io_event_hook_video_read_frame *)jarg1; 
  arg2 = (switch_io_event_hook_video_read_frame *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_video_read_frame_next_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_video_read_frame *arg1 = (switch_io_event_hook_video_read_frame *) 0 ;
  switch_io_event_hook_video_read_frame *result = 0 ;
  
  arg1 = (switch_io_event_hook_video_read_frame *)jarg1; 
  result = (switch_io_event_hook_video_read_frame *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_io_event_hook_video_read_frame___() {
  void * jresult ;
  switch_io_event_hook_video_read_frame *result = 0 ;
  
  result = (switch_io_event_hook_video_read_frame *)new switch_io_event_hook_video_read_frame();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_video_read_frame___(void * jarg1) {
  switch_io_event_hook_video_read_frame *arg1 = (switch_io_event_hook_video_read_frame *) 0 ;
  
  arg1 = (switch_io_event_hook_video_read_frame *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_write_frame_write_frame_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_write_frame *arg1 = (switch_io_event_hook_write_frame *) 0 ;
  switch_write_frame_hook_t arg2 = (switch_write_frame_hook_t) 0 ;
  
  arg1 = (switch_io_event_hook_write_frame *)jarg1; 
  arg2 = (switch_write_frame_hook_t)jarg2; 
  if (arg1) (arg1)->write_frame = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_write_frame_write_frame_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_write_frame *arg1 = (switch_io_event_hook_write_frame *) 0 ;
  switch_write_frame_hook_t result;
  
  arg1 = (switch_io_event_hook_write_frame *)jarg1; 
  result = (switch_write_frame_hook_t) ((arg1)->write_frame);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_write_frame_next_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_write_frame *arg1 = (switch_io_event_hook_write_frame *) 0 ;
  switch_io_event_hook_write_frame *arg2 = (switch_io_event_hook_write_frame *) 0 ;
  
  arg1 = (switch_io_event_hook_write_frame *)jarg1; 
  arg2 = (switch_io_event_hook_write_frame *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_write_frame_next_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_write_frame *arg1 = (switch_io_event_hook_write_frame *) 0 ;
  switch_io_event_hook_write_frame *result = 0 ;
  
  arg1 = (switch_io_event_hook_write_frame *)jarg1; 
  result = (switch_io_event_hook_write_frame *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_io_event_hook_write_frame___() {
  void * jresult ;
  switch_io_event_hook_write_frame *result = 0 ;
  
  result = (switch_io_event_hook_write_frame *)new switch_io_event_hook_write_frame();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_write_frame___(void * jarg1) {
  switch_io_event_hook_write_frame *arg1 = (switch_io_event_hook_write_frame *) 0 ;
  
  arg1 = (switch_io_event_hook_write_frame *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_video_write_frame_video_write_frame_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_video_write_frame *arg1 = (switch_io_event_hook_video_write_frame *) 0 ;
  switch_video_write_frame_hook_t arg2 = (switch_video_write_frame_hook_t) 0 ;
  
  arg1 = (switch_io_event_hook_video_write_frame *)jarg1; 
  arg2 = (switch_video_write_frame_hook_t)jarg2; 
  if (arg1) (arg1)->video_write_frame = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_video_write_frame_video_write_frame_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_video_write_frame *arg1 = (switch_io_event_hook_video_write_frame *) 0 ;
  switch_video_write_frame_hook_t result;
  
  arg1 = (switch_io_event_hook_video_write_frame *)jarg1; 
  result = (switch_video_write_frame_hook_t) ((arg1)->video_write_frame);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_video_write_frame_next_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_video_write_frame *arg1 = (switch_io_event_hook_video_write_frame *) 0 ;
  switch_io_event_hook_video_write_frame *arg2 = (switch_io_event_hook_video_write_frame *) 0 ;
  
  arg1 = (switch_io_event_hook_video_write_frame *)jarg1; 
  arg2 = (switch_io_event_hook_video_write_frame *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_video_write_frame_next_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_video_write_frame *arg1 = (switch_io_event_hook_video_write_frame *) 0 ;
  switch_io_event_hook_video_write_frame *result = 0 ;
  
  arg1 = (switch_io_event_hook_video_write_frame *)jarg1; 
  result = (switch_io_event_hook_video_write_frame *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_io_event_hook_video_write_frame___() {
  void * jresult ;
  switch_io_event_hook_video_write_frame *result = 0 ;
  
  result = (switch_io_event_hook_video_write_frame *)new switch_io_event_hook_video_write_frame();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_video_write_frame___(void * jarg1) {
  switch_io_event_hook_video_write_frame *arg1 = (switch_io_event_hook_video_write_frame *) 0 ;
  
  arg1 = (switch_io_event_hook_video_write_frame *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_text_read_frame_text_read_frame_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_text_read_frame *arg1 = (switch_io_event_hook_text_read_frame *) 0 ;
  switch_read_frame_hook_t arg2 = (switch_read_frame_hook_t) 0 ;
  
  arg1 = (switch_io_event_hook_text_read_frame *)jarg1; 
  arg2 = (switch_read_frame_hook_t)jarg2; 
  if (arg1) (arg1)->text_read_frame = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_text_read_frame_text_read_frame_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_text_read_frame *arg1 = (switch_io_event_hook_text_read_frame *) 0 ;
  switch_read_frame_hook_t result;
  
  arg1 = (switch_io_event_hook_text_read_frame *)jarg1; 
  result = (switch_read_frame_hook_t) ((arg1)->text_read_frame);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_text_read_frame_next_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_text_read_frame *arg1 = (switch_io_event_hook_text_read_frame *) 0 ;
  switch_io_event_hook_text_read_frame *arg2 = (switch_io_event_hook_text_read_frame *) 0 ;
  
  arg1 = (switch_io_event_hook_text_read_frame *)jarg1; 
  arg2 = (switch_io_event_hook_text_read_frame *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_text_read_frame_next_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_text_read_frame *arg1 = (switch_io_event_hook_text_read_frame *) 0 ;
  switch_io_event_hook_text_read_frame *result = 0 ;
  
  arg1 = (switch_io_event_hook_text_read_frame *)jarg1; 
  result = (switch_io_event_hook_text_read_frame *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_io_event_hook_text_read_frame___() {
  void * jresult ;
  switch_io_event_hook_text_read_frame *result = 0 ;
  
  result = (switch_io_event_hook_text_read_frame *)new switch_io_event_hook_text_read_frame();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_text_read_frame___(void * jarg1) {
  switch_io_event_hook_text_read_frame *arg1 = (switch_io_event_hook_text_read_frame *) 0 ;
  
  arg1 = (switch_io_event_hook_text_read_frame *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_text_write_frame_text_write_frame_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_text_write_frame *arg1 = (switch_io_event_hook_text_write_frame *) 0 ;
  switch_video_write_frame_hook_t arg2 = (switch_video_write_frame_hook_t) 0 ;
  
  arg1 = (switch_io_event_hook_text_write_frame *)jarg1; 
  arg2 = (switch_video_write_frame_hook_t)jarg2; 
  if (arg1) (arg1)->text_write_frame = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_text_write_frame_text_write_frame_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_text_write_frame *arg1 = (switch_io_event_hook_text_write_frame *) 0 ;
  switch_video_write_frame_hook_t result;
  
  arg1 = (switch_io_event_hook_text_write_frame *)jarg1; 
  result = (switch_video_write_frame_hook_t) ((arg1)->text_write_frame);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_text_write_frame_next_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_text_write_frame *arg1 = (switch_io_event_hook_text_write_frame *) 0 ;
  switch_io_event_hook_text_write_frame *arg2 = (switch_io_event_hook_text_write_frame *) 0 ;
  
  arg1 = (switch_io_event_hook_text_write_frame *)jarg1; 
  arg2 = (switch_io_event_hook_text_write_frame *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_text_write_frame_next_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_text_write_frame *arg1 = (switch_io_event_hook_text_write_frame *) 0 ;
  switch_io_event_hook_text_write_frame *result = 0 ;
  
  arg1 = (switch_io_event_hook_text_write_frame *)jarg1; 
  result = (switch_io_event_hook_text_write_frame *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_io_event_hook_text_write_frame___() {
  void * jresult ;
  switch_io_event_hook_text_write_frame *result = 0 ;
  
  result = (switch_io_event_hook_text_write_frame *)new switch_io_event_hook_text_write_frame();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_text_write_frame___(void * jarg1) {
  switch_io_event_hook_text_write_frame *arg1 = (switch_io_event_hook_text_write_frame *) 0 ;
  
  arg1 = (switch_io_event_hook_text_write_frame *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_kill_channel_kill_channel_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_kill_channel *arg1 = (switch_io_event_hook_kill_channel *) 0 ;
  switch_kill_channel_hook_t arg2 = (switch_kill_channel_hook_t) 0 ;
  
  arg1 = (switch_io_event_hook_kill_channel *)jarg1; 
  arg2 = (switch_kill_channel_hook_t)jarg2; 
  if (arg1) (arg1)->kill_channel = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_kill_channel_kill_channel_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_kill_channel *arg1 = (switch_io_event_hook_kill_channel *) 0 ;
  switch_kill_channel_hook_t result;
  
  arg1 = (switch_io_event_hook_kill_channel *)jarg1; 
  result = (switch_kill_channel_hook_t) ((arg1)->kill_channel);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_kill_channel_next_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_kill_channel *arg1 = (switch_io_event_hook_kill_channel *) 0 ;
  switch_io_event_hook_kill_channel *arg2 = (switch_io_event_hook_kill_channel *) 0 ;
  
  arg1 = (switch_io_event_hook_kill_channel *)jarg1; 
  arg2 = (switch_io_event_hook_kill_channel *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_kill_channel_next_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_kill_channel *arg1 = (switch_io_event_hook_kill_channel *) 0 ;
  switch_io_event_hook_kill_channel *result = 0 ;
  
  arg1 = (switch_io_event_hook_kill_channel *)jarg1; 
  result = (switch_io_event_hook_kill_channel *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_io_event_hook_kill_channel___() {
  void * jresult ;
  switch_io_event_hook_kill_channel *result = 0 ;
  
  result = (switch_io_event_hook_kill_channel *)new switch_io_event_hook_kill_channel();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_kill_channel___(void * jarg1) {
  switch_io_event_hook_kill_channel *arg1 = (switch_io_event_hook_kill_channel *) 0 ;
  
  arg1 = (switch_io_event_hook_kill_channel *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_send_dtmf_send_dtmf_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_send_dtmf *arg1 = (switch_io_event_hook_send_dtmf *) 0 ;
  switch_send_dtmf_hook_t arg2 = (switch_send_dtmf_hook_t) 0 ;
  
  arg1 = (switch_io_event_hook_send_dtmf *)jarg1; 
  arg2 = (switch_send_dtmf_hook_t)jarg2; 
  if (arg1) (arg1)->send_dtmf = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_send_dtmf_send_dtmf_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_send_dtmf *arg1 = (switch_io_event_hook_send_dtmf *) 0 ;
  switch_send_dtmf_hook_t result;
  
  arg1 = (switch_io_event_hook_send_dtmf *)jarg1; 
  result = (switch_send_dtmf_hook_t) ((arg1)->send_dtmf);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_send_dtmf_next_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_send_dtmf *arg1 = (switch_io_event_hook_send_dtmf *) 0 ;
  switch_io_event_hook_send_dtmf *arg2 = (switch_io_event_hook_send_dtmf *) 0 ;
  
  arg1 = (switch_io_event_hook_send_dtmf *)jarg1; 
  arg2 = (switch_io_event_hook_send_dtmf *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_send_dtmf_next_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_send_dtmf *arg1 = (switch_io_event_hook_send_dtmf *) 0 ;
  switch_io_event_hook_send_dtmf *result = 0 ;
  
  arg1 = (switch_io_event_hook_send_dtmf *)jarg1; 
  result = (switch_io_event_hook_send_dtmf *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_io_event_hook_send_dtmf___() {
  void * jresult ;
  switch_io_event_hook_send_dtmf *result = 0 ;
  
  result = (switch_io_event_hook_send_dtmf *)new switch_io_event_hook_send_dtmf();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_send_dtmf___(void * jarg1) {
  switch_io_event_hook_send_dtmf *arg1 = (switch_io_event_hook_send_dtmf *) 0 ;
  
  arg1 = (switch_io_event_hook_send_dtmf *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_recv_dtmf_recv_dtmf_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_recv_dtmf *arg1 = (switch_io_event_hook_recv_dtmf *) 0 ;
  switch_recv_dtmf_hook_t arg2 = (switch_recv_dtmf_hook_t) 0 ;
  
  arg1 = (switch_io_event_hook_recv_dtmf *)jarg1; 
  arg2 = (switch_recv_dtmf_hook_t)jarg2; 
  if (arg1) (arg1)->recv_dtmf = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_recv_dtmf_recv_dtmf_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_recv_dtmf *arg1 = (switch_io_event_hook_recv_dtmf *) 0 ;
  switch_recv_dtmf_hook_t result;
  
  arg1 = (switch_io_event_hook_recv_dtmf *)jarg1; 
  result = (switch_recv_dtmf_hook_t) ((arg1)->recv_dtmf);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_recv_dtmf_next_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_recv_dtmf *arg1 = (switch_io_event_hook_recv_dtmf *) 0 ;
  switch_io_event_hook_recv_dtmf *arg2 = (switch_io_event_hook_recv_dtmf *) 0 ;
  
  arg1 = (switch_io_event_hook_recv_dtmf *)jarg1; 
  arg2 = (switch_io_event_hook_recv_dtmf *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_recv_dtmf_next_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_recv_dtmf *arg1 = (switch_io_event_hook_recv_dtmf *) 0 ;
  switch_io_event_hook_recv_dtmf *result = 0 ;
  
  arg1 = (switch_io_event_hook_recv_dtmf *)jarg1; 
  result = (switch_io_event_hook_recv_dtmf *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_io_event_hook_recv_dtmf___() {
  void * jresult ;
  switch_io_event_hook_recv_dtmf *result = 0 ;
  
  result = (switch_io_event_hook_recv_dtmf *)new switch_io_event_hook_recv_dtmf();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_recv_dtmf___(void * jarg1) {
  switch_io_event_hook_recv_dtmf *arg1 = (switch_io_event_hook_recv_dtmf *) 0 ;
  
  arg1 = (switch_io_event_hook_recv_dtmf *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_state_change_state_change_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_state_change *arg1 = (switch_io_event_hook_state_change *) 0 ;
  switch_state_change_hook_t arg2 = (switch_state_change_hook_t) 0 ;
  
  arg1 = (switch_io_event_hook_state_change *)jarg1; 
  arg2 = (switch_state_change_hook_t)jarg2; 
  if (arg1) (arg1)->state_change = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_state_change_state_change_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_state_change *arg1 = (switch_io_event_hook_state_change *) 0 ;
  switch_state_change_hook_t result;
  
  arg1 = (switch_io_event_hook_state_change *)jarg1; 
  result = (switch_state_change_hook_t) ((arg1)->state_change);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_state_change_next_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_state_change *arg1 = (switch_io_event_hook_state_change *) 0 ;
  switch_io_event_hook_state_change *arg2 = (switch_io_event_hook_state_change *) 0 ;
  
  arg1 = (switch_io_event_hook_state_change *)jarg1; 
  arg2 = (switch_io_event_hook_state_change *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_state_change_next_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_state_change *arg1 = (switch_io_event_hook_state_change *) 0 ;
  switch_io_event_hook_state_change *result = 0 ;
  
  arg1 = (switch_io_event_hook_state_change *)jarg1; 
  result = (switch_io_event_hook_state_change *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_io_event_hook_state_change___() {
  void * jresult ;
  switch_io_event_hook_state_change *result = 0 ;
  
  result = (switch_io_event_hook_state_change *)new switch_io_event_hook_state_change();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_state_change___(void * jarg1) {
  switch_io_event_hook_state_change *arg1 = (switch_io_event_hook_state_change *) 0 ;
  
  arg1 = (switch_io_event_hook_state_change *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_state_run_state_run_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_state_run *arg1 = (switch_io_event_hook_state_run *) 0 ;
  switch_state_run_hook_t arg2 = (switch_state_run_hook_t) 0 ;
  
  arg1 = (switch_io_event_hook_state_run *)jarg1; 
  arg2 = (switch_state_run_hook_t)jarg2; 
  if (arg1) (arg1)->state_run = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_state_run_state_run_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_state_run *arg1 = (switch_io_event_hook_state_run *) 0 ;
  switch_state_run_hook_t result;
  
  arg1 = (switch_io_event_hook_state_run *)jarg1; 
  result = (switch_state_run_hook_t) ((arg1)->state_run);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_state_run_next_set___(void * jarg1, void * jarg2) {
  switch_io_event_hook_state_run *arg1 = (switch_io_event_hook_state_run *) 0 ;
  switch_io_event_hook_state_run *arg2 = (switch_io_event_hook_state_run *) 0 ;
  
  arg1 = (switch_io_event_hook_state_run *)jarg1; 
  arg2 = (switch_io_event_hook_state_run *)jarg2; 
  if (arg1) (arg1)->next = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hook_state_run_next_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_state_run *arg1 = (switch_io_event_hook_state_run *) 0 ;
  switch_io_event_hook_state_run *result = 0 ;
  
  arg1 = (switch_io_event_hook_state_run *)jarg1; 
  result = (switch_io_event_hook_state_run *) ((arg1)->next);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_io_event_hook_state_run___() {
  void * jresult ;
  switch_io_event_hook_state_run *result = 0 ;
  
  result = (switch_io_event_hook_state_run *)new switch_io_event_hook_state_run();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_state_run___(void * jarg1) {
  switch_io_event_hook_state_run *arg1 = (switch_io_event_hook_state_run *) 0 ;
  
  arg1 = (switch_io_event_hook_state_run *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_outgoing_channel_set___(void * jarg1, void * jarg2) {
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_outgoing_channel_t *arg2 = (switch_io_event_hook_outgoing_channel_t *) 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  arg2 = (switch_io_event_hook_outgoing_channel_t *)jarg2; 
  if (arg1) (arg1)->outgoing_channel = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_outgoing_channel_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_outgoing_channel_t *result = 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  result = (switch_io_event_hook_outgoing_channel_t *) ((arg1)->outgoing_channel);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_receive_message_set___(void * jarg1, void * jarg2) {
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_receive_message_t *arg2 = (switch_io_event_hook_receive_message_t *) 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  arg2 = (switch_io_event_hook_receive_message_t *)jarg2; 
  if (arg1) (arg1)->receive_message = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_receive_message_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_receive_message_t *result = 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  result = (switch_io_event_hook_receive_message_t *) ((arg1)->receive_message);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_receive_event_set___(void * jarg1, void * jarg2) {
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_receive_event_t *arg2 = (switch_io_event_hook_receive_event_t *) 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  arg2 = (switch_io_event_hook_receive_event_t *)jarg2; 
  if (arg1) (arg1)->receive_event = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_receive_event_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_receive_event_t *result = 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  result = (switch_io_event_hook_receive_event_t *) ((arg1)->receive_event);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_read_frame_set___(void * jarg1, void * jarg2) {
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_read_frame_t *arg2 = (switch_io_event_hook_read_frame_t *) 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  arg2 = (switch_io_event_hook_read_frame_t *)jarg2; 
  if (arg1) (arg1)->read_frame = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_read_frame_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_read_frame_t *result = 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  result = (switch_io_event_hook_read_frame_t *) ((arg1)->read_frame);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_video_read_frame_set___(void * jarg1, void * jarg2) {
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_video_read_frame_t *arg2 = (switch_io_event_hook_video_read_frame_t *) 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  arg2 = (switch_io_event_hook_video_read_frame_t *)jarg2; 
  if (arg1) (arg1)->video_read_frame = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_video_read_frame_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_video_read_frame_t *result = 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  result = (switch_io_event_hook_video_read_frame_t *) ((arg1)->video_read_frame);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_write_frame_set___(void * jarg1, void * jarg2) {
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_write_frame_t *arg2 = (switch_io_event_hook_write_frame_t *) 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  arg2 = (switch_io_event_hook_write_frame_t *)jarg2; 
  if (arg1) (arg1)->write_frame = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_write_frame_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_write_frame_t *result = 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  result = (switch_io_event_hook_write_frame_t *) ((arg1)->write_frame);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_video_write_frame_set___(void * jarg1, void * jarg2) {
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_video_write_frame_t *arg2 = (switch_io_event_hook_video_write_frame_t *) 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  arg2 = (switch_io_event_hook_video_write_frame_t *)jarg2; 
  if (arg1) (arg1)->video_write_frame = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_video_write_frame_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_video_write_frame_t *result = 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  result = (switch_io_event_hook_video_write_frame_t *) ((arg1)->video_write_frame);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_text_write_frame_set___(void * jarg1, void * jarg2) {
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_text_write_frame_t *arg2 = (switch_io_event_hook_text_write_frame_t *) 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  arg2 = (switch_io_event_hook_text_write_frame_t *)jarg2; 
  if (arg1) (arg1)->text_write_frame = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_text_write_frame_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_text_write_frame_t *result = 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  result = (switch_io_event_hook_text_write_frame_t *) ((arg1)->text_write_frame);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_text_read_frame_set___(void * jarg1, void * jarg2) {
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_text_read_frame_t *arg2 = (switch_io_event_hook_text_read_frame_t *) 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  arg2 = (switch_io_event_hook_text_read_frame_t *)jarg2; 
  if (arg1) (arg1)->text_read_frame = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_text_read_frame_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_text_read_frame_t *result = 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  result = (switch_io_event_hook_text_read_frame_t *) ((arg1)->text_read_frame);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_kill_channel_set___(void * jarg1, void * jarg2) {
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_kill_channel_t *arg2 = (switch_io_event_hook_kill_channel_t *) 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  arg2 = (switch_io_event_hook_kill_channel_t *)jarg2; 
  if (arg1) (arg1)->kill_channel = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_kill_channel_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_kill_channel_t *result = 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  result = (switch_io_event_hook_kill_channel_t *) ((arg1)->kill_channel);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_send_dtmf_set___(void * jarg1, void * jarg2) {
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_send_dtmf_t *arg2 = (switch_io_event_hook_send_dtmf_t *) 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  arg2 = (switch_io_event_hook_send_dtmf_t *)jarg2; 
  if (arg1) (arg1)->send_dtmf = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_send_dtmf_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_send_dtmf_t *result = 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  result = (switch_io_event_hook_send_dtmf_t *) ((arg1)->send_dtmf);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_recv_dtmf_set___(void * jarg1, void * jarg2) {
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_recv_dtmf_t *arg2 = (switch_io_event_hook_recv_dtmf_t *) 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  arg2 = (switch_io_event_hook_recv_dtmf_t *)jarg2; 
  if (arg1) (arg1)->recv_dtmf = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_recv_dtmf_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_recv_dtmf_t *result = 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  result = (switch_io_event_hook_recv_dtmf_t *) ((arg1)->recv_dtmf);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_state_change_set___(void * jarg1, void * jarg2) {
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_state_change_t *arg2 = (switch_io_event_hook_state_change_t *) 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  arg2 = (switch_io_event_hook_state_change_t *)jarg2; 
  if (arg1) (arg1)->state_change = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_state_change_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_state_change_t *result = 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  result = (switch_io_event_hook_state_change_t *) ((arg1)->state_change);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_state_run_set___(void * jarg1, void * jarg2) {
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_state_run_t *arg2 = (switch_io_event_hook_state_run_t *) 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  arg2 = (switch_io_event_hook_state_run_t *)jarg2; 
  if (arg1) (arg1)->state_run = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_io_event_hooks_state_run_get___(void * jarg1) {
  void * jresult ;
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_state_run_t *result = 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  result = (switch_io_event_hook_state_run_t *) ((arg1)->state_run);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_io_event_hooks___() {
  void * jresult ;
  switch_io_event_hooks *result = 0 ;
  
  result = (switch_io_event_hooks *)new switch_io_event_hooks();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_io_event_hooks___(void * jarg1) {
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_add_outgoing_channel___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_outgoing_channel_hook_t arg2 = (switch_outgoing_channel_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_outgoing_channel_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_add_outgoing_channel(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_add_receive_message___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_receive_message_hook_t arg2 = (switch_receive_message_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_receive_message_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_add_receive_message(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_add_receive_event___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_receive_event_hook_t arg2 = (switch_receive_event_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_receive_event_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_add_receive_event(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_add_state_change___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_state_change_hook_t arg2 = (switch_state_change_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_state_change_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_add_state_change(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_add_state_run___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_state_run_hook_t arg2 = (switch_state_run_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_state_run_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_add_state_run(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_add_read_frame___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_read_frame_hook_t arg2 = (switch_read_frame_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_read_frame_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_add_read_frame(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_add_write_frame___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_write_frame_hook_t arg2 = (switch_write_frame_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_write_frame_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_add_write_frame(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_add_video_read_frame___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_video_read_frame_hook_t arg2 = (switch_video_read_frame_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_video_read_frame_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_add_video_read_frame(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_add_video_write_frame___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_video_write_frame_hook_t arg2 = (switch_video_write_frame_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_video_write_frame_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_add_video_write_frame(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_add_text_read_frame___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_text_read_frame_hook_t arg2 = (switch_text_read_frame_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_text_read_frame_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_add_text_read_frame(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_add_text_write_frame___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_text_write_frame_hook_t arg2 = (switch_text_write_frame_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_text_write_frame_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_add_text_write_frame(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_add_kill_channel___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_kill_channel_hook_t arg2 = (switch_kill_channel_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_kill_channel_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_add_kill_channel(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_add_send_dtmf___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_send_dtmf_hook_t arg2 = (switch_send_dtmf_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_send_dtmf_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_add_send_dtmf(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_add_recv_dtmf___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_recv_dtmf_hook_t arg2 = (switch_recv_dtmf_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_recv_dtmf_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_add_recv_dtmf(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_outgoing_channel___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_outgoing_channel_hook_t arg2 = (switch_outgoing_channel_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_outgoing_channel_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_remove_outgoing_channel(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_receive_message___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_receive_message_hook_t arg2 = (switch_receive_message_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_receive_message_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_remove_receive_message(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_receive_event___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_receive_event_hook_t arg2 = (switch_receive_event_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_receive_event_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_remove_receive_event(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_state_change___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_state_change_hook_t arg2 = (switch_state_change_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_state_change_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_remove_state_change(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_state_run___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_state_run_hook_t arg2 = (switch_state_run_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_state_run_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_remove_state_run(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_read_frame___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_read_frame_hook_t arg2 = (switch_read_frame_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_read_frame_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_remove_read_frame(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_write_frame___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_write_frame_hook_t arg2 = (switch_write_frame_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_write_frame_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_remove_write_frame(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_video_read_frame___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_video_read_frame_hook_t arg2 = (switch_video_read_frame_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_video_read_frame_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_remove_video_read_frame(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_video_write_frame___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_video_write_frame_hook_t arg2 = (switch_video_write_frame_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_video_write_frame_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_remove_video_write_frame(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_text_read_frame___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_text_read_frame_hook_t arg2 = (switch_text_read_frame_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_text_read_frame_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_remove_text_read_frame(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_text_write_frame___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_text_write_frame_hook_t arg2 = (switch_text_write_frame_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_text_write_frame_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_remove_text_write_frame(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_kill_channel___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_kill_channel_hook_t arg2 = (switch_kill_channel_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_kill_channel_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_remove_kill_channel(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_send_dtmf___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_send_dtmf_hook_t arg2 = (switch_send_dtmf_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_send_dtmf_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_remove_send_dtmf(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_recv_dtmf___(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_recv_dtmf_hook_t arg2 = (switch_recv_dtmf_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_recv_dtmf_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_remove_recv_dtmf(arg1,arg2);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_scheduler_task_created_set___(void * jarg1, long long jarg2) {
  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
  int64_t arg2 ;
  
  arg1 = (switch_scheduler_task *)jarg1; 
  arg2 = (int64_t)jarg2; 
  if (arg1) (arg1)->created = arg2;
}


SWIGEXPORT long long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_scheduler_task_created_get___(void * jarg1) {
  long long jresult ;
  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
  int64_t result;
  
  arg1 = (switch_scheduler_task *)jarg1; 
  result = (int64_t) ((arg1)->created);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_scheduler_task_runtime_set___(void * jarg1, long long jarg2) {
  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
  int64_t arg2 ;
  
  arg1 = (switch_scheduler_task *)jarg1; 
  arg2 = (int64_t)jarg2; 
  if (arg1) (arg1)->runtime = arg2;
}


SWIGEXPORT long long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_scheduler_task_runtime_get___(void * jarg1) {
  long long jresult ;
  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
  int64_t result;
  
  arg1 = (switch_scheduler_task *)jarg1; 
  result = (int64_t) ((arg1)->runtime);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_scheduler_task_cmd_id_set___(void * jarg1, unsigned long jarg2) {
  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_scheduler_task *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->cmd_id = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_scheduler_task_cmd_id_get___(void * jarg1) {
  unsigned long jresult ;
  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
  uint32_t result;
  
  arg1 = (switch_scheduler_task *)jarg1; 
  result = (uint32_t) ((arg1)->cmd_id);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_scheduler_task_repeat_set___(void * jarg1, unsigned long jarg2) {
  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_scheduler_task *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->repeat = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_scheduler_task_repeat_get___(void * jarg1) {
  unsigned long jresult ;
  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
  uint32_t result;
  
  arg1 = (switch_scheduler_task *)jarg1; 
  result = (uint32_t) ((arg1)->repeat);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_scheduler_task_group_set___(void * jarg1, char * jarg2) {
  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (switch_scheduler_task *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->group;
    if (arg2) {
      arg1->group = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->group, (const char *)arg2);
    } else {
      arg1->group = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_scheduler_task_group_get___(void * jarg1) {
  char * jresult ;
  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_scheduler_task *)jarg1; 
  result = (char *) ((arg1)->group);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_scheduler_task_cmd_arg_set___(void * jarg1, void * jarg2) {
  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (switch_scheduler_task *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->cmd_arg = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_scheduler_task_cmd_arg_get___(void * jarg1) {
  void * jresult ;
  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
  void *result = 0 ;
  
  arg1 = (switch_scheduler_task *)jarg1; 
  result = (void *) ((arg1)->cmd_arg);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_scheduler_task_task_id_set___(void * jarg1, unsigned long jarg2) {
  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (switch_scheduler_task *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->task_id = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_scheduler_task_task_id_get___(void * jarg1) {
  unsigned long jresult ;
  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
  uint32_t result;
  
  arg1 = (switch_scheduler_task *)jarg1; 
  result = (uint32_t) ((arg1)->task_id);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_scheduler_task_hash_set___(void * jarg1, unsigned long jarg2) {
  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
  unsigned long arg2 ;
  
  arg1 = (switch_scheduler_task *)jarg1; 
  arg2 = (unsigned long)jarg2; 
  if (arg1) (arg1)->hash = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_scheduler_task_hash_get___(void * jarg1) {
  unsigned long jresult ;
  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
  unsigned long result;
  
  arg1 = (switch_scheduler_task *)jarg1; 
  result = (unsigned long) ((arg1)->hash);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_scheduler_task___() {
  void * jresult ;
  switch_scheduler_task *result = 0 ;
  
  result = (switch_scheduler_task *)new switch_scheduler_task();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_scheduler_task___(void * jarg1) {
  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
  
  arg1 = (switch_scheduler_task *)jarg1; 
  delete arg1;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_scheduler_add_task___(void * jarg1, void * jarg2, char * jarg3, char * jarg4, unsigned long jarg5, void * jarg6, unsigned long jarg7) {
  unsigned long jresult ;
  time_t arg1 ;
  switch_scheduler_func_t arg2 = (switch_scheduler_func_t) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  uint32_t arg5 ;
  void *arg6 = (void *) 0 ;
  switch_scheduler_flag_t arg7 ;
  time_t *argp1 ;
  uint32_t result;
  
  argp1 = (time_t *)jarg1; 
  if (!argp1) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null time_t", 0);
    return 0;
  }
  arg1 = *argp1; 
  arg2 = (switch_scheduler_func_t)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (uint32_t)jarg5; 
  arg6 = (void *)jarg6; 
  arg7 = (switch_scheduler_flag_t)jarg7; 
  result = (uint32_t)switch_scheduler_add_task(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5,arg6,arg7);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_scheduler_add_task_ex___(void * jarg1, void * jarg2, char * jarg3, char * jarg4, unsigned long jarg5, void * jarg6, unsigned long jarg7, void * jarg8) {
  unsigned long jresult ;
  time_t arg1 ;
  switch_scheduler_func_t arg2 = (switch_scheduler_func_t) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  uint32_t arg5 ;
  void *arg6 = (void *) 0 ;
  switch_scheduler_flag_t arg7 ;
  uint32_t *arg8 = (uint32_t *) 0 ;
  time_t *argp1 ;
  uint32_t result;
  
  argp1 = (time_t *)jarg1; 
  if (!argp1) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null time_t", 0);
    return 0;
  }
  arg1 = *argp1; 
  arg2 = (switch_scheduler_func_t)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (uint32_t)jarg5; 
  arg6 = (void *)jarg6; 
  arg7 = (switch_scheduler_flag_t)jarg7; 
  arg8 = (uint32_t *)jarg8; 
  result = (uint32_t)switch_scheduler_add_task_ex(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5,arg6,arg7,arg8);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_scheduler_del_task_id___(unsigned long jarg1) {
  unsigned long jresult ;
  uint32_t arg1 ;
  uint32_t result;
  
  arg1 = (uint32_t)jarg1; 
  result = (uint32_t)switch_scheduler_del_task_id(arg1);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_scheduler_del_task_group___(char * jarg1) {
  unsigned long jresult ;
  char *arg1 = (char *) 0 ;
  uint32_t result;
  
  arg1 = (char *)jarg1; 
  result = (uint32_t)switch_scheduler_del_task_group((char const *)arg1);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_scheduler_task_thread_start___() {
  switch_scheduler_task_thread_start();
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_scheduler_task_thread_stop___() {
  switch_scheduler_task_thread_stop();
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_config_file_set___(void * jarg1, void * jarg2) {
  switch_config *arg1 = (switch_config *) 0 ;
  FILE *arg2 = (FILE *) 0 ;
  
  arg1 = (switch_config *)jarg1; 
  arg2 = (FILE *)jarg2; 
  if (arg1) (arg1)->file = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_config_file_get___(void * jarg1) {
  void * jresult ;
  switch_config *arg1 = (switch_config *) 0 ;
  FILE *result = 0 ;
  
  arg1 = (switch_config *)jarg1; 
  result = (FILE *) ((arg1)->file);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_config_path_set___(void * jarg1, char * jarg2) {
  switch_config *arg1 = (switch_config *) 0 ;
  char *arg2 ;
  
  arg1 = (switch_config *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if(arg2) {
      strncpy((char*)arg1->path, (const char *)arg2, 512-1);
      arg1->path[512-1] = 0;
    } else {
      arg1->path[0] = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_config_path_get___(void * jarg1) {
  char * jresult ;
  switch_config *arg1 = (switch_config *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_config *)jarg1; 
  result = (char *)(char *) ((arg1)->path);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_config_category_set___(void * jarg1, char * jarg2) {
  switch_config *arg1 = (switch_config *) 0 ;
  char *arg2 ;
  
  arg1 = (switch_config *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if(arg2) {
      strncpy((char*)arg1->category, (const char *)arg2, 256-1);
      arg1->category[256-1] = 0;
    } else {
      arg1->category[0] = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_config_category_get___(void * jarg1) {
  char * jresult ;
  switch_config *arg1 = (switch_config *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_config *)jarg1; 
  result = (char *)(char *) ((arg1)->category);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_config_section_set___(void * jarg1, char * jarg2) {
  switch_config *arg1 = (switch_config *) 0 ;
  char *arg2 ;
  
  arg1 = (switch_config *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if(arg2) {
      strncpy((char*)arg1->section, (const char *)arg2, 256-1);
      arg1->section[256-1] = 0;
    } else {
      arg1->section[0] = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_config_section_get___(void * jarg1) {
  char * jresult ;
  switch_config *arg1 = (switch_config *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_config *)jarg1; 
  result = (char *)(char *) ((arg1)->section);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_config_buf_set___(void * jarg1, char * jarg2) {
  switch_config *arg1 = (switch_config *) 0 ;
  char *arg2 ;
  
  arg1 = (switch_config *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if(arg2) {
      strncpy((char*)arg1->buf, (const char *)arg2, 1024-1);
      arg1->buf[1024-1] = 0;
    } else {
      arg1->buf[0] = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_config_buf_get___(void * jarg1) {
  char * jresult ;
  switch_config *arg1 = (switch_config *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_config *)jarg1; 
  result = (char *)(char *) ((arg1)->buf);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_config_lineno_set___(void * jarg1, int jarg2) {
  switch_config *arg1 = (switch_config *) 0 ;
  int arg2 ;
  
  arg1 = (switch_config *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->lineno = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_config_lineno_get___(void * jarg1) {
  int jresult ;
  switch_config *arg1 = (switch_config *) 0 ;
  int result;
  
  arg1 = (switch_config *)jarg1; 
  result = (int) ((arg1)->lineno);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_config_catno_set___(void * jarg1, int jarg2) {
  switch_config *arg1 = (switch_config *) 0 ;
  int arg2 ;
  
  arg1 = (switch_config *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->catno = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_config_catno_get___(void * jarg1) {
  int jresult ;
  switch_config *arg1 = (switch_config *) 0 ;
  int result;
  
  arg1 = (switch_config *)jarg1; 
  result = (int) ((arg1)->catno);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_config_sectno_set___(void * jarg1, int jarg2) {
  switch_config *arg1 = (switch_config *) 0 ;
  int arg2 ;
  
  arg1 = (switch_config *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->sectno = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_config_sectno_get___(void * jarg1) {
  int jresult ;
  switch_config *arg1 = (switch_config *) 0 ;
  int result;
  
  arg1 = (switch_config *)jarg1; 
  result = (int) ((arg1)->sectno);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_config_lockto_set___(void * jarg1, int jarg2) {
  switch_config *arg1 = (switch_config *) 0 ;
  int arg2 ;
  
  arg1 = (switch_config *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->lockto = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_config_lockto_get___(void * jarg1) {
  int jresult ;
  switch_config *arg1 = (switch_config *) 0 ;
  int result;
  
  arg1 = (switch_config *)jarg1; 
  result = (int) ((arg1)->lockto);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_switch_config___() {
  void * jresult ;
  switch_config *result = 0 ;
  
  result = (switch_config *)new switch_config();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_switch_config___(void * jarg1) {
  switch_config *arg1 = (switch_config *) 0 ;
  
  arg1 = (switch_config *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_config_open_file___(void * jarg1, char * jarg2) {
  int jresult ;
  switch_config_t *arg1 = (switch_config_t *) 0 ;
  char *arg2 = (char *) 0 ;
  int result;
  
  arg1 = (switch_config_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (int)switch_config_open_file(arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_config_close_file___(void * jarg1) {
  switch_config_t *arg1 = (switch_config_t *) 0 ;
  
  arg1 = (switch_config_t *)jarg1; 
  switch_config_close_file(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_config_next_pair___(void * jarg1, void * jarg2, void * jarg3) {
  int jresult ;
  switch_config_t *arg1 = (switch_config_t *) 0 ;
  char **arg2 = (char **) 0 ;
  char **arg3 = (char **) 0 ;
  int result;
  
  arg1 = (switch_config_t *)jarg1; 
  arg2 = (char **)jarg2; 
  arg3 = (char **)jarg3; 
  result = (int)switch_config_next_pair(arg1,arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_setGlobalVariable___(char * jarg1, char * jarg2) {
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  setGlobalVariable(arg1,arg2);
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_getGlobalVariable___(char * jarg1) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (char *)getGlobalVariable(arg1);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  free(result);
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_consoleLog___(char * jarg1, char * jarg2) {
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  consoleLog(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_consoleLog2___(char * jarg1, char * jarg2, char * jarg3, int jarg4, char * jarg5) {
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  char *arg5 = (char *) 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  arg5 = (char *)jarg5; 
  consoleLog2(arg1,arg2,arg3,arg4,arg5);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_consoleCleanLog___(char * jarg1) {
  char *arg1 = (char *) 0 ;
  
  arg1 = (char *)jarg1; 
  consoleCleanLog(arg1);
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_running___() {
  unsigned int jresult ;
  bool result;
  
  result = (bool)running();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_email___(char * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5, char * jarg6, char * jarg7) {
  unsigned int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) NULL ;
  char *arg4 = (char *) NULL ;
  char *arg5 = (char *) NULL ;
  char *arg6 = (char *) NULL ;
  char *arg7 = (char *) NULL ;
  bool result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (char *)jarg6; 
  arg7 = (char *)jarg7; 
  result = (bool)email(arg1,arg2,arg3,arg4,arg5,arg6,arg7);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_IvrMenu___(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5, char * jarg6, char * jarg7, char * jarg8, char * jarg9, char * jarg10, char * jarg11, int jarg12, int jarg13, int jarg14, int jarg15, int jarg16, int jarg17) {
  void * jresult ;
  IVRMenu *arg1 = (IVRMenu *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  char *arg6 = (char *) 0 ;
  char *arg7 = (char *) 0 ;
  char *arg8 = (char *) 0 ;
  char *arg9 = (char *) 0 ;
  char *arg10 = (char *) 0 ;
  char *arg11 = (char *) 0 ;
  int arg12 ;
  int arg13 ;
  int arg14 ;
  int arg15 ;
  int arg16 ;
  int arg17 ;
  IVRMenu *result = 0 ;
  
  arg1 = (IVRMenu *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (char *)jarg6; 
  arg7 = (char *)jarg7; 
  arg8 = (char *)jarg8; 
  arg9 = (char *)jarg9; 
  arg10 = (char *)jarg10; 
  arg11 = (char *)jarg11; 
  arg12 = (int)jarg12; 
  arg13 = (int)jarg13; 
  arg14 = (int)jarg14; 
  arg15 = (int)jarg15; 
  arg16 = (int)jarg16; 
  arg17 = (int)jarg17; 
  result = (IVRMenu *)new IVRMenu(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7,(char const *)arg8,(char const *)arg9,(char const *)arg10,(char const *)arg11,arg12,arg13,arg14,arg15,arg16,arg17);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_IvrMenu___(void * jarg1) {
  IVRMenu *arg1 = (IVRMenu *) 0 ;
  
  arg1 = (IVRMenu *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_IvrMenu_bindAction___(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
  IVRMenu *arg1 = (IVRMenu *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  
  arg1 = (IVRMenu *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  (arg1)->bindAction(arg2,(char const *)arg3,(char const *)arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_IvrMenu_Execute___(void * jarg1, void * jarg2, char * jarg3) {
  IVRMenu *arg1 = (IVRMenu *) 0 ;
  CoreSession *arg2 = (CoreSession *) 0 ;
  char *arg3 = (char *) 0 ;
  
  arg1 = (IVRMenu *)jarg1; 
  arg2 = (CoreSession *)jarg2; 
  arg3 = (char *)jarg3; 
  (arg1)->execute(arg2,(char const *)arg3);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_Api___(void * jarg1) {
  void * jresult ;
  CoreSession *arg1 = (CoreSession *) NULL ;
  API *result = 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  result = (API *)new API(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_Api___(void * jarg1) {
  API *arg1 = (API *) 0 ;
  
  arg1 = (API *)jarg1; 
  delete arg1;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_Api_Execute___(void * jarg1, char * jarg2, char * jarg3) {
  char * jresult ;
  API *arg1 = (API *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) NULL ;
  char *result = 0 ;
  
  arg1 = (API *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (char *)(arg1)->execute((char const *)arg2,(char const *)arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  free(result);
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_Api_ExecuteString___(void * jarg1, char * jarg2) {
  char * jresult ;
  API *arg1 = (API *) 0 ;
  char *arg2 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (API *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (char *)(arg1)->executeString((char const *)arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  free(result);
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_Api_getTime___(void * jarg1) {
  char * jresult ;
  API *arg1 = (API *) 0 ;
  char *result = 0 ;
  
  arg1 = (API *)jarg1; 
  result = (char *)(arg1)->getTime();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_input_callback_state_t_function_set___(void * jarg1, void * jarg2) {
  input_callback_state *arg1 = (input_callback_state *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (input_callback_state *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->function = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_input_callback_state_t_function_get___(void * jarg1) {
  void * jresult ;
  input_callback_state *arg1 = (input_callback_state *) 0 ;
  void *result = 0 ;
  
  arg1 = (input_callback_state *)jarg1; 
  result = (void *) ((arg1)->function);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_input_callback_state_t_threadState_set___(void * jarg1, void * jarg2) {
  input_callback_state *arg1 = (input_callback_state *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (input_callback_state *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->threadState = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_input_callback_state_t_threadState_get___(void * jarg1) {
  void * jresult ;
  input_callback_state *arg1 = (input_callback_state *) 0 ;
  void *result = 0 ;
  
  arg1 = (input_callback_state *)jarg1; 
  result = (void *) ((arg1)->threadState);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_input_callback_state_t_extra_set___(void * jarg1, void * jarg2) {
  input_callback_state *arg1 = (input_callback_state *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (input_callback_state *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->extra = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_input_callback_state_t_extra_get___(void * jarg1) {
  void * jresult ;
  input_callback_state *arg1 = (input_callback_state *) 0 ;
  void *result = 0 ;
  
  arg1 = (input_callback_state *)jarg1; 
  result = (void *) ((arg1)->extra);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_input_callback_state_t_funcargs_set___(void * jarg1, char * jarg2) {
  input_callback_state *arg1 = (input_callback_state *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (input_callback_state *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->funcargs;
    if (arg2) {
      arg1->funcargs = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->funcargs, (const char *)arg2);
    } else {
      arg1->funcargs = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_input_callback_state_t_funcargs_get___(void * jarg1) {
  char * jresult ;
  input_callback_state *arg1 = (input_callback_state *) 0 ;
  char *result = 0 ;
  
  arg1 = (input_callback_state *)jarg1; 
  result = (char *) ((arg1)->funcargs);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_input_callback_state_t___() {
  void * jresult ;
  input_callback_state *result = 0 ;
  
  result = (input_callback_state *)new input_callback_state();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_input_callback_state_t___(void * jarg1) {
  input_callback_state *arg1 = (input_callback_state *) 0 ;
  
  arg1 = (input_callback_state *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_DTMF_digit_set___(void * jarg1, char jarg2) {
  DTMF *arg1 = (DTMF *) 0 ;
  char arg2 ;
  
  arg1 = (DTMF *)jarg1; 
  arg2 = (char)jarg2; 
  if (arg1) (arg1)->digit = arg2;
}


SWIGEXPORT char SWIGSTDCALL CSharp_FreeSWITCHfNative_DTMF_digit_get___(void * jarg1) {
  char jresult ;
  DTMF *arg1 = (DTMF *) 0 ;
  char result;
  
  arg1 = (DTMF *)jarg1; 
  result = (char) ((arg1)->digit);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_DTMF_duration_set___(void * jarg1, unsigned long jarg2) {
  DTMF *arg1 = (DTMF *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (DTMF *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->duration = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_DTMF_duration_get___(void * jarg1) {
  unsigned long jresult ;
  DTMF *arg1 = (DTMF *) 0 ;
  uint32_t result;
  
  arg1 = (DTMF *)jarg1; 
  result = (uint32_t) ((arg1)->duration);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_DTMF___(char jarg1, unsigned long jarg2) {
  void * jresult ;
  char arg1 ;
  uint32_t arg2 = (uint32_t) 2000 ;
  DTMF *result = 0 ;
  
  arg1 = (char)jarg1; 
  arg2 = (uint32_t)jarg2; 
  result = (DTMF *)new DTMF(arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_DTMF___(void * jarg1) {
  DTMF *arg1 = (DTMF *) 0 ;
  
  arg1 = (DTMF *)jarg1; 
  delete arg1;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_Stream__SWIG_0___() {
  void * jresult ;
  Stream *result = 0 ;
  
  result = (Stream *)new Stream();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_Stream__SWIG_1___(void * jarg1) {
  void * jresult ;
  switch_stream_handle_t *arg1 = (switch_stream_handle_t *) 0 ;
  Stream *result = 0 ;
  
  arg1 = (switch_stream_handle_t *)jarg1; 
  result = (Stream *)new Stream(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_Stream___(void * jarg1) {
  Stream *arg1 = (Stream *) 0 ;
  
  arg1 = (Stream *)jarg1; 
  delete arg1;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_Stream_read___(void * jarg1, void * jarg2) {
  char * jresult ;
  Stream *arg1 = (Stream *) 0 ;
  int *arg2 = (int *) 0 ;
  char *result = 0 ;
  
  arg1 = (Stream *)jarg1; 
  arg2 = (int *)jarg2; 
  result = (char *)(arg1)->read(arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_Stream_Write___(void * jarg1, char * jarg2) {
  Stream *arg1 = (Stream *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (Stream *)jarg1; 
  arg2 = (char *)jarg2; 
  (arg1)->write((char const *)arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_Stream_raw_write___(void * jarg1, char * jarg2, int jarg3) {
  Stream *arg1 = (Stream *) 0 ;
  char *arg2 = (char *) 0 ;
  int arg3 ;
  
  arg1 = (Stream *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (int)jarg3; 
  (arg1)->raw_write((char const *)arg2,arg3);
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_Stream_get_data___(void * jarg1) {
  char * jresult ;
  Stream *arg1 = (Stream *) 0 ;
  char *result = 0 ;
  
  arg1 = (Stream *)jarg1; 
  result = (char *)(arg1)->get_data();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_Event_InternalEvent_set___(void * jarg1, void * jarg2) {
  Event *arg1 = (Event *) 0 ;
  switch_event_t *arg2 = (switch_event_t *) 0 ;
  
  arg1 = (Event *)jarg1; 
  arg2 = (switch_event_t *)jarg2; 
  if (arg1) (arg1)->event = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_Event_InternalEvent_get___(void * jarg1) {
  void * jresult ;
  Event *arg1 = (Event *) 0 ;
  switch_event_t *result = 0 ;
  
  arg1 = (Event *)jarg1; 
  result = (switch_event_t *) ((arg1)->event);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_Event_serialized_string_set___(void * jarg1, char * jarg2) {
  Event *arg1 = (Event *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (Event *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->serialized_string;
    if (arg2) {
      arg1->serialized_string = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->serialized_string, (const char *)arg2);
    } else {
      arg1->serialized_string = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_Event_serialized_string_get___(void * jarg1) {
  char * jresult ;
  Event *arg1 = (Event *) 0 ;
  char *result = 0 ;
  
  arg1 = (Event *)jarg1; 
  result = (char *) ((arg1)->serialized_string);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_Event_mine_set___(void * jarg1, int jarg2) {
  Event *arg1 = (Event *) 0 ;
  int arg2 ;
  
  arg1 = (Event *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->mine = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_Event_mine_get___(void * jarg1) {
  int jresult ;
  Event *arg1 = (Event *) 0 ;
  int result;
  
  arg1 = (Event *)jarg1; 
  result = (int) ((arg1)->mine);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_Event__SWIG_0___(char * jarg1, char * jarg2) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) NULL ;
  Event *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (Event *)new Event((char const *)arg1,(char const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_Event__SWIG_1___(void * jarg1, int jarg2) {
  void * jresult ;
  switch_event_t *arg1 = (switch_event_t *) 0 ;
  int arg2 = (int) 0 ;
  Event *result = 0 ;
  
  arg1 = (switch_event_t *)jarg1; 
  arg2 = (int)jarg2; 
  result = (Event *)new Event(arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_Event___(void * jarg1) {
  Event *arg1 = (Event *) 0 ;
  
  arg1 = (Event *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_Event_chat_execute___(void * jarg1, char * jarg2, char * jarg3) {
  int jresult ;
  Event *arg1 = (Event *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) NULL ;
  int result;
  
  arg1 = (Event *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (int)(arg1)->chat_execute((char const *)arg2,(char const *)arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_Event_chat_send___(void * jarg1, char * jarg2) {
  int jresult ;
  Event *arg1 = (Event *) 0 ;
  char *arg2 = (char *) NULL ;
  int result;
  
  arg1 = (Event *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (int)(arg1)->chat_send((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_Event_Serialize___(void * jarg1, char * jarg2) {
  char * jresult ;
  Event *arg1 = (Event *) 0 ;
  char *arg2 = (char *) NULL ;
  char *result = 0 ;
  
  arg1 = (Event *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (char *)(arg1)->serialize((char const *)arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_Event_SetPriority___(void * jarg1, int jarg2) {
  unsigned int jresult ;
  Event *arg1 = (Event *) 0 ;
  switch_priority_t arg2 = (switch_priority_t) SWITCH_PRIORITY_NORMAL ;
  bool result;
  
  arg1 = (Event *)jarg1; 
  arg2 = (switch_priority_t)jarg2; 
  result = (bool)(arg1)->setPriority(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_Event_GetHeader___(void * jarg1, char * jarg2) {
  char * jresult ;
  Event *arg1 = (Event *) 0 ;
  char *arg2 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (Event *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (char *)(arg1)->getHeader((char const *)arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_Event_GetBody___(void * jarg1) {
  char * jresult ;
  Event *arg1 = (Event *) 0 ;
  char *result = 0 ;
  
  arg1 = (Event *)jarg1; 
  result = (char *)(arg1)->getBody();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_Event_GetEventType___(void * jarg1) {
  char * jresult ;
  Event *arg1 = (Event *) 0 ;
  char *result = 0 ;
  
  arg1 = (Event *)jarg1; 
  result = (char *)(arg1)->getType();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_Event_AddBody___(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  Event *arg1 = (Event *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (Event *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->addBody((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_Event_AddHeader___(void * jarg1, char * jarg2, char * jarg3) {
  unsigned int jresult ;
  Event *arg1 = (Event *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  bool result;
  
  arg1 = (Event *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (bool)(arg1)->addHeader((char const *)arg2,(char const *)arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_Event_DeleteHeader___(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  Event *arg1 = (Event *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (Event *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->delHeader((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_Event_Fire___(void * jarg1) {
  unsigned int jresult ;
  Event *arg1 = (Event *) 0 ;
  bool result;
  
  arg1 = (Event *)jarg1; 
  result = (bool)(arg1)->fire();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_Event_merge___(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  Event *arg1 = (Event *) 0 ;
  Event *arg2 = (Event *) 0 ;
  bool result;
  
  arg1 = (Event *)jarg1; 
  arg2 = (Event *)jarg2; 
  result = (bool)(arg1)->merge(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_EventConsumer_events_set___(void * jarg1, void * jarg2) {
  EventConsumer *arg1 = (EventConsumer *) 0 ;
  switch_queue_t *arg2 = (switch_queue_t *) 0 ;
  
  arg1 = (EventConsumer *)jarg1; 
  arg2 = (switch_queue_t *)jarg2; 
  if (arg1) (arg1)->events = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_EventConsumer_events_get___(void * jarg1) {
  void * jresult ;
  EventConsumer *arg1 = (EventConsumer *) 0 ;
  switch_queue_t *result = 0 ;
  
  arg1 = (EventConsumer *)jarg1; 
  result = (switch_queue_t *) ((arg1)->events);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_EventConsumer_e_event_id_set___(void * jarg1, int jarg2) {
  EventConsumer *arg1 = (EventConsumer *) 0 ;
  switch_event_types_t arg2 ;
  
  arg1 = (EventConsumer *)jarg1; 
  arg2 = (switch_event_types_t)jarg2; 
  if (arg1) (arg1)->e_event_id = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_EventConsumer_e_event_id_get___(void * jarg1) {
  int jresult ;
  EventConsumer *arg1 = (EventConsumer *) 0 ;
  switch_event_types_t result;
  
  arg1 = (EventConsumer *)jarg1; 
  result = (switch_event_types_t) ((arg1)->e_event_id);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_EventConsumer_e_callback_set___(void * jarg1, char * jarg2) {
  EventConsumer *arg1 = (EventConsumer *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (EventConsumer *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->e_callback;
    if (arg2) {
      arg1->e_callback = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->e_callback, (const char *)arg2);
    } else {
      arg1->e_callback = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_EventConsumer_e_callback_get___(void * jarg1) {
  char * jresult ;
  EventConsumer *arg1 = (EventConsumer *) 0 ;
  char *result = 0 ;
  
  arg1 = (EventConsumer *)jarg1; 
  result = (char *) ((arg1)->e_callback);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_EventConsumer_e_subclass_name_set___(void * jarg1, char * jarg2) {
  EventConsumer *arg1 = (EventConsumer *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (EventConsumer *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->e_subclass_name;
    if (arg2) {
      arg1->e_subclass_name = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->e_subclass_name, (const char *)arg2);
    } else {
      arg1->e_subclass_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_EventConsumer_e_subclass_name_get___(void * jarg1) {
  char * jresult ;
  EventConsumer *arg1 = (EventConsumer *) 0 ;
  char *result = 0 ;
  
  arg1 = (EventConsumer *)jarg1; 
  result = (char *) ((arg1)->e_subclass_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_EventConsumer_e_cb_arg_set___(void * jarg1, char * jarg2) {
  EventConsumer *arg1 = (EventConsumer *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (EventConsumer *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->e_cb_arg;
    if (arg2) {
      arg1->e_cb_arg = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->e_cb_arg, (const char *)arg2);
    } else {
      arg1->e_cb_arg = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_EventConsumer_e_cb_arg_get___(void * jarg1) {
  char * jresult ;
  EventConsumer *arg1 = (EventConsumer *) 0 ;
  char *result = 0 ;
  
  arg1 = (EventConsumer *)jarg1; 
  result = (char *) ((arg1)->e_cb_arg);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_EventConsumer_enodes_set___(void * jarg1, void * jarg2) {
  EventConsumer *arg1 = (EventConsumer *) 0 ;
  switch_event_node_t **arg2 ;
  
  arg1 = (EventConsumer *)jarg1; 
  arg2 = (switch_event_node_t **)jarg2; 
  {
    size_t ii;
    switch_event_node_t * *b = (switch_event_node_t * *) arg1->enodes;
    for (ii = 0; ii < (size_t)SWITCH_EVENT_ALL+1; ii++) b[ii] = *((switch_event_node_t * *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_EventConsumer_enodes_get___(void * jarg1) {
  void * jresult ;
  EventConsumer *arg1 = (EventConsumer *) 0 ;
  switch_event_node_t **result = 0 ;
  
  arg1 = (EventConsumer *)jarg1; 
  result = (switch_event_node_t **)(switch_event_node_t **) ((arg1)->enodes);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_EventConsumer_node_index_set___(void * jarg1, unsigned long jarg2) {
  EventConsumer *arg1 = (EventConsumer *) 0 ;
  uint32_t arg2 ;
  
  arg1 = (EventConsumer *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  if (arg1) (arg1)->node_index = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_EventConsumer_node_index_get___(void * jarg1) {
  unsigned long jresult ;
  EventConsumer *arg1 = (EventConsumer *) 0 ;
  uint32_t result;
  
  arg1 = (EventConsumer *)jarg1; 
  result = (uint32_t) ((arg1)->node_index);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_EventConsumer___(char * jarg1, char * jarg2, int jarg3) {
  void * jresult ;
  char *arg1 = (char *) NULL ;
  char *arg2 = (char *) "" ;
  int arg3 = (int) 5000 ;
  EventConsumer *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (int)jarg3; 
  result = (EventConsumer *)new EventConsumer((char const *)arg1,(char const *)arg2,arg3);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_EventConsumer___(void * jarg1) {
  EventConsumer *arg1 = (EventConsumer *) 0 ;
  
  arg1 = (EventConsumer *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_EventConsumer_bind___(void * jarg1, char * jarg2, char * jarg3) {
  int jresult ;
  EventConsumer *arg1 = (EventConsumer *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) "" ;
  int result;
  
  arg1 = (EventConsumer *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (int)(arg1)->bind((char const *)arg2,(char const *)arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_EventConsumer_pop___(void * jarg1, int jarg2, int jarg3) {
  void * jresult ;
  EventConsumer *arg1 = (EventConsumer *) 0 ;
  int arg2 = (int) 0 ;
  int arg3 = (int) 0 ;
  Event *result = 0 ;
  
  arg1 = (EventConsumer *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (int)jarg3; 
  result = (Event *)(arg1)->pop(arg2,arg3);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_EventConsumer_cleanup___(void * jarg1) {
  EventConsumer *arg1 = (EventConsumer *) 0 ;
  
  arg1 = (EventConsumer *)jarg1; 
  (arg1)->cleanup();
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_CoreSession___(void * jarg1) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_InternalSession_set___(void * jarg1, void * jarg2) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (switch_core_session_t *)jarg2; 
  if (arg1) (arg1)->session = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_InternalSession_get___(void * jarg1) {
  void * jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  switch_core_session_t *result = 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  result = (switch_core_session_t *) ((arg1)->session);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_channel_set___(void * jarg1, void * jarg2) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  switch_channel_t *arg2 = (switch_channel_t *) 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (switch_channel_t *)jarg2; 
  if (arg1) (arg1)->channel = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_channel_get___(void * jarg1) {
  void * jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  switch_channel_t *result = 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  result = (switch_channel_t *) ((arg1)->channel);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_flags_set___(void * jarg1, unsigned int jarg2) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  unsigned int arg2 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  if (arg1) (arg1)->flags = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_flags_get___(void * jarg1) {
  unsigned int jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  unsigned int result;
  
  arg1 = (CoreSession *)jarg1; 
  result = (unsigned int) ((arg1)->flags);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_allocated_set___(void * jarg1, int jarg2) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  int arg2 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->allocated = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_allocated_get___(void * jarg1) {
  int jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  int result;
  
  arg1 = (CoreSession *)jarg1; 
  result = (int) ((arg1)->allocated);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_cb_state_set___(void * jarg1, void * jarg2) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  input_callback_state *arg2 = (input_callback_state *) 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (input_callback_state *)jarg2; 
  if (arg1) (arg1)->cb_state = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_cb_state_get___(void * jarg1) {
  void * jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  input_callback_state *result = 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  result = (input_callback_state *)& ((arg1)->cb_state);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_HookState_set___(void * jarg1, int jarg2) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  switch_channel_state_t arg2 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (switch_channel_state_t)jarg2; 
  if (arg1) (arg1)->hook_state = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_HookState_get___(void * jarg1) {
  int jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  switch_channel_state_t result;
  
  arg1 = (CoreSession *)jarg1; 
  result = (switch_channel_state_t) ((arg1)->hook_state);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_cause_set___(void * jarg1, int jarg2) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  switch_call_cause_t arg2 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (switch_call_cause_t)jarg2; 
  if (arg1) (arg1)->cause = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_cause_get___(void * jarg1) {
  int jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  switch_call_cause_t result;
  
  arg1 = (CoreSession *)jarg1; 
  result = (switch_call_cause_t) ((arg1)->cause);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_uuid_set___(void * jarg1, char * jarg2) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->uuid;
    if (arg2) {
      arg1->uuid = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->uuid, (const char *)arg2);
    } else {
      arg1->uuid = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_uuid_get___(void * jarg1) {
  char * jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *result = 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  result = (char *) ((arg1)->uuid);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_tts_name_set___(void * jarg1, char * jarg2) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->tts_name;
    if (arg2) {
      arg1->tts_name = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->tts_name, (const char *)arg2);
    } else {
      arg1->tts_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_tts_name_get___(void * jarg1) {
  char * jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *result = 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  result = (char *) ((arg1)->tts_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_voice_name_set___(void * jarg1, char * jarg2) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    delete [] arg1->voice_name;
    if (arg2) {
      arg1->voice_name = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->voice_name, (const char *)arg2);
    } else {
      arg1->voice_name = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_voice_name_get___(void * jarg1) {
  char * jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *result = 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  result = (char *) ((arg1)->voice_name);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_insertFile___(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
  int jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  int result;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  result = (int)(arg1)->insertFile((char const *)arg2,(char const *)arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_Answer___(void * jarg1) {
  int jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  int result;
  
  arg1 = (CoreSession *)jarg1; 
  result = (int)(arg1)->answer();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_print___(void * jarg1, char * jarg2) {
  int jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) 0 ;
  int result;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (int)(arg1)->print(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_preAnswer___(void * jarg1) {
  int jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  int result;
  
  arg1 = (CoreSession *)jarg1; 
  result = (int)(arg1)->preAnswer();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_Hangup___(void * jarg1, char * jarg2) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) "normal_clearing" ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  (arg1)->hangup((char const *)arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_hangupState___(void * jarg1) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  (arg1)->hangupState();
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_SetVariable___(void * jarg1, char * jarg2, char * jarg3) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  (arg1)->setVariable(arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_SetPrivate___(void * jarg1, char * jarg2, void * jarg3) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) 0 ;
  void *arg3 = (void *) 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (void *)jarg3; 
  (arg1)->setPrivate(arg2,arg3);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_GetPrivate___(void * jarg1, char * jarg2) {
  void * jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) 0 ;
  void *result = 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (void *)(arg1)->getPrivate(arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_GetVariable___(void * jarg1, char * jarg2) {
  char * jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (char *)(arg1)->getVariable(arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_Say___(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5, char * jarg6) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  char *arg6 = (char *) NULL ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (char *)jarg6; 
  (arg1)->say((char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_SayPhrase___(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) "" ;
  char *arg4 = (char *) NULL ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  (arg1)->sayPhrase((char const *)arg2,(char const *)arg3,(char const *)arg4);
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_hangupCause___(void * jarg1) {
  char * jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *result = 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  result = (char *)(arg1)->hangupCause();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_getState___(void * jarg1) {
  char * jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *result = 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  result = (char *)(arg1)->getState();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_RecordFile___(void * jarg1, char * jarg2, int jarg3, int jarg4, int jarg5) {
  int jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) 0 ;
  int arg3 = (int) 0 ;
  int arg4 = (int) 0 ;
  int arg5 = (int) 0 ;
  int result;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (int)jarg4; 
  arg5 = (int)jarg5; 
  result = (int)(arg1)->recordFile(arg2,arg3,arg4,arg5);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_originate___(void * jarg1, void * jarg2, char * jarg3, int jarg4, void * jarg5) {
  int jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  CoreSession *arg2 = (CoreSession *) 0 ;
  char *arg3 = (char *) 0 ;
  int arg4 = (int) 60 ;
  switch_state_handler_table_t *arg5 = (switch_state_handler_table_t *) NULL ;
  int result;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (CoreSession *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  arg5 = (switch_state_handler_table_t *)jarg5; 
  result = (int)(arg1)->originate(arg2,arg3,arg4,arg5);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_destroy___(void * jarg1) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  (arg1)->destroy();
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_Speak___(void * jarg1, char * jarg2) {
  int jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) 0 ;
  int result;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (int)(arg1)->speak(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_SetTtsParameters___(void * jarg1, char * jarg2, char * jarg3) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  (arg1)->set_tts_parms(arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_set_tts_params___(void * jarg1, char * jarg2, char * jarg3) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  (arg1)->set_tts_params(arg2,arg3);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_CollectDigits__SWIG_0___(void * jarg1, int jarg2) {
  int jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  int arg2 ;
  int result;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (int)jarg2; 
  result = (int)(arg1)->collectDigits(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_CollectDigits__SWIG_1___(void * jarg1, int jarg2, int jarg3) {
  int jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  int arg2 ;
  int arg3 ;
  int result;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (int)jarg3; 
  result = (int)(arg1)->collectDigits(arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_GetDigits__SWIG_0___(void * jarg1, int jarg2, char * jarg3, int jarg4) {
  char * jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  int arg2 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  char *result = 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  result = (char *)(arg1)->getDigits(arg2,arg3,arg4);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_GetDigits__SWIG_1___(void * jarg1, int jarg2, char * jarg3, int jarg4, int jarg5) {
  char * jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  int arg2 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  int arg5 ;
  char *result = 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  arg5 = (int)jarg5; 
  result = (char *)(arg1)->getDigits(arg2,arg3,arg4,arg5);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_GetDigits__SWIG_2___(void * jarg1, int jarg2, char * jarg3, int jarg4, int jarg5, int jarg6) {
  char * jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  int arg2 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  int arg5 ;
  int arg6 ;
  char *result = 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  arg5 = (int)jarg5; 
  arg6 = (int)jarg6; 
  result = (char *)(arg1)->getDigits(arg2,arg3,arg4,arg5,arg6);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_Transfer___(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
  int jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) NULL ;
  char *arg4 = (char *) NULL ;
  int result;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  result = (int)(arg1)->transfer(arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_read___(void * jarg1, int jarg2, int jarg3, char * jarg4, int jarg5, char * jarg6, int jarg7) {
  char * jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  int arg2 ;
  int arg3 ;
  char *arg4 = (char *) 0 ;
  int arg5 ;
  char *arg6 = (char *) 0 ;
  int arg7 = (int) 0 ;
  char *result = 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (int)jarg5; 
  arg6 = (char *)jarg6; 
  arg7 = (int)jarg7; 
  result = (char *)(arg1)->read(arg2,arg3,(char const *)arg4,arg5,(char const *)arg6,arg7);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_detectSpeech___(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) NULL ;
  char *arg4 = (char *) NULL ;
  char *arg5 = (char *) NULL ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  (arg1)->detectSpeech(arg2,arg3,arg4,arg5);
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_PlayAndGetDigits___(void * jarg1, int jarg2, int jarg3, int jarg4, int jarg5, char * jarg6, char * jarg7, char * jarg8, char * jarg9, char * jarg10, int jarg11, char * jarg12) {
  char * jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  int arg2 ;
  int arg3 ;
  int arg4 ;
  int arg5 ;
  char *arg6 = (char *) 0 ;
  char *arg7 = (char *) 0 ;
  char *arg8 = (char *) 0 ;
  char *arg9 = (char *) 0 ;
  char *arg10 = (char *) NULL ;
  int arg11 = (int) 0 ;
  char *arg12 = (char *) NULL ;
  char *result = 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (int)jarg4; 
  arg5 = (int)jarg5; 
  arg6 = (char *)jarg6; 
  arg7 = (char *)jarg7; 
  arg8 = (char *)jarg8; 
  arg9 = (char *)jarg9; 
  arg10 = (char *)jarg10; 
  arg11 = (int)jarg11; 
  arg12 = (char *)jarg12; 
  result = (char *)(arg1)->playAndGetDigits(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,(char const *)arg10,arg11,(char const *)arg12);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_playAndDetectSpeech___(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
  char * jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  result = (char *)(arg1)->playAndDetectSpeech(arg2,arg3,arg4);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  free(result);
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_StreamFile___(void * jarg1, char * jarg2, int jarg3) {
  int jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) 0 ;
  int arg3 = (int) 0 ;
  int result;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (int)jarg3; 
  result = (int)(arg1)->streamFile(arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_sleep___(void * jarg1, int jarg2, int jarg3) {
  int jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  int arg2 ;
  int arg3 = (int) 0 ;
  int result;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (int)jarg3; 
  result = (int)(arg1)->sleep(arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_flushEvents___(void * jarg1) {
  int jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  int result;
  
  arg1 = (CoreSession *)jarg1; 
  result = (int)(arg1)->flushEvents();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_flushDigits___(void * jarg1) {
  int jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  int result;
  
  arg1 = (CoreSession *)jarg1; 
  result = (int)(arg1)->flushDigits();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_SetAutoHangup___(void * jarg1, unsigned int jarg2) {
  int jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  bool arg2 ;
  int result;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = jarg2 ? true : false; 
  result = (int)(arg1)->setAutoHangup(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_Ready___(void * jarg1) {
  unsigned int jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  bool result;
  
  arg1 = (CoreSession *)jarg1; 
  result = (bool)(arg1)->ready();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_bridged___(void * jarg1) {
  unsigned int jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  bool result;
  
  arg1 = (CoreSession *)jarg1; 
  result = (bool)(arg1)->bridged();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_answered___(void * jarg1) {
  unsigned int jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  bool result;
  
  arg1 = (CoreSession *)jarg1; 
  result = (bool)(arg1)->answered();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_mediaReady___(void * jarg1) {
  unsigned int jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  bool result;
  
  arg1 = (CoreSession *)jarg1; 
  result = (bool)(arg1)->mediaReady();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_waitForAnswer___(void * jarg1, void * jarg2) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  CoreSession *arg2 = (CoreSession *) 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (CoreSession *)jarg2; 
  (arg1)->waitForAnswer(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_Execute___(void * jarg1, char * jarg2, char * jarg3) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) NULL ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  (arg1)->execute((char const *)arg2,(char const *)arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_sendEvent___(void * jarg1, void * jarg2) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  Event *arg2 = (Event *) 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (Event *)jarg2; 
  (arg1)->sendEvent(arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_setEventData___(void * jarg1, void * jarg2) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  Event *arg2 = (Event *) 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (Event *)jarg2; 
  (arg1)->setEventData(arg2);
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_getXMLCDR___(void * jarg1) {
  char * jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *result = 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  result = (char *)(arg1)->getXMLCDR();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_begin_allow_threads___(void * jarg1) {
  unsigned int jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  bool result;
  
  arg1 = (CoreSession *)jarg1; 
  result = (bool)(arg1)->begin_allow_threads();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_end_allow_threads___(void * jarg1) {
  unsigned int jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  bool result;
  
  arg1 = (CoreSession *)jarg1; 
  result = (bool)(arg1)->end_allow_threads();
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_GetUuid___(void * jarg1) {
  char * jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *result = 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  result = (char *)((CoreSession const *)arg1)->get_uuid();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_get_cb_args___(void * jarg1) {
  void * jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  switch_input_args_t *result = 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  result = (switch_input_args_t *) &((CoreSession const *)arg1)->get_cb_args();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_check_hangup_hook___(void * jarg1) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  (arg1)->check_hangup_hook();
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_consoleLog___(void * jarg1, char * jarg2, char * jarg3) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  (arg1)->consoleLog(arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_CoreSession_consoleLog2___(void * jarg1, char * jarg2, char * jarg3, char * jarg4, int jarg5, char * jarg6) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  int arg5 ;
  char *arg6 = (char *) 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (int)jarg5; 
  arg6 = (char *)jarg6; 
  (arg1)->consoleLog2(arg2,arg3,arg4,arg5,arg6);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_console_log___(char * jarg1, char * jarg2) {
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  console_log(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_console_log2___(char * jarg1, char * jarg2, char * jarg3, int jarg4, char * jarg5) {
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  char *arg5 = (char *) 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  arg5 = (char *)jarg5; 
  console_log2(arg1,arg2,arg3,arg4,arg5);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_console_clean_log___(char * jarg1) {
  char *arg1 = (char *) 0 ;
  
  arg1 = (char *)jarg1; 
  console_clean_log(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_msleep___(unsigned int jarg1) {
  unsigned int arg1 ;
  
  arg1 = (unsigned int)jarg1; 
  switch_msleep(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_bridge___(void * jarg1, void * jarg2) {
  CoreSession *arg1 = 0 ;
  CoreSession *arg2 = 0 ;
  
  arg1 = (CoreSession *)jarg1;
  if (!arg1) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "CoreSession & type is null", 0);
    return ;
  } 
  arg2 = (CoreSession *)jarg2;
  if (!arg2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "CoreSession & type is null", 0);
    return ;
  } 
  bridge(*arg1,*arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_hanguphook___(void * jarg1) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (switch_status_t)hanguphook(arg1);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_dtmf_callback___(void * jarg1, void * jarg2, int jarg3, void * jarg4, unsigned int jarg5) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  void *arg2 = (void *) 0 ;
  switch_input_type_t arg3 ;
  void *arg4 = (void *) 0 ;
  unsigned int arg5 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (void *)jarg2; 
  arg3 = (switch_input_type_t)jarg3; 
  arg4 = (void *)jarg4; 
  arg5 = (unsigned int)jarg5; 
  result = (switch_status_t)dtmf_callback(arg1,arg2,arg3,arg4,arg5);
  jresult = (int)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_ManagedSession__SWIG_0___() {
  void * jresult ;
  ManagedSession *result = 0 ;
  
  result = (ManagedSession *)new ManagedSession();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_ManagedSession__SWIG_1___(char * jarg1) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  ManagedSession *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (ManagedSession *)new ManagedSession(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_new_ManagedSession__SWIG_2___(void * jarg1) {
  void * jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  ManagedSession *result = 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  result = (ManagedSession *)new ManagedSession(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_delete_ManagedSession___(void * jarg1) {
  ManagedSession *arg1 = (ManagedSession *) 0 ;
  
  arg1 = (ManagedSession *)jarg1; 
  delete arg1;
}


SWIGEXPORT CoreSession * SWIGSTDCALL CSharp_FreeSWITCHfNative_ManagedSession_SWIGUpcast___(ManagedSession *jarg1) {
    return (CoreSession *)jarg1;
}

#ifdef __cplusplus
}
#endif

