/* This file is automatically generated by plugin/gen_gate.sh */
#define EXPORT_GATE
#include "exe_export.h"
#include <string.h>

/* First we should include all imported header files to declare names of
   all exported functions */
#include "../langfunc/langfunc.h"
#include "gate_virtuoso_stubs.h"

/* Now we should declare dictionary array with one item per one exported
   function. At connection time, executable will fill _gate structures
   of plugins with data from this table. */

struct _gate_export_item_s { void *_ptr; const char *_name; };
typedef struct _gate_export_item_s _gate_export_item_t;

extern _gate_export_item_t _gate_export_data[];

int _gate_export (_gate_export_item_t *tgt)
{
  int err = 0;
  _gate_export_item_t *src = _gate_export_data;
  for (/* no init */; '.' != tgt->_name[0]; tgt++)
    {
      err = -1;
      for (/* no init */; '.' != src->_name[0]; src++)
	{
	  if (strcmp (src->_name, tgt->_name))
	    continue;
	  tgt->_ptr = src->_ptr;
	  err = 0;
	  break;
	}
      if (err)
        break;
    }
  return err;
}

_gate_export_item_t _gate_export_data[] = {
  { &dbg_calloc, "dbg_calloc" },
  { &dbg_free, "dbg_free" },
  { &dbg_malloc, "dbg_malloc" },
  { &dbg_malloc_enable, "dbg_malloc_enable" },
  { &dbg_realloc, "dbg_realloc" },
  { &dbg_strdup, "dbg_strdup" },
  { &eh_create_charset_handler, "eh_create_charset_handler" },
  { &eh_create_ucm_handler, "eh_create_ucm_handler" },
  { &eh_decode_buffer__ASCII, "eh_decode_buffer__ASCII" },
  { &eh_decode_buffer__ISO8859_1, "eh_decode_buffer__ISO8859_1" },
  { &eh_decode_buffer__UCS4BE, "eh_decode_buffer__UCS4BE" },
  { &eh_decode_buffer__UCS4LE, "eh_decode_buffer__UCS4LE" },
  { &eh_decode_buffer__UTF16BE, "eh_decode_buffer__UTF16BE" },
  { &eh_decode_buffer__UTF16LE, "eh_decode_buffer__UTF16LE" },
  { &eh_decode_buffer__UTF7, "eh_decode_buffer__UTF7" },
  { &eh_decode_buffer__UTF8, "eh_decode_buffer__UTF8" },
  { &eh_decode_buffer__UTF8_QR, "eh_decode_buffer__UTF8_QR" },
  { &eh_decode_buffer__WIDE_121, "eh_decode_buffer__WIDE_121" },
  { &eh_decode_buffer_to_wchar__ASCII, "eh_decode_buffer_to_wchar__ASCII" },
  { &eh_decode_buffer_to_wchar__ISO8859_1, "eh_decode_buffer_to_wchar__ISO8859_1" },
  { &eh_decode_buffer_to_wchar__UCS4BE, "eh_decode_buffer_to_wchar__UCS4BE" },
  { &eh_decode_buffer_to_wchar__UCS4LE, "eh_decode_buffer_to_wchar__UCS4LE" },
  { &eh_decode_buffer_to_wchar__UTF16BE, "eh_decode_buffer_to_wchar__UTF16BE" },
  { &eh_decode_buffer_to_wchar__UTF16LE, "eh_decode_buffer_to_wchar__UTF16LE" },
  { &eh_decode_buffer_to_wchar__UTF7, "eh_decode_buffer_to_wchar__UTF7" },
  { &eh_decode_buffer_to_wchar__UTF8, "eh_decode_buffer_to_wchar__UTF8" },
  { &eh_decode_buffer_to_wchar__UTF8_QR, "eh_decode_buffer_to_wchar__UTF8_QR" },
  { &eh_decode_buffer_to_wchar__WIDE_121, "eh_decode_buffer_to_wchar__WIDE_121" },
  { &eh_decode_char__ASCII, "eh_decode_char__ASCII" },
  { &eh_decode_char__ISO8859_1, "eh_decode_char__ISO8859_1" },
  { &eh_decode_char__UCS4BE, "eh_decode_char__UCS4BE" },
  { &eh_decode_char__UCS4LE, "eh_decode_char__UCS4LE" },
  { &eh_decode_char__UTF16BE, "eh_decode_char__UTF16BE" },
  { &eh_decode_char__UTF16LE, "eh_decode_char__UTF16LE" },
  { &eh_decode_char__UTF7, "eh_decode_char__UTF7" },
  { &eh_decode_char__UTF8, "eh_decode_char__UTF8" },
  { &eh_decode_char__UTF8_QR, "eh_decode_char__UTF8_QR" },
  { &eh_decode_char__WIDE_121, "eh_decode_char__WIDE_121" },
  { &eh_duplicate_handler, "eh_duplicate_handler" },
  { &eh_encode_buffer__ASCII, "eh_encode_buffer__ASCII" },
  { &eh_encode_buffer__ISO8859_1, "eh_encode_buffer__ISO8859_1" },
  { &eh_encode_buffer__UCS4BE, "eh_encode_buffer__UCS4BE" },
  { &eh_encode_buffer__UCS4LE, "eh_encode_buffer__UCS4LE" },
  { &eh_encode_buffer__UTF16BE, "eh_encode_buffer__UTF16BE" },
  { &eh_encode_buffer__UTF16LE, "eh_encode_buffer__UTF16LE" },
  { &eh_encode_buffer__UTF7, "eh_encode_buffer__UTF7" },
  { &eh_encode_buffer__UTF8, "eh_encode_buffer__UTF8" },
  { &eh_encode_buffer__WIDE_121, "eh_encode_buffer__WIDE_121" },
  { &eh_encode_char__ASCII, "eh_encode_char__ASCII" },
  { &eh_encode_char__ISO8859_1, "eh_encode_char__ISO8859_1" },
  { &eh_encode_char__UCS4BE, "eh_encode_char__UCS4BE" },
  { &eh_encode_char__UCS4LE, "eh_encode_char__UCS4LE" },
  { &eh_encode_char__UTF16BE, "eh_encode_char__UTF16BE" },
  { &eh_encode_char__UTF16LE, "eh_encode_char__UTF16LE" },
  { &eh_encode_char__UTF7, "eh_encode_char__UTF7" },
  { &eh_encode_char__UTF8, "eh_encode_char__UTF8" },
  { &eh_encode_char__WIDE_121, "eh_encode_char__WIDE_121" },
  { &eh_encode_wchar_buffer__ASCII, "eh_encode_wchar_buffer__ASCII" },
  { &eh_encode_wchar_buffer__ISO8859_1, "eh_encode_wchar_buffer__ISO8859_1" },
  { &eh_encode_wchar_buffer__UCS4BE, "eh_encode_wchar_buffer__UCS4BE" },
  { &eh_encode_wchar_buffer__UCS4LE, "eh_encode_wchar_buffer__UCS4LE" },
  { &eh_encode_wchar_buffer__UTF16BE, "eh_encode_wchar_buffer__UTF16BE" },
  { &eh_encode_wchar_buffer__UTF16LE, "eh_encode_wchar_buffer__UTF16LE" },
  { &eh_encode_wchar_buffer__UTF7, "eh_encode_wchar_buffer__UTF7" },
  { &eh_encode_wchar_buffer__UTF8, "eh_encode_wchar_buffer__UTF8" },
  { &eh_encode_wchar_buffer__WIDE_121, "eh_encode_wchar_buffer__WIDE_121" },
  { &eh_get_handler, "eh_get_handler" },
  { &eh_load_handler, "eh_load_handler" },
  { &eh_wide_from_narrow, "eh_wide_from_narrow" },
  { &elh_get_handler, "elh_get_handler" },
  { &elh_load_handler, "elh_load_handler" },
  { &lh_get_handler, "lh_get_handler" },
  { &lh_load_handler, "lh_load_handler" },
  { &unichar_getlcase, "unichar_getlcase" },
  { &unichar_getprops, "unichar_getprops" },
  { &unichar_getucase, "unichar_getucase" },
  { NULL, "." } };
