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


#ifndef SWIGCSHARP
#define SWIGCSHARP
#endif


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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


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

typedef enum {
  SWIG_CSharpArgumentException,
  SWIG_CSharpArgumentNullException,
  SWIG_CSharpArgumentOutOfRangeException
} SWIG_CSharpExceptionArgumentCodes;

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

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

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

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

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

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

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


#ifdef __cplusplus
extern "C"
#endif
SWIGEXPORT void SWIGSTDCALL SWIGRegisterExceptionCallbacks_icsneocsharp(
                                                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_icsneocsharp(
                                                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_icsneocsharp(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 <stdint.h>		// Use the C99 official header


#include "icsneo/icsneoc.h"


static neomessage_can_t* neomessage_can_t_cast(neomessage_t* msg) {
	return (neomessage_can_t*) msg;
}

static neomessage_eth_t* neomessage_eth_t_cast(neomessage_t* msg) {
	return (neomessage_eth_t*) msg;
}

static neomessage_t* from_can_neomessage_t_cast(neomessage_can_t* msg) {
	return (neomessage_t*) msg;
}

static neomessage_t* from_eth_neomessage_t_cast(neomessage_eth_t* msg) {
	return (neomessage_t*) msg;
}


static neodevice_t *new_neodevice_t_array(int nelements) {
  return (neodevice_t *) calloc(nelements,sizeof(neodevice_t));
}

static void delete_neodevice_t_array(neodevice_t *ary) {
  free(ary);
}

static neodevice_t neodevice_t_array_getitem(neodevice_t *ary, int index) {
    return ary[index];
}
static void neodevice_t_array_setitem(neodevice_t *ary, int index, neodevice_t value) {
    ary[index] = value;
}


static neoevent_t *new_neoevent_t_array(int nelements) {
  return (neoevent_t *) calloc(nelements,sizeof(neoevent_t));
}

static void delete_neoevent_t_array(neoevent_t *ary) {
  free(ary);
}

static neoevent_t neoevent_t_array_getitem(neoevent_t *ary, int index) {
    return ary[index];
}
static void neoevent_t_array_setitem(neoevent_t *ary, int index, neoevent_t value) {
    ary[index] = value;
}


static neomessage_t *new_neomessage_t_array(int nelements) {
  return (neomessage_t *) calloc(nelements,sizeof(neomessage_t));
}

static void delete_neomessage_t_array(neomessage_t *ary) {
  free(ary);
}

static neomessage_t neomessage_t_array_getitem(neomessage_t *ary, int index) {
    return ary[index];
}
static void neomessage_t_array_setitem(neomessage_t *ary, int index, neomessage_t value) {
    ary[index] = value;
}


#ifdef __cplusplus
extern "C" {
#endif

SWIGEXPORT void SWIGSTDCALL CSharp_icsneo_findAllDevices(void * jarg1, int * jarg2) {
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  size_t *arg2 = (size_t *) 0 ;

  arg1 = (neodevice_t *)jarg1;
  arg2 = (size_t *)jarg2;
  icsneo_findAllDevices(arg1,arg2);
}


SWIGEXPORT void SWIGSTDCALL CSharp_icsneo_freeUnconnectedDevices() {
  icsneo_freeUnconnectedDevices();
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_serialNumToString(unsigned int jarg1, char * jarg2, int * jarg3) {
  unsigned int jresult ;
  uint32_t arg1 ;
  char *arg2 = (char *) 0 ;
  size_t *arg3 = (size_t *) 0 ;
  bool result;

  arg1 = (uint32_t)jarg1;
  arg2 = (char *)jarg2;
  arg3 = (size_t *)jarg3;
  result = (bool)icsneo_serialNumToString(arg1,arg2,arg3);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_serialStringToNum(char * jarg1) {
  unsigned int jresult ;
  char *arg1 = (char *) 0 ;
  uint32_t result;

  arg1 = (char *)jarg1;
  result = (uint32_t)icsneo_serialStringToNum((char const *)arg1);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_isValidNeoDevice(void * jarg1) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  result = (bool)icsneo_isValidNeoDevice((neodevice_t const *)arg1);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_openDevice(void * jarg1) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  result = (bool)icsneo_openDevice((neodevice_t const *)arg1);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_closeDevice(void * jarg1) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  result = (bool)icsneo_closeDevice((neodevice_t const *)arg1);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_isOpen(void * jarg1) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  result = (bool)icsneo_isOpen((neodevice_t const *)arg1);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_goOnline(void * jarg1) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  result = (bool)icsneo_goOnline((neodevice_t const *)arg1);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_goOffline(void * jarg1) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  result = (bool)icsneo_goOffline((neodevice_t const *)arg1);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_isOnline(void * jarg1) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  result = (bool)icsneo_isOnline((neodevice_t const *)arg1);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_enableMessagePolling(void * jarg1) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  result = (bool)icsneo_enableMessagePolling((neodevice_t const *)arg1);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_disableMessagePolling(void * jarg1) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  result = (bool)icsneo_disableMessagePolling((neodevice_t const *)arg1);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_isMessagePollingEnabled(void * jarg1) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  result = (bool)icsneo_isMessagePollingEnabled((neodevice_t const *)arg1);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_getMessages(void * jarg1, void * jarg2, int * jarg3, unsigned long long jarg4) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  neomessage_t *arg2 = (neomessage_t *) 0 ;
  size_t *arg3 = (size_t *) 0 ;
  uint64_t arg4 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  arg2 = (neomessage_t *)jarg2;
  arg3 = (size_t *)jarg3;
  arg4 = (uint64_t)jarg4;
  result = (bool)icsneo_getMessages((neodevice_t const *)arg1,arg2,arg3,arg4);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_icsneo_getPollingMessageLimit(void * jarg1) {
  unsigned long jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  size_t result;

  arg1 = (neodevice_t *)jarg1;
  result = icsneo_getPollingMessageLimit((neodevice_t const *)arg1);
  jresult = (unsigned long)result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_setPollingMessageLimit(void * jarg1, unsigned long jarg2) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  size_t arg2 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  arg2 = (size_t)jarg2;
  result = (bool)icsneo_setPollingMessageLimit((neodevice_t const *)arg1,arg2);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_getProductName(void * jarg1, char * jarg2, int * jarg3) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  char *arg2 = (char *) 0 ;
  size_t *arg3 = (size_t *) 0 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  arg2 = (char *)jarg2;
  arg3 = (size_t *)jarg3;
  result = (bool)icsneo_getProductName((neodevice_t const *)arg1,arg2,arg3);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_getProductNameForType(unsigned int jarg1, char * jarg2, int * jarg3) {
  unsigned int jresult ;
  devicetype_t arg1 ;
  char *arg2 = (char *) 0 ;
  size_t *arg3 = (size_t *) 0 ;
  bool result;

  arg1 = (devicetype_t)jarg1;
  arg2 = (char *)jarg2;
  arg3 = (size_t *)jarg3;
  result = (bool)icsneo_getProductNameForType(arg1,arg2,arg3);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_settingsRefresh(void * jarg1) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  result = (bool)icsneo_settingsRefresh((neodevice_t const *)arg1);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_settingsApply(void * jarg1) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  result = (bool)icsneo_settingsApply((neodevice_t const *)arg1);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_settingsApplyTemporary(void * jarg1) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  result = (bool)icsneo_settingsApplyTemporary((neodevice_t const *)arg1);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_settingsApplyDefaults(void * jarg1) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  result = (bool)icsneo_settingsApplyDefaults((neodevice_t const *)arg1);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_settingsApplyDefaultsTemporary(void * jarg1) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  result = (bool)icsneo_settingsApplyDefaultsTemporary((neodevice_t const *)arg1);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_icsneo_settingsReadStructure(void * jarg1, void * jarg2, unsigned long jarg3) {
  int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  void *arg2 = (void *) 0 ;
  size_t arg3 ;
  int result;

  arg1 = (neodevice_t *)jarg1;
  arg2 = (void *)jarg2;
  arg3 = (size_t)jarg3;
  result = (int)icsneo_settingsReadStructure((neodevice_t const *)arg1,arg2,arg3);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_settingsApplyStructure(void * jarg1, void * jarg2, unsigned long jarg3) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  void *arg2 = (void *) 0 ;
  size_t arg3 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  arg2 = (void *)jarg2;
  arg3 = (size_t)jarg3;
  result = (bool)icsneo_settingsApplyStructure((neodevice_t const *)arg1,(void const *)arg2,arg3);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_settingsApplyStructureTemporary(void * jarg1, void * jarg2, unsigned long jarg3) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  void *arg2 = (void *) 0 ;
  size_t arg3 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  arg2 = (void *)jarg2;
  arg3 = (size_t)jarg3;
  result = (bool)icsneo_settingsApplyStructureTemporary((neodevice_t const *)arg1,(void const *)arg2,arg3);
  jresult = result;
  return jresult;
}


SWIGEXPORT long long SWIGSTDCALL CSharp_icsneo_getBaudrate(void * jarg1, unsigned short jarg2) {
  long long jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  uint16_t arg2 ;
  int64_t result;

  arg1 = (neodevice_t *)jarg1;
  arg2 = (uint16_t)jarg2;
  result = (int64_t)icsneo_getBaudrate((neodevice_t const *)arg1,arg2);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_setBaudrate(void * jarg1, unsigned short jarg2, long long jarg3) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  uint16_t arg2 ;
  int64_t arg3 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  arg2 = (uint16_t)jarg2;
  arg3 = (int64_t)jarg3;
  result = (bool)icsneo_setBaudrate((neodevice_t const *)arg1,arg2,arg3);
  jresult = result;
  return jresult;
}


SWIGEXPORT long long SWIGSTDCALL CSharp_icsneo_getFDBaudrate(void * jarg1, unsigned short jarg2) {
  long long jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  uint16_t arg2 ;
  int64_t result;

  arg1 = (neodevice_t *)jarg1;
  arg2 = (uint16_t)jarg2;
  result = (int64_t)icsneo_getFDBaudrate((neodevice_t const *)arg1,arg2);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_setFDBaudrate(void * jarg1, unsigned short jarg2, long long jarg3) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  uint16_t arg2 ;
  int64_t arg3 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  arg2 = (uint16_t)jarg2;
  arg3 = (int64_t)jarg3;
  result = (bool)icsneo_setFDBaudrate((neodevice_t const *)arg1,arg2,arg3);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_transmit(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  neomessage_t *arg2 = (neomessage_t *) 0 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  arg2 = (neomessage_t *)jarg2;
  result = (bool)icsneo_transmit((neodevice_t const *)arg1,(neomessage_t const *)arg2);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_transmitMessages(void * jarg1, void * jarg2, unsigned long jarg3) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  neomessage_t *arg2 = (neomessage_t *) 0 ;
  size_t arg3 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  arg2 = (neomessage_t *)jarg2;
  arg3 = (size_t)jarg3;
  result = (bool)icsneo_transmitMessages((neodevice_t const *)arg1,(neomessage_t const *)arg2,arg3);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_icsneo_setWriteBlocks(void * jarg1, unsigned int jarg2) {
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  bool arg2 ;

  arg1 = (neodevice_t *)jarg1;
  arg2 = jarg2 ? true : false;
  icsneo_setWriteBlocks((neodevice_t const *)arg1,arg2);
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_describeDevice(void * jarg1, char * jarg2, int * jarg3) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  char *arg2 = (char *) 0 ;
  size_t *arg3 = (size_t *) 0 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  arg2 = (char *)jarg2;
  arg3 = (size_t *)jarg3;
  result = (bool)icsneo_describeDevice((neodevice_t const *)arg1,arg2,arg3);
  jresult = result;
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_icsneo_getVersion() {
  void * jresult ;
  neoversion_t result;

  result = icsneo_getVersion();
  {
    neoversion_t * resultptr = (neoversion_t *) malloc(sizeof(neoversion_t));
    memmove(resultptr, &result, sizeof(neoversion_t));
    jresult = resultptr;
  }
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_getEvents(void * jarg1, int * jarg2) {
  unsigned int jresult ;
  neoevent_t *arg1 = (neoevent_t *) 0 ;
  size_t *arg2 = (size_t *) 0 ;
  bool result;

  arg1 = (neoevent_t *)jarg1;
  arg2 = (size_t *)jarg2;
  result = (bool)icsneo_getEvents(arg1,arg2);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_getDeviceEvents(void * jarg1, void * jarg2, int * jarg3) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  neoevent_t *arg2 = (neoevent_t *) 0 ;
  size_t *arg3 = (size_t *) 0 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  arg2 = (neoevent_t *)jarg2;
  arg3 = (size_t *)jarg3;
  result = (bool)icsneo_getDeviceEvents((neodevice_t const *)arg1,arg2,arg3);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_getLastError(void * jarg1) {
  unsigned int jresult ;
  neoevent_t *arg1 = (neoevent_t *) 0 ;
  bool result;

  arg1 = (neoevent_t *)jarg1;
  result = (bool)icsneo_getLastError(arg1);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_icsneo_discardAllEvents() {
  icsneo_discardAllEvents();
}


SWIGEXPORT void SWIGSTDCALL CSharp_icsneo_discardDeviceEvents(void * jarg1) {
  neodevice_t *arg1 = (neodevice_t *) 0 ;

  arg1 = (neodevice_t *)jarg1;
  icsneo_discardDeviceEvents((neodevice_t const *)arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_icsneo_setEventLimit(unsigned long jarg1) {
  size_t arg1 ;

  arg1 = (size_t)jarg1;
  icsneo_setEventLimit(arg1);
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_icsneo_getEventLimit() {
  unsigned long jresult ;
  size_t result;

  result = icsneo_getEventLimit();
  jresult = (unsigned long)result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_getSupportedDevices(void * jarg1, int * jarg2) {
  unsigned int jresult ;
  devicetype_t *arg1 = (devicetype_t *) 0 ;
  size_t *arg2 = (size_t *) 0 ;
  bool result;

  arg1 = (devicetype_t *)jarg1;
  arg2 = (size_t *)jarg2;
  result = (bool)icsneo_getSupportedDevices(arg1,arg2);
  jresult = result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_icsneo_getTimestampResolution(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  uint16_t *arg2 = (uint16_t *) 0 ;
  bool result;

  arg1 = (neodevice_t *)jarg1;
  arg2 = (uint16_t *)jarg2;
  result = (bool)icsneo_getTimestampResolution((neodevice_t const *)arg1,arg2);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neodevice_t_device_set(void * jarg1, void * jarg2) {
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  devicehandle_t arg2 = (devicehandle_t) 0 ;

  arg1 = (neodevice_t *)jarg1;
  arg2 = (devicehandle_t)jarg2;
  if (arg1) (arg1)->device = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_neodevice_t_device_get(void * jarg1) {
  void * jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  devicehandle_t result;

  arg1 = (neodevice_t *)jarg1;
  result = (devicehandle_t) ((arg1)->device);
  jresult = (void *)result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neodevice_t_handle_set(void * jarg1, int jarg2) {
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  neodevice_handle_t arg2 ;

  arg1 = (neodevice_t *)jarg1;
  arg2 = (neodevice_handle_t)jarg2;
  if (arg1) (arg1)->handle = arg2;
}


SWIGEXPORT int SWIGSTDCALL CSharp_neodevice_t_handle_get(void * jarg1) {
  int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  neodevice_handle_t result;

  arg1 = (neodevice_t *)jarg1;
  result = (neodevice_handle_t) ((arg1)->handle);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neodevice_t_type_set(void * jarg1, unsigned int jarg2) {
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  devicetype_t arg2 ;

  arg1 = (neodevice_t *)jarg1;
  arg2 = (devicetype_t)jarg2;
  if (arg1) (arg1)->type = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neodevice_t_type_get(void * jarg1) {
  unsigned int jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  devicetype_t result;

  arg1 = (neodevice_t *)jarg1;
  result = (devicetype_t) ((arg1)->type);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neodevice_t_serial_set(void * jarg1, char * jarg2) {
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  char *arg2 ;

  arg1 = (neodevice_t *)jarg1;
  arg2 = (char *)jarg2;
  {
    if(arg2) {
      strncpy((char*)arg1->serial, (const char *)arg2, 7-1);
      arg1->serial[7-1] = 0;
    } else {
      arg1->serial[0] = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_neodevice_t_serial_get(void * jarg1) {
  char * jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  char *result = 0 ;

  arg1 = (neodevice_t *)jarg1;
  result = (char *)(char *) ((arg1)->serial);
  jresult = SWIG_csharp_string_callback((const char *)result);
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_neodevice_t() {
  void * jresult ;
  neodevice_t *result = 0 ;

  result = (neodevice_t *)calloc(1, sizeof(neodevice_t));
  jresult = (void *)result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_neodevice_t(void * jarg1) {
  neodevice_t *arg1 = (neodevice_t *) 0 ;

  arg1 = (neodevice_t *)jarg1;
  free((char *) arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_globalError_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->globalError = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_globalError_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->globalError);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_transmitMessage_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->transmitMessage = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_transmitMessage_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->transmitMessage);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_extendedFrame_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->extendedFrame = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_extendedFrame_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->extendedFrame);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_remoteFrame_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->remoteFrame = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_remoteFrame_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->remoteFrame);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_crcError_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->crcError = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_crcError_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->crcError);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_canErrorPassive_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->canErrorPassive = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_canErrorPassive_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->canErrorPassive);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_incompleteFrame_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->incompleteFrame = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_incompleteFrame_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->incompleteFrame);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_lostArbitration_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->lostArbitration = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_lostArbitration_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->lostArbitration);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_undefinedError_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->undefinedError = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_undefinedError_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->undefinedError);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_canBusOff_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->canBusOff = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_canBusOff_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->canBusOff);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_canErrorWarning_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->canErrorWarning = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_canErrorWarning_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->canErrorWarning);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_canBusShortedPlus_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->canBusShortedPlus = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_canBusShortedPlus_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->canBusShortedPlus);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_canBusShortedGround_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->canBusShortedGround = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_canBusShortedGround_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->canBusShortedGround);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_checksumError_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->checksumError = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_checksumError_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->checksumError);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_badMessageBitTimeError_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->badMessageBitTimeError = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_badMessageBitTimeError_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->badMessageBitTimeError);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_ifrData_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->ifrData = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_ifrData_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->ifrData);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_hardwareCommError_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->hardwareCommError = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_hardwareCommError_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->hardwareCommError);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_expectedLengthError_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->expectedLengthError = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_expectedLengthError_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->expectedLengthError);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_incomingNoMatch_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->incomingNoMatch = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_incomingNoMatch_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->incomingNoMatch);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_statusBreak_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->statusBreak = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_statusBreak_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->statusBreak);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_avsiRecOverflow_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->avsiRecOverflow = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_avsiRecOverflow_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->avsiRecOverflow);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_testTrigger_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->testTrigger = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_testTrigger_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->testTrigger);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_audioComment_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->audioComment = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_audioComment_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->audioComment);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_gpsData_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->gpsData = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_gpsData_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->gpsData);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_analogDigitalInput_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->analogDigitalInput = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_analogDigitalInput_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->analogDigitalInput);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_textComment_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->textComment = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_textComment_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->textComment);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_networkMessageType_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->networkMessageType = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_networkMessageType_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->networkMessageType);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_vsiTXUnderrun_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->vsiTXUnderrun = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_vsiTXUnderrun_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->vsiTXUnderrun);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_vsiIFRCRCBit_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->vsiIFRCRCBit = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_vsiIFRCRCBit_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->vsiIFRCRCBit);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_initMessage_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->initMessage = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_initMessage_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->initMessage);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_flexraySecondStartupFrame_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->flexraySecondStartupFrame = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_flexraySecondStartupFrame_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->flexraySecondStartupFrame);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_extended_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->extended = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_extended_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->extended);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_hasValue_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->hasValue = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_hasValue_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->hasValue);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_valueIsBoolean_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->valueIsBoolean = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_valueIsBoolean_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->valueIsBoolean);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_highVoltage_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->highVoltage = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_highVoltage_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->highVoltage);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_longMessage_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->longMessage = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_longMessage_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->longMessage);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_globalChange_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->globalChange = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_globalChange_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->globalChange);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_errorFrame_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->errorFrame = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_errorFrame_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->errorFrame);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_endOfLongMessage_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->endOfLongMessage = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_endOfLongMessage_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->endOfLongMessage);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_linErrorRXBreakNotZero_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->linErrorRXBreakNotZero = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_linErrorRXBreakNotZero_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->linErrorRXBreakNotZero);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_linErrorRXBreakTooShort_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->linErrorRXBreakTooShort = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_linErrorRXBreakTooShort_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->linErrorRXBreakTooShort);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_linErrorRXSyncNot55_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->linErrorRXSyncNot55 = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_linErrorRXSyncNot55_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->linErrorRXSyncNot55);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_linErrorRXDataGreaterEight_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->linErrorRXDataGreaterEight = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_linErrorRXDataGreaterEight_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->linErrorRXDataGreaterEight);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_linErrorTXRXMismatch_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->linErrorTXRXMismatch = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_linErrorTXRXMismatch_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->linErrorTXRXMismatch);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_linErrorMessageIDParity_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->linErrorMessageIDParity = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_linErrorMessageIDParity_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->linErrorMessageIDParity);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_linSyncFrameError_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->linSyncFrameError = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_linSyncFrameError_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->linSyncFrameError);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_linIDFrameError_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->linIDFrameError = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_linIDFrameError_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->linIDFrameError);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_linSlaveByteError_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->linSlaveByteError = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_linSlaveByteError_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->linSlaveByteError);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_rxTimeoutError_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->rxTimeoutError = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_rxTimeoutError_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->rxTimeoutError);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_linNoSlaveData_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->linNoSlaveData = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_linNoSlaveData_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->linNoSlaveData);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_canfdESI_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->canfdESI = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_canfdESI_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->canfdESI);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_canfdIDE_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->canfdIDE = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_canfdIDE_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->canfdIDE);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_canfdRTR_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->canfdRTR = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_canfdRTR_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->canfdRTR);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_canfdFDF_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->canfdFDF = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_canfdFDF_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->canfdFDF);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_canfdBRS_set(void * jarg1, unsigned int jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->canfdBRS = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_statusbitfield_t_canfdBRS_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t) ((arg1)->canfdBRS);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_statusbitfield_t_statusBitfield_set(void * jarg1, void * jarg2) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t *arg2 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  arg2 = (uint32_t *)jarg2;
  {
    size_t ii;
    uint32_t *b = (uint32_t *) arg1->statusBitfield;
    for (ii = 0; ii < (size_t)4; ii++) b[ii] = *((uint32_t *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_neomessage_statusbitfield_t_statusBitfield_get(void * jarg1) {
  void * jresult ;
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;
  uint32_t *result = 0 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  result = (uint32_t *)(uint32_t *) ((arg1)->statusBitfield);
  jresult = result;
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_neomessage_statusbitfield_t() {
  void * jresult ;
  neomessage_statusbitfield_t *result = 0 ;

  result = (neomessage_statusbitfield_t *)calloc(1, sizeof(neomessage_statusbitfield_t));
  jresult = (void *)result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_neomessage_statusbitfield_t(void * jarg1) {
  neomessage_statusbitfield_t *arg1 = (neomessage_statusbitfield_t *) 0 ;

  arg1 = (neomessage_statusbitfield_t *)jarg1;
  free((char *) arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_t_status_set(void * jarg1, void * jarg2) {
  neomessage_t *arg1 = (neomessage_t *) 0 ;
  neomessage_statusbitfield_t *arg2 = (neomessage_statusbitfield_t *) 0 ;

  arg1 = (neomessage_t *)jarg1;
  arg2 = (neomessage_statusbitfield_t *)jarg2;
  if (arg1) (arg1)->status = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_neomessage_t_status_get(void * jarg1) {
  void * jresult ;
  neomessage_t *arg1 = (neomessage_t *) 0 ;
  neomessage_statusbitfield_t *result = 0 ;

  arg1 = (neomessage_t *)jarg1;
  result = (neomessage_statusbitfield_t *)& ((arg1)->status);
  jresult = (void *)result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_t_timestamp_set(void * jarg1, unsigned long long jarg2) {
  neomessage_t *arg1 = (neomessage_t *) 0 ;
  uint64_t arg2 ;

  arg1 = (neomessage_t *)jarg1;
  arg2 = (uint64_t)jarg2;
  if (arg1) (arg1)->timestamp = arg2;
}


SWIGEXPORT unsigned long long SWIGSTDCALL CSharp_neomessage_t_timestamp_get(void * jarg1) {
  unsigned long long jresult ;
  neomessage_t *arg1 = (neomessage_t *) 0 ;
  uint64_t result;

  arg1 = (neomessage_t *)jarg1;
  result = (uint64_t) ((arg1)->timestamp);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_t_timestampReserved_set(void * jarg1, unsigned long long jarg2) {
  neomessage_t *arg1 = (neomessage_t *) 0 ;
  uint64_t arg2 ;

  arg1 = (neomessage_t *)jarg1;
  arg2 = (uint64_t)jarg2;
  if (arg1) (arg1)->timestampReserved = arg2;
}


SWIGEXPORT unsigned long long SWIGSTDCALL CSharp_neomessage_t_timestampReserved_get(void * jarg1) {
  unsigned long long jresult ;
  neomessage_t *arg1 = (neomessage_t *) 0 ;
  uint64_t result;

  arg1 = (neomessage_t *)jarg1;
  result = (uint64_t) ((arg1)->timestampReserved);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_t_data_set(void * jarg1, unsigned char * jarg2) {
  neomessage_t *arg1 = (neomessage_t *) 0 ;
  uint8_t *arg2 = (uint8_t *) 0 ;

  arg1 = (neomessage_t *)jarg1;

  arg2 = jarg2;

  if (arg1) (arg1)->data = (uint8_t const *)arg2;
}


SWIGEXPORT unsigned char * SWIGSTDCALL CSharp_neomessage_t_data_get(void * jarg1) {
  unsigned char * jresult ;
  neomessage_t *arg1 = (neomessage_t *) 0 ;
  uint8_t *result = 0 ;

  arg1 = (neomessage_t *)jarg1;
  result = (uint8_t *) ((arg1)->data);
  jresult = (void *)result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_t_length_set(void * jarg1, unsigned long jarg2) {
  neomessage_t *arg1 = (neomessage_t *) 0 ;
  size_t arg2 ;

  arg1 = (neomessage_t *)jarg1;
  arg2 = (size_t)jarg2;
  if (arg1) (arg1)->length = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_neomessage_t_length_get(void * jarg1) {
  unsigned long jresult ;
  neomessage_t *arg1 = (neomessage_t *) 0 ;
  size_t result;

  arg1 = (neomessage_t *)jarg1;
  result =  ((arg1)->length);
  jresult = (unsigned long)result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_t_header_set(void * jarg1, void * jarg2) {
  neomessage_t *arg1 = (neomessage_t *) 0 ;
  uint8_t *arg2 ;

  arg1 = (neomessage_t *)jarg1;
  arg2 = (uint8_t *)jarg2;
  {
    size_t ii;
    uint8_t *b = (uint8_t *) arg1->header;
    for (ii = 0; ii < (size_t)4; ii++) b[ii] = *((uint8_t *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_neomessage_t_header_get(void * jarg1) {
  void * jresult ;
  neomessage_t *arg1 = (neomessage_t *) 0 ;
  uint8_t *result = 0 ;

  arg1 = (neomessage_t *)jarg1;
  result = (uint8_t *)(uint8_t *) ((arg1)->header);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_t_netid_set(void * jarg1, unsigned short jarg2) {
  neomessage_t *arg1 = (neomessage_t *) 0 ;
  uint16_t arg2 ;

  arg1 = (neomessage_t *)jarg1;
  arg2 = (uint16_t)jarg2;
  if (arg1) (arg1)->netid = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_neomessage_t_netid_get(void * jarg1) {
  unsigned short jresult ;
  neomessage_t *arg1 = (neomessage_t *) 0 ;
  uint16_t result;

  arg1 = (neomessage_t *)jarg1;
  result = (uint16_t) ((arg1)->netid);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_t_type_set(void * jarg1, unsigned char jarg2) {
  neomessage_t *arg1 = (neomessage_t *) 0 ;
  uint8_t arg2 ;

  arg1 = (neomessage_t *)jarg1;
  arg2 = (uint8_t)jarg2;
  if (arg1) (arg1)->type = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_neomessage_t_type_get(void * jarg1) {
  unsigned char jresult ;
  neomessage_t *arg1 = (neomessage_t *) 0 ;
  uint8_t result;

  arg1 = (neomessage_t *)jarg1;
  result = (uint8_t) ((arg1)->type);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_t_reserved_set(void * jarg1, void * jarg2) {
  neomessage_t *arg1 = (neomessage_t *) 0 ;
  uint8_t *arg2 ;

  arg1 = (neomessage_t *)jarg1;
  arg2 = (uint8_t *)jarg2;
  {
    size_t ii;
    uint8_t *b = (uint8_t *) arg1->reserved;
    for (ii = 0; ii < (size_t)17; ii++) b[ii] = *((uint8_t *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_neomessage_t_reserved_get(void * jarg1) {
  void * jresult ;
  neomessage_t *arg1 = (neomessage_t *) 0 ;
  uint8_t *result = 0 ;

  arg1 = (neomessage_t *)jarg1;
  result = (uint8_t *)(uint8_t *) ((arg1)->reserved);
  jresult = result;
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_neomessage_t() {
  void * jresult ;
  neomessage_t *result = 0 ;

  result = (neomessage_t *)calloc(1, sizeof(neomessage_t));
  jresult = (void *)result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_neomessage_t(void * jarg1) {
  neomessage_t *arg1 = (neomessage_t *) 0 ;

  arg1 = (neomessage_t *)jarg1;
  free((char *) arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_can_t_status_set(void * jarg1, void * jarg2) {
  neomessage_can_t *arg1 = (neomessage_can_t *) 0 ;
  neomessage_statusbitfield_t *arg2 = (neomessage_statusbitfield_t *) 0 ;

  arg1 = (neomessage_can_t *)jarg1;
  arg2 = (neomessage_statusbitfield_t *)jarg2;
  if (arg1) (arg1)->status = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_neomessage_can_t_status_get(void * jarg1) {
  void * jresult ;
  neomessage_can_t *arg1 = (neomessage_can_t *) 0 ;
  neomessage_statusbitfield_t *result = 0 ;

  arg1 = (neomessage_can_t *)jarg1;
  result = (neomessage_statusbitfield_t *)& ((arg1)->status);
  jresult = (void *)result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_can_t_timestamp_set(void * jarg1, unsigned long long jarg2) {
  neomessage_can_t *arg1 = (neomessage_can_t *) 0 ;
  uint64_t arg2 ;

  arg1 = (neomessage_can_t *)jarg1;
  arg2 = (uint64_t)jarg2;
  if (arg1) (arg1)->timestamp = arg2;
}


SWIGEXPORT unsigned long long SWIGSTDCALL CSharp_neomessage_can_t_timestamp_get(void * jarg1) {
  unsigned long long jresult ;
  neomessage_can_t *arg1 = (neomessage_can_t *) 0 ;
  uint64_t result;

  arg1 = (neomessage_can_t *)jarg1;
  result = (uint64_t) ((arg1)->timestamp);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_can_t_timestampReserved_set(void * jarg1, unsigned long long jarg2) {
  neomessage_can_t *arg1 = (neomessage_can_t *) 0 ;
  uint64_t arg2 ;

  arg1 = (neomessage_can_t *)jarg1;
  arg2 = (uint64_t)jarg2;
  if (arg1) (arg1)->timestampReserved = arg2;
}


SWIGEXPORT unsigned long long SWIGSTDCALL CSharp_neomessage_can_t_timestampReserved_get(void * jarg1) {
  unsigned long long jresult ;
  neomessage_can_t *arg1 = (neomessage_can_t *) 0 ;
  uint64_t result;

  arg1 = (neomessage_can_t *)jarg1;
  result = (uint64_t) ((arg1)->timestampReserved);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_can_t_data_set(void * jarg1, unsigned char * jarg2) {
  neomessage_can_t *arg1 = (neomessage_can_t *) 0 ;
  uint8_t *arg2 = (uint8_t *) 0 ;

  arg1 = (neomessage_can_t *)jarg1;

  arg2 = jarg2;

  if (arg1) (arg1)->data = (uint8_t const *)arg2;
}


SWIGEXPORT unsigned char * SWIGSTDCALL CSharp_neomessage_can_t_data_get(void * jarg1) {
  unsigned char * jresult ;
  neomessage_can_t *arg1 = (neomessage_can_t *) 0 ;
  uint8_t *result = 0 ;

  arg1 = (neomessage_can_t *)jarg1;
  result = (uint8_t *) ((arg1)->data);
  jresult = (void *)result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_can_t_length_set(void * jarg1, unsigned long jarg2) {
  neomessage_can_t *arg1 = (neomessage_can_t *) 0 ;
  size_t arg2 ;

  arg1 = (neomessage_can_t *)jarg1;
  arg2 = (size_t)jarg2;
  if (arg1) (arg1)->length = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_neomessage_can_t_length_get(void * jarg1) {
  unsigned long jresult ;
  neomessage_can_t *arg1 = (neomessage_can_t *) 0 ;
  size_t result;

  arg1 = (neomessage_can_t *)jarg1;
  result =  ((arg1)->length);
  jresult = (unsigned long)result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_can_t_arbid_set(void * jarg1, unsigned int jarg2) {
  neomessage_can_t *arg1 = (neomessage_can_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neomessage_can_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->arbid = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neomessage_can_t_arbid_get(void * jarg1) {
  unsigned int jresult ;
  neomessage_can_t *arg1 = (neomessage_can_t *) 0 ;
  uint32_t result;

  arg1 = (neomessage_can_t *)jarg1;
  result = (uint32_t) ((arg1)->arbid);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_can_t_netid_set(void * jarg1, unsigned short jarg2) {
  neomessage_can_t *arg1 = (neomessage_can_t *) 0 ;
  uint16_t arg2 ;

  arg1 = (neomessage_can_t *)jarg1;
  arg2 = (uint16_t)jarg2;
  if (arg1) (arg1)->netid = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_neomessage_can_t_netid_get(void * jarg1) {
  unsigned short jresult ;
  neomessage_can_t *arg1 = (neomessage_can_t *) 0 ;
  uint16_t result;

  arg1 = (neomessage_can_t *)jarg1;
  result = (uint16_t) ((arg1)->netid);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_can_t_type_set(void * jarg1, unsigned char jarg2) {
  neomessage_can_t *arg1 = (neomessage_can_t *) 0 ;
  uint8_t arg2 ;

  arg1 = (neomessage_can_t *)jarg1;
  arg2 = (uint8_t)jarg2;
  if (arg1) (arg1)->type = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_neomessage_can_t_type_get(void * jarg1) {
  unsigned char jresult ;
  neomessage_can_t *arg1 = (neomessage_can_t *) 0 ;
  uint8_t result;

  arg1 = (neomessage_can_t *)jarg1;
  result = (uint8_t) ((arg1)->type);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_can_t_dlcOnWire_set(void * jarg1, unsigned char jarg2) {
  neomessage_can_t *arg1 = (neomessage_can_t *) 0 ;
  uint8_t arg2 ;

  arg1 = (neomessage_can_t *)jarg1;
  arg2 = (uint8_t)jarg2;
  if (arg1) (arg1)->dlcOnWire = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_neomessage_can_t_dlcOnWire_get(void * jarg1) {
  unsigned char jresult ;
  neomessage_can_t *arg1 = (neomessage_can_t *) 0 ;
  uint8_t result;

  arg1 = (neomessage_can_t *)jarg1;
  result = (uint8_t) ((arg1)->dlcOnWire);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_can_t_reserved_set(void * jarg1, void * jarg2) {
  neomessage_can_t *arg1 = (neomessage_can_t *) 0 ;
  uint8_t *arg2 ;

  arg1 = (neomessage_can_t *)jarg1;
  arg2 = (uint8_t *)jarg2;
  {
    size_t ii;
    uint8_t *b = (uint8_t *) arg1->reserved;
    for (ii = 0; ii < (size_t)16; ii++) b[ii] = *((uint8_t *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_neomessage_can_t_reserved_get(void * jarg1) {
  void * jresult ;
  neomessage_can_t *arg1 = (neomessage_can_t *) 0 ;
  uint8_t *result = 0 ;

  arg1 = (neomessage_can_t *)jarg1;
  result = (uint8_t *)(uint8_t *) ((arg1)->reserved);
  jresult = result;
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_neomessage_can_t() {
  void * jresult ;
  neomessage_can_t *result = 0 ;

  result = (neomessage_can_t *)calloc(1, sizeof(neomessage_can_t));
  jresult = (void *)result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_neomessage_can_t(void * jarg1) {
  neomessage_can_t *arg1 = (neomessage_can_t *) 0 ;

  arg1 = (neomessage_can_t *)jarg1;
  free((char *) arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_eth_t_status_set(void * jarg1, void * jarg2) {
  neomessage_eth_t *arg1 = (neomessage_eth_t *) 0 ;
  neomessage_statusbitfield_t *arg2 = (neomessage_statusbitfield_t *) 0 ;

  arg1 = (neomessage_eth_t *)jarg1;
  arg2 = (neomessage_statusbitfield_t *)jarg2;
  if (arg1) (arg1)->status = *arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_neomessage_eth_t_status_get(void * jarg1) {
  void * jresult ;
  neomessage_eth_t *arg1 = (neomessage_eth_t *) 0 ;
  neomessage_statusbitfield_t *result = 0 ;

  arg1 = (neomessage_eth_t *)jarg1;
  result = (neomessage_statusbitfield_t *)& ((arg1)->status);
  jresult = (void *)result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_eth_t_timestamp_set(void * jarg1, unsigned long long jarg2) {
  neomessage_eth_t *arg1 = (neomessage_eth_t *) 0 ;
  uint64_t arg2 ;

  arg1 = (neomessage_eth_t *)jarg1;
  arg2 = (uint64_t)jarg2;
  if (arg1) (arg1)->timestamp = arg2;
}


SWIGEXPORT unsigned long long SWIGSTDCALL CSharp_neomessage_eth_t_timestamp_get(void * jarg1) {
  unsigned long long jresult ;
  neomessage_eth_t *arg1 = (neomessage_eth_t *) 0 ;
  uint64_t result;

  arg1 = (neomessage_eth_t *)jarg1;
  result = (uint64_t) ((arg1)->timestamp);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_eth_t_timestampReserved_set(void * jarg1, unsigned long long jarg2) {
  neomessage_eth_t *arg1 = (neomessage_eth_t *) 0 ;
  uint64_t arg2 ;

  arg1 = (neomessage_eth_t *)jarg1;
  arg2 = (uint64_t)jarg2;
  if (arg1) (arg1)->timestampReserved = arg2;
}


SWIGEXPORT unsigned long long SWIGSTDCALL CSharp_neomessage_eth_t_timestampReserved_get(void * jarg1) {
  unsigned long long jresult ;
  neomessage_eth_t *arg1 = (neomessage_eth_t *) 0 ;
  uint64_t result;

  arg1 = (neomessage_eth_t *)jarg1;
  result = (uint64_t) ((arg1)->timestampReserved);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_eth_t_data_set(void * jarg1, unsigned char * jarg2) {
  neomessage_eth_t *arg1 = (neomessage_eth_t *) 0 ;
  uint8_t *arg2 = (uint8_t *) 0 ;

  arg1 = (neomessage_eth_t *)jarg1;

  arg2 = jarg2;

  if (arg1) (arg1)->data = (uint8_t const *)arg2;
}


SWIGEXPORT unsigned char * SWIGSTDCALL CSharp_neomessage_eth_t_data_get(void * jarg1) {
  unsigned char * jresult ;
  neomessage_eth_t *arg1 = (neomessage_eth_t *) 0 ;
  uint8_t *result = 0 ;

  arg1 = (neomessage_eth_t *)jarg1;
  result = (uint8_t *) ((arg1)->data);
  jresult = (void *)result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_eth_t_length_set(void * jarg1, unsigned long jarg2) {
  neomessage_eth_t *arg1 = (neomessage_eth_t *) 0 ;
  size_t arg2 ;

  arg1 = (neomessage_eth_t *)jarg1;
  arg2 = (size_t)jarg2;
  if (arg1) (arg1)->length = arg2;
}


SWIGEXPORT unsigned long SWIGSTDCALL CSharp_neomessage_eth_t_length_get(void * jarg1) {
  unsigned long jresult ;
  neomessage_eth_t *arg1 = (neomessage_eth_t *) 0 ;
  size_t result;

  arg1 = (neomessage_eth_t *)jarg1;
  result =  ((arg1)->length);
  jresult = (unsigned long)result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_eth_t_preemptionFlags_set(void * jarg1, unsigned char jarg2) {
  neomessage_eth_t *arg1 = (neomessage_eth_t *) 0 ;
  uint8_t arg2 ;

  arg1 = (neomessage_eth_t *)jarg1;
  arg2 = (uint8_t)jarg2;
  if (arg1) (arg1)->preemptionFlags = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_neomessage_eth_t_preemptionFlags_get(void * jarg1) {
  unsigned char jresult ;
  neomessage_eth_t *arg1 = (neomessage_eth_t *) 0 ;
  uint8_t result;

  arg1 = (neomessage_eth_t *)jarg1;
  result = (uint8_t) ((arg1)->preemptionFlags);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_eth_t_reservedHeader_set(void * jarg1, void * jarg2) {
  neomessage_eth_t *arg1 = (neomessage_eth_t *) 0 ;
  uint8_t *arg2 ;

  arg1 = (neomessage_eth_t *)jarg1;
  arg2 = (uint8_t *)jarg2;
  {
    size_t ii;
    uint8_t *b = (uint8_t *) arg1->reservedHeader;
    for (ii = 0; ii < (size_t)3; ii++) b[ii] = *((uint8_t *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_neomessage_eth_t_reservedHeader_get(void * jarg1) {
  void * jresult ;
  neomessage_eth_t *arg1 = (neomessage_eth_t *) 0 ;
  uint8_t *result = 0 ;

  arg1 = (neomessage_eth_t *)jarg1;
  result = (uint8_t *)(uint8_t *) ((arg1)->reservedHeader);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_eth_t_netid_set(void * jarg1, unsigned short jarg2) {
  neomessage_eth_t *arg1 = (neomessage_eth_t *) 0 ;
  uint16_t arg2 ;

  arg1 = (neomessage_eth_t *)jarg1;
  arg2 = (uint16_t)jarg2;
  if (arg1) (arg1)->netid = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_neomessage_eth_t_netid_get(void * jarg1) {
  unsigned short jresult ;
  neomessage_eth_t *arg1 = (neomessage_eth_t *) 0 ;
  uint16_t result;

  arg1 = (neomessage_eth_t *)jarg1;
  result = (uint16_t) ((arg1)->netid);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_eth_t_type_set(void * jarg1, unsigned char jarg2) {
  neomessage_eth_t *arg1 = (neomessage_eth_t *) 0 ;
  uint8_t arg2 ;

  arg1 = (neomessage_eth_t *)jarg1;
  arg2 = (uint8_t)jarg2;
  if (arg1) (arg1)->type = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_neomessage_eth_t_type_get(void * jarg1) {
  unsigned char jresult ;
  neomessage_eth_t *arg1 = (neomessage_eth_t *) 0 ;
  uint8_t result;

  arg1 = (neomessage_eth_t *)jarg1;
  result = (uint8_t) ((arg1)->type);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_eth_t_reserved_set(void * jarg1, void * jarg2) {
  neomessage_eth_t *arg1 = (neomessage_eth_t *) 0 ;
  uint8_t *arg2 ;

  arg1 = (neomessage_eth_t *)jarg1;
  arg2 = (uint8_t *)jarg2;
  {
    size_t ii;
    uint8_t *b = (uint8_t *) arg1->reserved;
    for (ii = 0; ii < (size_t)17; ii++) b[ii] = *((uint8_t *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_neomessage_eth_t_reserved_get(void * jarg1) {
  void * jresult ;
  neomessage_eth_t *arg1 = (neomessage_eth_t *) 0 ;
  uint8_t *result = 0 ;

  arg1 = (neomessage_eth_t *)jarg1;
  result = (uint8_t *)(uint8_t *) ((arg1)->reserved);
  jresult = result;
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_neomessage_eth_t() {
  void * jresult ;
  neomessage_eth_t *result = 0 ;

  result = (neomessage_eth_t *)calloc(1, sizeof(neomessage_eth_t));
  jresult = (void *)result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_neomessage_eth_t(void * jarg1) {
  neomessage_eth_t *arg1 = (neomessage_eth_t *) 0 ;

  arg1 = (neomessage_eth_t *)jarg1;
  free((char *) arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_DEVICETYPE_LONGEST_NAME_get() {
  int jresult ;
  int result;

  result = (int)((35+1));
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_DEVICETYPE_LONGEST_DESCRIPTION_get() {
  int jresult ;
  int result;

  result = (int)(((35+1) +7));
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neoversion_t_major_set(void * jarg1, unsigned short jarg2) {
  neoversion_t *arg1 = (neoversion_t *) 0 ;
  uint16_t arg2 ;

  arg1 = (neoversion_t *)jarg1;
  arg2 = (uint16_t)jarg2;
  if (arg1) (arg1)->major = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_neoversion_t_major_get(void * jarg1) {
  unsigned short jresult ;
  neoversion_t *arg1 = (neoversion_t *) 0 ;
  uint16_t result;

  arg1 = (neoversion_t *)jarg1;
  result = (uint16_t) ((arg1)->major);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neoversion_t_minor_set(void * jarg1, unsigned short jarg2) {
  neoversion_t *arg1 = (neoversion_t *) 0 ;
  uint16_t arg2 ;

  arg1 = (neoversion_t *)jarg1;
  arg2 = (uint16_t)jarg2;
  if (arg1) (arg1)->minor = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_neoversion_t_minor_get(void * jarg1) {
  unsigned short jresult ;
  neoversion_t *arg1 = (neoversion_t *) 0 ;
  uint16_t result;

  arg1 = (neoversion_t *)jarg1;
  result = (uint16_t) ((arg1)->minor);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neoversion_t_patch_set(void * jarg1, unsigned short jarg2) {
  neoversion_t *arg1 = (neoversion_t *) 0 ;
  uint16_t arg2 ;

  arg1 = (neoversion_t *)jarg1;
  arg2 = (uint16_t)jarg2;
  if (arg1) (arg1)->patch = arg2;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_neoversion_t_patch_get(void * jarg1) {
  unsigned short jresult ;
  neoversion_t *arg1 = (neoversion_t *) 0 ;
  uint16_t result;

  arg1 = (neoversion_t *)jarg1;
  result = (uint16_t) ((arg1)->patch);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neoversion_t_metadata_set(void * jarg1, char * jarg2) {
  neoversion_t *arg1 = (neoversion_t *) 0 ;
  char *arg2 = (char *) 0 ;

  arg1 = (neoversion_t *)jarg1;
  arg2 = (char *)jarg2;
  {
    if (arg2) {
      arg1->metadata = (char const *) malloc(strlen((const char *)arg2)+1);
      strcpy((char *)arg1->metadata, (const char *)arg2);
    } else {
      arg1->metadata = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_neoversion_t_metadata_get(void * jarg1) {
  char * jresult ;
  neoversion_t *arg1 = (neoversion_t *) 0 ;
  char *result = 0 ;

  arg1 = (neoversion_t *)jarg1;
  result = (char *) ((arg1)->metadata);
  jresult = SWIG_csharp_string_callback((const char *)result);
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neoversion_t_buildBranch_set(void * jarg1, char * jarg2) {
  neoversion_t *arg1 = (neoversion_t *) 0 ;
  char *arg2 = (char *) 0 ;

  arg1 = (neoversion_t *)jarg1;
  arg2 = (char *)jarg2;
  {
    if (arg2) {
      arg1->buildBranch = (char const *) malloc(strlen((const char *)arg2)+1);
      strcpy((char *)arg1->buildBranch, (const char *)arg2);
    } else {
      arg1->buildBranch = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_neoversion_t_buildBranch_get(void * jarg1) {
  char * jresult ;
  neoversion_t *arg1 = (neoversion_t *) 0 ;
  char *result = 0 ;

  arg1 = (neoversion_t *)jarg1;
  result = (char *) ((arg1)->buildBranch);
  jresult = SWIG_csharp_string_callback((const char *)result);
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neoversion_t_buildTag_set(void * jarg1, char * jarg2) {
  neoversion_t *arg1 = (neoversion_t *) 0 ;
  char *arg2 = (char *) 0 ;

  arg1 = (neoversion_t *)jarg1;
  arg2 = (char *)jarg2;
  {
    if (arg2) {
      arg1->buildTag = (char const *) malloc(strlen((const char *)arg2)+1);
      strcpy((char *)arg1->buildTag, (const char *)arg2);
    } else {
      arg1->buildTag = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_neoversion_t_buildTag_get(void * jarg1) {
  char * jresult ;
  neoversion_t *arg1 = (neoversion_t *) 0 ;
  char *result = 0 ;

  arg1 = (neoversion_t *)jarg1;
  result = (char *) ((arg1)->buildTag);
  jresult = SWIG_csharp_string_callback((const char *)result);
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neoversion_t_reserved_set(void * jarg1, char * jarg2) {
  neoversion_t *arg1 = (neoversion_t *) 0 ;
  char *arg2 ;

  arg1 = (neoversion_t *)jarg1;
  arg2 = (char *)jarg2;
  {
    if(arg2) {
      strncpy((char*)arg1->reserved, (const char *)arg2, 32-1);
      arg1->reserved[32-1] = 0;
    } else {
      arg1->reserved[0] = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_neoversion_t_reserved_get(void * jarg1) {
  char * jresult ;
  neoversion_t *arg1 = (neoversion_t *) 0 ;
  char *result = 0 ;

  arg1 = (neoversion_t *)jarg1;
  result = (char *)(char *) ((arg1)->reserved);
  jresult = SWIG_csharp_string_callback((const char *)result);
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_neoversion_t() {
  void * jresult ;
  neoversion_t *result = 0 ;

  result = (neoversion_t *)calloc(1, sizeof(neoversion_t));
  jresult = (void *)result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_neoversion_t(void * jarg1) {
  neoversion_t *arg1 = (neoversion_t *) 0 ;

  arg1 = (neoversion_t *)jarg1;
  free((char *) arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_neoevent_t_description_set(void * jarg1, char * jarg2) {
  neoevent_t *arg1 = (neoevent_t *) 0 ;
  char *arg2 = (char *) 0 ;

  arg1 = (neoevent_t *)jarg1;
  arg2 = (char *)jarg2;
  {
    if (arg2) {
      arg1->description = (char const *) malloc(strlen((const char *)arg2)+1);
      strcpy((char *)arg1->description, (const char *)arg2);
    } else {
      arg1->description = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_neoevent_t_description_get(void * jarg1) {
  char * jresult ;
  neoevent_t *arg1 = (neoevent_t *) 0 ;
  char *result = 0 ;

  arg1 = (neoevent_t *)jarg1;
  result = (char *) ((arg1)->description);
  jresult = SWIG_csharp_string_callback((const char *)result);
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neoevent_t_timestamp_set(void * jarg1, void * jarg2) {
  neoevent_t *arg1 = (neoevent_t *) 0 ;
  time_t arg2 ;
  time_t *argp2 ;

  arg1 = (neoevent_t *)jarg1;
  argp2 = (time_t *)jarg2;
  if (!argp2) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null time_t", 0);
    return ;
  }
  arg2 = *argp2;
  if (arg1) (arg1)->timestamp = arg2;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_neoevent_t_timestamp_get(void * jarg1) {
  void * jresult ;
  neoevent_t *arg1 = (neoevent_t *) 0 ;
  time_t result;

  arg1 = (neoevent_t *)jarg1;
  result =  ((arg1)->timestamp);
  {
    time_t * resultptr = (time_t *) malloc(sizeof(time_t));
    memmove(resultptr, &result, sizeof(time_t));
    jresult = resultptr;
  }
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neoevent_t_eventNumber_set(void * jarg1, unsigned int jarg2) {
  neoevent_t *arg1 = (neoevent_t *) 0 ;
  uint32_t arg2 ;

  arg1 = (neoevent_t *)jarg1;
  arg2 = (uint32_t)jarg2;
  if (arg1) (arg1)->eventNumber = arg2;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_neoevent_t_eventNumber_get(void * jarg1) {
  unsigned int jresult ;
  neoevent_t *arg1 = (neoevent_t *) 0 ;
  uint32_t result;

  arg1 = (neoevent_t *)jarg1;
  result = (uint32_t) ((arg1)->eventNumber);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neoevent_t_severity_set(void * jarg1, unsigned char jarg2) {
  neoevent_t *arg1 = (neoevent_t *) 0 ;
  uint8_t arg2 ;

  arg1 = (neoevent_t *)jarg1;
  arg2 = (uint8_t)jarg2;
  if (arg1) (arg1)->severity = arg2;
}


SWIGEXPORT unsigned char SWIGSTDCALL CSharp_neoevent_t_severity_get(void * jarg1) {
  unsigned char jresult ;
  neoevent_t *arg1 = (neoevent_t *) 0 ;
  uint8_t result;

  arg1 = (neoevent_t *)jarg1;
  result = (uint8_t) ((arg1)->severity);
  jresult = result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neoevent_t_serial_set(void * jarg1, char * jarg2) {
  neoevent_t *arg1 = (neoevent_t *) 0 ;
  char *arg2 ;

  arg1 = (neoevent_t *)jarg1;
  arg2 = (char *)jarg2;
  {
    if(arg2) {
      strncpy((char*)arg1->serial, (const char *)arg2, 7-1);
      arg1->serial[7-1] = 0;
    } else {
      arg1->serial[0] = 0;
    }
  }
}


SWIGEXPORT char * SWIGSTDCALL CSharp_neoevent_t_serial_get(void * jarg1) {
  char * jresult ;
  neoevent_t *arg1 = (neoevent_t *) 0 ;
  char *result = 0 ;

  arg1 = (neoevent_t *)jarg1;
  result = (char *)(char *) ((arg1)->serial);
  jresult = SWIG_csharp_string_callback((const char *)result);
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neoevent_t_reserved_set(void * jarg1, void * jarg2) {
  neoevent_t *arg1 = (neoevent_t *) 0 ;
  uint8_t *arg2 ;

  arg1 = (neoevent_t *)jarg1;
  arg2 = (uint8_t *)jarg2;
  {
    size_t ii;
    uint8_t *b = (uint8_t *) arg1->reserved;
    for (ii = 0; ii < (size_t)16; ii++) b[ii] = *((uint8_t *) arg2 + ii);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_neoevent_t_reserved_get(void * jarg1) {
  void * jresult ;
  neoevent_t *arg1 = (neoevent_t *) 0 ;
  uint8_t *result = 0 ;

  arg1 = (neoevent_t *)jarg1;
  result = (uint8_t *)(uint8_t *) ((arg1)->reserved);
  jresult = result;
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_neoevent_t() {
  void * jresult ;
  neoevent_t *result = 0 ;

  result = (neoevent_t *)calloc(1, sizeof(neoevent_t));
  jresult = (void *)result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_neoevent_t(void * jarg1) {
  neoevent_t *arg1 = (neoevent_t *) 0 ;

  arg1 = (neoevent_t *)jarg1;
  free((char *) arg1);
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_DEVICE_get() {
  int jresult ;
  int result;

  result = (int)(0);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_HSCAN_get() {
  int jresult ;
  int result;

  result = (int)(1);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_MSCAN_get() {
  int jresult ;
  int result;

  result = (int)(2);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_SWCAN_get() {
  int jresult ;
  int result;

  result = (int)(3);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_LSFTCAN_get() {
  int jresult ;
  int result;

  result = (int)(4);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_FORDSCP_get() {
  int jresult ;
  int result;

  result = (int)(5);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_J1708_get() {
  int jresult ;
  int result;

  result = (int)(6);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_AUX_get() {
  int jresult ;
  int result;

  result = (int)(7);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_J1850VPW_get() {
  int jresult ;
  int result;

  result = (int)(8);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_ISO_get() {
  int jresult ;
  int result;

  result = (int)(9);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_MAIN51_get() {
  int jresult ;
  int result;

  result = (int)(11);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_RED_get() {
  int jresult ;
  int result;

  result = (int)(12);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_SCI_get() {
  int jresult ;
  int result;

  result = (int)(13);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_ISO2_get() {
  int jresult ;
  int result;

  result = (int)(14);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_ISO14230_get() {
  int jresult ;
  int result;

  result = (int)(15);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_LIN_get() {
  int jresult ;
  int result;

  result = (int)(16);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_OP_ETHERNET1_get() {
  int jresult ;
  int result;

  result = (int)(17);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_OP_ETHERNET2_get() {
  int jresult ;
  int result;

  result = (int)(18);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_OP_ETHERNET3_get() {
  int jresult ;
  int result;

  result = (int)(19);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_RED_EXT_MEMORYREAD_get() {
  int jresult ;
  int result;

  result = (int)(20);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_RED_INT_MEMORYREAD_get() {
  int jresult ;
  int result;

  result = (int)(21);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_RED_DFLASH_READ_get() {
  int jresult ;
  int result;

  result = (int)(22);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_RED_SDCARD_READ_get() {
  int jresult ;
  int result;

  result = (int)(23);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_CAN_ERRBITS_get() {
  int jresult ;
  int result;

  result = (int)(24);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_RED_DFLASH_WRITE_DONE_get() {
  int jresult ;
  int result;

  result = (int)(25);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_RED_WAVE_CAN1_LOGICAL_get() {
  int jresult ;
  int result;

  result = (int)(26);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_RED_WAVE_CAN2_LOGICAL_get() {
  int jresult ;
  int result;

  result = (int)(27);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_RED_WAVE_LIN1_LOGICAL_get() {
  int jresult ;
  int result;

  result = (int)(28);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_RED_WAVE_LIN2_LOGICAL_get() {
  int jresult ;
  int result;

  result = (int)(29);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_RED_WAVE_LIN1_ANALOG_get() {
  int jresult ;
  int result;

  result = (int)(30);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_RED_WAVE_LIN2_ANALOG_get() {
  int jresult ;
  int result;

  result = (int)(31);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_RED_WAVE_MISC_ANALOG_get() {
  int jresult ;
  int result;

  result = (int)(32);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_RED_WAVE_MISCDIO2_LOGICAL_get() {
  int jresult ;
  int result;

  result = (int)(33);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_RED_NETWORK_COM_ENABLE_EX_get() {
  int jresult ;
  int result;

  result = (int)(34);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_RED_NEOVI_NETWORK_get() {
  int jresult ;
  int result;

  result = (int)(35);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_RED_READ_BAUD_SETTINGS_get() {
  int jresult ;
  int result;

  result = (int)(36);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_RED_OLDFORMAT_get() {
  int jresult ;
  int result;

  result = (int)(37);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_RED_SCOPE_CAPTURE_get() {
  int jresult ;
  int result;

  result = (int)(38);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_RED_HARDWARE_EXCEP_get() {
  int jresult ;
  int result;

  result = (int)(39);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_RED_GET_RTC_get() {
  int jresult ;
  int result;

  result = (int)(40);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_ISO3_get() {
  int jresult ;
  int result;

  result = (int)(41);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_HSCAN2_get() {
  int jresult ;
  int result;

  result = (int)(42);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_HSCAN3_get() {
  int jresult ;
  int result;

  result = (int)(44);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_OP_ETHERNET4_get() {
  int jresult ;
  int result;

  result = (int)(45);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_OP_ETHERNET5_get() {
  int jresult ;
  int result;

  result = (int)(46);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_ISO4_get() {
  int jresult ;
  int result;

  result = (int)(47);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_LIN2_get() {
  int jresult ;
  int result;

  result = (int)(48);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_LIN3_get() {
  int jresult ;
  int result;

  result = (int)(49);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_LIN4_get() {
  int jresult ;
  int result;

  result = (int)(50);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_RED_APP_ERROR_get() {
  int jresult ;
  int result;

  result = (int)(52);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_CGI_get() {
  int jresult ;
  int result;

  result = (int)(53);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_RESET_STATUS_get() {
  int jresult ;
  int result;

  result = (int)(54);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_FB_STATUS_get() {
  int jresult ;
  int result;

  result = (int)(55);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_APP_SIGNAL_STATUS_get() {
  int jresult ;
  int result;

  result = (int)(56);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_READ_DATALINK_CM_TX_MSG_get() {
  int jresult ;
  int result;

  result = (int)(57);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_READ_DATALINK_CM_RX_MSG_get() {
  int jresult ;
  int result;

  result = (int)(58);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_LOGGING_OVERFLOW_get() {
  int jresult ;
  int result;

  result = (int)(59);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_READ_SETTINGS_get() {
  int jresult ;
  int result;

  result = (int)(60);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_HSCAN4_get() {
  int jresult ;
  int result;

  result = (int)(61);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_HSCAN5_get() {
  int jresult ;
  int result;

  result = (int)(62);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_RS232_get() {
  int jresult ;
  int result;

  result = (int)(63);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_UART_get() {
  int jresult ;
  int result;

  result = (int)(64);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_UART2_get() {
  int jresult ;
  int result;

  result = (int)(65);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_UART3_get() {
  int jresult ;
  int result;

  result = (int)(66);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_UART4_get() {
  int jresult ;
  int result;

  result = (int)(67);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_SWCAN2_get() {
  int jresult ;
  int result;

  result = (int)(68);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_ETHERNET_DAQ_get() {
  int jresult ;
  int result;

  result = (int)(69);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_DATA_TO_HOST_get() {
  int jresult ;
  int result;

  result = (int)(70);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_TEXTAPI_TO_HOST_get() {
  int jresult ;
  int result;

  result = (int)(71);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_OP_ETHERNET6_get() {
  int jresult ;
  int result;

  result = (int)(73);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_RED_VBAT_get() {
  int jresult ;
  int result;

  result = (int)(74);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_OP_ETHERNET7_get() {
  int jresult ;
  int result;

  result = (int)(75);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_OP_ETHERNET8_get() {
  int jresult ;
  int result;

  result = (int)(76);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_OP_ETHERNET9_get() {
  int jresult ;
  int result;

  result = (int)(77);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_OP_ETHERNET10_get() {
  int jresult ;
  int result;

  result = (int)(78);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_OP_ETHERNET11_get() {
  int jresult ;
  int result;

  result = (int)(79);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_FLEXRAY1A_get() {
  int jresult ;
  int result;

  result = (int)(80);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_FLEXRAY1B_get() {
  int jresult ;
  int result;

  result = (int)(81);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_FLEXRAY2A_get() {
  int jresult ;
  int result;

  result = (int)(82);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_FLEXRAY2B_get() {
  int jresult ;
  int result;

  result = (int)(83);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_LIN5_get() {
  int jresult ;
  int result;

  result = (int)(84);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_FLEXRAY_get() {
  int jresult ;
  int result;

  result = (int)(85);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_FLEXRAY2_get() {
  int jresult ;
  int result;

  result = (int)(86);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_OP_ETHERNET12_get() {
  int jresult ;
  int result;

  result = (int)(87);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_MOST25_get() {
  int jresult ;
  int result;

  result = (int)(90);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_MOST50_get() {
  int jresult ;
  int result;

  result = (int)(91);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_MOST150_get() {
  int jresult ;
  int result;

  result = (int)(92);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_ETHERNET_get() {
  int jresult ;
  int result;

  result = (int)(93);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_GMFSA_get() {
  int jresult ;
  int result;

  result = (int)(94);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_TCP_get() {
  int jresult ;
  int result;

  result = (int)(95);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_HSCAN6_get() {
  int jresult ;
  int result;

  result = (int)(96);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_HSCAN7_get() {
  int jresult ;
  int result;

  result = (int)(97);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_LIN6_get() {
  int jresult ;
  int result;

  result = (int)(98);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_LSFTCAN2_get() {
  int jresult ;
  int result;

  result = (int)(99);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_HW_COM_LATENCY_TEST_get() {
  int jresult ;
  int result;

  result = (int)(512);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_DEVICE_STATUS_get() {
  int jresult ;
  int result;

  result = (int)(513);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_ANY_get() {
  int jresult ;
  int result;

  result = (int)(0xfffe);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETID_INVALID_get() {
  int jresult ;
  int result;

  result = (int)(0xffff);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETWORK_TYPE_INVALID_get() {
  int jresult ;
  int result;

  result = (int)(0);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETWORK_TYPE_INTERNAL_get() {
  int jresult ;
  int result;

  result = (int)(1);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETWORK_TYPE_CAN_get() {
  int jresult ;
  int result;

  result = (int)(2);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETWORK_TYPE_LIN_get() {
  int jresult ;
  int result;

  result = (int)(3);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETWORK_TYPE_FLEXRAY_get() {
  int jresult ;
  int result;

  result = (int)(4);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETWORK_TYPE_MOST_get() {
  int jresult ;
  int result;

  result = (int)(5);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETWORK_TYPE_ETHERNET_get() {
  int jresult ;
  int result;

  result = (int)(6);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETWORK_TYPE_ANY_get() {
  int jresult ;
  int result;

  result = (int)(0xFE);
  jresult = result;
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ICSNEO_NETWORK_TYPE_OTHER_get() {
  int jresult ;
  int result;

  result = (int)(0xFF);
  jresult = result;
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_neomessage_can_t_cast(void * jarg1) {
  void * jresult ;
  neomessage_t *arg1 = (neomessage_t *) 0 ;
  neomessage_can_t *result = 0 ;

  arg1 = (neomessage_t *)jarg1;
  result = (neomessage_can_t *)neomessage_can_t_cast(arg1);
  jresult = (void *)result;
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_neomessage_eth_t_cast(void * jarg1) {
  void * jresult ;
  neomessage_t *arg1 = (neomessage_t *) 0 ;
  neomessage_eth_t *result = 0 ;

  arg1 = (neomessage_t *)jarg1;
  result = (neomessage_eth_t *)neomessage_eth_t_cast(arg1);
  jresult = (void *)result;
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_from_can_neomessage_t_cast(void * jarg1) {
  void * jresult ;
  neomessage_can_t *arg1 = (neomessage_can_t *) 0 ;
  neomessage_t *result = 0 ;

  arg1 = (neomessage_can_t *)jarg1;
  result = (neomessage_t *)from_can_neomessage_t_cast(arg1);
  jresult = (void *)result;
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_from_eth_neomessage_t_cast(void * jarg1) {
  void * jresult ;
  neomessage_eth_t *arg1 = (neomessage_eth_t *) 0 ;
  neomessage_t *result = 0 ;

  arg1 = (neomessage_eth_t *)jarg1;
  result = (neomessage_t *)from_eth_neomessage_t_cast(arg1);
  jresult = (void *)result;
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_neodevice_t_array(int jarg1) {
  void * jresult ;
  int arg1 ;
  neodevice_t *result = 0 ;

  arg1 = (int)jarg1;
  result = (neodevice_t *)new_neodevice_t_array(arg1);
  jresult = (void *)result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_neodevice_t_array(void * jarg1) {
  neodevice_t *arg1 = (neodevice_t *) 0 ;

  arg1 = (neodevice_t *)jarg1;
  delete_neodevice_t_array(arg1);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_neodevice_t_array_getitem(void * jarg1, int jarg2) {
  void * jresult ;
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  int arg2 ;
  neodevice_t result;

  arg1 = (neodevice_t *)jarg1;
  arg2 = (int)jarg2;
  result = neodevice_t_array_getitem(arg1,arg2);
  {
    neodevice_t * resultptr = (neodevice_t *) malloc(sizeof(neodevice_t));
    memmove(resultptr, &result, sizeof(neodevice_t));
    jresult = resultptr;
  }
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neodevice_t_array_setitem(void * jarg1, int jarg2, void * jarg3) {
  neodevice_t *arg1 = (neodevice_t *) 0 ;
  int arg2 ;
  neodevice_t arg3 ;
  neodevice_t *argp3 ;

  arg1 = (neodevice_t *)jarg1;
  arg2 = (int)jarg2;
  argp3 = (neodevice_t *)jarg3;
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null neodevice_t", 0);
    return ;
  }
  arg3 = *argp3;
  neodevice_t_array_setitem(arg1,arg2,arg3);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_neoevent_t_array(int jarg1) {
  void * jresult ;
  int arg1 ;
  neoevent_t *result = 0 ;

  arg1 = (int)jarg1;
  result = (neoevent_t *)new_neoevent_t_array(arg1);
  jresult = (void *)result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_neoevent_t_array(void * jarg1) {
  neoevent_t *arg1 = (neoevent_t *) 0 ;

  arg1 = (neoevent_t *)jarg1;
  delete_neoevent_t_array(arg1);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_neoevent_t_array_getitem(void * jarg1, int jarg2) {
  void * jresult ;
  neoevent_t *arg1 = (neoevent_t *) 0 ;
  int arg2 ;
  neoevent_t result;

  arg1 = (neoevent_t *)jarg1;
  arg2 = (int)jarg2;
  result = neoevent_t_array_getitem(arg1,arg2);
  {
    neoevent_t * resultptr = (neoevent_t *) malloc(sizeof(neoevent_t));
    memmove(resultptr, &result, sizeof(neoevent_t));
    jresult = resultptr;
  }
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neoevent_t_array_setitem(void * jarg1, int jarg2, void * jarg3) {
  neoevent_t *arg1 = (neoevent_t *) 0 ;
  int arg2 ;
  neoevent_t arg3 ;
  neoevent_t *argp3 ;

  arg1 = (neoevent_t *)jarg1;
  arg2 = (int)jarg2;
  argp3 = (neoevent_t *)jarg3;
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null neoevent_t", 0);
    return ;
  }
  arg3 = *argp3;
  neoevent_t_array_setitem(arg1,arg2,arg3);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_neomessage_t_array(int jarg1) {
  void * jresult ;
  int arg1 ;
  neomessage_t *result = 0 ;

  arg1 = (int)jarg1;
  result = (neomessage_t *)new_neomessage_t_array(arg1);
  jresult = (void *)result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_neomessage_t_array(void * jarg1) {
  neomessage_t *arg1 = (neomessage_t *) 0 ;

  arg1 = (neomessage_t *)jarg1;
  delete_neomessage_t_array(arg1);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_neomessage_t_array_getitem(void * jarg1, int jarg2) {
  void * jresult ;
  neomessage_t *arg1 = (neomessage_t *) 0 ;
  int arg2 ;
  neomessage_t result;

  arg1 = (neomessage_t *)jarg1;
  arg2 = (int)jarg2;
  result = neomessage_t_array_getitem(arg1,arg2);
  {
    neomessage_t * resultptr = (neomessage_t *) malloc(sizeof(neomessage_t));
    memmove(resultptr, &result, sizeof(neomessage_t));
    jresult = resultptr;
  }
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_neomessage_t_array_setitem(void * jarg1, int jarg2, void * jarg3) {
  neomessage_t *arg1 = (neomessage_t *) 0 ;
  int arg2 ;
  neomessage_t arg3 ;
  neomessage_t *argp3 ;

  arg1 = (neomessage_t *)jarg1;
  arg2 = (int)jarg2;
  argp3 = (neomessage_t *)jarg3;
  if (!argp3) {
    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null neomessage_t", 0);
    return ;
  }
  arg3 = *argp3;
  neomessage_t_array_setitem(arg1,arg2,arg3);
}


#ifdef __cplusplus
}
#endif

