/* 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 "../Wi/mts_client.h"
#include "../Wi/mts.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" },
  { NULL, "." } };
