/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 * 
 * 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. 
 * ----------------------------------------------------------------------------- */


#ifdef __cplusplus
template<typename T> class SwigValueWrapper {
    T *tt;
public:
    SwigValueWrapper() : tt(0) { }
    SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { }
    SwigValueWrapper(const T& t) : tt(new T(t)) { }
    ~SwigValueWrapper() { delete tt; } 
    SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; }
    operator T&() const { return *tt; }
    T *operator&() { return tt; }
private:
    SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
};

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 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 (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
#  ifndef GCC_HASCLASSVISIBILITY
#    define GCC_HASCLASSVISIBILITY
#  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



#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 (code >=0 && (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 (code >=0 && (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;
}


/* Callback for returning strings to C# without leaking memory */
typedef char * (SWIGSTDCALL* SWIG_CSharpStringHelperCallback)(const char *);
static SWIG_CSharpStringHelperCallback SWIG_csharp_string_callback = NULL;


#ifdef __cplusplus
extern "C" 
#endif
SWIGEXPORT void SWIGSTDCALL SWIGRegisterStringCallback_freeswitch(SWIG_CSharpStringHelperCallback callback) {
  SWIG_csharp_string_callback = callback;
}


/* Contract support */

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


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


#ifdef __cplusplus
extern "C" {
#endif

SWIGEXPORT char * SWIGSTDCALL CSharp_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_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_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___EXTENSIONS___get() {
  int jresult ;
  int result;
  
  result = (int) 1;
  
  jresult = result; 
  return jresult;
}


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


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


SWIGEXPORT char * SWIGSTDCALL CSharp_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_SWITCH_SEQ_HOME_CHAR_get() {
  char jresult ;
  char result;
  
  result = (char) 'H';
  
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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_SWITCH_SEQ_CLEARLINE_CHAR_get() {
  char jresult ;
  char result;
  
  result = (char) '1';
  
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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_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_SWITCH_SEQ_CLEARSCR_CHAR0_get() {
  char jresult ;
  char result;
  
  result = (char) '2';
  
  jresult = result; 
  return jresult;
}


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


SWIGEXPORT char * SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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 int SWIGSTDCALL CSharp_SWITCH_DEFAULT_DTMF_DURATION_get() {
  int jresult ;
  int result;
  
  result = (int) 2000;
  
  jresult = result; 
  return jresult;
}


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


SWIGEXPORT char * SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_SWITCH_BITS_PER_BYTE_get() {
  int jresult ;
  int result;
  
  result = (int) 8;
  
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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 = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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_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_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; 
  {
    if (arg1->base_dir) 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_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_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; 
  {
    if (arg1->mod_dir) 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_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_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; 
  {
    if (arg1->conf_dir) 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_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_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; 
  {
    if (arg1->log_dir) 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_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_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; 
  {
    if (arg1->db_dir) 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_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_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; 
  {
    if (arg1->script_dir) 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_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_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; 
  {
    if (arg1->temp_dir) 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_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_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; 
  {
    if (arg1->htdocs_dir) 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_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_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; 
  {
    if (arg1->grammar_dir) 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_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_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; 
  {
    if (arg1->storage_dir) 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_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_new_switch_directories() {
  void * jresult ;
  switch_directories *result = 0 ;
  
  result = (switch_directories *)new switch_directories();
  jresult = (void *)result; 
  return jresult;
}


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


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


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


SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_MAX_STACKS_get() {
  int jresult ;
  int result;
  
  result = (int) 16;
  
  jresult = result; 
  return jresult;
}


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


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


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


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


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


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


SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_RECOMMENDED_BUFFER_SIZE_get() {
  int jresult ;
  int result;
  
  result = (int) 4096;
  
  jresult = result; 
  return jresult;
}


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


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


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


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


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


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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_switch_t38_options_t_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->ip = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->ip, (const char *)arg2);
    } else {
      arg1->ip = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_switch_t38_options_t_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)->ip);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_t38_options_t_port_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)->port = arg2;
  
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_t38_options_t_port_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)->port);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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_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_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_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_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 int SWIGSTDCALL CSharp_SWITCH_API_VERSION_get() {
  int jresult ;
  int result;
  
  result = (int) 3;
  
  jresult = result; 
  return jresult;
}


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


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


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


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


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


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


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


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


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


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


SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_loadable_module_function_table_t() {
  void * jresult ;
  switch_loadable_module_function_table_t *result = 0 ;
  
  result = (switch_loadable_module_function_table_t *)new switch_loadable_module_function_table_t();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_loadable_module_function_table_t(void * jarg1) {
  switch_loadable_module_function_table_t *arg1 = (switch_loadable_module_function_table_t *) 0 ;
  
  arg1 = (switch_loadable_module_function_table_t *)jarg1; 
  delete arg1;
  
}


SWIGEXPORT int SWIGSTDCALL CSharp_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_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 void * SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_switch_core_db_free_table(void * jarg1) {
  char **arg1 = (char **) 0 ;
  
  arg1 = (char **)jarg1; 
  switch_core_db_free_table(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_db_free(char * jarg1) {
  char *arg1 = (char *) 0 ;
  
  arg1 = (char *)jarg1; 
  switch_core_db_free(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_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_SWITCH_CORE_DB_OK_get() {
  int jresult ;
  int result;
  
  result = (int) 0;
  
  jresult = result; 
  return jresult;
}


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


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


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


SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_ABORT_get() {
  int jresult ;
  int result;
  
  result = (int) 4;
  
  jresult = result; 
  return jresult;
}


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


SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_LOCKED_get() {
  int jresult ;
  int result;
  
  result = (int) 6;
  
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_NOMEM_get() {
  int jresult ;
  int result;
  
  result = (int) 7;
  
  jresult = result; 
  return jresult;
}


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


SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_INTERRUPT_get() {
  int jresult ;
  int result;
  
  result = (int) 9;
  
  jresult = result; 
  return jresult;
}


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


SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_CORRUPT_get() {
  int jresult ;
  int result;
  
  result = (int) 11;
  
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_NOTFOUND_get() {
  int jresult ;
  int result;
  
  result = (int) 12;
  
  jresult = result; 
  return jresult;
}


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


SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_CANTOPEN_get() {
  int jresult ;
  int result;
  
  result = (int) 14;
  
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_PROTOCOL_get() {
  int jresult ;
  int result;
  
  result = (int) 15;
  
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_EMPTY_get() {
  int jresult ;
  int result;
  
  result = (int) 16;
  
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_SCHEMA_get() {
  int jresult ;
  int result;
  
  result = (int) 17;
  
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_TOOBIG_get() {
  int jresult ;
  int result;
  
  result = (int) 18;
  
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_CONSTRAINT_get() {
  int jresult ;
  int result;
  
  result = (int) 19;
  
  jresult = result; 
  return jresult;
}


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


SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_MISUSE_get() {
  int jresult ;
  int result;
  
  result = (int) 21;
  
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_NOLFS_get() {
  int jresult ;
  int result;
  
  result = (int) 22;
  
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_AUTH_get() {
  int jresult ;
  int result;
  
  result = (int) 23;
  
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_FORMAT_get() {
  int jresult ;
  int result;
  
  result = (int) 24;
  
  jresult = result; 
  return jresult;
}


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


SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_NOTADB_get() {
  int jresult ;
  int result;
  
  result = (int) 26;
  
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_ROW_get() {
  int jresult ;
  int result;
  
  result = (int) 100;
  
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_DONE_get() {
  int jresult ;
  int result;
  
  result = (int) 101;
  
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_switch_mprintf(char * jarg1) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  void *arg2 = 0 ;
  char *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (char *)switch_mprintf((char const *)arg1,arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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_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_switch_regex_free(void * jarg1) {
  void *arg1 = (void *) 0 ;
  
  arg1 = (void *)jarg1; 
  switch_regex_free(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_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_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_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get() {
  int jresult ;
  int result;
  
  result = (int) 128;
  
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_MAX_STREAMS_get() {
  int jresult ;
  int result;
  
  result = (int) 128;
  
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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; 
  {
    if (arg1->app) 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_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_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; 
  {
    if (arg1->arg) 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_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_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_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_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_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_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; 
  {
    if (arg1->from) 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_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_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_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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; 
  {
    if (arg1->string_reply) 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_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_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_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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_switch_core_media_bug_add(void * jarg1, void * jarg2, void * jarg3, void * jarg4, unsigned long jarg5, void * jarg6) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_media_bug_callback_t arg2 = (switch_media_bug_callback_t) 0 ;
  void *arg3 = (void *) 0 ;
  time_t arg4 ;
  switch_media_bug_flag_t arg5 ;
  switch_media_bug_t **arg6 = (switch_media_bug_t **) 0 ;
  switch_status_t result;
  time_t *argp4 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_media_bug_callback_t)jarg2; 
  arg3 = (void *)jarg3; 
  argp4 = (time_t *)jarg4; 
  if (!argp4) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null time_t", 0);
    return 0;
  }
  arg4 = *argp4; 
  arg5 = (switch_media_bug_flag_t)jarg5; 
  arg6 = (switch_media_bug_t **)jarg6; 
  result = (switch_status_t)switch_core_media_bug_add(arg1,arg2,arg3,arg4,arg5,arg6);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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_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_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_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_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 unsigned long SWIGSTDCALL CSharp_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 void SWIGSTDCALL CSharp_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 int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_media_bug_close(void * jarg1) {
  int jresult ;
  switch_media_bug_t **arg1 = (switch_media_bug_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_media_bug_t **)jarg1; 
  result = (switch_status_t)switch_core_media_bug_close(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_media_bug_remove_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_remove_all(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_media_bug_read(void * jarg1, void * jarg2) {
  int jresult ;
  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_media_bug_t *)jarg1; 
  arg2 = (switch_frame_t *)jarg2; 
  result = (switch_status_t)switch_core_media_bug_read(arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_port_allocator_new(unsigned short jarg1, unsigned short jarg2, unsigned long jarg3, void * jarg4) {
  int jresult ;
  switch_port_t arg1 ;
  switch_port_t arg2 ;
  switch_port_flag_t arg3 ;
  switch_core_port_allocator_t **arg4 = (switch_core_port_allocator_t **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_port_t)jarg1; 
  arg2 = (switch_port_t)jarg2; 
  arg3 = (switch_port_flag_t)jarg3; 
  arg4 = (switch_core_port_allocator_t **)jarg4; 
  result = (switch_status_t)switch_core_port_allocator_new(arg1,arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_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_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_switch_core_destroy() {
  int jresult ;
  switch_status_t result;
  
  result = (switch_status_t)switch_core_destroy();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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 int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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 void * SWIGSTDCALL CSharp_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 ;
  void *result = 0 ;
  switch_size_t *argp1 ;
  
  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_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 ;
  void *result = 0 ;
  switch_size_t *argp2 ;
  
  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_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 ;
  void *result = 0 ;
  switch_size_t *argp2 ;
  
  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_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_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_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_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_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_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_switch_core_session_request_uuid(void * jarg1, void * jarg2, char * jarg3) {
  void * jresult ;
  switch_endpoint_interface_t *arg1 = (switch_endpoint_interface_t *) 0 ;
  switch_memory_pool_t **arg2 = (switch_memory_pool_t **) 0 ;
  char *arg3 = (char *) 0 ;
  switch_core_session_t *result = 0 ;
  
  arg1 = (switch_endpoint_interface_t *)jarg1; 
  arg2 = (switch_memory_pool_t **)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_core_session_t *)switch_core_session_request_uuid(arg1,arg2,(char const *)arg3);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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 unsigned long SWIGSTDCALL CSharp_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_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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_id() {
  void * jresult ;
  switch_size_t result;
  
  result = switch_core_session_id();
  jresult = new switch_size_t((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_request_by_name(char * jarg1, void * jarg2) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_memory_pool_t **arg2 = (switch_memory_pool_t **) 0 ;
  switch_core_session_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_memory_pool_t **)jarg2; 
  result = (switch_core_session_t *)switch_core_session_request_by_name((char const *)arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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_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_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_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_switch_core_session_locate(char * jarg1) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_core_session_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (switch_core_session_t *)switch_core_session_locate((char const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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 void SWIGSTDCALL CSharp_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 void SWIGSTDCALL CSharp_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_switch_core_session_hupall(int jarg1) {
  switch_call_cause_t arg1 ;
  
  arg1 = (switch_call_cause_t)jarg1; 
  switch_core_session_hupall(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_hupall_matching_var(char * jarg1, char * jarg2, int jarg3) {
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_call_cause_t arg3 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_call_cause_t)jarg3; 
  switch_core_session_hupall_matching_var((char const *)arg1,(char const *)arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_execute_application(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(arg1,(char const *)arg2,(char const *)arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


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


SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_set_private(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_set_private(arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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_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_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 void SWIGSTDCALL CSharp_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_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_switch_core_service_session(void * jarg1) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  switch_core_service_session(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_outgoing_channel(void * jarg1, void * jarg2, char * jarg3, void * jarg4, void * jarg5, void * jarg6, unsigned long jarg7) {
  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 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; 
  result = (switch_call_cause_t)switch_core_session_outgoing_channel(arg1,arg2,(char const *)arg3,arg4,arg5,arg6,arg7);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_resurrect_channel(char * jarg1, void * jarg2, void * jarg3, void * jarg4) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  switch_core_session_t **arg2 = (switch_core_session_t **) 0 ;
  switch_memory_pool_t **arg3 = (switch_memory_pool_t **) 0 ;
  void *arg4 = (void *) 0 ;
  switch_call_cause_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_core_session_t **)jarg2; 
  arg3 = (switch_memory_pool_t **)jarg3; 
  arg4 = (void *)jarg4; 
  result = (switch_call_cause_t)switch_core_session_resurrect_channel((char const *)arg1,arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_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 int SWIGSTDCALL CSharp_switch_core_session_dequeue_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_event(arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_queue_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_queue_private_event(arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_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_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 = result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_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_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_reset(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_reset(arg1,arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_hash_init_case(void * jarg1, void * jarg2, int jarg3) {
  int jresult ;
  switch_hash_t **arg1 = (switch_hash_t **) 0 ;
  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
  switch_bool_t arg3 ;
  switch_status_t result;
  
  arg1 = (switch_hash_t **)jarg1; 
  arg2 = (switch_memory_pool_t *)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  result = (switch_status_t)switch_core_hash_init_case(arg1,arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_hash_insert(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(arg1,(char const *)arg2,(void const *)arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_hash_delete(void * jarg1, char * jarg2) {
  int jresult ;
  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_hash_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (switch_status_t)switch_core_hash_delete(arg1,(char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_hash_delete_locked(void * jarg1, char * jarg2, void * jarg3) {
  int jresult ;
  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_mutex_t *arg3 = (switch_mutex_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_hash_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_mutex_t *)jarg3; 
  result = (switch_status_t)switch_core_hash_delete_locked(arg1,(char const *)arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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_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_switch_hash_first(char * jarg1, void * jarg2) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_hash_t *arg2 = (switch_hash_t *) 0 ;
  switch_hash_index_t *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (switch_hash_t *)jarg2; 
  result = (switch_hash_index_t *)switch_hash_first(arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_switch_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_hash_next(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_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_hash_this(arg1,(void const **)arg2,arg3,arg4);
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_codec_init(void * jarg1, char * jarg2, char * jarg3, unsigned long jarg4, int jarg5, int jarg6, unsigned long jarg7, void * jarg8, void * jarg9) {
  int jresult ;
  switch_codec_t *arg1 = (switch_codec_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  uint32_t arg4 ;
  int arg5 ;
  int arg6 ;
  uint32_t arg7 ;
  switch_codec_settings_t *arg8 = (switch_codec_settings_t *) 0 ;
  switch_memory_pool_t *arg9 = (switch_memory_pool_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_codec_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (uint32_t)jarg4; 
  arg5 = (int)jarg5; 
  arg6 = (int)jarg6; 
  arg7 = (uint32_t)jarg7; 
  arg8 = (switch_codec_settings_t *)jarg8; 
  arg9 = (switch_memory_pool_t *)jarg9; 
  result = (switch_status_t)switch_core_codec_init(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5,arg6,arg7,(switch_codec_settings const *)arg8,arg9);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_codec_copy(void * jarg1, void * jarg2, void * jarg3) {
  int jresult ;
  switch_codec_t *arg1 = (switch_codec_t *) 0 ;
  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
  switch_memory_pool_t *arg3 = (switch_memory_pool_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_codec_t *)jarg1; 
  arg2 = (switch_codec_t *)jarg2; 
  arg3 = (switch_memory_pool_t *)jarg3; 
  result = (switch_status_t)switch_core_codec_copy(arg1,arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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_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_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 = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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_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_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 = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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_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 = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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_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(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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 char * SWIGSTDCALL CSharp_SWITCH_CORE_DB_get() {
  char * jresult ;
  char *result = 0 ;
  
  result = (char *) "core";
  
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_perform_file_open(char * jarg1, char * jarg2, int jarg3, void * jarg4, char * jarg5, unsigned char 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 ;
  uint8_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 = (uint8_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_speech_open(void * jarg1, char * jarg2, char * jarg3, unsigned int jarg4, unsigned int jarg5, void * jarg6, void * jarg7) {
  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 ;
  switch_speech_flag_t *arg6 = (switch_speech_flag_t *) 0 ;
  switch_memory_pool_t *arg7 = (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 = (switch_speech_flag_t *)jarg6; 
  arg7 = (switch_memory_pool_t *)jarg7; 
  result = (switch_status_t)switch_core_speech_open(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5,arg6,arg7);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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,arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_switch_core_speech_read_tts(void * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5) {
  int jresult ;
  switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;
  void *arg2 = (void *) 0 ;
  switch_size_t *arg3 = (switch_size_t *) 0 ;
  uint32_t *arg4 = (uint32_t *) 0 ;
  switch_speech_flag_t *arg5 = (switch_speech_flag_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_speech_handle_t *)jarg1; 
  arg2 = (void *)jarg2; 
  arg3 = (switch_size_t *)jarg3; 
  arg4 = (uint32_t *)jarg4; 
  arg5 = (switch_speech_flag_t *)jarg5; 
  result = (switch_status_t)switch_core_speech_read_tts(arg1,arg2,arg3,arg4,arg5);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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_switch_core_ready() {
  int jresult ;
  switch_bool_t result;
  
  result = (switch_bool_t)switch_core_ready();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_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_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_status_t result;
  switch_size_t *argp4 ;
  
  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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_set_high_priority() {
  int jresult ;
  int32_t result;
  
  result = (int32_t)set_high_priority();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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_switch_core_runtime_loop(int jarg1) {
  int arg1 ;
  
  arg1 = (int)jarg1; 
  switch_core_runtime_loop(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_switch_core_uptime() {
  void * jresult ;
  switch_time_t result;
  
  result = switch_core_uptime();
  jresult = new switch_time_t((switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_ctl(int jarg1, void * jarg2) {
  int jresult ;
  switch_session_ctl_t arg1 ;
  int32_t *arg2 = (int32_t *) 0 ;
  int32_t result;
  
  arg1 = (switch_session_ctl_t)jarg1; 
  arg2 = (int32_t *)jarg2; 
  result = (int32_t)switch_core_session_ctl(arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_get_console() {
  void * jresult ;
  FILE *result = 0 ;
  
  result = (FILE *)switch_core_get_console();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_launch_thread(void * jarg1, void * jarg2, void * jarg3) {
  void *(*arg1)(switch_thread_t *,void *) = (void *(*)(switch_thread_t *,void *)) 0 ;
  void *arg2 = (void *) 0 ;
  switch_memory_pool_t *arg3 = (switch_memory_pool_t *) 0 ;
  
  arg1 = (void *(*)(switch_thread_t *,void *))jarg1; 
  arg2 = (void *)jarg2; 
  arg3 = (switch_memory_pool_t *)jarg3; 
  switch_core_launch_thread(arg1,arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_set_globals() {
  switch_core_set_globals();
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_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_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 void * SWIGSTDCALL CSharp_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_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 int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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_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_switch_timestamp_now() {
  void * jresult ;
  switch_time_t result;
  
  result = switch_timestamp_now();
  jresult = new switch_time_t((switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_memory_reclaim() {
  switch_core_memory_reclaim();
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_memory_reclaim_events() {
  switch_core_memory_reclaim_events();
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_memory_reclaim_logger() {
  switch_core_memory_reclaim_logger();
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_memory_reclaim_all() {
  switch_core_memory_reclaim_all();
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_setrlimits() {
  switch_core_setrlimits();
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_time_sync() {
  switch_time_sync();
}


SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timestamp(void * jarg1) {
  void * jresult ;
  time_t *arg1 = (time_t *) 0 ;
  time_t result;
  
  arg1 = (time_t *)jarg1; 
  result = switch_timestamp(arg1);
  jresult = new time_t((time_t &)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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_status_t result;
  switch_time_t *argp5 ;
  
  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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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_status_t result;
  switch_time_t *argp3 ;
  
  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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_load_network_lists(int jarg1) {
  switch_bool_t arg1 ;
  
  arg1 = (switch_bool_t)jarg1; 
  switch_load_network_lists(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_time_set_monotonic(int jarg1) {
  switch_bool_t arg1 ;
  
  arg1 = (switch_bool_t)jarg1; 
  switch_time_set_monotonic(arg1);
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_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 unsigned long SWIGSTDCALL CSharp_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_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 void SWIGSTDCALL CSharp_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_switch_cond_next() {
  switch_cond_next();
}


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


SWIGEXPORT void SWIGSTDCALL CSharp_switch_console_loop() {
  switch_console_loop();
}


SWIGEXPORT int SWIGSTDCALL CSharp_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_status_t result;
  switch_size_t *argp3 ;
  
  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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_toupper(int jarg1) {
  int jresult ;
  int arg1 ;
  int result;
  
  arg1 = (int)jarg1; 
  result = (int)switch_toupper(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_tolower(int jarg1) {
  int jresult ;
  int arg1 ;
  int result;
  
  arg1 = (int)jarg1; 
  result = (int)switch_tolower(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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_switch_isxdigit(int jarg1) {
  int jresult ;
  int arg1 ;
  int result;
  
  arg1 = (int)jarg1; 
  result = (int)switch_isxdigit(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_SMAX_get() {
  int jresult ;
  int result;
  
  result = (int) 32767;
  
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_SMIN_get() {
  int jresult ;
  int result;
  
  result = (int) -32768;
  
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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_status_t result;
  switch_size_t *argp2 ;
  switch_size_t *argp4 ;
  
  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 = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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 result;
  switch_size_t *argp3 ;
  
  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(arg1,arg2,arg3);
  jresult = new switch_size_t((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_switch_amp_encode(char * jarg1, char * jarg2, void * jarg3) {
  char * jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_size_t arg3 ;
  char *result = 0 ;
  switch_size_t *argp3 ;
  
  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 int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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 result;
  switch_size_t *argp3 ;
  
  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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_find_local_ip(char * jarg1, int jarg2, int jarg3) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  int arg2 ;
  int arg3 ;
  switch_status_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (int)jarg3; 
  result = (switch_status_t)switch_find_local_ip(arg1,arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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 ;
  char *result = 0 ;
  switch_size_t *argp2 ;
  socklen_t *argp4 ;
  
  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 unsigned short SWIGSTDCALL CSharp_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_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 ;
  int result;
  switch_size_t *argp2 ;
  
  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 char * SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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 = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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((switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_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 int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


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


SWIGEXPORT char * SWIGSTDCALL CSharp_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_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_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 = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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_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(arg1,arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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 int SWIGSTDCALL CSharp_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_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_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_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 = result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_url_encode(char * jarg1, char * jarg2, unsigned long jarg3) {
  unsigned long jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  size_t arg3 ;
  size_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (size_t)jarg3; 
  result = switch_url_encode((char const *)arg1,arg2,arg3);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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 int SWIGSTDCALL CSharp_switch_simple_email(char * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  switch_bool_t result;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  result = (switch_bool_t)switch_simple_email((char const *)arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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 int SWIGSTDCALL CSharp_switch_parse_cidr(char * jarg1, void * jarg2, void * jarg3, void * jarg4) {
  int jresult ;
  char *arg1 = (char *) 0 ;
  uint32_t *arg2 = (uint32_t *) 0 ;
  uint32_t *arg3 = (uint32_t *) 0 ;
  uint32_t *arg4 = (uint32_t *) 0 ;
  int result;
  
  arg1 = (char *)jarg1; 
  arg2 = (uint32_t *)jarg2; 
  arg3 = (uint32_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_switch_network_list_create(void * jarg1, int jarg2, void * jarg3) {
  int jresult ;
  switch_network_list_t **arg1 = (switch_network_list_t **) 0 ;
  switch_bool_t arg2 ;
  switch_memory_pool_t *arg3 = (switch_memory_pool_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_network_list_t **)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  arg3 = (switch_memory_pool_t *)jarg3; 
  result = (switch_status_t)switch_network_list_create(arg1,arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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; 
  {
    if (arg1->destination_number) 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_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_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_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_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_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_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_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_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; 
  {
    if (arg1->chan_name) 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_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_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; 
  {
    if (arg1->uuid) 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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; 
  {
    if (arg1->application_name) 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_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_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; 
  {
    if (arg1->application_data) 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_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_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_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_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_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_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_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_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; 
  {
    if (arg1->extension_name) 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_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_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; 
  {
    if (arg1->extension_number) 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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 char * SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_switch_frame_timestamp_set(void * jarg1, void * jarg2) {
  switch_frame *arg1 = (switch_frame *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_frame *)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)->timestamp = arg2;
  
}


SWIGEXPORT void * SWIGSTDCALL CSharp_switch_frame_timestamp_get(void * jarg1) {
  void * jresult ;
  switch_frame *arg1 = (switch_frame *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_frame *)jarg1; 
  result =  ((arg1)->timestamp);
  jresult = new switch_size_t((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_new_switch_frame() {
  void * jresult ;
  switch_frame *result = 0 ;
  
  result = (switch_frame *)new switch_frame();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_frame(void * jarg1) {
  switch_frame *arg1 = (switch_frame *) 0 ;
  
  arg1 = (switch_frame *)jarg1; 
  delete arg1;
  
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_switch_io_routines_resurrect_session_set(void * jarg1, void * jarg2) {
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_resurrect_session_t arg2 = (switch_io_resurrect_session_t) 0 ;
  
  arg1 = (switch_io_routines *)jarg1; 
  arg2 = (switch_io_resurrect_session_t)jarg2; 
  if (arg1) (arg1)->resurrect_session = arg2;
  
}


SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_resurrect_session_get(void * jarg1) {
  void * jresult ;
  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
  switch_io_resurrect_session_t result;
  
  arg1 = (switch_io_routines *)jarg1; 
  result = (switch_io_resurrect_session_t) ((arg1)->resurrect_session);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_tick_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)->tick = arg2;
  
}


SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_tick_get(void * jarg1) {
  void * jresult ;
  switch_timer *arg1 = (switch_timer *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_timer *)jarg1; 
  result =  ((arg1)->tick);
  jresult = new switch_size_t((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_timer() {
  void * jresult ;
  switch_timer *result = 0 ;
  
  result = (switch_timer *)new switch_timer();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_timer(void * jarg1) {
  switch_timer *arg1 = (switch_timer *) 0 ;
  
  arg1 = (switch_timer *)jarg1; 
  delete arg1;
  
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_switch_file_handle_channels_set(void * jarg1, unsigned char jarg2) {
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  uint8_t arg2 ;
  
  arg1 = (switch_file_handle *)jarg1; 
  arg2 = (uint8_t)jarg2; 
  if (arg1) (arg1)->channels = arg2;
  
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_file_handle_channels_get(void * jarg1) {
  unsigned char jresult ;
  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
  uint8_t result;
  
  arg1 = (switch_file_handle *)jarg1; 
  result = (uint8_t) ((arg1)->channels);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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_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; 
  {
    if (arg1->handler) 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_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_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_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_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_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_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_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_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_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_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_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_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_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_switch_file_handle_last_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)->last_pos = arg2;
  
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_file_handle_last_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)->last_pos);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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; 
  {
    if (arg1->name) 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_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_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; 
  {
    if (arg1->codec) 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_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_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_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_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; 
  {
    if (arg1->grammar) 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_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_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; 
  {
    if (arg1->param) 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_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_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_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_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_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_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_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_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_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_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,switch_speech_flag_t *) = (switch_status_t (*)(switch_speech_handle_t *,char const *,int,switch_speech_flag_t *)) 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_speech_handle_t *,char const *,int,switch_speech_flag_t *))jarg2; 
  if (arg1) (arg1)->speech_open = arg2;
  
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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,switch_speech_flag_t *) = 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  result = (switch_status_t (*)(switch_speech_handle_t *,char const *,int,switch_speech_flag_t *)) ((arg1)->speech_open);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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 *,uint32_t *,switch_speech_flag_t *) = (switch_status_t (*)(switch_speech_handle_t *,void *,switch_size_t *,uint32_t *,switch_speech_flag_t *)) 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  arg2 = (switch_status_t (*)(switch_speech_handle_t *,void *,switch_size_t *,uint32_t *,switch_speech_flag_t *))jarg2; 
  if (arg1) (arg1)->speech_read_tts = arg2;
  
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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 *,uint32_t *,switch_speech_flag_t *) = 0 ;
  
  arg1 = (switch_speech_interface *)jarg1; 
  result = (switch_status_t (*)(switch_speech_handle_t *,void *,switch_size_t *,uint32_t *,switch_speech_flag_t *)) ((arg1)->speech_read_tts);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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; 
  {
    if (arg1->name) 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_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_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_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_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_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_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_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_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);
    else arg1->voice[0] = 0;
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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_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; 
  {
    if (arg1->engine) 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_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_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; 
  {
    if (arg1->param) 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_switch_chat_interface_chat_send_set(void * jarg1, void * jarg2) {
  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
  switch_status_t (*arg2)(char *,char *,char *,char *,char *,char *) = (switch_status_t (*)(char *,char *,char *,char *,char *,char *)) 0 ;
  
  arg1 = (switch_chat_interface *)jarg1; 
  arg2 = (switch_status_t (*)(char *,char *,char *,char *,char *,char *))jarg2; 
  if (arg1) (arg1)->chat_send = arg2;
  
}


SWIGEXPORT void * SWIGSTDCALL CSharp_switch_chat_interface_chat_send_get(void * jarg1) {
  void * jresult ;
  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
  switch_status_t (*result)(char *,char *,char *,char *,char *,char *) = 0 ;
  
  arg1 = (switch_chat_interface *)jarg1; 
  result = (switch_status_t (*)(char *,char *,char *,char *,char *,char *)) ((arg1)->chat_send);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_switch_codec_settings_quality_set(void * jarg1, int jarg2) {
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  int arg2 ;
  
  arg1 = (switch_codec_settings *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->quality = arg2;
  
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_quality_get(void * jarg1) {
  int jresult ;
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  int result;
  
  arg1 = (switch_codec_settings *)jarg1; 
  result = (int) ((arg1)->quality);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_complexity_set(void * jarg1, int jarg2) {
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  int arg2 ;
  
  arg1 = (switch_codec_settings *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->complexity = arg2;
  
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_complexity_get(void * jarg1) {
  int jresult ;
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  int result;
  
  arg1 = (switch_codec_settings *)jarg1; 
  result = (int) ((arg1)->complexity);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_enhancement_set(void * jarg1, int jarg2) {
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  int arg2 ;
  
  arg1 = (switch_codec_settings *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->enhancement = arg2;
  
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_enhancement_get(void * jarg1) {
  int jresult ;
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  int result;
  
  arg1 = (switch_codec_settings *)jarg1; 
  result = (int) ((arg1)->enhancement);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_vad_set(void * jarg1, int jarg2) {
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  int arg2 ;
  
  arg1 = (switch_codec_settings *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->vad = arg2;
  
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_vad_get(void * jarg1) {
  int jresult ;
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  int result;
  
  arg1 = (switch_codec_settings *)jarg1; 
  result = (int) ((arg1)->vad);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_vbr_set(void * jarg1, int jarg2) {
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  int arg2 ;
  
  arg1 = (switch_codec_settings *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->vbr = arg2;
  
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_vbr_get(void * jarg1) {
  int jresult ;
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  int result;
  
  arg1 = (switch_codec_settings *)jarg1; 
  result = (int) ((arg1)->vbr);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_vbr_quality_set(void * jarg1, float jarg2) {
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  float arg2 ;
  
  arg1 = (switch_codec_settings *)jarg1; 
  arg2 = (float)jarg2; 
  if (arg1) (arg1)->vbr_quality = arg2;
  
}


SWIGEXPORT float SWIGSTDCALL CSharp_switch_codec_settings_vbr_quality_get(void * jarg1) {
  float jresult ;
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  float result;
  
  arg1 = (switch_codec_settings *)jarg1; 
  result = (float) ((arg1)->vbr_quality);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_abr_set(void * jarg1, int jarg2) {
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  int arg2 ;
  
  arg1 = (switch_codec_settings *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->abr = arg2;
  
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_abr_get(void * jarg1) {
  int jresult ;
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  int result;
  
  arg1 = (switch_codec_settings *)jarg1; 
  result = (int) ((arg1)->abr);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_dtx_set(void * jarg1, int jarg2) {
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  int arg2 ;
  
  arg1 = (switch_codec_settings *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->dtx = arg2;
  
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_dtx_get(void * jarg1) {
  int jresult ;
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  int result;
  
  arg1 = (switch_codec_settings *)jarg1; 
  result = (int) ((arg1)->dtx);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_preproc_set(void * jarg1, int jarg2) {
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  int arg2 ;
  
  arg1 = (switch_codec_settings *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->preproc = arg2;
  
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_preproc_get(void * jarg1) {
  int jresult ;
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  int result;
  
  arg1 = (switch_codec_settings *)jarg1; 
  result = (int) ((arg1)->preproc);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_pp_vad_set(void * jarg1, int jarg2) {
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  int arg2 ;
  
  arg1 = (switch_codec_settings *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->pp_vad = arg2;
  
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_pp_vad_get(void * jarg1) {
  int jresult ;
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  int result;
  
  arg1 = (switch_codec_settings *)jarg1; 
  result = (int) ((arg1)->pp_vad);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_pp_agc_set(void * jarg1, int jarg2) {
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  int arg2 ;
  
  arg1 = (switch_codec_settings *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->pp_agc = arg2;
  
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_pp_agc_get(void * jarg1) {
  int jresult ;
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  int result;
  
  arg1 = (switch_codec_settings *)jarg1; 
  result = (int) ((arg1)->pp_agc);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_pp_agc_level_set(void * jarg1, float jarg2) {
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  float arg2 ;
  
  arg1 = (switch_codec_settings *)jarg1; 
  arg2 = (float)jarg2; 
  if (arg1) (arg1)->pp_agc_level = arg2;
  
}


SWIGEXPORT float SWIGSTDCALL CSharp_switch_codec_settings_pp_agc_level_get(void * jarg1) {
  float jresult ;
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  float result;
  
  arg1 = (switch_codec_settings *)jarg1; 
  result = (float) ((arg1)->pp_agc_level);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_pp_denoise_set(void * jarg1, int jarg2) {
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  int arg2 ;
  
  arg1 = (switch_codec_settings *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->pp_denoise = arg2;
  
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_pp_denoise_get(void * jarg1) {
  int jresult ;
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  int result;
  
  arg1 = (switch_codec_settings *)jarg1; 
  result = (int) ((arg1)->pp_denoise);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_pp_dereverb_set(void * jarg1, int jarg2) {
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  int arg2 ;
  
  arg1 = (switch_codec_settings *)jarg1; 
  arg2 = (int)jarg2; 
  if (arg1) (arg1)->pp_dereverb = arg2;
  
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_pp_dereverb_get(void * jarg1) {
  int jresult ;
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  int result;
  
  arg1 = (switch_codec_settings *)jarg1; 
  result = (int) ((arg1)->pp_dereverb);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_pp_dereverb_decay_set(void * jarg1, float jarg2) {
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  float arg2 ;
  
  arg1 = (switch_codec_settings *)jarg1; 
  arg2 = (float)jarg2; 
  if (arg1) (arg1)->pp_dereverb_decay = arg2;
  
}


SWIGEXPORT float SWIGSTDCALL CSharp_switch_codec_settings_pp_dereverb_decay_get(void * jarg1) {
  float jresult ;
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  float result;
  
  arg1 = (switch_codec_settings *)jarg1; 
  result = (float) ((arg1)->pp_dereverb_decay);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_pp_dereverb_level_set(void * jarg1, float jarg2) {
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  float arg2 ;
  
  arg1 = (switch_codec_settings *)jarg1; 
  arg2 = (float)jarg2; 
  if (arg1) (arg1)->pp_dereverb_level = arg2;
  
}


SWIGEXPORT float SWIGSTDCALL CSharp_switch_codec_settings_pp_dereverb_level_get(void * jarg1) {
  float jresult ;
  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
  float result;
  
  arg1 = (switch_codec_settings *)jarg1; 
  result = (float) ((arg1)->pp_dereverb_level);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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_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_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_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_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_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_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; 
  {
    if (arg1->fmtp_in) 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_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_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; 
  {
    if (arg1->fmtp_out) 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_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_switch_codec_codec_settings_set(void * jarg1, void * jarg2) {
  switch_codec *arg1 = (switch_codec *) 0 ;
  switch_codec_settings_t *arg2 = (switch_codec_settings_t *) 0 ;
  
  arg1 = (switch_codec *)jarg1; 
  arg2 = (switch_codec_settings_t *)jarg2; 
  if (arg1) (arg1)->codec_settings = *arg2;
  
}


SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_codec_settings_get(void * jarg1) {
  void * jresult ;
  switch_codec *arg1 = (switch_codec *) 0 ;
  switch_codec_settings_t *result = 0 ;
  
  arg1 = (switch_codec *)jarg1; 
  result = (switch_codec_settings_t *)& ((arg1)->codec_settings);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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_new_switch_codec() {
  void * jresult ;
  switch_codec *result = 0 ;
  
  result = (switch_codec *)new switch_codec();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_codec(void * jarg1) {
  switch_codec *arg1 = (switch_codec *) 0 ;
  
  arg1 = (switch_codec *)jarg1; 
  delete arg1;
  
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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; 
  {
    if (arg1->iananame) 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_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_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; 
  {
    if (arg1->fmtp) 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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((switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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((switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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((switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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((switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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((switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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((switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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((switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_channel_ready(void * jarg1) {
  unsigned char jresult ;
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  uint8_t result;
  
  arg1 = (switch_channel_t *)jarg1; 
  result = (uint8_t)switch_channel_ready(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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 int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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_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_switch_channel_alloc(void * jarg1, void * jarg2) {
  int jresult ;
  switch_channel_t **arg1 = (switch_channel_t **) 0 ;
  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_channel_t **)jarg1; 
  arg2 = (switch_memory_pool_t *)jarg2; 
  result = (switch_status_t)switch_channel_alloc(arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_presence(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  switch_channel_presence(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4);
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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_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 char * SWIGSTDCALL CSharp_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_switch_channel_set_variable(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_variable(arg1,(char const *)arg2,(char const *)arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_set_variable_partner(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_variable_partner(arg1,(char const *)arg2,(char const *)arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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_switch_channel_get_variable(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(arg1,(char const *)arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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_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_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_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_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_switch_channel_set_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_flag(arg1,arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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 int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_perform_ring_ready(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_ring_ready(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_perform_mark_ring_ready(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_ring_ready(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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_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_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_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 = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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 int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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_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 = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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 result;
  switch_size_t *argp3 ;
  
  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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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 char * SWIGSTDCALL CSharp_switch_channel_expand_variables(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_expand_variables(arg1,(char const *)arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_audio_sync(void * jarg1) {
  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
  
  arg1 = (switch_channel_t *)jarg1; 
  switch_channel_audio_sync(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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 int SWIGSTDCALL CSharp_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_status_t result;
  switch_size_t *argp3 ;
  
  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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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_status_t result;
  switch_size_t *argp2 ;
  switch_size_t *argp3 ;
  switch_size_t *argp4 ;
  
  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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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 result;
  switch_size_t *argp3 ;
  
  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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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 result;
  switch_size_t *argp3 ;
  
  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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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 result;
  switch_size_t *argp3 ;
  
  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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_switch_buffer_toss(void * jarg1, void * jarg2) {
  void * jresult ;
  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
  switch_size_t arg2 ;
  switch_size_t result;
  switch_size_t *argp2 ;
  
  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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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 result;
  switch_size_t *argp3 ;
  
  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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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; 
  {
    if (arg1->name) 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_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_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; 
  {
    if (arg1->value) 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_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_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_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_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_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_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_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_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_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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; 
  {
    if (arg1->owner) 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_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_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; 
  {
    if (arg1->subclass_name) 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_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_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_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_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_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_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; 
  {
    if (arg1->body) 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_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_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_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_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_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_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_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_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_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_new_switch_event() {
  void * jresult ;
  switch_event *result = 0 ;
  
  result = (switch_event *)new switch_event();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_event(void * jarg1) {
  switch_event *arg1 = (switch_event *) 0 ;
  
  arg1 = (switch_event *)jarg1; 
  delete arg1;
  
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_shutdown() {
  int jresult ;
  switch_status_t result;
  
  result = (switch_status_t)switch_event_shutdown();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_create_subclass(void * jarg1, int jarg2, char * jarg3) {
  int jresult ;
  switch_event_t **arg1 = (switch_event_t **) 0 ;
  switch_event_types_t arg2 ;
  char *arg3 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_event_t **)jarg1; 
  arg2 = (switch_event_types_t)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_status_t)switch_event_create_subclass(arg1,arg2,(char const *)arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_switch_event_get_header(void * jarg1, char * jarg2) {
  char * jresult ;
  switch_event_t *arg1 = (switch_event_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_event_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (char *)switch_event_get_header(arg1,(char const *)arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_del_header(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_del_header(arg1,(char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_running() {
  int jresult ;
  switch_status_t result;
  
  result = (switch_status_t)switch_event_running();
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_switch_event_expand_headers(void * jarg1, char * jarg2) {
  char * jresult ;
  switch_event_t *arg1 = (switch_event_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (switch_event_t *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (char *)switch_event_expand_headers(arg1,(char const *)arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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 void SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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_switch_audio_resampler_t_from_set(void * jarg1, void * jarg2) {
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  float *arg2 = (float *) 0 ;
  
  arg1 = (switch_audio_resampler_t *)jarg1; 
  arg2 = (float *)jarg2; 
  if (arg1) (arg1)->from = arg2;
  
}


SWIGEXPORT void * SWIGSTDCALL CSharp_switch_audio_resampler_t_from_get(void * jarg1) {
  void * jresult ;
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  float *result = 0 ;
  
  arg1 = (switch_audio_resampler_t *)jarg1; 
  result = (float *) ((arg1)->from);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_from_len_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_len = arg2;
  
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_audio_resampler_t_from_len_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_len);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_from_size_set(void * jarg1, void * jarg2) {
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  switch_size_t arg2 ;
  switch_size_t *argp2 ;
  
  arg1 = (switch_audio_resampler_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)->from_size = arg2;
  
}


SWIGEXPORT void * SWIGSTDCALL CSharp_switch_audio_resampler_t_from_size_get(void * jarg1) {
  void * jresult ;
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  switch_size_t result;
  
  arg1 = (switch_audio_resampler_t *)jarg1; 
  result =  ((arg1)->from_size);
  jresult = new switch_size_t((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_to_set(void * jarg1, void * jarg2) {
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  float *arg2 = (float *) 0 ;
  
  arg1 = (switch_audio_resampler_t *)jarg1; 
  arg2 = (float *)jarg2; 
  if (arg1) (arg1)->to = arg2;
  
}


SWIGEXPORT void * SWIGSTDCALL CSharp_switch_audio_resampler_t_to_get(void * jarg1) {
  void * jresult ;
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  float *result = 0 ;
  
  arg1 = (switch_audio_resampler_t *)jarg1; 
  result = (float *) ((arg1)->to);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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_switch_resample_create(void * jarg1, int jarg2, void * jarg3, int jarg4, unsigned long jarg5, void * jarg6) {
  int jresult ;
  switch_audio_resampler_t **arg1 = (switch_audio_resampler_t **) 0 ;
  int arg2 ;
  switch_size_t arg3 ;
  int arg4 ;
  uint32_t arg5 ;
  switch_memory_pool_t *arg6 = (switch_memory_pool_t *) 0 ;
  switch_status_t result;
  switch_size_t *argp3 ;
  
  arg1 = (switch_audio_resampler_t **)jarg1; 
  arg2 = (int)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 = (int)jarg4; 
  arg5 = (uint32_t)jarg5; 
  arg6 = (switch_memory_pool_t *)jarg6; 
  result = (switch_status_t)switch_resample_create(arg1,arg2,arg3,arg4,arg5,arg6);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_switch_resample_process(void * jarg1, void * jarg2, int jarg3, void * jarg4, unsigned long jarg5, int jarg6) {
  unsigned long jresult ;
  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
  float *arg2 = (float *) 0 ;
  int arg3 ;
  float *arg4 = (float *) 0 ;
  uint32_t arg5 ;
  int arg6 ;
  uint32_t result;
  
  arg1 = (switch_audio_resampler_t *)jarg1; 
  arg2 = (float *)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (float *)jarg4; 
  arg5 = (uint32_t)jarg5; 
  arg6 = (int)jarg6; 
  result = (uint32_t)switch_resample_process(arg1,arg2,arg3,arg4,arg5,arg6);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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 result;
  switch_size_t *argp3 ;
  
  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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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_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_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_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_switch_generate_sln_silence(void * jarg1, unsigned long jarg2, unsigned long jarg3) {
  int16_t *arg1 = (int16_t *) 0 ;
  uint32_t arg2 ;
  uint32_t arg3 ;
  
  arg1 = (int16_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (uint32_t)jarg3; 
  switch_generate_sln_silence(arg1,arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_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 unsigned long SWIGSTDCALL CSharp_switch_merge_sln(void * jarg1, unsigned long jarg2, void * jarg3, unsigned long jarg4) {
  unsigned long jresult ;
  int16_t *arg1 = (int16_t *) 0 ;
  uint32_t arg2 ;
  int16_t *arg3 = (int16_t *) 0 ;
  uint32_t arg4 ;
  uint32_t result;
  
  arg1 = (int16_t *)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (int16_t *)jarg3; 
  arg4 = (uint32_t)jarg4; 
  result = (uint32_t)switch_merge_sln(arg1,arg2,arg3,arg4);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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_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)4096; ii++) b[ii] = *((switch_byte_t *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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_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_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_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; 
  {
    if (arg1->local_ip) 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_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_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_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_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; 
  {
    if (arg1->remote_ip) 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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_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_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_collect_digits_callback(void * jarg1, void * jarg2, unsigned long jarg3) {
  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 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_input_args_t *)jarg2; 
  arg3 = (uint32_t)jarg3; 
  result = (switch_status_t)switch_ivr_collect_digits_callback(arg1,arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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_status_t result;
  switch_size_t *argp3 ;
  switch_size_t *argp4 ;
  
  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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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,arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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,arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_ivr_session_echo(void * jarg1, void * jarg2) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_input_args_t *arg2 = (switch_input_args_t *) 0 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_input_args_t *)jarg2; 
  switch_ivr_session_echo(arg1,arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_tone_detect_session(void * jarg1, char * jarg2, char * jarg3, char * jarg4, void * jarg5, int jarg6, char * jarg7, char * jarg8) {
  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_status_t result;
  time_t *argp5 ;
  
  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; 
  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);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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,arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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, unsigned long jarg10, char * jarg11) {
  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 ;
  uint32_t arg10 ;
  char *arg11 = (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 = (uint32_t)jarg10; 
  arg11 = (char *)jarg11; 
  result = (switch_status_t)switch_play_and_get_digits(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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,arg5,arg6);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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,arg4,arg5);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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) {
  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_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; 
  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);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_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 ;
  uint32_t result;
  time_t *argp1 ;
  
  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_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 ;
  uint32_t result;
  time_t *argp1 ;
  
  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_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_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 ;
  uint32_t result;
  time_t *argp1 ;
  
  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,arg2,arg3,arg4);
  jresult = (unsigned long)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_menu_init(void * jarg1, void * jarg2, char * jarg3, char * jarg4, char * jarg5, char * jarg6, char * jarg7, char * jarg8, char * jarg9, int jarg10, int jarg11, int jarg12, int jarg13, int jarg14, int jarg15, void * jarg16) {
  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 ;
  int arg10 ;
  int arg11 ;
  int arg12 ;
  int arg13 ;
  int arg14 ;
  int arg15 ;
  switch_memory_pool_t *arg16 = (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 = (int)jarg10; 
  arg11 = (int)jarg11; 
  arg12 = (int)jarg12; 
  arg13 = (int)jarg13; 
  arg14 = (int)jarg14; 
  arg15 = (int)jarg15; 
  arg16 = (switch_memory_pool_t *)jarg16; 
  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,arg10,arg11,arg12,arg13,arg14,arg15,arg16);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_phrase_macro(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_phrase_macro(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_status_t result;
  switch_size_t *argp3 ;
  
  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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_ivr_intercept_session(void * jarg1, char * jarg2, int jarg3) {
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_bool_t arg3 ;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_bool_t)jarg3; 
  switch_ivr_intercept_session(arg1,(char const *)arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_read(void * jarg1, unsigned long jarg2, unsigned long jarg3, char * jarg4, char * jarg5, char * jarg6, void * jarg7, unsigned long jarg8, char * jarg9) {
  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 ;
  switch_status_t result;
  switch_size_t *argp7 ;
  
  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; 
  result = (switch_status_t)switch_ivr_read(arg1,arg2,arg3,(char const *)arg4,(char const *)arg5,arg6,arg7,arg8,(char const *)arg9);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_say(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_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 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = (switch_input_args_t *)jarg6; 
  result = (switch_status_t)switch_ivr_say(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,arg6);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_RTP_MAX_BUF_LEN_get() {
  int jresult ;
  int result;
  
  result = (int) 16384;
  
  jresult = result; 
  return jresult;
}


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


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


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


SWIGEXPORT char * SWIGSTDCALL CSharp_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 void SWIGSTDCALL CSharp_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_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_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_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_crypto_key_key_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->key;
    for (ii = 0; ii < (size_t)64; ii++) b[ii] = *((unsigned char *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_switch_rtp_crypto_key_key_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)->key);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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 int SWIGSTDCALL CSharp_switch_rtp_add_crypto_key(void * jarg1, int jarg2, unsigned long jarg3, int jarg4, void * jarg5, void * jarg6) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  switch_rtp_crypto_direction_t arg2 ;
  uint32_t arg3 ;
  switch_rtp_crypto_key_type_t arg4 ;
  unsigned char *arg5 = (unsigned char *) 0 ;
  switch_size_t arg6 ;
  switch_status_t result;
  switch_size_t *argp6 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (switch_rtp_crypto_direction_t)jarg2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = (switch_rtp_crypto_key_type_t)jarg4; 
  arg5 = (unsigned char *)jarg5; 
  argp6 = (switch_size_t *)jarg6; 
  if (!argp6) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
    return 0;
  }
  arg6 = *argp6; 
  result = (switch_status_t)switch_rtp_add_crypto_key(arg1,arg2,arg3,arg4,arg5,arg6);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_switch_rtp_shutdown() {
  switch_rtp_shutdown();
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_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 unsigned short SWIGSTDCALL CSharp_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_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_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_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_create(void * jarg1, unsigned char jarg2, unsigned long jarg3, unsigned long jarg4, unsigned long 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 = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_switch_rtp_new(char * jarg1, unsigned short jarg2, char * jarg3, unsigned short jarg4, unsigned char jarg5, unsigned long jarg6, unsigned long jarg7, unsigned long jarg8, char * jarg9, void * jarg10, void * jarg11) {
  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_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; 
  result = (switch_rtp_t *)switch_rtp_new((char const *)arg1,arg2,(char const *)arg3,arg4,arg5,arg6,arg7,arg8,arg9,(char const **)arg10,arg11);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_set_remote_address(void * jarg1, char * jarg2, unsigned short jarg3, int jarg4, void * jarg5) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_port_t arg3 ;
  switch_bool_t arg4 ;
  char **arg5 = (char **) 0 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_port_t)jarg3; 
  arg4 = (switch_bool_t)jarg4; 
  arg5 = (char **)jarg5; 
  result = (switch_status_t)switch_rtp_set_remote_address(arg1,(char const *)arg2,arg3,arg4,(char const **)arg5);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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_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_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 int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_switch_rtp_break(void * jarg1) {
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  switch_rtp_break(arg1);
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_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_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_switch_rtp_activate_ice(void * jarg1, char * jarg2, char * jarg3) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (switch_status_t)switch_rtp_activate_ice(arg1,arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_activate_jitter_buffer(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_activate_jitter_buffer(arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_set_flag(void * jarg1, unsigned long 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 unsigned long SWIGSTDCALL CSharp_switch_rtp_test_flag(void * jarg1, unsigned long 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_switch_rtp_clear_flag(void * jarg1, unsigned long 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_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_switch_rtp_set_default_samples_per_interval(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_default_samples_per_interval(arg1,arg2);
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_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_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_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_switch_rtp_set_invald_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_invald_handler(arg1,arg2);
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_rtp_flush_read_buffer(void * jarg1) {
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  
  arg1 = (switch_rtp_t *)jarg1; 
  rtp_flush_read_buffer(arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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_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 unsigned long SWIGSTDCALL CSharp_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_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_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_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_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_switch_rtp_activate_stun_ping(void * jarg1, char * jarg2, unsigned short jarg3, unsigned long jarg4, int jarg5) {
  int jresult ;
  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
  char *arg2 = (char *) 0 ;
  switch_port_t arg3 ;
  uint32_t arg4 ;
  switch_bool_t arg5 ;
  switch_status_t result;
  
  arg1 = (switch_rtp_t *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (switch_port_t)jarg3; 
  arg4 = (uint32_t)jarg4; 
  arg5 = (switch_bool_t)jarg5; 
  result = (switch_status_t)switch_rtp_activate_stun_ping(arg1,(char const *)arg2,arg3,arg4,arg5);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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; 
  {
    if (arg1->data) 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_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_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);
    else arg1->file[0] = 0;
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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_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_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_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);
    else arg1->func[0] = 0;
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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_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_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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((switch_time_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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; 
  {
    if (arg1->content) 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_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_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; 
  {
    if (arg2) {
      arg1->userdata = (char const *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->userdata, (const char *)arg2);
    } else {
      arg1->userdata = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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_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_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 = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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_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 int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_log_shutdown() {
  int jresult ;
  switch_status_t result;
  
  result = (switch_status_t)switch_log_shutdown();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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_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 = result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_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 int SWIGSTDCALL CSharp_SWITCH_XML_BUFSIZE_get() {
  int jresult ;
  int result;
  
  result = (int) 1024;
  
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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; 
  {
    if (arg1->name) 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_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_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_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_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; 
  {
    if (arg1->txt) 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_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_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; 
  {
    if (arg1->free_path) 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_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_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_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((switch_size_t &)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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_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_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_new_switch_xml() {
  void * jresult ;
  switch_xml *result = 0 ;
  
  result = (switch_xml *)new switch_xml();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_xml(void * jarg1) {
  switch_xml *arg1 = (switch_xml *) 0 ;
  
  arg1 = (switch_xml *)jarg1; 
  delete arg1;
  
}


SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_parse_str(char * jarg1, void * jarg2) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  switch_size_t arg2 ;
  switch_xml_t result;
  switch_size_t *argp2 ;
  
  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_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_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_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_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_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_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_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_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_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_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_switch_xml_toxml(void * jarg1, int jarg2) {
  char * jresult ;
  switch_xml_t arg1 = (switch_xml_t) 0 ;
  switch_bool_t arg2 ;
  char *result = 0 ;
  
  arg1 = (switch_xml_t)jarg1; 
  arg2 = (switch_bool_t)jarg2; 
  result = (char *)switch_xml_toxml(arg1,arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_switch_xml_toxml_buf(void * jarg1, char * jarg2, void * jarg3, void * jarg4, int jarg5) {
  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 ;
  char *result = 0 ;
  switch_size_t *argp3 ;
  switch_size_t *argp4 ;
  
  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; 
  result = (char *)switch_xml_toxml_buf(arg1,arg2,arg3,arg4,arg5);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_xml_t result;
  switch_size_t *argp3 ;
  
  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_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_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_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_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_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_xml_t result;
  switch_size_t *argp3 ;
  
  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 void * SWIGSTDCALL CSharp_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_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_xml_destroy() {
  int jresult ;
  switch_status_t result;
  
  result = (switch_status_t)switch_xml_destroy();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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_switch_xml_locate(char * jarg1, char * jarg2, char * jarg3, char * jarg4, void * jarg5, void * jarg6, void * jarg7) {
  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_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; 
  result = (switch_status_t)switch_xml_locate((char const *)arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5,arg6,arg7);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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_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_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_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_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_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_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 void SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_switch_io_event_hook_resurrect_session_resurrect_session_set(void * jarg1, void * jarg2) {
  switch_io_event_hook_resurrect_session *arg1 = (switch_io_event_hook_resurrect_session *) 0 ;
  switch_resurrect_session_hook_t arg2 = (switch_resurrect_session_hook_t) 0 ;
  
  arg1 = (switch_io_event_hook_resurrect_session *)jarg1; 
  arg2 = (switch_resurrect_session_hook_t)jarg2; 
  if (arg1) (arg1)->resurrect_session = arg2;
  
}


SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_resurrect_session_resurrect_session_get(void * jarg1) {
  void * jresult ;
  switch_io_event_hook_resurrect_session *arg1 = (switch_io_event_hook_resurrect_session *) 0 ;
  switch_resurrect_session_hook_t result;
  
  arg1 = (switch_io_event_hook_resurrect_session *)jarg1; 
  result = (switch_resurrect_session_hook_t) ((arg1)->resurrect_session);
  jresult = (void *)result; 
  return jresult;
}


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


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


SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_resurrect_session() {
  void * jresult ;
  switch_io_event_hook_resurrect_session *result = 0 ;
  
  result = (switch_io_event_hook_resurrect_session *)new switch_io_event_hook_resurrect_session();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_resurrect_session(void * jarg1) {
  switch_io_event_hook_resurrect_session *arg1 = (switch_io_event_hook_resurrect_session *) 0 ;
  
  arg1 = (switch_io_event_hook_resurrect_session *)jarg1; 
  delete arg1;
  
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_switch_io_event_hooks_resurrect_session_set(void * jarg1, void * jarg2) {
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_resurrect_session_t *arg2 = (switch_io_event_hook_resurrect_session_t *) 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  arg2 = (switch_io_event_hook_resurrect_session_t *)jarg2; 
  if (arg1) (arg1)->resurrect_session = arg2;
  
}


SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_resurrect_session_get(void * jarg1) {
  void * jresult ;
  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
  switch_io_event_hook_resurrect_session_t *result = 0 ;
  
  arg1 = (switch_io_event_hooks *)jarg1; 
  result = (switch_io_event_hook_resurrect_session_t *) ((arg1)->resurrect_session);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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_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_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_resurrect_session(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_resurrect_session_hook_t arg2 = (switch_resurrect_session_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_resurrect_session_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_add_resurrect_session(arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_resurrect_session(void * jarg1, void * jarg2) {
  int jresult ;
  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
  switch_resurrect_session_hook_t arg2 = (switch_resurrect_session_hook_t) 0 ;
  switch_status_t result;
  
  arg1 = (switch_core_session_t *)jarg1; 
  arg2 = (switch_resurrect_session_hook_t)jarg2; 
  result = (switch_status_t)switch_core_event_hook_remove_resurrect_session(arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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_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; 
  {
    if (arg1->group) 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_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_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_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_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_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_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_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_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 ;
  uint32_t result;
  time_t *argp1 ;
  
  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_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_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_switch_scheduler_task_thread_start() {
  switch_scheduler_task_thread_start();
}


SWIGEXPORT void SWIGSTDCALL CSharp_switch_scheduler_task_thread_stop() {
  switch_scheduler_task_thread_stop();
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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);
    else arg1->path[0] = 0;
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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_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);
    else arg1->category[0] = 0;
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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_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);
    else arg1->section[0] = 0;
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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_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);
    else arg1->buf[0] = 0;
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_new_switch_config() {
  void * jresult ;
  switch_config *result = 0 ;
  
  result = (switch_config *)new switch_config();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_config(void * jarg1) {
  switch_config *arg1 = (switch_config *) 0 ;
  
  arg1 = (switch_config *)jarg1; 
  delete arg1;
  
}


SWIGEXPORT int SWIGSTDCALL CSharp_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_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_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_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_consoleCleanLog(char * jarg1) {
  char *arg1 = (char *) 0 ;
  
  arg1 = (char *)jarg1; 
  consoleCleanLog(arg1);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_IvrMenu(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5, char * jarg6, char * jarg7, char * jarg8, int jarg9, int jarg10, int jarg11, int jarg12, int jarg13, int jarg14) {
  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 ;
  int arg9 ;
  int arg10 ;
  int arg11 ;
  int arg12 ;
  int arg13 ;
  int arg14 ;
  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 = (int)jarg9; 
  arg10 = (int)jarg10; 
  arg11 = (int)jarg11; 
  arg12 = (int)jarg12; 
  arg13 = (int)jarg13; 
  arg14 = (int)jarg14; 
  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,arg9,arg10,arg11,arg12,arg13,arg14);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_IvrMenu(void * jarg1) {
  IVRMenu *arg1 = (IVRMenu *) 0 ;
  
  arg1 = (IVRMenu *)jarg1; 
  delete arg1;
  
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_new_Api() {
  void * jresult ;
  API *result = 0 ;
  
  result = (API *)new API();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_Api(void * jarg1) {
  API *arg1 = (API *) 0 ;
  
  arg1 = (API *)jarg1; 
  delete arg1;
  
}


SWIGEXPORT char * SWIGSTDCALL CSharp_Api_Execute(void * jarg1, char * jarg2, char * jarg3) {
  char * jresult ;
  API *arg1 = (API *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  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); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_input_callback_state_t_function_set(void * jarg1, void * jarg2) {
  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (input_callback_state_t *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->function = arg2;
  
}


SWIGEXPORT void * SWIGSTDCALL CSharp_input_callback_state_t_function_get(void * jarg1) {
  void * jresult ;
  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
  void *result = 0 ;
  
  arg1 = (input_callback_state_t *)jarg1; 
  result = (void *) ((arg1)->function);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_input_callback_state_t_threadState_set(void * jarg1, void * jarg2) {
  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (input_callback_state_t *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->threadState = arg2;
  
}


SWIGEXPORT void * SWIGSTDCALL CSharp_input_callback_state_t_threadState_get(void * jarg1) {
  void * jresult ;
  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
  void *result = 0 ;
  
  arg1 = (input_callback_state_t *)jarg1; 
  result = (void *) ((arg1)->threadState);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_input_callback_state_t_extra_set(void * jarg1, void * jarg2) {
  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
  void *arg2 = (void *) 0 ;
  
  arg1 = (input_callback_state_t *)jarg1; 
  arg2 = (void *)jarg2; 
  if (arg1) (arg1)->extra = arg2;
  
}


SWIGEXPORT void * SWIGSTDCALL CSharp_input_callback_state_t_extra_get(void * jarg1) {
  void * jresult ;
  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
  void *result = 0 ;
  
  arg1 = (input_callback_state_t *)jarg1; 
  result = (void *) ((arg1)->extra);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_input_callback_state_t_funcargs_set(void * jarg1, char * jarg2) {
  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (input_callback_state_t *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg1->funcargs) 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_input_callback_state_t_funcargs_get(void * jarg1) {
  char * jresult ;
  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
  char *result = 0 ;
  
  arg1 = (input_callback_state_t *)jarg1; 
  result = (char *) ((arg1)->funcargs);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_input_callback_state_t() {
  void * jresult ;
  input_callback_state_t *result = 0 ;
  
  result = (input_callback_state_t *)new input_callback_state_t();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_input_callback_state_t(void * jarg1) {
  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
  
  arg1 = (input_callback_state_t *)jarg1; 
  delete arg1;
  
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_delete_DTMF(void * jarg1) {
  DTMF *arg1 = (DTMF *) 0 ;
  
  arg1 = (DTMF *)jarg1; 
  delete arg1;
  
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_Stream__SWIG_0() {
  void * jresult ;
  Stream *result = 0 ;
  
  result = (Stream *)new Stream();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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_delete_Stream(void * jarg1) {
  Stream *arg1 = (Stream *) 0 ;
  
  arg1 = (Stream *)jarg1; 
  delete arg1;
  
}


SWIGEXPORT void SWIGSTDCALL CSharp_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 char * SWIGSTDCALL CSharp_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_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_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_Event_serialized_string_set(void * jarg1, char * jarg2) {
  Event *arg1 = (Event *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (Event *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg1->serialized_string) 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_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_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_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_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_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_delete_Event(void * jarg1) {
  Event *arg1 = (Event *) 0 ;
  
  arg1 = (Event *)jarg1; 
  delete arg1;
  
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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_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_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(arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_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_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_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_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_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_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 void SWIGSTDCALL CSharp_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_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_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_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_EventConsumer_node_set(void * jarg1, void * jarg2) {
  EventConsumer *arg1 = (EventConsumer *) 0 ;
  switch_event_node_t *arg2 = (switch_event_node_t *) 0 ;
  
  arg1 = (EventConsumer *)jarg1; 
  arg2 = (switch_event_node_t *)jarg2; 
  if (arg1) (arg1)->node = arg2;
  
}


SWIGEXPORT void * SWIGSTDCALL CSharp_EventConsumer_node_get(void * jarg1) {
  void * jresult ;
  EventConsumer *arg1 = (EventConsumer *) 0 ;
  switch_event_node_t *result = 0 ;
  
  arg1 = (EventConsumer *)jarg1; 
  result = (switch_event_node_t *) ((arg1)->node);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_EventConsumer_e_callback_set(void * jarg1, char * jarg2) {
  EventConsumer *arg1 = (EventConsumer *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (EventConsumer *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg1->e_callback) 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_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_EventConsumer_e_subclass_name_set(void * jarg1, char * jarg2) {
  EventConsumer *arg1 = (EventConsumer *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (EventConsumer *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg1->e_subclass_name) 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_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_EventConsumer_e_cb_arg_set(void * jarg1, char * jarg2) {
  EventConsumer *arg1 = (EventConsumer *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (EventConsumer *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg1->e_cb_arg) 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_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_new_EventConsumer(char * jarg1, char * jarg2) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) "" ;
  EventConsumer *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (EventConsumer *)new EventConsumer((char const *)arg1,(char const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_EventConsumer(void * jarg1) {
  EventConsumer *arg1 = (EventConsumer *) 0 ;
  
  arg1 = (EventConsumer *)jarg1; 
  delete arg1;
  
}


SWIGEXPORT void * SWIGSTDCALL CSharp_EventConsumer_pop(void * jarg1, int jarg2) {
  void * jresult ;
  EventConsumer *arg1 = (EventConsumer *) 0 ;
  int arg2 = (int) 0 ;
  Event *result = 0 ;
  
  arg1 = (EventConsumer *)jarg1; 
  arg2 = (int)jarg2; 
  result = (Event *)(arg1)->pop(arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_CoreSession(void * jarg1) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  delete arg1;
  
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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_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_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 = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_uuid_set(void * jarg1, char * jarg2) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg1->uuid) 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_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_CoreSession_tts_name_set(void * jarg1, char * jarg2) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg1->tts_name) 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_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_CoreSession_voice_name_set(void * jarg1, char * jarg2) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  {
    if (arg1->voice_name) 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_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_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_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_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_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_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_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_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_CoreSession_Say(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  (arg1)->say((char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5);
}


SWIGEXPORT void SWIGSTDCALL CSharp_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 int SWIGSTDCALL CSharp_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 void SWIGSTDCALL CSharp_CoreSession_SetCallerData(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)->setCallerData(arg2,arg3);
}


SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_Originate(void * jarg1, void * jarg2, char * jarg3, int jarg4) {
  int jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  CoreSession *arg2 = (CoreSession *) 0 ;
  char *arg3 = (char *) 0 ;
  int arg4 = (int) 60 ;
  int result;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (CoreSession *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  result = (int)(arg1)->originate(arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_destroy(void * jarg1) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  (arg1)->destroy();
}


SWIGEXPORT int SWIGSTDCALL CSharp_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_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 int SWIGSTDCALL CSharp_CoreSession_CollectDigits(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 char * SWIGSTDCALL CSharp_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_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 int SWIGSTDCALL CSharp_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_CoreSession_read(void * jarg1, int jarg2, int jarg3, char * jarg4, int jarg5, char * jarg6) {
  char * jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  int arg2 ;
  int arg3 ;
  char *arg4 = (char *) 0 ;
  int arg5 ;
  char *arg6 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (int)jarg5; 
  arg6 = (char *)jarg6; 
  result = (char *)(arg1)->read(arg2,arg3,(char const *)arg4,arg5,(char const *)arg6);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_CoreSession_PlayAndGetDigits(void * jarg1, int jarg2, int jarg3, int jarg4, int jarg5, char * jarg6, char * jarg7, char * jarg8, char * jarg9) {
  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 *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; 
  result = (char *)(arg1)->playAndGetDigits(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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_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_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_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_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_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_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_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_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_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(arg2,arg3);
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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_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_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_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_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_CoreSession_get_cb_args(void * jarg1) {
  void * jresult ;
  CoreSession *arg1 = (CoreSession *) 0 ;
  switch_input_args_t *result = 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  {
    switch_input_args_t const &_result_ref = ((CoreSession const *)arg1)->get_cb_args();
    result = (switch_input_args_t *) &_result_ref;
  }
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_check_hangup_hook(void * jarg1) {
  CoreSession *arg1 = (CoreSession *) 0 ;
  
  arg1 = (CoreSession *)jarg1; 
  (arg1)->check_hangup_hook();
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_console_clean_log(char * jarg1) {
  char *arg1 = (char *) 0 ;
  
  arg1 = (char *)jarg1; 
  console_clean_log(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_msleep(unsigned int jarg1) {
  unsigned int arg1 ;
  
  arg1 = (unsigned int)jarg1; 
  msleep(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_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_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 = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_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 = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_ManagedSession__SWIG_0() {
  void * jresult ;
  ManagedSession *result = 0 ;
  
  result = (ManagedSession *)new ManagedSession();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_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_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_delete_ManagedSession(void * jarg1) {
  ManagedSession *arg1 = (ManagedSession *) 0 ;
  
  arg1 = (ManagedSession *)jarg1; 
  delete arg1;
  
}


SWIGEXPORT CoreSession * SWIGSTDCALL CSharp_ManagedSessionUpcast(ManagedSession *objectRef) {
    return (CoreSession *)objectRef;
}

#ifdef __cplusplus
}
#endif

