[GRASS-SVN] r32525 - grass/branches/develbranch_6/swig/perl

svn_grass at osgeo.org svn_grass at osgeo.org
Mon Aug 4 16:19:12 EDT 2008


Author: neteler
Date: 2008-08-04 16:19:12 -0400 (Mon, 04 Aug 2008)
New Revision: 32525

Removed:
   grass/branches/develbranch_6/swig/perl/grass_wrap.c
Log:
removed swig file

Deleted: grass/branches/develbranch_6/swig/perl/grass_wrap.c
===================================================================
--- grass/branches/develbranch_6/swig/perl/grass_wrap.c	2008-08-04 20:17:48 UTC (rev 32524)
+++ grass/branches/develbranch_6/swig/perl/grass_wrap.c	2008-08-04 20:19:12 UTC (rev 32525)
@@ -1,31571 +0,0 @@
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.24
- * 
- * 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 SWIG_TEMPLATE_DISAMBIGUATOR
-#  if defined(__SUNPRO_CC)
-#    define SWIG_TEMPLATE_DISAMBIGUATOR template
-#  else
-#    define SWIG_TEMPLATE_DISAMBIGUATOR
-#  endif
-#endif
-
-/***********************************************************************
- * swigrun.swg
- *
- *     This file contains generic CAPI SWIG runtime support for pointer
- *     type checking.
- *
- ************************************************************************/
-
-/* This should only be incremented when either the layout of swig_type_info changes,
-   or for whatever reason, the runtime changes incompatibly */
-#define SWIG_RUNTIME_VERSION "1"
-
-/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
-#ifdef SWIG_TYPE_TABLE
-#define SWIG_QUOTE_STRING(x) #x
-#define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
-#define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
-#else
-#define SWIG_TYPE_TABLE_NAME
-#endif
-
-#include <string.h>
-
-#ifndef SWIGINLINE
-#if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
-#  define SWIGINLINE inline
-#else
-#  define SWIGINLINE
-#endif
-#endif
-
-/*
-   You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
-   creating a static or dynamic library from the swig runtime code.
-   In 99.9% of the cases, swig just needs to declare them as 'static'.
-
-   But only do this if is strictly necessary, ie, if you have problems
-   with your compiler or so.
- */
-#ifndef SWIGRUNTIME
-#define SWIGRUNTIME static
-#endif
-#ifndef SWIGRUNTIMEINLINE
-#define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
-#endif
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-    typedef void *(*swig_converter_func) (void *);
-    typedef struct swig_type_info *(*swig_dycast_func) (void **);
-
-    typedef struct swig_type_info
-    {
-	const char *name;
-	swig_converter_func converter;
-	const char *str;
-	void *clientdata;
-	swig_dycast_func dcast;
-	struct swig_type_info *next;
-	struct swig_type_info *prev;
-    } swig_type_info;
-
-    /* 
-       Compare two type names skipping the space characters, therefore
-       "char*" == "char *" and "Class<int>" == "Class<int >", etc.
-
-       Return 0 when the two name types are equivalent, as in
-       strncmp, but skipping ' '.
-     */
-    SWIGRUNTIME int
-	SWIG_TypeNameComp(const char *f1, const char *l1,
-			  const char *f2, const char *l2)
-    {
-	for (; (f1 != l1) && (f2 != l2); ++f1, ++f2)
-	{
-	    while ((*f1 == ' ') && (f1 != l1))
-		++f1;
-	    while ((*f2 == ' ') && (f2 != l2))
-		++f2;
-	    if (*f1 != *f2)
-		return *f1 - *f2;
-	}
-	return (l1 - f1) - (l2 - f2);
-    }
-
-    /*
-       Check type equivalence in a name list like <name1>|<name2>|...
-     */
-    SWIGRUNTIME int SWIG_TypeEquiv(const char *nb, const char *tb)
-    {
-	int equiv = 0;
-	const char *te = tb + strlen(tb);
-	const char *ne = nb;
-
-	while (!equiv && *ne) {
-	    for (nb = ne; *ne; ++ne) {
-		if (*ne == '|')
-		    break;
-	    }
-	    equiv = SWIG_TypeNameComp(nb, ne, tb, te) == 0;
-	    if (*ne)
-		++ne;
-	}
-	return equiv;
-    }
-
-    /*
-       Register a type mapping with the type-checking
-     */
-    SWIGRUNTIME swig_type_info *SWIG_TypeRegisterTL(swig_type_info ** tl,
-						    swig_type_info * ti)
-    {
-	swig_type_info *tc, *head, *ret, *next;
-
-	/* Check to see if this type has already been registered */
-	tc = *tl;
-	while (tc) {
-	    /* check simple type equivalence */
-	    int typeequiv = (strcmp(tc->name, ti->name) == 0);
-
-	    /* check full type equivalence, resolving typedefs */
-	    if (!typeequiv) {
-		/* only if tc is not a typedef (no '|' on it) */
-		if (tc->str && ti->str && !strstr(tc->str, "|")) {
-		    typeequiv = SWIG_TypeEquiv(ti->str, tc->str);
-		}
-	    }
-	    if (typeequiv) {
-		/* Already exists in the table.  Just add additional types to the list */
-		if (ti->clientdata)
-		    tc->clientdata = ti->clientdata;
-		head = tc;
-		next = tc->next;
-		goto l1;
-	    }
-	    tc = tc->prev;
-	}
-	head = ti;
-	next = 0;
-
-	/* Place in list */
-	ti->prev = *tl;
-	*tl = ti;
-
-	/* Build linked lists */
-      l1:
-	ret = head;
-	tc = ti + 1;
-	/* Patch up the rest of the links */
-	while (tc->name) {
-	    head->next = tc;
-	    tc->prev = head;
-	    head = tc;
-	    tc++;
-	}
-	if (next)
-	    next->prev = head;
-	head->next = next;
-
-	return ret;
-    }
-
-    /*
-       Check the typename
-     */
-    SWIGRUNTIME swig_type_info *SWIG_TypeCheck(const char *c,
-					       swig_type_info * ty)
-    {
-	swig_type_info *s;
-
-	if (!ty)
-	    return 0;		/* Void pointer */
-	s = ty->next;		/* First element always just a name */
-	do {
-	    if (strcmp(s->name, c) == 0) {
-		if (s == ty->next)
-		    return s;
-		/* Move s to the top of the linked list */
-		s->prev->next = s->next;
-		if (s->next) {
-		    s->next->prev = s->prev;
-		}
-		/* Insert s as second element in the list */
-		s->next = ty->next;
-		if (ty->next)
-		    ty->next->prev = s;
-		ty->next = s;
-		s->prev = ty;
-		return s;
-	    }
-	    s = s->next;
-	} while (s && (s != ty->next));
-	return 0;
-    }
-
-    /*
-       Cast a pointer up an inheritance hierarchy
-     */
-    SWIGRUNTIMEINLINE void *SWIG_TypeCast(swig_type_info * ty, void *ptr)
-    {
-	return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter) (ptr);
-    }
-
-    /* 
-       Dynamic pointer casting. Down an inheritance hierarchy
-     */
-    SWIGRUNTIME swig_type_info *SWIG_TypeDynamicCast(swig_type_info * ty,
-						     void **ptr)
-    {
-	swig_type_info *lastty = ty;
-
-	if (!ty || !ty->dcast)
-	    return ty;
-	while (ty && (ty->dcast)) {
-	    ty = (*ty->dcast) (ptr);
-	    if (ty)
-		lastty = ty;
-	}
-	return lastty;
-    }
-
-    /*
-       Return the name associated with this type
-     */
-    SWIGRUNTIMEINLINE const char *SWIG_TypeName(const swig_type_info * ty)
-    {
-	return ty->name;
-    }
-
-    /*
-       Return the pretty name associated with this type,
-       that is an unmangled type name in a form presentable to the user.
-     */
-    SWIGRUNTIME const char *SWIG_TypePrettyName(const swig_type_info * type)
-    {
-	/* The "str" field contains the equivalent pretty names of the
-	   type, separated by vertical-bar characters.  We choose
-	   to print the last name, as it is often (?) the most
-	   specific. */
-	if (type->str != NULL) {
-	    const char *last_name = type->str;
-	    const char *s;
-
-	    for (s = type->str; *s; s++)
-		if (*s == '|')
-		    last_name = s + 1;
-	    return last_name;
-	}
-	else
-	    return type->name;
-    }
-
-    /*
-       Search for a swig_type_info structure
-     */
-    SWIGRUNTIME swig_type_info *SWIG_TypeQueryTL(swig_type_info * tl,
-						 const char *name)
-    {
-	swig_type_info *ty = tl;
-
-	while (ty) {
-	    if (ty->str && (SWIG_TypeEquiv(ty->str, name)))
-		return ty;
-	    if (ty->name && (strcmp(name, ty->name) == 0))
-		return ty;
-	    ty = ty->prev;
-	}
-	return 0;
-    }
-
-    /* 
-       Set the clientdata field for a type
-     */
-    SWIGRUNTIME void
-	SWIG_TypeClientDataTL(swig_type_info * tl, swig_type_info * ti,
-			      void *clientdata)
-    {
-	swig_type_info *tc, *equiv;
-
-	if (ti->clientdata)
-	    return;
-	/* if (ti->clientdata == clientdata) return; */
-	ti->clientdata = clientdata;
-	equiv = ti->next;
-	while (equiv) {
-	    if (!equiv->converter) {
-		tc = tl;
-		while (tc) {
-		    if ((strcmp(tc->name, equiv->name) == 0))
-			SWIG_TypeClientDataTL(tl, tc, clientdata);
-		    tc = tc->prev;
-		}
-	    }
-	    equiv = equiv->next;
-	}
-    }
-
-    /* 
-       Pack binary data into a string
-     */
-    SWIGRUNTIME char *SWIG_PackData(char *c, void *ptr, size_t sz)
-    {
-	static char hex[17] = "0123456789abcdef";
-	unsigned char *u = (unsigned char *)ptr;
-	const unsigned char *eu = u + sz;
-	register unsigned char uu;
-
-	for (; u != eu; ++u) {
-	    uu = *u;
-	    *(c++) = hex[(uu & 0xf0) >> 4];
-	    *(c++) = hex[uu & 0xf];
-	}
-	return c;
-    }
-
-    /* 
-       Unpack binary data from a string
-     */
-    SWIGRUNTIME const char *SWIG_UnpackData(const char *c, void *ptr,
-					    size_t sz)
-    {
-	register unsigned char *u = (unsigned char *)ptr;
-	register const unsigned char *eu = u + sz;
-
-	for (; u != eu; ++u) {
-	    register int d = *(c++);
-	    register unsigned char uu = 0;
-
-	    if ((d >= '0') && (d <= '9'))
-		uu = ((d - '0') << 4);
-	    else if ((d >= 'a') && (d <= 'f'))
-		uu = ((d - ('a' - 10)) << 4);
-	    else
-		return (char *)0;
-	    d = *(c++);
-	    if ((d >= '0') && (d <= '9'))
-		uu |= (d - '0');
-	    else if ((d >= 'a') && (d <= 'f'))
-		uu |= (d - ('a' - 10));
-	    else
-		return (char *)0;
-	    *u = uu;
-	}
-	return c;
-    }
-
-    /*
-       This function will propagate the clientdata field of type to any new
-       swig_type_info structures that have been added into the list of
-       equivalent types.  It is like calling SWIG_TypeClientData(type,
-       clientdata) a second time.
-     */
-    SWIGRUNTIME void
-	SWIG_PropagateClientDataTL(swig_type_info * tl, swig_type_info * type)
-    {
-	swig_type_info *equiv = type->next;
-	swig_type_info *tc;
-
-	if (!type->clientdata)
-	    return;
-	while (equiv) {
-	    if (!equiv->converter) {
-		tc = tl;
-		while (tc) {
-		    if ((strcmp(tc->name, equiv->name) == 0) &&
-			!tc->clientdata)
-			SWIG_TypeClientDataTL(tl, tc, type->clientdata);
-		    tc = tc->prev;
-		}
-	    }
-	    equiv = equiv->next;
-	}
-    }
-
-    /* 
-       Pack 'void *' into a string buffer.
-     */
-    SWIGRUNTIME char *SWIG_PackVoidPtr(char *buff, void *ptr,
-				       const char *name, size_t bsz)
-    {
-	char *r = buff;
-	if ((2 * sizeof(void *) + 2) > bsz)
-	    return 0;
-	*(r++) = '_';
-	r = SWIG_PackData(r, &ptr, sizeof(void *));
-	if (strlen(name) + 1 > (bsz - (r - buff)))
-	    return 0;
-	strcpy(r, name);
-	return buff;
-    }
-
-    SWIGRUNTIME const char *SWIG_UnpackVoidPtr(const char *c, void **ptr,
-					       const char *name)
-    {
-	if (*c != '_') {
-	    if (strcmp(c, "NULL") == 0) {
-		*ptr = (void *)0;
-		return name;
-	    }
-	    else {
-		return 0;
-	    }
-	}
-	return SWIG_UnpackData(++c, ptr, sizeof(void *));
-    }
-
-    SWIGRUNTIME char *SWIG_PackDataName(char *buff, void *ptr, size_t sz,
-					const char *name, size_t bsz)
-    {
-	char *r = buff;
-	size_t lname = (name ? strlen(name) : 0);
-
-	if ((2 * sz + 2 + lname) > bsz)
-	    return 0;
-	*(r++) = '_';
-	r = SWIG_PackData(r, ptr, sz);
-	if (lname) {
-	    strncpy(r, name, lname + 1);
-	}
-	else {
-	    *r = 0;
-	}
-	return buff;
-    }
-
-    SWIGRUNTIME const char *SWIG_UnpackDataName(const char *c, void *ptr,
-						size_t sz, const char *name)
-    {
-	if (*c != '_') {
-	    if (strcmp(c, "NULL") == 0) {
-		memset(ptr, 0, sz);
-		return name;
-	    }
-	    else {
-		return 0;
-	    }
-	}
-	return SWIG_UnpackData(++c, ptr, sz);
-    }
-
-#ifdef __cplusplus
-}
-#endif
-
-/***********************************************************************
- * common.swg
- *
- *     This file contains generic SWIG runtime support for pointer
- *     type checking as well as a few commonly used macros to control
- *     external linkage.
- *
- * Author : David Beazley (beazley at cs.uchicago.edu)
- *
- * Copyright (c) 1999-2000, The University of Chicago
- * 
- * This file may be freely redistributed without license or fee provided
- * this copyright message remains intact.
- ************************************************************************/
-
-
-#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
-#  if !defined(STATIC_LINKED)
-#    define SWIGEXPORT(a) __declspec(dllexport) a
-#  else
-#    define SWIGEXPORT(a) a
-#  endif
-#else
-#  define SWIGEXPORT(a) a
-#endif
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-
-/*************************************************************************/
-
-
-    /* The static type info list */
-
-    static swig_type_info *swig_type_list = 0;
-    static swig_type_info **swig_type_list_handle = &swig_type_list;
-
-
-    /* Register a type mapping with the type-checking */
-    static swig_type_info *SWIG_TypeRegister(swig_type_info * ti)
-    {
-	return SWIG_TypeRegisterTL(swig_type_list_handle, ti);
-    }
-
-    /* Search for a swig_type_info structure */
-    static swig_type_info *SWIG_TypeQuery(const char *name)
-    {
-	return SWIG_TypeQueryTL(*swig_type_list_handle, name);
-    }
-
-    /* Set the clientdata field for a type */
-    static void SWIG_TypeClientData(swig_type_info * ti, void *clientdata)
-    {
-	SWIG_TypeClientDataTL(*swig_type_list_handle, ti, clientdata);
-    }
-
-    /* This function will propagate the clientdata field of type to
-     * any new swig_type_info structures that have been added into the list
-     * of equivalent types.  It is like calling
-     * SWIG_TypeClientData(type, clientdata) a second time.
-     */
-    static void SWIG_PropagateClientData(swig_type_info * type)
-    {
-	SWIG_PropagateClientDataTL(*swig_type_list_handle, type);
-    }
-
-#ifdef __cplusplus
-}
-#endif
-
-/* ---------------------------------------------------------------------- -*- c -*-
- * perl5.swg
- *
- * Perl5 runtime library
- * $Header$
- * ----------------------------------------------------------------------------- */
-
-#define SWIGPERL
-#define SWIGPERL5
-#ifdef __cplusplus
-/* Needed on some windows machines---since MS plays funny games with the header files under C++ */
-#include <math.h>
-#include <stdlib.h>
-extern "C"
-{
-#endif
-#include "EXTERN.h"
-#include "perl.h"
-#include "XSUB.h"
-
-    /* Get rid of free and malloc defined by perl */
-#undef free
-#undef malloc
-
-#ifndef pTHX_
-#define pTHX_
-#endif
-
-#include <string.h>
-#ifdef __cplusplus
-}
-#endif
-
-/* Macro to call an XS function */
-
-#ifdef PERL_OBJECT
-#  define SWIG_CALLXS(_name) _name(cv,pPerl)
-#else
-#  ifndef MULTIPLICITY
-#    define SWIG_CALLXS(_name) _name(cv)
-#  else
-#    define SWIG_CALLXS(_name) _name(PERL_GET_THX, cv)
-#  endif
-#endif
-
-/* Contract support */
-
-#define SWIG_contract_assert(expr,msg) if (!(expr)) { SWIG_croak(msg); } else
-
-/* Note: SwigMagicFuncHack is a typedef used to get the C++ compiler to just shut up already */
-
-#ifdef PERL_OBJECT
-#define MAGIC_PPERL  CPerlObj *pPerl = (CPerlObj *) this;
-typedef int (CPerlObj::*SwigMagicFunc) (SV *, MAGIC *);
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-    typedef int (CPerlObj::*SwigMagicFuncHack) (SV *, MAGIC *);
-#ifdef __cplusplus
-}
-#endif
-
-#define SWIG_MAGIC(a,b) (SV *a, MAGIC *b)
-#define SWIGCLASS_STATIC
-#else
-#define MAGIC_PPERL
-#define SWIGCLASS_STATIC static
-#ifndef MULTIPLICITY
-#define SWIG_MAGIC(a,b) (SV *a, MAGIC *b)
-typedef int (*SwigMagicFunc) (SV *, MAGIC *);
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-    typedef int (*SwigMagicFuncHack) (SV *, MAGIC *);
-#ifdef __cplusplus
-}
-#endif
-
-
-#else
-#define SWIG_MAGIC(a,b) (struct interpreter *interp, SV *a, MAGIC *b)
-typedef int (*SwigMagicFunc) (struct interpreter *, SV *, MAGIC *);
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-    typedef int (*SwigMagicFuncHack) (struct interpreter *, SV *, MAGIC *);
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-#endif
-
-#if defined(WIN32) && defined(PERL_OBJECT) && !defined(PerlIO_exportFILE)
-#define PerlIO_exportFILE(fh,fl) (FILE*)(fh)
-#endif
-
-/* Modifications for newer Perl 5.005 releases */
-
-#if !defined(PERL_REVISION) || ((PERL_REVISION >= 5) && ((PERL_VERSION < 5) || ((PERL_VERSION == 5) && (PERL_SUBVERSION < 50))))
-#  ifndef PL_sv_yes
-#    define PL_sv_yes sv_yes
-#  endif
-#  ifndef PL_sv_undef
-#    define PL_sv_undef sv_undef
-#  endif
-#  ifndef PL_na
-#    define PL_na na
-#  endif
-#endif
-
-#include <stdlib.h>
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-#define SWIG_OWNER 1
-#define SWIG_SHADOW 2
-
-    /* Common SWIG API */
-
-#ifdef PERL_OBJECT
-#  define SWIG_ConvertPtr(obj, pp, type, flags) \
-     SWIG_Perl_ConvertPtr(pPerl, obj, pp, type, flags)
-#  define SWIG_NewPointerObj(p, type, flags) \
-     SWIG_Perl_NewPointerObj(pPerl, p, type, flags)
-#  define SWIG_MakePackedObj(sv, p, s, type)	\
-     SWIG_Perl_MakePackedObj(pPerl, sv, p, s, type)
-#  define SWIG_ConvertPacked(obj, p, s, type, flags) \
-     SWIG_Perl_ConvertPacked(pPerl, obj, p, s, type, flags)
-
-#else
-#  define SWIG_ConvertPtr(obj, pp, type, flags) \
-     SWIG_Perl_ConvertPtr(obj, pp, type, flags)
-#  define SWIG_NewPointerObj(p, type, flags) \
-     SWIG_Perl_NewPointerObj(p, type, flags)
-#  define SWIG_MakePackedObj(sv, p, s, type)	\
-     SWIG_Perl_MakePackedObj(sv, p, s, type )
-#  define SWIG_ConvertPacked(obj, p, s, type, flags) \
-     SWIG_Perl_ConvertPacked(obj, p, s, type, flags)
-#endif
-
-    /* Perl-specific API */
-#ifdef PERL_OBJECT
-#  define SWIG_MakePtr(sv, ptr, type, flags) \
-     SWIG_Perl_MakePtr(pPerl, sv, ptr, type, flags)
-#  define SWIG_SetError(str) \
-     SWIG_Perl_SetError(pPerl, str)
-#else
-#  define SWIG_MakePtr(sv, ptr, type, flags) \
-     SWIG_Perl_MakePtr(sv, ptr, type, flags)
-#  define SWIG_SetError(str) \
-     SWIG_Perl_SetError(str)
-#  define SWIG_SetErrorSV(str) \
-     SWIG_Perl_SetErrorSV(str)
-#endif
-
-#define SWIG_SetErrorf SWIG_Perl_SetErrorf
-
-
-#ifdef PERL_OBJECT
-#  define SWIG_MAYBE_PERL_OBJECT CPerlObj *pPerl,
-#else
-#  define SWIG_MAYBE_PERL_OBJECT
-#endif
-
-    static swig_type_info **SWIG_Perl_GetTypeListHandle()
-    {
-	static void *type_pointer = (void *)0;
-	SV *pointer;
-
-	/* first check if pointer already created */
-	if (!type_pointer)
-	{
-	    pointer =
-		get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION
-		       SWIG_TYPE_TABLE_NAME, FALSE);
-	    if (pointer && SvOK(pointer))
-	    {
-		type_pointer = INT2PTR(swig_type_info **, SvIV(pointer));
-	    }
-	}
-
-	return (swig_type_info **) type_pointer;
-    }
-
-    /*
-       Search for a swig_type_info structure
-     */
-    SWIGRUNTIMEINLINE swig_type_info *SWIG_Perl_GetTypeList()
-    {
-	swig_type_info **tlh = SWIG_Perl_GetTypeListHandle();
-
-	return tlh ? *tlh : (swig_type_info *) 0;
-    }
-
-#define SWIG_Runtime_GetTypeList SWIG_Perl_GetTypeList
-
-    static swig_type_info *SWIG_Perl_TypeCheckRV(SWIG_MAYBE_PERL_OBJECT SV *
-						 rv, swig_type_info * ty)
-    {
-	swig_type_info *s;
-
-	if (!ty)
-	    return 0;		/* Void pointer */
-	s = ty->next;		/* First element always just a name */
-	do {
-	    if (sv_derived_from(rv, (char *)s->name)) {
-		if (s == ty->next)
-		    return s;
-		/* Move s to the top of the linked list */
-		s->prev->next = s->next;
-		if (s->next) {
-		    s->next->prev = s->prev;
-		}
-		/* Insert s as second element in the list */
-		s->next = ty->next;
-		if (ty->next)
-		    ty->next->prev = s;
-		ty->next = s;
-		s->prev = ty;
-		return s;
-	    }
-	    s = s->next;
-	} while (s && (s != ty->next));
-	return 0;
-    }
-
-    /* Function for getting a pointer value */
-
-    static int
-	SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJECT SV * sv, void **ptr,
-			     swig_type_info * _t, int flags)
-    {
-	swig_type_info *tc;
-	void *voidptr = (void *)0;
-
-	/* If magical, apply more magic */
-	if (SvGMAGICAL(sv))
-	    mg_get(sv);
-
-	/* Check to see if this is an object */
-	if (sv_isobject(sv)) {
-	    SV *tsv = (SV *) SvRV(sv);
-	    IV tmp = 0;
-
-	    if ((SvTYPE(tsv) == SVt_PVHV)) {
-		MAGIC *mg;
-
-		if (SvMAGICAL(tsv)) {
-		    mg = mg_find(tsv, 'P');
-		    if (mg) {
-			sv = mg->mg_obj;
-			if (sv_isobject(sv)) {
-			    tmp = SvIV((SV *) SvRV(sv));
-			}
-		    }
-		}
-		else {
-		    return -1;
-		}
-	    }
-	    else {
-		tmp = SvIV((SV *) SvRV(sv));
-	    }
-	    voidptr = (void *)tmp;
-	    if (!_t) {
-		*(ptr) = voidptr;
-		return 0;
-	    }
-	}
-	else if (!SvOK(sv)) {	/* Check for undef */
-	    *(ptr) = (void *)0;
-	    return 0;
-	}
-	else if (SvTYPE(sv) == SVt_RV) {	/* Check for NULL pointer */
-	    *(ptr) = (void *)0;
-	    if (!SvROK(sv))
-		return 0;
-	    else
-		return -1;
-	}
-	else {			/* Don't know what it is */
-	    *(ptr) = (void *)0;
-	    return -1;
-	}
-	if (_t) {
-	    /* Now see if the types match */
-	    char *_c = HvNAME(SvSTASH(SvRV(sv)));
-
-	    tc = SWIG_TypeCheck(_c, _t);
-	    if (!tc) {
-		*ptr = voidptr;
-		return -1;
-	    }
-	    *ptr = SWIG_TypeCast(tc, voidptr);
-	    return 0;
-	}
-	*ptr = voidptr;
-	return 0;
-    }
-
-    static void
-	SWIG_Perl_MakePtr(SWIG_MAYBE_PERL_OBJECT SV * sv, void *ptr,
-			  swig_type_info * t, int flags)
-    {
-	if (ptr && (flags & SWIG_SHADOW)) {
-	    SV *self;
-	    SV *obj = newSV(0);
-	    HV *hash = newHV();
-	    HV *stash;
-
-	    sv_setref_pv(obj, (char *)t->name, ptr);
-	    stash = SvSTASH(SvRV(obj));
-	    if (flags & SWIG_OWNER) {
-		HV *hv;
-		GV *gv = *(GV **) hv_fetch(stash, "OWNER", 5, TRUE);
-
-		if (!isGV(gv))
-		    gv_init(gv, stash, "OWNER", 5, FALSE);
-		hv = GvHVn(gv);
-		hv_store_ent(hv, obj, newSViv(1), 0);
-	    }
-	    sv_magic((SV *) hash, (SV *) obj, 'P', Nullch, 0);
-	    SvREFCNT_dec(obj);
-	    self = newRV_noinc((SV *) hash);
-	    sv_setsv(sv, self);
-	    SvREFCNT_dec((SV *) self);
-	    sv_bless(sv, stash);
-	}
-	else {
-	    sv_setref_pv(sv, (char *)t->name, ptr);
-	}
-    }
-
-    static SWIGINLINE SV *SWIG_Perl_NewPointerObj(SWIG_MAYBE_PERL_OBJECT void
-						  *ptr, swig_type_info * t,
-						  int flags)
-    {
-	SV *result = sv_newmortal();
-
-	SWIG_MakePtr(result, ptr, t, flags);
-	return result;
-    }
-
-    static void
-	SWIG_Perl_MakePackedObj(SWIG_MAYBE_PERL_OBJECT SV * sv, void *ptr,
-				int sz, swig_type_info * type)
-    {
-	char result[1024];
-	char *r = result;
-
-	if ((2 * sz + 1 + strlen(type->name)) > 1000)
-	    return;
-	*(r++) = '_';
-	r = SWIG_PackData(r, ptr, sz);
-	strcpy(r, type->name);
-	sv_setpv(sv, result);
-    }
-
-    /* Convert a packed value value */
-    static int
-	SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_OBJECT SV * obj, void *ptr,
-				int sz, swig_type_info * ty, int flags)
-    {
-	swig_type_info *tc;
-	const char *c = 0;
-
-	if ((!obj) || (!SvOK(obj)))
-	    return -1;
-	c = SvPV(obj, PL_na);
-	/* Pointer values must start with leading underscore */
-	if (*c != '_')
-	    return -1;
-	c++;
-	c = SWIG_UnpackData(c, ptr, sz);
-	if (ty) {
-	    tc = SWIG_TypeCheck(c, ty);
-	    if (!tc)
-		return -1;
-	}
-	return 0;
-    }
-
-    static SWIGINLINE void
-	SWIG_Perl_SetError(SWIG_MAYBE_PERL_OBJECT const char *error)
-    {
-	if (error)
-	    sv_setpv(perl_get_sv("@", TRUE), error);
-    }
-
-    static SWIGINLINE void
-	SWIG_Perl_SetErrorSV(SWIG_MAYBE_PERL_OBJECT SV * error)
-    {
-	if (error)
-	    sv_setsv(perl_get_sv("@", TRUE), error);
-    }
-
-    static void SWIG_Perl_SetErrorf(const char *fmt, ...)
-    {
-	va_list args;
-
-	va_start(args, fmt);
-	sv_vsetpvfn(perl_get_sv("@", TRUE), fmt, strlen(fmt), &args,
-		    Null(SV **), 0, Null(bool *));
-	va_end(args);
-    }
-
-    /* Macros for low-level exception handling */
-#define SWIG_fail       goto fail
-#define SWIG_croak(x)   { SWIG_SetError(x); goto fail; }
-#define SWIG_croakSV(x) { SWIG_SetErrorSV(x); goto fail; }
-    /* most preprocessors do not support vararg macros :-( */
-    /* #define SWIG_croakf(x...) { SWIG_SetErrorf(x); goto fail; } */
-
-
-    typedef XS(SwigPerlWrapper);
-    typedef SwigPerlWrapper *SwigPerlWrapperPtr;
-
-    /* Structure for command table */
-    typedef struct
-    {
-	const char *name;
-	SwigPerlWrapperPtr wrapper;
-    } swig_command_info;
-
-    /* Information for constant table */
-
-#define SWIG_INT     1
-#define SWIG_FLOAT   2
-#define SWIG_STRING  3
-#define SWIG_POINTER 4
-#define SWIG_BINARY  5
-
-    /* Constant information structure */
-    typedef struct swig_constant_info
-    {
-	int type;
-	const char *name;
-	long lvalue;
-	double dvalue;
-	void *pvalue;
-	swig_type_info **ptype;
-    } swig_constant_info;
-
-#ifdef __cplusplus
-}
-#endif
-
-/* Structure for variable table */
-typedef struct
-{
-    const char *name;
-    SwigMagicFunc set;
-    SwigMagicFunc get;
-    swig_type_info **type;
-} swig_variable_info;
-
-/* Magic variable code */
-#ifndef PERL_OBJECT
-#define swig_create_magic(s,a,b,c) _swig_create_magic(s,a,b,c)
-#ifndef MULTIPLICITY
-static void _swig_create_magic(SV * sv, char *name,
-			       int (*set) (SV *, MAGIC *), int (*get) (SV *,
-								       MAGIC
-								       *))
-{
-#else
-static void _swig_create_magic(SV * sv, char *name,
-			       int (*set) (struct interpreter *, SV *,
-					   MAGIC *),
-			       int (*get) (struct interpreter *, SV *,
-					   MAGIC *))
-{
-#endif
-#else
-#  define swig_create_magic(s,a,b,c) _swig_create_magic(pPerl,s,a,b,c)
-static void _swig_create_magic(CPerlObj * pPerl, SV * sv, const char *name,
-			       int (CPerlObj::*set) (SV *, MAGIC *),
-			       int (CPerlObj::*get) (SV *, MAGIC *))
-{
-#endif
-    MAGIC *mg;
-
-    sv_magic(sv, sv, 'U', (char *)name, strlen(name));
-    mg = mg_find(sv, 'U');
-    mg->mg_virtual = (MGVTBL *) malloc(sizeof(MGVTBL));
-    mg->mg_virtual->svt_get = (SwigMagicFuncHack) get;
-    mg->mg_virtual->svt_set = (SwigMagicFuncHack) set;
-    mg->mg_virtual->svt_len = 0;
-    mg->mg_virtual->svt_clear = 0;
-    mg->mg_virtual->svt_free = 0;
-}
-
-
-
-
-
-
-#ifdef do_open
-#undef do_open
-#endif
-#ifdef do_close
-#undef do_close
-#endif
-#ifdef scalar
-#undef scalar
-#endif
-#ifdef list
-#undef list
-#endif
-#ifdef apply
-#undef apply
-#endif
-#ifdef convert
-#undef convert
-#endif
-#ifdef Error
-#undef Error
-#endif
-#ifdef form
-#undef form
-#endif
-#ifdef vform
-#undef vform
-#endif
-#ifdef LABEL
-#undef LABEL
-#endif
-#ifdef METHOD
-#undef METHOD
-#endif
-#ifdef Move
-#undef Move
-#endif
-#ifdef yylex
-#undef yylex
-#endif
-#ifdef yyparse
-#undef yyparse
-#endif
-#ifdef yyerror
-#undef yyerror
-#endif
-#ifdef invert
-#undef invert
-#endif
-#ifdef ref
-#undef ref
-#endif
-#ifdef ENTER
-#undef ENTER
-#endif
-
-
-/* -------- TYPES TABLE (BEGIN) -------- */
-
-#define  SWIGTYPE_p_Cell_head swig_types[0]
-#define  SWIGTYPE_p_Categories swig_types[1]
-#define  SWIGTYPE_p_DateTime swig_types[2]
-#define  SWIGTYPE_p_RASTER_MAP_TYPE swig_types[3]
-#define  SWIGTYPE_p_f_p_q_const__char_int__int swig_types[4]
-#define  SWIGTYPE_p_f_int_int__int swig_types[5]
-#define  SWIGTYPE_p_p_char swig_types[6]
-#define  SWIGTYPE_p_char swig_types[7]
-#define  SWIGTYPE_p_p_p_char swig_types[8]
-#define  SWIGTYPE_p_FPRange swig_types[9]
-#define  SWIGTYPE_p_FCELL swig_types[10]
-#define  SWIGTYPE_p_void swig_types[11]
-#define  SWIGTYPE_p_p_double swig_types[12]
-#define  SWIGTYPE_p_double swig_types[13]
-#define  SWIGTYPE_p_f_double__double swig_types[14]
-#define  SWIGTYPE_p_stat swig_types[15]
-#define  SWIGTYPE_p_size_t swig_types[16]
-#define  SWIGTYPE_p_Option swig_types[17]
-#define  SWIGTYPE_p_Range swig_types[18]
-#define  SWIGTYPE_p_G_3dview swig_types[19]
-#define  SWIGTYPE_p_Key_Value swig_types[20]
-#define  SWIGTYPE_p_f_CELL_CELL_CELL__void swig_types[21]
-#define  SWIGTYPE_p_Cell_stats swig_types[22]
-#define  SWIGTYPE_p_long swig_types[23]
-#define  SWIGTYPE_p_CELL swig_types[24]
-#define  SWIGTYPE_p_DCELL swig_types[25]
-#define  SWIGTYPE_p__Color_Rule_ swig_types[26]
-#define  SWIGTYPE_p_FPReclass swig_types[27]
-#define  SWIGTYPE_p_Quant swig_types[28]
-#define  SWIGTYPE_p_Flag swig_types[29]
-#define  SWIGTYPE_p_Reclass swig_types[30]
-#define  SWIGTYPE_p_p_unsigned_char swig_types[31]
-#define  SWIGTYPE_p_unsigned_char swig_types[32]
-#define  SWIGTYPE_p_GModule swig_types[33]
-#define  SWIGTYPE_p_TimeStamp swig_types[34]
-#define  SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char__int swig_types[35]
-#define  SWIGTYPE_p_History swig_types[36]
-#define  SWIGTYPE_p_Histogram swig_types[37]
-#define  SWIGTYPE_p__Color_Info_ swig_types[38]
-#define  SWIGTYPE_p_f___int swig_types[39]
-#define  SWIGTYPE_p_Colors swig_types[40]
-#define  SWIGTYPE_p_INTERP_TYPE swig_types[41]
-#define  SWIGTYPE_p_FILE swig_types[42]
-#define  SWIGTYPE_p_f_p_void_DCELL_DCELL_p_DCELL_p_int_p_int_p_int_p_int_p_int_p_int__int swig_types[43]
-#define  SWIGTYPE_p_Quant_table swig_types[44]
-#define  SWIGTYPE_p_p_float swig_types[45]
-#define  SWIGTYPE_p_float swig_types[46]
-#define  SWIGTYPE_p_p_int swig_types[47]
-#define  SWIGTYPE_p_int swig_types[48]
-static swig_type_info *swig_types[50];
-
-/* -------- TYPES TABLE (END) -------- */
-
-#define SWIG_init    boot_Grass
-
-#define SWIG_name   "Grassc::boot_Grass"
-#define SWIG_prefix "Grassc::"
-
-#ifdef __cplusplus
-extern "C"
-#endif
-#ifndef PERL_OBJECT
-#ifndef MULTIPLICITY
-SWIGEXPORT(void) SWIG_init(CV * cv);
-#else
-SWIGEXPORT(void) SWIG_init(pTHXo_ CV * cv);
-#endif
-#else
-SWIGEXPORT(void) SWIG_init(CV * cv, CPerlObj *);
-#endif
-
-
-#include "gis.h"
-
-#ifdef PERL_OBJECT
-#define MAGIC_CLASS _wrap_Grass_var::
-     class _wrap_Grass_var:public CPerlObj
-     {
-       public:
-#else
-#define MAGIC_CLASS
-#endif
-     SWIGCLASS_STATIC int swig_magic_readonly(pTHX_ SV * sv, MAGIC * mg)
-{
-    MAGIC_PPERL sv = sv;
-    mg = mg;
-    croak("Value is read-only.");
-    return 0;
-}
-
-
-#ifdef PERL_OBJECT
-};
-#endif
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-    XS(_wrap_G_adjust_Cell_head)
-    {
-	{
-	    struct Cell_head *arg1 = (struct Cell_head *)0;
-	    int arg2;
-	    int arg3;
-	    char *result;
-	    int argvi = 0;
-	      dXSARGS;
-
-	    if ((items < 3) || (items > 3))
-	    {
-		SWIG_croak
-		    ("Usage: G_adjust_Cell_head(struct Cell_head *,int,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_adjust_Cell_head. Expected _p_Cell_head");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    result = (char *)G_adjust_Cell_head(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_adjust_Cell_head3) {
-	{
-	    struct Cell_head *arg1 = (struct Cell_head *)0;
-	    int arg2;
-	    int arg3;
-	    int arg4;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_adjust_Cell_head3(struct Cell_head *,int,int,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_adjust_Cell_head3. Expected _p_Cell_head");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    arg4 = (int)SvIV(ST(3));
-	    result = (char *)G_adjust_Cell_head3(arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_align_window) {
-	{
-	    struct Cell_head *arg1 = (struct Cell_head *)0;
-	    struct Cell_head *arg2 = (struct Cell_head *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_align_window(struct Cell_head *,struct Cell_head const *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_align_window. Expected _p_Cell_head");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_align_window. Expected _p_Cell_head");
-		}
-	    }
-	    result =
-		(char *)G_align_window(arg1, (struct Cell_head const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_malloc) {
-	{
-	    size_t arg1;
-	    void *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_malloc(size_t);");
-	    }
-	    arg1 = (size_t) SvUV(ST(0));
-	    result = (void *)G_malloc(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_void, 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_calloc) {
-	{
-	    size_t arg1;
-	    size_t arg2;
-	    void *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_calloc(size_t,size_t);");
-	    }
-	    arg1 = (size_t) SvUV(ST(0));
-	    arg2 = (size_t) SvUV(ST(1));
-	    result = (void *)G_calloc(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_void, 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_realloc) {
-	{
-	    void *arg1 = (void *)0;
-	    size_t arg2;
-	    void *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_realloc(void *,size_t);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_realloc. Expected _p_void");
-		}
-	    }
-	    arg2 = (size_t) SvUV(ST(1));
-	    result = (void *)G_realloc(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_void, 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_free) {
-	{
-	    void *arg1 = (void *)0;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_free(void *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_free. Expected _p_void");
-		}
-	    }
-	    G_free(arg1);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_raster_size) {
-	{
-	    RASTER_MAP_TYPE arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_raster_size(RASTER_MAP_TYPE);");
-	    }
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_raster_size. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg1 = *argp;
-	    }
-	    result = (int)G_raster_size(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_allocate_cell_buf) {
-	{
-	    CELL *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_allocate_cell_buf();");
-	    }
-	    result = (CELL *) G_allocate_cell_buf();
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_CELL, 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_allocate_raster_buf) {
-	{
-	    RASTER_MAP_TYPE arg1;
-	    void *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_allocate_raster_buf(RASTER_MAP_TYPE);");
-	    }
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_allocate_raster_buf. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg1 = *argp;
-	    }
-	    result = (void *)G_allocate_raster_buf(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_void, 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_allocate_c_raster_buf) {
-	{
-	    CELL *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_allocate_c_raster_buf();");
-	    }
-	    result = (CELL *) G_allocate_c_raster_buf();
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_CELL, 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_allocate_f_raster_buf) {
-	{
-	    FCELL *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_allocate_f_raster_buf();");
-	    }
-	    result = (FCELL *) G_allocate_f_raster_buf();
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_FCELL,
-			 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_allocate_d_raster_buf) {
-	{
-	    DCELL *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_allocate_d_raster_buf();");
-	    }
-	    result = (DCELL *) G_allocate_d_raster_buf();
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_DCELL,
-			 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_allocate_null_buf) {
-	{
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_allocate_null_buf();");
-	    }
-	    result = (char *)G_allocate_null_buf();
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__allocate_null_bits) {
-	{
-	    int arg1;
-	    unsigned char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G__allocate_null_bits(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (unsigned char *)G__allocate_null_bits(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result,
-			 SWIGTYPE_p_unsigned_char, 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__null_bitstream_size) {
-	{
-	    int arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G__null_bitstream_size(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (int)G__null_bitstream_size(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_begin_cell_area_calculations) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_begin_cell_area_calculations();");
-	    }
-	    result = (int)G_begin_cell_area_calculations();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_area_of_cell_at_row) {
-	{
-	    int arg1;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_area_of_cell_at_row(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (double)G_area_of_cell_at_row(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_begin_polygon_area_calculations) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_begin_polygon_area_calculations();");
-	    }
-	    result = (int)G_begin_polygon_area_calculations();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_area_of_polygon) {
-	{
-	    double *arg1 = (double *)0;
-	    double *arg2 = (double *)0;
-	    int arg3;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_area_of_polygon(double const *,double const *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_area_of_polygon. Expected _p_double");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_area_of_polygon. Expected _p_double");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result =
-		(double)G_area_of_polygon((double const *)arg1,
-					  (double const *)arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_begin_zone_area_on_ellipsoid) {
-	{
-	    double arg1;
-	    double arg2;
-	    double arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_begin_zone_area_on_ellipsoid(double,double,double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    arg3 = (double)SvNV(ST(2));
-
-	    result = (int)G_begin_zone_area_on_ellipsoid(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_darea0_on_ellipsoid) {
-	{
-	    double arg1;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_darea0_on_ellipsoid(double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    result = (double)G_darea0_on_ellipsoid(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_area_for_zone_on_ellipsoid) {
-	{
-	    double arg1;
-	    double arg2;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_area_for_zone_on_ellipsoid(double,double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    result = (double)G_area_for_zone_on_ellipsoid(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_begin_ellipsoid_polygon_area) {
-	{
-	    double arg1;
-	    double arg2;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_begin_ellipsoid_polygon_area(double,double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    result = (int)G_begin_ellipsoid_polygon_area(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ellipsoid_polygon_area) {
-	{
-	    double *arg1 = (double *)0;
-	    double *arg2 = (double *)0;
-	    int arg3;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_ellipsoid_polygon_area(double const *,double const *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_ellipsoid_polygon_area. Expected _p_double");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_ellipsoid_polygon_area. Expected _p_double");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result =
-		(double)G_ellipsoid_polygon_area((double const *)arg1,
-						 (double const *)arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_planimetric_polygon_area) {
-	{
-	    double *arg1 = (double *)0;
-	    double *arg2 = (double *)0;
-	    int arg3;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_planimetric_polygon_area(double const *,double const *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_planimetric_polygon_area. Expected _p_double");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_planimetric_polygon_area. Expected _p_double");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result =
-		(double)G_planimetric_polygon_area((double const *)arg1,
-						   (double const *)arg2,
-						   arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_begin_zone_area_on_sphere) {
-	{
-	    double arg1;
-	    double arg2;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_begin_zone_area_on_sphere(double,double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    result = (int)G_begin_zone_area_on_sphere(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_darea0_on_sphere) {
-	{
-	    double arg1;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_darea0_on_sphere(double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    result = (double)G_darea0_on_sphere(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_area_for_zone_on_sphere) {
-	{
-	    double arg1;
-	    double arg2;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_area_for_zone_on_sphere(double,double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    result = (double)G_area_for_zone_on_sphere(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ascii_check) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_ascii_check(char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_ascii_check(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ask_new) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    char *arg4 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_ask_new(char const *,char *,char *,char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    if (!SvOK((SV *) ST(3)))
-		arg4 = 0;
-	    else
-		arg4 = (char *)SvPV(ST(3), PL_na);
-	    result = (char *)G_ask_new((char const *)arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ask_new_ext) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    char *arg4 = (char *)0;
-	    char *arg5 = (char *)0;
-	    int (*arg6) () = (int (*)())0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 6) || (items > 6)) {
-		SWIG_croak
-		    ("Usage: G_ask_new_ext(char const *,char *,char *,char *,char *,int (*)());");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    if (!SvOK((SV *) ST(3)))
-		arg4 = 0;
-	    else
-		arg4 = (char *)SvPV(ST(3), PL_na);
-	    if (!SvOK((SV *) ST(4)))
-		arg5 = 0;
-	    else
-		arg5 = (char *)SvPV(ST(4), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(5), (void **)&arg6, SWIGTYPE_p_f___int, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 6 of G_ask_new_ext. Expected _p_f___int");
-		}
-	    }
-	    result =
-		(char *)G_ask_new_ext((char const *)arg1, arg2, arg3, arg4,
-				      arg5, arg6);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ask_old) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    char *arg4 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_ask_old(char const *,char *,char *,char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    if (!SvOK((SV *) ST(3)))
-		arg4 = 0;
-	    else
-		arg4 = (char *)SvPV(ST(3), PL_na);
-	    result = (char *)G_ask_old((char const *)arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ask_old_ext) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    char *arg4 = (char *)0;
-	    char *arg5 = (char *)0;
-	    int (*arg6) () = (int (*)())0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 6) || (items > 6)) {
-		SWIG_croak
-		    ("Usage: G_ask_old_ext(char const *,char *,char *,char *,char *,int (*)());");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    if (!SvOK((SV *) ST(3)))
-		arg4 = 0;
-	    else
-		arg4 = (char *)SvPV(ST(3), PL_na);
-	    if (!SvOK((SV *) ST(4)))
-		arg5 = 0;
-	    else
-		arg5 = (char *)SvPV(ST(4), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(5), (void **)&arg6, SWIGTYPE_p_f___int, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 6 of G_ask_old_ext. Expected _p_f___int");
-		}
-	    }
-	    result =
-		(char *)G_ask_old_ext((char const *)arg1, arg2, arg3, arg4,
-				      arg5, arg6);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ask_any) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    char *arg4 = (char *)0;
-	    int arg5;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_ask_any(char const *,char *,char *,char *,int);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    if (!SvOK((SV *) ST(3)))
-		arg4 = 0;
-	    else
-		arg4 = (char *)SvPV(ST(3), PL_na);
-	    arg5 = (int)SvIV(ST(4));
-	    result =
-		(char *)G_ask_any((char const *)arg1, arg2, arg3, arg4, arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ask_any_ext) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    char *arg4 = (char *)0;
-	    int arg5;
-	    char *arg6 = (char *)0;
-	    int (*arg7) () = (int (*)())0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 7) || (items > 7)) {
-		SWIG_croak
-		    ("Usage: G_ask_any_ext(char const *,char *,char *,char *,int,char *,int (*)());");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    if (!SvOK((SV *) ST(3)))
-		arg4 = 0;
-	    else
-		arg4 = (char *)SvPV(ST(3), PL_na);
-	    arg5 = (int)SvIV(ST(4));
-	    if (!SvOK((SV *) ST(5)))
-		arg6 = 0;
-	    else
-		arg6 = (char *)SvPV(ST(5), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(6), (void **)&arg7, SWIGTYPE_p_f___int, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 7 of G_ask_any_ext. Expected _p_f___int");
-		}
-	    }
-	    result =
-		(char *)G_ask_any_ext((char const *)arg1, arg2, arg3, arg4,
-				      arg5, arg6, arg7);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ask_in_mapset) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    char *arg4 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_ask_in_mapset(char const *,char *,char *,char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    if (!SvOK((SV *) ST(3)))
-		arg4 = 0;
-	    else
-		arg4 = (char *)SvPV(ST(3), PL_na);
-	    result =
-		(char *)G_ask_in_mapset((char const *)arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ask_in_mapset_ext) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    char *arg4 = (char *)0;
-	    char *arg5 = (char *)0;
-	    int (*arg6) () = (int (*)())0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 6) || (items > 6)) {
-		SWIG_croak
-		    ("Usage: G_ask_in_mapset_ext(char const *,char *,char *,char *,char *,int (*)());");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    if (!SvOK((SV *) ST(3)))
-		arg4 = 0;
-	    else
-		arg4 = (char *)SvPV(ST(3), PL_na);
-	    if (!SvOK((SV *) ST(4)))
-		arg5 = 0;
-	    else
-		arg5 = (char *)SvPV(ST(4), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(5), (void **)&arg6, SWIGTYPE_p_f___int, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 6 of G_ask_in_mapset_ext. Expected _p_f___int");
-		}
-	    }
-	    result =
-		(char *)G_ask_in_mapset_ext((char const *)arg1, arg2, arg3,
-					    arg4, arg5, arg6);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ask_new_file) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    char *arg4 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_ask_new_file(char const *,char *,char *,char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    if (!SvOK((SV *) ST(3)))
-		arg4 = 0;
-	    else
-		arg4 = (char *)SvPV(ST(3), PL_na);
-	    result =
-		(char *)G_ask_new_file((char const *)arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ask_old_file) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    char *arg4 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_ask_old_file(char const *,char *,char *,char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    if (!SvOK((SV *) ST(3)))
-		arg4 = 0;
-	    else
-		arg4 = (char *)SvPV(ST(3), PL_na);
-	    result =
-		(char *)G_ask_old_file((char const *)arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_ask_return_msg) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_set_ask_return_msg(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_set_ask_return_msg((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_ask_return_msg) {
-	{
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_get_ask_return_msg();");
-	    }
-	    result = (char *)G_get_ask_return_msg();
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ask_cell_new) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_ask_cell_new(char const *,char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (char *)G_ask_cell_new((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ask_cell_old) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_ask_cell_old(char const *,char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (char *)G_ask_cell_old((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ask_cell_in_mapset) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_ask_cell_in_mapset(char const *,char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (char *)G_ask_cell_in_mapset((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ask_cell_any) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_ask_cell_any(char const *,char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (char *)G_ask_cell_any((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ask_vector_new) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_ask_vector_new(char const *,char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (char *)G_ask_vector_new((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ask_vector_old) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_ask_vector_old(char const *,char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (char *)G_ask_vector_old((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ask_vector_any) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_ask_vector_any(char const *,char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (char *)G_ask_vector_any((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ask_vector_in_mapset) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_ask_vector_in_mapset(char const *,char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (char *)G_ask_vector_in_mapset((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__check_for_auto_masking) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G__check_for_auto_masking();");
-	    }
-	    result = (int)G__check_for_auto_masking();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_suppress_masking) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_suppress_masking();");
-	    }
-	    result = (int)G_suppress_masking();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_unsuppress_masking) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_unsuppress_masking();");
-	    }
-	    result = (int)G_unsuppress_masking();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_basename) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_basename(char *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (char *)G_basename(arg1, (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_bresenham_line) {
-	{
-	    int arg1;
-	    int arg2;
-	    int arg3;
-	    int arg4;
-	    int (*arg5) (int, int) = (int (*)(int, int))0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_bresenham_line(int,int,int,int,int (*)(int,int));");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    arg4 = (int)SvIV(ST(3));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&arg5, SWIGTYPE_p_f_int_int__int,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_bresenham_line. Expected _p_f_int_int__int");
-		}
-	    }
-	    result = (int)G_bresenham_line(arg1, arg2, arg3, arg4, arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_read_cats) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    struct Categories *arg3 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_read_cats(char const *,char const *,struct Categories *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_read_cats. Expected _p_Categories");
-		}
-	    }
-	    result =
-		(int)G_read_cats((char const *)arg1, (char const *)arg2,
-				 arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_read_raster_cats) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    struct Categories *arg3 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_read_raster_cats(char const *,char const *,struct Categories *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_read_raster_cats. Expected _p_Categories");
-		}
-	    }
-	    result =
-		(int)G_read_raster_cats((char const *)arg1,
-					(char const *)arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_read_vector_cats) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    struct Categories *arg3 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_read_vector_cats(char const *,char const *,struct Categories *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_read_vector_cats. Expected _p_Categories");
-		}
-	    }
-	    result =
-		(int)G_read_vector_cats((char const *)arg1,
-					(char const *)arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_number_of_cats) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    CELL result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_number_of_cats(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = G_number_of_cats((char const *)arg1, (char const *)arg2);
-
-	    {
-		CELL *resultobj = (CELL *) malloc(sizeof(CELL));
-
-		memmove(resultobj, &result, sizeof(CELL));
-		ST(argvi) = sv_newmortal();
-		SWIG_MakePtr(ST(argvi++), (void *)resultobj, SWIGTYPE_p_CELL,
-			     0 | SWIG_OWNER);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__read_cats) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    struct Categories *arg4 = (struct Categories *)0;
-	    int arg5;
-	    CELL result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G__read_cats(char const *,char const *,char const *,struct Categories *,int);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G__read_cats. Expected _p_Categories");
-		}
-	    }
-	    arg5 = (int)SvIV(ST(4));
-	    result =
-		G__read_cats((char const *)arg1, (char const *)arg2,
-			     (char const *)arg3, arg4, arg5);
-
-	    {
-		CELL *resultobj = (CELL *) malloc(sizeof(CELL));
-
-		memmove(resultobj, &result, sizeof(CELL));
-		ST(argvi) = sv_newmortal();
-		SWIG_MakePtr(ST(argvi++), (void *)resultobj, SWIGTYPE_p_CELL,
-			     0 | SWIG_OWNER);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_cats_title) {
-	{
-	    struct Categories *arg1 = (struct Categories *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak
-		    ("Usage: G_get_cats_title(struct Categories const *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_cats_title. Expected _p_Categories");
-		}
-	    }
-	    result =
-		(char *)G_get_cats_title((struct Categories const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_raster_cats_title) {
-	{
-	    struct Categories *arg1 = (struct Categories *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak
-		    ("Usage: G_get_raster_cats_title(struct Categories const *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_raster_cats_title. Expected _p_Categories");
-		}
-	    }
-	    result =
-		(char *)G_get_raster_cats_title((struct Categories const *)
-						arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_cat) {
-	{
-	    CELL arg1;
-	    struct Categories *arg2 = (struct Categories *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_get_cat(CELL,struct Categories *);");
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(0), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_cat. Expected _p_CELL");
-		}
-		arg1 = *argp;
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_cat. Expected _p_Categories");
-		}
-	    }
-	    result = (char *)G_get_cat(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_c_raster_cat) {
-	{
-	    CELL *arg1 = (CELL *) 0;
-	    struct Categories *arg2 = (struct Categories *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_get_c_raster_cat(CELL *,struct Categories *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_c_raster_cat. Expected _p_CELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_c_raster_cat. Expected _p_Categories");
-		}
-	    }
-	    result = (char *)G_get_c_raster_cat(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_f_raster_cat) {
-	{
-	    FCELL *arg1 = (FCELL *) 0;
-	    struct Categories *arg2 = (struct Categories *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_get_f_raster_cat(FCELL *,struct Categories *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_f_raster_cat. Expected _p_FCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_f_raster_cat. Expected _p_Categories");
-		}
-	    }
-	    result = (char *)G_get_f_raster_cat(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_d_raster_cat) {
-	{
-	    DCELL *arg1 = (DCELL *) 0;
-	    struct Categories *arg2 = (struct Categories *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_get_d_raster_cat(DCELL *,struct Categories *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_d_raster_cat. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_d_raster_cat. Expected _p_Categories");
-		}
-	    }
-	    result = (char *)G_get_d_raster_cat(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_raster_cat) {
-	{
-	    void *arg1 = (void *)0;
-	    struct Categories *arg2 = (struct Categories *)0;
-	    RASTER_MAP_TYPE arg3;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_get_raster_cat(void *,struct Categories *,RASTER_MAP_TYPE);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_raster_cat. Expected _p_void");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_raster_cat. Expected _p_Categories");
-		}
-	    }
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_raster_cat. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg3 = *argp;
-	    }
-	    result = (char *)G_get_raster_cat(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_unmark_raster_cats) {
-	{
-	    struct Categories *arg1 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak
-		    ("Usage: G_unmark_raster_cats(struct Categories *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_unmark_raster_cats. Expected _p_Categories");
-		}
-	    }
-	    result = (int)G_unmark_raster_cats(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_mark_c_raster_cats) {
-	{
-	    CELL *arg1 = (CELL *) 0;
-	    int arg2;
-	    struct Categories *arg3 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_mark_c_raster_cats(CELL *,int,struct Categories *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_mark_c_raster_cats. Expected _p_CELL");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_mark_c_raster_cats. Expected _p_Categories");
-		}
-	    }
-	    result = (int)G_mark_c_raster_cats(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_mark_f_raster_cats) {
-	{
-	    FCELL *arg1 = (FCELL *) 0;
-	    int arg2;
-	    struct Categories *arg3 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_mark_f_raster_cats(FCELL *,int,struct Categories *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_mark_f_raster_cats. Expected _p_FCELL");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_mark_f_raster_cats. Expected _p_Categories");
-		}
-	    }
-	    result = (int)G_mark_f_raster_cats(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_mark_d_raster_cats) {
-	{
-	    DCELL *arg1 = (DCELL *) 0;
-	    int arg2;
-	    struct Categories *arg3 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_mark_d_raster_cats(DCELL *,int,struct Categories *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_mark_d_raster_cats. Expected _p_DCELL");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_mark_d_raster_cats. Expected _p_Categories");
-		}
-	    }
-	    result = (int)G_mark_d_raster_cats(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_mark_raster_cats) {
-	{
-	    void *arg1 = (void *)0;
-	    int arg2;
-	    struct Categories *arg3 = (struct Categories *)0;
-	    RASTER_MAP_TYPE arg4;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_mark_raster_cats(void *,int,struct Categories *,RASTER_MAP_TYPE);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_mark_raster_cats. Expected _p_void");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_mark_raster_cats. Expected _p_Categories");
-		}
-	    }
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_mark_raster_cats. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg4 = *argp;
-	    }
-	    result = (int)G_mark_raster_cats(arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_rewind_raster_cats) {
-	{
-	    struct Categories *arg1 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak
-		    ("Usage: G_rewind_raster_cats(struct Categories *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_rewind_raster_cats. Expected _p_Categories");
-		}
-	    }
-	    result = (int)G_rewind_raster_cats(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_next_marked_d_raster_cat) {
-	{
-	    struct Categories *arg1 = (struct Categories *)0;
-	    DCELL *arg2 = (DCELL *) 0;
-	    DCELL *arg3 = (DCELL *) 0;
-	    long *arg4 = (long *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_get_next_marked_d_raster_cat(struct Categories *,DCELL *,DCELL *,long *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_next_marked_d_raster_cat. Expected _p_Categories");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_next_marked_d_raster_cat. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_next_marked_d_raster_cat. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(3), (void **)&arg4, SWIGTYPE_p_long, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_get_next_marked_d_raster_cat. Expected _p_long");
-		}
-	    }
-	    result =
-		(char *)G_get_next_marked_d_raster_cat(arg1, arg2, arg3,
-						       arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_next_marked_c_raster_cat) {
-	{
-	    struct Categories *arg1 = (struct Categories *)0;
-	    CELL *arg2 = (CELL *) 0;
-	    CELL *arg3 = (CELL *) 0;
-	    long *arg4 = (long *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_get_next_marked_c_raster_cat(struct Categories *,CELL *,CELL *,long *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_next_marked_c_raster_cat. Expected _p_Categories");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_next_marked_c_raster_cat. Expected _p_CELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_next_marked_c_raster_cat. Expected _p_CELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(3), (void **)&arg4, SWIGTYPE_p_long, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_get_next_marked_c_raster_cat. Expected _p_long");
-		}
-	    }
-	    result =
-		(char *)G_get_next_marked_c_raster_cat(arg1, arg2, arg3,
-						       arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_next_marked_f_raster_cat) {
-	{
-	    struct Categories *arg1 = (struct Categories *)0;
-	    FCELL *arg2 = (FCELL *) 0;
-	    FCELL *arg3 = (FCELL *) 0;
-	    long *arg4 = (long *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_get_next_marked_f_raster_cat(struct Categories *,FCELL *,FCELL *,long *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_next_marked_f_raster_cat. Expected _p_Categories");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_FCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_next_marked_f_raster_cat. Expected _p_FCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_FCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_next_marked_f_raster_cat. Expected _p_FCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(3), (void **)&arg4, SWIGTYPE_p_long, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_get_next_marked_f_raster_cat. Expected _p_long");
-		}
-	    }
-	    result =
-		(char *)G_get_next_marked_f_raster_cat(arg1, arg2, arg3,
-						       arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_next_marked_raster_cat) {
-	{
-	    struct Categories *arg1 = (struct Categories *)0;
-	    void *arg2 = (void *)0;
-	    void *arg3 = (void *)0;
-	    long *arg4 = (long *)0;
-	    RASTER_MAP_TYPE arg5;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_get_next_marked_raster_cat(struct Categories *,void *,void *,long *,RASTER_MAP_TYPE);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_next_marked_raster_cat. Expected _p_Categories");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_next_marked_raster_cat. Expected _p_void");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_next_marked_raster_cat. Expected _p_void");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(3), (void **)&arg4, SWIGTYPE_p_long, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_get_next_marked_raster_cat. Expected _p_long");
-		}
-	    }
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_get_next_marked_raster_cat. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg5 = *argp;
-	    }
-	    result =
-		(char *)G_get_next_marked_raster_cat(arg1, arg2, arg3, arg4,
-						     arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_cat) {
-	{
-	    CELL arg1;
-	    char *arg2 = (char *)0;
-	    struct Categories *arg3 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_set_cat(CELL,char *,struct Categories *);");
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(0), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_set_cat. Expected _p_CELL");
-		}
-		arg1 = *argp;
-	    }
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_set_cat. Expected _p_Categories");
-		}
-	    }
-	    result = (int)G_set_cat(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_c_raster_cat) {
-	{
-	    CELL *arg1 = (CELL *) 0;
-	    CELL *arg2 = (CELL *) 0;
-	    char *arg3 = (char *)0;
-	    struct Categories *arg4 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_set_c_raster_cat(CELL *,CELL *,char *,struct Categories *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_set_c_raster_cat. Expected _p_CELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_set_c_raster_cat. Expected _p_CELL");
-		}
-	    }
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_set_c_raster_cat. Expected _p_Categories");
-		}
-	    }
-	    result = (int)G_set_c_raster_cat(arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_f_raster_cat) {
-	{
-	    FCELL *arg1 = (FCELL *) 0;
-	    FCELL *arg2 = (FCELL *) 0;
-	    char *arg3 = (char *)0;
-	    struct Categories *arg4 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_set_f_raster_cat(FCELL *,FCELL *,char *,struct Categories *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_set_f_raster_cat. Expected _p_FCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_FCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_set_f_raster_cat. Expected _p_FCELL");
-		}
-	    }
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_set_f_raster_cat. Expected _p_Categories");
-		}
-	    }
-	    result = (int)G_set_f_raster_cat(arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_d_raster_cat) {
-	{
-	    DCELL *arg1 = (DCELL *) 0;
-	    DCELL *arg2 = (DCELL *) 0;
-	    char *arg3 = (char *)0;
-	    struct Categories *arg4 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_set_d_raster_cat(DCELL *,DCELL *,char *,struct Categories *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_set_d_raster_cat. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_set_d_raster_cat. Expected _p_DCELL");
-		}
-	    }
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_set_d_raster_cat. Expected _p_Categories");
-		}
-	    }
-	    result = (int)G_set_d_raster_cat(arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_raster_cat) {
-	{
-	    void *arg1 = (void *)0;
-	    void *arg2 = (void *)0;
-	    char *arg3 = (char *)0;
-	    struct Categories *arg4 = (struct Categories *)0;
-	    RASTER_MAP_TYPE arg5;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_set_raster_cat(void *,void *,char *,struct Categories *,RASTER_MAP_TYPE);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_set_raster_cat. Expected _p_void");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_set_raster_cat. Expected _p_void");
-		}
-	    }
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_set_raster_cat. Expected _p_Categories");
-		}
-	    }
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_set_raster_cat. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg5 = *argp;
-	    }
-	    result = (int)G_set_raster_cat(arg1, arg2, arg3, arg4, arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_write_cats) {
-	{
-	    char *arg1 = (char *)0;
-	    struct Categories *arg2 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_write_cats(char *,struct Categories *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_write_cats. Expected _p_Categories");
-		}
-	    }
-	    result = (int)G_write_cats(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_write_raster_cats) {
-	{
-	    char *arg1 = (char *)0;
-	    struct Categories *arg2 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_write_raster_cats(char *,struct Categories *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_write_raster_cats. Expected _p_Categories");
-		}
-	    }
-	    result = (int)G_write_raster_cats(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_write_vector_cats) {
-	{
-	    char *arg1 = (char *)0;
-	    struct Categories *arg2 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_write_vector_cats(char *,struct Categories *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_write_vector_cats. Expected _p_Categories");
-		}
-	    }
-	    result = (int)G_write_vector_cats(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__write_cats) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    struct Categories *arg3 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G__write_cats(char *,char *,struct Categories *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G__write_cats. Expected _p_Categories");
-		}
-	    }
-	    result = (int)G__write_cats(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_ith_d_raster_cat) {
-	{
-	    struct Categories *arg1 = (struct Categories *)0;
-	    int arg2;
-	    DCELL *arg3 = (DCELL *) 0;
-	    DCELL *arg4 = (DCELL *) 0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_get_ith_d_raster_cat(struct Categories const *,int,DCELL *,DCELL *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_ith_d_raster_cat. Expected _p_Categories");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_ith_d_raster_cat. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_get_ith_d_raster_cat. Expected _p_DCELL");
-		}
-	    }
-	    result =
-		(char *)G_get_ith_d_raster_cat((struct Categories const *)
-					       arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_ith_f_raster_cat) {
-	{
-	    struct Categories *arg1 = (struct Categories *)0;
-	    int arg2;
-	    void *arg3 = (void *)0;
-	    void *arg4 = (void *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_get_ith_f_raster_cat(struct Categories const *,int,void *,void *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_ith_f_raster_cat. Expected _p_Categories");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_ith_f_raster_cat. Expected _p_void");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(3), (void **)&arg4, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_get_ith_f_raster_cat. Expected _p_void");
-		}
-	    }
-	    result =
-		(char *)G_get_ith_f_raster_cat((struct Categories const *)
-					       arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_ith_c_raster_cat) {
-	{
-	    struct Categories *arg1 = (struct Categories *)0;
-	    int arg2;
-	    void *arg3 = (void *)0;
-	    void *arg4 = (void *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_get_ith_c_raster_cat(struct Categories const *,int,void *,void *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_ith_c_raster_cat. Expected _p_Categories");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_ith_c_raster_cat. Expected _p_void");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(3), (void **)&arg4, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_get_ith_c_raster_cat. Expected _p_void");
-		}
-	    }
-	    result =
-		(char *)G_get_ith_c_raster_cat((struct Categories const *)
-					       arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_ith_raster_cat) {
-	{
-	    struct Categories *arg1 = (struct Categories *)0;
-	    int arg2;
-	    void *arg3 = (void *)0;
-	    void *arg4 = (void *)0;
-	    RASTER_MAP_TYPE arg5;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_get_ith_raster_cat(struct Categories const *,int,void *,void *,RASTER_MAP_TYPE);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_ith_raster_cat. Expected _p_Categories");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_ith_raster_cat. Expected _p_void");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(3), (void **)&arg4, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_get_ith_raster_cat. Expected _p_void");
-		}
-	    }
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_get_ith_raster_cat. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg5 = *argp;
-	    }
-	    result =
-		(char *)G_get_ith_raster_cat((struct Categories const *)arg1,
-					     arg2, arg3, arg4, arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_init_cats) {
-	{
-	    CELL arg1;
-	    char *arg2 = (char *)0;
-	    struct Categories *arg3 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_init_cats(CELL,char const *,struct Categories *);");
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(0), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_init_cats. Expected _p_CELL");
-		}
-		arg1 = *argp;
-	    }
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_init_cats. Expected _p_Categories");
-		}
-	    }
-	    result = (int)G_init_cats(arg1, (char const *)arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_init_raster_cats) {
-	{
-	    char *arg1 = (char *)0;
-	    struct Categories *arg2 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_init_raster_cats(char const *,struct Categories *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_init_raster_cats. Expected _p_Categories");
-		}
-	    }
-	    result = (int)G_init_raster_cats((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_cats_title) {
-	{
-	    char *arg1 = (char *)0;
-	    struct Categories *arg2 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_set_cats_title(char const *,struct Categories *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_set_cats_title. Expected _p_Categories");
-		}
-	    }
-	    result = (int)G_set_cats_title((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_raster_cats_title) {
-	{
-	    char *arg1 = (char *)0;
-	    struct Categories *arg2 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_set_raster_cats_title(char const *,struct Categories *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_set_raster_cats_title. Expected _p_Categories");
-		}
-	    }
-	    result = (int)G_set_raster_cats_title((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_cats_fmt) {
-	{
-	    char *arg1 = (char *)0;
-	    double arg2;
-	    double arg3;
-	    double arg4;
-	    double arg5;
-	    struct Categories *arg6 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 6) || (items > 6)) {
-		SWIG_croak
-		    ("Usage: G_set_cats_fmt(char const *,double,double,double,double,struct Categories *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    arg2 = (double)SvNV(ST(1));
-
-	    arg3 = (double)SvNV(ST(2));
-
-	    arg4 = (double)SvNV(ST(3));
-
-	    arg5 = (double)SvNV(ST(4));
-
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(5), (void **)&arg6, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 6 of G_set_cats_fmt. Expected _p_Categories");
-		}
-	    }
-	    result =
-		(int)G_set_cats_fmt((char const *)arg1, arg2, arg3, arg4,
-				    arg5, arg6);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_raster_cats_fmt) {
-	{
-	    char *arg1 = (char *)0;
-	    double arg2;
-	    double arg3;
-	    double arg4;
-	    double arg5;
-	    struct Categories *arg6 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 6) || (items > 6)) {
-		SWIG_croak
-		    ("Usage: G_set_raster_cats_fmt(char const *,double,double,double,double,struct Categories *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    arg2 = (double)SvNV(ST(1));
-
-	    arg3 = (double)SvNV(ST(2));
-
-	    arg4 = (double)SvNV(ST(3));
-
-	    arg5 = (double)SvNV(ST(4));
-
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(5), (void **)&arg6, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 6 of G_set_raster_cats_fmt. Expected _p_Categories");
-		}
-	    }
-	    result =
-		(int)G_set_raster_cats_fmt((char const *)arg1, arg2, arg3,
-					   arg4, arg5, arg6);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_free_cats) {
-	{
-	    struct Categories *arg1 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_free_cats(struct Categories *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_free_cats. Expected _p_Categories");
-		}
-	    }
-	    result = (int)G_free_cats(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_free_raster_cats) {
-	{
-	    struct Categories *arg1 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_free_raster_cats(struct Categories *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_free_raster_cats. Expected _p_Categories");
-		}
-	    }
-	    result = (int)G_free_raster_cats(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_copy_raster_cats) {
-	{
-	    struct Categories *arg1 = (struct Categories *)0;
-	    struct Categories *arg2 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_copy_raster_cats(struct Categories *,struct Categories const *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_copy_raster_cats. Expected _p_Categories");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_copy_raster_cats. Expected _p_Categories");
-		}
-	    }
-	    result =
-		(int)G_copy_raster_cats(arg1,
-					(struct Categories const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_number_of_raster_cats) {
-	{
-	    struct Categories *arg1 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak
-		    ("Usage: G_number_of_raster_cats(struct Categories *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_number_of_raster_cats. Expected _p_Categories");
-		}
-	    }
-	    result = (int)G_number_of_raster_cats(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_sort_cats) {
-	{
-	    struct Categories *arg1 = (struct Categories *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_sort_cats(struct Categories *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_sort_cats. Expected _p_Categories");
-		}
-	    }
-	    result = (int)G_sort_cats(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_init_cell_stats) {
-	{
-	    struct Cell_stats *arg1 = (struct Cell_stats *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_init_cell_stats(struct Cell_stats *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Cell_stats, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_init_cell_stats. Expected _p_Cell_stats");
-		}
-	    }
-	    result = (int)G_init_cell_stats(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_update_cell_stats) {
-	{
-	    CELL *arg1 = (CELL *) 0;
-	    int arg2;
-	    struct Cell_stats *arg3 = (struct Cell_stats *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_update_cell_stats(CELL const *,int,struct Cell_stats *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_update_cell_stats. Expected _p_CELL");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Cell_stats, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_update_cell_stats. Expected _p_Cell_stats");
-		}
-	    }
-	    result = (int)G_update_cell_stats((CELL const *)arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_find_cell_stat) {
-	{
-	    CELL arg1;
-	    long *arg2 = (long *)0;
-	    struct Cell_stats *arg3 = (struct Cell_stats *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_find_cell_stat(CELL,long *,struct Cell_stats const *);");
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(0), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_find_cell_stat. Expected _p_CELL");
-		}
-		arg1 = *argp;
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_long, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_find_cell_stat. Expected _p_long");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Cell_stats, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_find_cell_stat. Expected _p_Cell_stats");
-		}
-	    }
-	    result =
-		(int)G_find_cell_stat(arg1, arg2,
-				      (struct Cell_stats const *)arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_rewind_cell_stats) {
-	{
-	    struct Cell_stats *arg1 = (struct Cell_stats *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak
-		    ("Usage: G_rewind_cell_stats(struct Cell_stats *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Cell_stats, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_rewind_cell_stats. Expected _p_Cell_stats");
-		}
-	    }
-	    result = (int)G_rewind_cell_stats(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_next_cell_stat) {
-	{
-	    CELL *arg1 = (CELL *) 0;
-	    long *arg2 = (long *)0;
-	    struct Cell_stats *arg3 = (struct Cell_stats *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_next_cell_stat(CELL *,long *,struct Cell_stats *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_next_cell_stat. Expected _p_CELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_long, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_next_cell_stat. Expected _p_long");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Cell_stats, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_next_cell_stat. Expected _p_Cell_stats");
-		}
-	    }
-	    result = (int)G_next_cell_stat(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_stats_for_null_value) {
-	{
-	    long *arg1 = (long *)0;
-	    struct Cell_stats *arg2 = (struct Cell_stats *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_get_stats_for_null_value(long *,struct Cell_stats const *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_long, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_stats_for_null_value. Expected _p_long");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Cell_stats, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_stats_for_null_value. Expected _p_Cell_stats");
-		}
-	    }
-	    result =
-		(int)G_get_stats_for_null_value(arg1,
-						(struct Cell_stats const *)
-						arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_free_cell_stats) {
-	{
-	    struct Cell_stats *arg1 = (struct Cell_stats *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_free_cell_stats(struct Cell_stats *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Cell_stats, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_free_cell_stats. Expected _p_Cell_stats");
-		}
-	    }
-	    result = (int)G_free_cell_stats(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_cell_title) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_get_cell_title(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result =
-		(char *)G_get_cell_title((char const *)arg1,
-					 (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_cell_stats_histo_eq) {
-	{
-	    struct Cell_stats *arg1 = (struct Cell_stats *)0;
-	    CELL arg2;
-	    CELL arg3;
-	    CELL arg4;
-	    CELL arg5;
-	    int arg6;
-	    void (*arg7) (CELL, CELL, CELL) = (void (*)(CELL, CELL, CELL))0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 7) || (items > 7)) {
-		SWIG_croak
-		    ("Usage: G_cell_stats_histo_eq(struct Cell_stats *,CELL,CELL,CELL,CELL,int,void (*)(CELL,CELL,CELL));");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Cell_stats, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_cell_stats_histo_eq. Expected _p_Cell_stats");
-		}
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(1), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_cell_stats_histo_eq. Expected _p_CELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(2), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_cell_stats_histo_eq. Expected _p_CELL");
-		}
-		arg3 = *argp;
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(3), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_cell_stats_histo_eq. Expected _p_CELL");
-		}
-		arg4 = *argp;
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(4), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_cell_stats_histo_eq. Expected _p_CELL");
-		}
-		arg5 = *argp;
-	    }
-	    arg6 = (int)SvIV(ST(5));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(6), (void **)&arg7, SWIGTYPE_p_f_CELL_CELL_CELL__void,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 7 of G_cell_stats_histo_eq. Expected _p_f_CELL_CELL_CELL__void");
-		}
-	    }
-	    result =
-		(int)G_cell_stats_histo_eq(arg1, arg2, arg3, arg4, arg5, arg6,
-					   arg7);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_chop) {
-	{
-	    char *arg1 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_chop(char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (char *)G_chop(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_clear_screen) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_clear_screen();");
-	    }
-	    result = (int)G_clear_screen();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_clicker) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_clicker();");
-	    }
-	    result = (int)G_clicker();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_close_cell) {
-	{
-	    int arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_close_cell(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (int)G_close_cell(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_unopen_cell) {
-	{
-	    int arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_unopen_cell(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (int)G_unopen_cell(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__write_fp_format) {
-	{
-	    int arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G__write_fp_format(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (int)G__write_fp_format(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_make_ryg_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    CELL arg2;
-	    CELL arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_make_ryg_colors(struct Colors *,CELL,CELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_make_ryg_colors. Expected _p_Colors");
-		}
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(1), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_make_ryg_colors. Expected _p_CELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(2), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_make_ryg_colors. Expected _p_CELL");
-		}
-		arg3 = *argp;
-	    }
-	    result = (int)G_make_ryg_colors(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_make_ryg_fp_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    DCELL arg2;
-	    DCELL arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_make_ryg_fp_colors(struct Colors *,DCELL,DCELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_make_ryg_fp_colors. Expected _p_Colors");
-		}
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_make_ryg_fp_colors. Expected _p_DCELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_make_ryg_fp_colors. Expected _p_DCELL");
-		}
-		arg3 = *argp;
-	    }
-	    result = (int)G_make_ryg_fp_colors(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_make_aspect_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    CELL arg2;
-	    CELL arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_make_aspect_colors(struct Colors *,CELL,CELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_make_aspect_colors. Expected _p_Colors");
-		}
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(1), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_make_aspect_colors. Expected _p_CELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(2), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_make_aspect_colors. Expected _p_CELL");
-		}
-		arg3 = *argp;
-	    }
-	    result = (int)G_make_aspect_colors(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_make_aspect_fp_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    DCELL arg2;
-	    DCELL arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_make_aspect_fp_colors(struct Colors *,DCELL,DCELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_make_aspect_fp_colors. Expected _p_Colors");
-		}
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_make_aspect_fp_colors. Expected _p_DCELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_make_aspect_fp_colors. Expected _p_DCELL");
-		}
-		arg3 = *argp;
-	    }
-	    result = (int)G_make_aspect_fp_colors(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_make_byr_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    CELL arg2;
-	    CELL arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_make_byr_colors(struct Colors *,CELL,CELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_make_byr_colors. Expected _p_Colors");
-		}
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(1), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_make_byr_colors. Expected _p_CELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(2), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_make_byr_colors. Expected _p_CELL");
-		}
-		arg3 = *argp;
-	    }
-	    result = (int)G_make_byr_colors(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_make_byr_fp_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    DCELL arg2;
-	    DCELL arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_make_byr_fp_colors(struct Colors *,DCELL,DCELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_make_byr_fp_colors. Expected _p_Colors");
-		}
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_make_byr_fp_colors. Expected _p_DCELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_make_byr_fp_colors. Expected _p_DCELL");
-		}
-		arg3 = *argp;
-	    }
-	    result = (int)G_make_byr_fp_colors(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_make_byg_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    CELL arg2;
-	    CELL arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_make_byg_colors(struct Colors *,CELL,CELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_make_byg_colors. Expected _p_Colors");
-		}
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(1), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_make_byg_colors. Expected _p_CELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(2), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_make_byg_colors. Expected _p_CELL");
-		}
-		arg3 = *argp;
-	    }
-	    result = (int)G_make_byg_colors(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_make_byg_fp_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    DCELL arg2;
-	    DCELL arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_make_byg_fp_colors(struct Colors *,DCELL,DCELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_make_byg_fp_colors. Expected _p_Colors");
-		}
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_make_byg_fp_colors. Expected _p_DCELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_make_byg_fp_colors. Expected _p_DCELL");
-		}
-		arg3 = *argp;
-	    }
-	    result = (int)G_make_byg_fp_colors(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_make_grey_scale_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    CELL arg2;
-	    CELL arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_make_grey_scale_colors(struct Colors *,CELL,CELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_make_grey_scale_colors. Expected _p_Colors");
-		}
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(1), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_make_grey_scale_colors. Expected _p_CELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(2), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_make_grey_scale_colors. Expected _p_CELL");
-		}
-		arg3 = *argp;
-	    }
-	    result = (int)G_make_grey_scale_colors(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_make_grey_scale_fp_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    double arg2;
-	    double arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_make_grey_scale_fp_colors(struct Colors *,double,double);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_make_grey_scale_fp_colors. Expected _p_Colors");
-		}
-	    }
-	    arg2 = (double)SvNV(ST(1));
-
-	    arg3 = (double)SvNV(ST(2));
-
-	    result = (int)G_make_grey_scale_fp_colors(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_make_gyr_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    CELL arg2;
-	    CELL arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_make_gyr_colors(struct Colors *,CELL,CELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_make_gyr_colors. Expected _p_Colors");
-		}
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(1), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_make_gyr_colors. Expected _p_CELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(2), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_make_gyr_colors. Expected _p_CELL");
-		}
-		arg3 = *argp;
-	    }
-	    result = (int)G_make_gyr_colors(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_make_gyr_fp_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    DCELL arg2;
-	    DCELL arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_make_gyr_fp_colors(struct Colors *,DCELL,DCELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_make_gyr_fp_colors. Expected _p_Colors");
-		}
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_make_gyr_fp_colors. Expected _p_DCELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_make_gyr_fp_colors. Expected _p_DCELL");
-		}
-		arg3 = *argp;
-	    }
-	    result = (int)G_make_gyr_fp_colors(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_make_rainbow_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    CELL arg2;
-	    CELL arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_make_rainbow_colors(struct Colors *,CELL,CELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_make_rainbow_colors. Expected _p_Colors");
-		}
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(1), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_make_rainbow_colors. Expected _p_CELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(2), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_make_rainbow_colors. Expected _p_CELL");
-		}
-		arg3 = *argp;
-	    }
-	    result = (int)G_make_rainbow_colors(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_make_rainbow_fp_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    DCELL arg2;
-	    DCELL arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_make_rainbow_fp_colors(struct Colors *,DCELL,DCELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_make_rainbow_fp_colors. Expected _p_Colors");
-		}
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_make_rainbow_fp_colors. Expected _p_DCELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_make_rainbow_fp_colors. Expected _p_DCELL");
-		}
-		arg3 = *argp;
-	    }
-	    result = (int)G_make_rainbow_fp_colors(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_make_ramp_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    CELL arg2;
-	    CELL arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_make_ramp_colors(struct Colors *,CELL,CELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_make_ramp_colors. Expected _p_Colors");
-		}
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(1), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_make_ramp_colors. Expected _p_CELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(2), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_make_ramp_colors. Expected _p_CELL");
-		}
-		arg3 = *argp;
-	    }
-	    result = (int)G_make_ramp_colors(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_make_ramp_fp_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    DCELL arg2;
-	    DCELL arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_make_ramp_fp_colors(struct Colors *,DCELL,DCELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_make_ramp_fp_colors. Expected _p_Colors");
-		}
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_make_ramp_fp_colors. Expected _p_DCELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_make_ramp_fp_colors. Expected _p_DCELL");
-		}
-		arg3 = *argp;
-	    }
-	    result = (int)G_make_ramp_fp_colors(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_make_wave_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    CELL arg2;
-	    CELL arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_make_wave_colors(struct Colors *,CELL,CELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_make_wave_colors. Expected _p_Colors");
-		}
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(1), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_make_wave_colors. Expected _p_CELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(2), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_make_wave_colors. Expected _p_CELL");
-		}
-		arg3 = *argp;
-	    }
-	    result = (int)G_make_wave_colors(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_make_wave_fp_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    DCELL arg2;
-	    DCELL arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_make_wave_fp_colors(struct Colors *,DCELL,DCELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_make_wave_fp_colors. Expected _p_Colors");
-		}
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_make_wave_fp_colors. Expected _p_DCELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_make_wave_fp_colors. Expected _p_DCELL");
-		}
-		arg3 = *argp;
-	    }
-	    result = (int)G_make_wave_fp_colors(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_free_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_free_colors(struct Colors *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_free_colors. Expected _p_Colors");
-		}
-	    }
-	    result = (int)G_free_colors(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__color_free_rules) {
-	{
-	    struct _Color_Info_ *arg1 = (struct _Color_Info_ *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak
-		    ("Usage: G__color_free_rules(struct _Color_Info_ *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p__Color_Info_, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G__color_free_rules. Expected _p__Color_Info_");
-		}
-	    }
-	    result = (int)G__color_free_rules(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__color_free_lookup) {
-	{
-	    struct _Color_Info_ *arg1 = (struct _Color_Info_ *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak
-		    ("Usage: G__color_free_lookup(struct _Color_Info_ *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p__Color_Info_, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G__color_free_lookup. Expected _p__Color_Info_");
-		}
-	    }
-	    result = (int)G__color_free_lookup(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__color_free_fp_lookup) {
-	{
-	    struct _Color_Info_ *arg1 = (struct _Color_Info_ *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak
-		    ("Usage: G__color_free_fp_lookup(struct _Color_Info_ *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p__Color_Info_, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G__color_free_fp_lookup. Expected _p__Color_Info_");
-		}
-	    }
-	    result = (int)G__color_free_fp_lookup(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__color_reset) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G__color_reset(struct Colors *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G__color_reset. Expected _p_Colors");
-		}
-	    }
-	    result = (int)G__color_reset(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_color) {
-	{
-	    CELL arg1;
-	    int *arg2 = (int *)0;
-	    int *arg3 = (int *)0;
-	    int *arg4 = (int *)0;
-	    struct Colors *arg5 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_get_color(CELL,int *,int *,int *,struct Colors *);");
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(0), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_color. Expected _p_CELL");
-		}
-		arg1 = *argp;
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_color. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_color. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(3), (void **)&arg4, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_get_color. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&arg5, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_get_color. Expected _p_Colors");
-		}
-	    }
-	    result = (int)G_get_color(arg1, arg2, arg3, arg4, arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_raster_color) {
-	{
-	    void *arg1 = (void *)0;
-	    int *arg2 = (int *)0;
-	    int *arg3 = (int *)0;
-	    int *arg4 = (int *)0;
-	    struct Colors *arg5 = (struct Colors *)0;
-	    RASTER_MAP_TYPE arg6;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 6) || (items > 6)) {
-		SWIG_croak
-		    ("Usage: G_get_raster_color(void const *,int *,int *,int *,struct Colors *,RASTER_MAP_TYPE);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_raster_color. Expected _p_void");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_raster_color. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_raster_color. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(3), (void **)&arg4, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_get_raster_color. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&arg5, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_get_raster_color. Expected _p_Colors");
-		}
-	    }
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(5), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 6 of G_get_raster_color. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg6 = *argp;
-	    }
-	    result =
-		(int)G_get_raster_color((void const *)arg1, arg2, arg3, arg4,
-					arg5, arg6);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_c_raster_color) {
-	{
-	    CELL *arg1 = (CELL *) 0;
-	    int *arg2 = (int *)0;
-	    int *arg3 = (int *)0;
-	    int *arg4 = (int *)0;
-	    struct Colors *arg5 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_get_c_raster_color(CELL const *,int *,int *,int *,struct Colors *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_c_raster_color. Expected _p_CELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_c_raster_color. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_c_raster_color. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(3), (void **)&arg4, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_get_c_raster_color. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&arg5, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_get_c_raster_color. Expected _p_Colors");
-		}
-	    }
-	    result =
-		(int)G_get_c_raster_color((CELL const *)arg1, arg2, arg3,
-					  arg4, arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_f_raster_color) {
-	{
-	    FCELL *arg1 = (FCELL *) 0;
-	    int *arg2 = (int *)0;
-	    int *arg3 = (int *)0;
-	    int *arg4 = (int *)0;
-	    struct Colors *arg5 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_get_f_raster_color(FCELL const *,int *,int *,int *,struct Colors *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_f_raster_color. Expected _p_FCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_f_raster_color. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_f_raster_color. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(3), (void **)&arg4, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_get_f_raster_color. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&arg5, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_get_f_raster_color. Expected _p_Colors");
-		}
-	    }
-	    result =
-		(int)G_get_f_raster_color((FCELL const *)arg1, arg2, arg3,
-					  arg4, arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_d_raster_color) {
-	{
-	    DCELL *arg1 = (DCELL *) 0;
-	    int *arg2 = (int *)0;
-	    int *arg3 = (int *)0;
-	    int *arg4 = (int *)0;
-	    struct Colors *arg5 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_get_d_raster_color(DCELL const *,int *,int *,int *,struct Colors *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_d_raster_color. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_d_raster_color. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_d_raster_color. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(3), (void **)&arg4, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_get_d_raster_color. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&arg5, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_get_d_raster_color. Expected _p_Colors");
-		}
-	    }
-	    result =
-		(int)G_get_d_raster_color((DCELL const *)arg1, arg2, arg3,
-					  arg4, arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_null_value_color) {
-	{
-	    int *arg1 = (int *)0;
-	    int *arg2 = (int *)0;
-	    int *arg3 = (int *)0;
-	    struct Colors *arg4 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_get_null_value_color(int *,int *,int *,struct Colors const *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_null_value_color. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_null_value_color. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_null_value_color. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_get_null_value_color. Expected _p_Colors");
-		}
-	    }
-	    result =
-		(int)G_get_null_value_color(arg1, arg2, arg3,
-					    (struct Colors const *)arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_default_color) {
-	{
-	    int *arg1 = (int *)0;
-	    int *arg2 = (int *)0;
-	    int *arg3 = (int *)0;
-	    struct Colors *arg4 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_get_default_color(int *,int *,int *,struct Colors const *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_default_color. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_default_color. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_default_color. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_get_default_color. Expected _p_Colors");
-		}
-	    }
-	    result =
-		(int)G_get_default_color(arg1, arg2, arg3,
-					 (struct Colors const *)arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_make_histogram_eq_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    struct Cell_stats *arg2 = (struct Cell_stats *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_make_histogram_eq_colors(struct Colors *,struct Cell_stats *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_make_histogram_eq_colors. Expected _p_Colors");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Cell_stats, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_make_histogram_eq_colors. Expected _p_Cell_stats");
-		}
-	    }
-	    result = (int)G_make_histogram_eq_colors(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_make_histogram_log_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    struct Cell_stats *arg2 = (struct Cell_stats *)0;
-	    int arg3;
-	    int arg4;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_make_histogram_log_colors(struct Colors *,struct Cell_stats *,int,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_make_histogram_log_colors. Expected _p_Colors");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Cell_stats, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_make_histogram_log_colors. Expected _p_Cell_stats");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    arg4 = (int)SvIV(ST(3));
-	    result = (int)G_make_histogram_log_colors(arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_init_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_init_colors(struct Colors *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_init_colors. Expected _p_Colors");
-		}
-	    }
-	    result = (int)G_init_colors(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__insert_color_into_lookup) {
-	{
-	    CELL arg1;
-	    int arg2;
-	    int arg3;
-	    int arg4;
-	    struct _Color_Info_ *arg5 = (struct _Color_Info_ *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G__insert_color_into_lookup(CELL,int,int,int,struct _Color_Info_ *);");
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(0), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G__insert_color_into_lookup. Expected _p_CELL");
-		}
-		arg1 = *argp;
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    arg4 = (int)SvIV(ST(3));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&arg5, SWIGTYPE_p__Color_Info_, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G__insert_color_into_lookup. Expected _p__Color_Info_");
-		}
-	    }
-	    result =
-		(int)G__insert_color_into_lookup(arg1, arg2, arg3, arg4,
-						 arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_invert_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_invert_colors(struct Colors *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_invert_colors. Expected _p_Colors");
-		}
-	    }
-	    result = (int)G_invert_colors(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lookup_colors) {
-	{
-	    CELL *arg1 = (CELL *) 0;
-	    unsigned char *arg2 = (unsigned char *)0;
-	    unsigned char *arg3 = (unsigned char *)0;
-	    unsigned char *arg4 = (unsigned char *)0;
-	    unsigned char *arg5 = (unsigned char *)0;
-	    int arg6;
-	    struct Colors *arg7 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 7) || (items > 7)) {
-		SWIG_croak
-		    ("Usage: G_lookup_colors(CELL const *,unsigned char *,unsigned char *,unsigned char *,unsigned char *,int,struct Colors *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_lookup_colors. Expected _p_CELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_lookup_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_lookup_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_lookup_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&arg5, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_lookup_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    arg6 = (int)SvIV(ST(5));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(6), (void **)&arg7, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 7 of G_lookup_colors. Expected _p_Colors");
-		}
-	    }
-	    result =
-		(int)G_lookup_colors((CELL const *)arg1, arg2, arg3, arg4,
-				     arg5, arg6, arg7);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lookup_c_raster_colors) {
-	{
-	    CELL *arg1 = (CELL *) 0;
-	    unsigned char *arg2 = (unsigned char *)0;
-	    unsigned char *arg3 = (unsigned char *)0;
-	    unsigned char *arg4 = (unsigned char *)0;
-	    unsigned char *arg5 = (unsigned char *)0;
-	    int arg6;
-	    struct Colors *arg7 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 7) || (items > 7)) {
-		SWIG_croak
-		    ("Usage: G_lookup_c_raster_colors(CELL const *,unsigned char *,unsigned char *,unsigned char *,unsigned char *,int,struct Colors *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_lookup_c_raster_colors. Expected _p_CELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_lookup_c_raster_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_lookup_c_raster_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_lookup_c_raster_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&arg5, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_lookup_c_raster_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    arg6 = (int)SvIV(ST(5));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(6), (void **)&arg7, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 7 of G_lookup_c_raster_colors. Expected _p_Colors");
-		}
-	    }
-	    result =
-		(int)G_lookup_c_raster_colors((CELL const *)arg1, arg2, arg3,
-					      arg4, arg5, arg6, arg7);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lookup_raster_colors) {
-	{
-	    void *arg1 = (void *)0;
-	    unsigned char *arg2 = (unsigned char *)0;
-	    unsigned char *arg3 = (unsigned char *)0;
-	    unsigned char *arg4 = (unsigned char *)0;
-	    unsigned char *arg5 = (unsigned char *)0;
-	    int arg6;
-	    struct Colors *arg7 = (struct Colors *)0;
-	    RASTER_MAP_TYPE arg8;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 8) || (items > 8)) {
-		SWIG_croak
-		    ("Usage: G_lookup_raster_colors(void const *,unsigned char *,unsigned char *,unsigned char *,unsigned char *,int,struct Colors *,RASTER_MAP_TYPE);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_lookup_raster_colors. Expected _p_void");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_lookup_raster_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_lookup_raster_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_lookup_raster_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&arg5, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_lookup_raster_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    arg6 = (int)SvIV(ST(5));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(6), (void **)&arg7, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 7 of G_lookup_raster_colors. Expected _p_Colors");
-		}
-	    }
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(7), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 8 of G_lookup_raster_colors. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg8 = *argp;
-	    }
-	    result =
-		(int)G_lookup_raster_colors((void const *)arg1, arg2, arg3,
-					    arg4, arg5, arg6, arg7, arg8);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lookup_f_raster_colors) {
-	{
-	    FCELL *arg1 = (FCELL *) 0;
-	    unsigned char *arg2 = (unsigned char *)0;
-	    unsigned char *arg3 = (unsigned char *)0;
-	    unsigned char *arg4 = (unsigned char *)0;
-	    unsigned char *arg5 = (unsigned char *)0;
-	    int arg6;
-	    struct Colors *arg7 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 7) || (items > 7)) {
-		SWIG_croak
-		    ("Usage: G_lookup_f_raster_colors(FCELL const *,unsigned char *,unsigned char *,unsigned char *,unsigned char *,int,struct Colors *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_lookup_f_raster_colors. Expected _p_FCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_lookup_f_raster_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_lookup_f_raster_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_lookup_f_raster_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&arg5, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_lookup_f_raster_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    arg6 = (int)SvIV(ST(5));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(6), (void **)&arg7, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 7 of G_lookup_f_raster_colors. Expected _p_Colors");
-		}
-	    }
-	    result =
-		(int)G_lookup_f_raster_colors((FCELL const *)arg1, arg2, arg3,
-					      arg4, arg5, arg6, arg7);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lookup_d_raster_colors) {
-	{
-	    DCELL *arg1 = (DCELL *) 0;
-	    unsigned char *arg2 = (unsigned char *)0;
-	    unsigned char *arg3 = (unsigned char *)0;
-	    unsigned char *arg4 = (unsigned char *)0;
-	    unsigned char *arg5 = (unsigned char *)0;
-	    int arg6;
-	    struct Colors *arg7 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 7) || (items > 7)) {
-		SWIG_croak
-		    ("Usage: G_lookup_d_raster_colors(DCELL const *,unsigned char *,unsigned char *,unsigned char *,unsigned char *,int,struct Colors *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_lookup_d_raster_colors. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_lookup_d_raster_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_lookup_d_raster_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_lookup_d_raster_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&arg5, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_lookup_d_raster_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    arg6 = (int)SvIV(ST(5));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(6), (void **)&arg7, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 7 of G_lookup_d_raster_colors. Expected _p_Colors");
-		}
-	    }
-	    result =
-		(int)G_lookup_d_raster_colors((DCELL const *)arg1, arg2, arg3,
-					      arg4, arg5, arg6, arg7);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__lookup_colors) {
-	{
-	    void *arg1 = (void *)0;
-	    unsigned char *arg2 = (unsigned char *)0;
-	    unsigned char *arg3 = (unsigned char *)0;
-	    unsigned char *arg4 = (unsigned char *)0;
-	    unsigned char *arg5 = (unsigned char *)0;
-	    int arg6;
-	    struct Colors *arg7 = (struct Colors *)0;
-	    int arg8;
-	    int arg9;
-	    RASTER_MAP_TYPE arg10;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 10) || (items > 10)) {
-		SWIG_croak
-		    ("Usage: G__lookup_colors(void const *,unsigned char *,unsigned char *,unsigned char *,unsigned char *,int,struct Colors *,int,int,RASTER_MAP_TYPE);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G__lookup_colors. Expected _p_void");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G__lookup_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G__lookup_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G__lookup_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&arg5, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G__lookup_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    arg6 = (int)SvIV(ST(5));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(6), (void **)&arg7, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 7 of G__lookup_colors. Expected _p_Colors");
-		}
-	    }
-	    arg8 = (int)SvIV(ST(7));
-	    arg9 = (int)SvIV(ST(8));
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(9), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 10 of G__lookup_colors. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg10 = *argp;
-	    }
-	    result =
-		(int)G__lookup_colors((void const *)arg1, arg2, arg3, arg4,
-				      arg5, arg6, arg7, arg8, arg9, arg10);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__interpolate_color_rule) {
-	{
-	    DCELL arg1;
-	    unsigned char *arg2 = (unsigned char *)0;
-	    unsigned char *arg3 = (unsigned char *)0;
-	    unsigned char *arg4 = (unsigned char *)0;
-	    struct _Color_Rule_ *arg5 = (struct _Color_Rule_ *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G__interpolate_color_rule(DCELL,unsigned char *,unsigned char *,unsigned char *,struct _Color_Rule_ const *);");
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G__interpolate_color_rule. Expected _p_DCELL");
-		}
-		arg1 = *argp;
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G__interpolate_color_rule. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G__interpolate_color_rule. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G__interpolate_color_rule. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&arg5, SWIGTYPE_p__Color_Rule_, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G__interpolate_color_rule. Expected _p__Color_Rule_");
-		}
-	    }
-	    result =
-		(int)G__interpolate_color_rule(arg1, arg2, arg3, arg4,
-					       (struct _Color_Rule_ const *)
-					       arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__organize_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G__organize_colors(struct Colors *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G__organize_colors. Expected _p_Colors");
-		}
-	    }
-	    result = (int)G__organize_colors(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_make_random_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    CELL arg2;
-	    CELL arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_make_random_colors(struct Colors *,CELL,CELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_make_random_colors. Expected _p_Colors");
-		}
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(1), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_make_random_colors. Expected _p_CELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(2), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_make_random_colors. Expected _p_CELL");
-		}
-		arg3 = *argp;
-	    }
-	    result = (int)G_make_random_colors(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_color_range) {
-	{
-	    CELL arg1;
-	    CELL arg2;
-	    struct Colors *arg3 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_set_color_range(CELL,CELL,struct Colors *);");
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(0), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_set_color_range. Expected _p_CELL");
-		}
-		arg1 = *argp;
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(1), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_set_color_range. Expected _p_CELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_set_color_range. Expected _p_Colors");
-		}
-	    }
-	    result = (int)G_set_color_range(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_d_color_range) {
-	{
-	    DCELL arg1;
-	    DCELL arg2;
-	    struct Colors *arg3 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_set_d_color_range(DCELL,DCELL,struct Colors *);");
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_set_d_color_range. Expected _p_DCELL");
-		}
-		arg1 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_set_d_color_range. Expected _p_DCELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_set_d_color_range. Expected _p_Colors");
-		}
-	    }
-	    result = (int)G_set_d_color_range(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_color_range) {
-	{
-	    CELL *arg1 = (CELL *) 0;
-	    CELL *arg2 = (CELL *) 0;
-	    struct Colors *arg3 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_get_color_range(CELL *,CELL *,struct Colors const *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_color_range. Expected _p_CELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_color_range. Expected _p_CELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_color_range. Expected _p_Colors");
-		}
-	    }
-	    result =
-		(int)G_get_color_range(arg1, arg2,
-				       (struct Colors const *)arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_d_color_range) {
-	{
-	    DCELL *arg1 = (DCELL *) 0;
-	    DCELL *arg2 = (DCELL *) 0;
-	    struct Colors *arg3 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_get_d_color_range(DCELL *,DCELL *,struct Colors const *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_d_color_range. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_d_color_range. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_d_color_range. Expected _p_Colors");
-		}
-	    }
-	    result =
-		(int)G_get_d_color_range(arg1, arg2,
-					 (struct Colors const *)arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_read_colors) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    struct Colors *arg3 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_read_colors(char const *,char const *,struct Colors *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_read_colors. Expected _p_Colors");
-		}
-	    }
-	    result =
-		(int)G_read_colors((char const *)arg1, (char const *)arg2,
-				   arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_mark_colors_as_fp) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_mark_colors_as_fp(struct Colors *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_mark_colors_as_fp. Expected _p_Colors");
-		}
-	    }
-	    result = (int)G_mark_colors_as_fp(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_remove_colors) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_remove_colors(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result =
-		(int)G_remove_colors((char const *)arg1, (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_add_d_raster_color_rule) {
-	{
-	    DCELL *arg1 = (DCELL *) 0;
-	    int arg2;
-	    int arg3;
-	    int arg4;
-	    DCELL *arg5 = (DCELL *) 0;
-	    int arg6;
-	    int arg7;
-	    int arg8;
-	    struct Colors *arg9 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 9) || (items > 9)) {
-		SWIG_croak
-		    ("Usage: G_add_d_raster_color_rule(DCELL const *,int,int,int,DCELL const *,int,int,int,struct Colors *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_add_d_raster_color_rule. Expected _p_DCELL");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    arg4 = (int)SvIV(ST(3));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&arg5, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_add_d_raster_color_rule. Expected _p_DCELL");
-		}
-	    }
-	    arg6 = (int)SvIV(ST(5));
-	    arg7 = (int)SvIV(ST(6));
-	    arg8 = (int)SvIV(ST(7));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(8), (void **)&arg9, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 9 of G_add_d_raster_color_rule. Expected _p_Colors");
-		}
-	    }
-	    result =
-		(int)G_add_d_raster_color_rule((DCELL const *)arg1, arg2,
-					       arg3, arg4,
-					       (DCELL const *)arg5, arg6,
-					       arg7, arg8, arg9);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_add_f_raster_color_rule) {
-	{
-	    FCELL *arg1 = (FCELL *) 0;
-	    int arg2;
-	    int arg3;
-	    int arg4;
-	    FCELL *arg5 = (FCELL *) 0;
-	    int arg6;
-	    int arg7;
-	    int arg8;
-	    struct Colors *arg9 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 9) || (items > 9)) {
-		SWIG_croak
-		    ("Usage: G_add_f_raster_color_rule(FCELL const *,int,int,int,FCELL const *,int,int,int,struct Colors *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_add_f_raster_color_rule. Expected _p_FCELL");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    arg4 = (int)SvIV(ST(3));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&arg5, SWIGTYPE_p_FCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_add_f_raster_color_rule. Expected _p_FCELL");
-		}
-	    }
-	    arg6 = (int)SvIV(ST(5));
-	    arg7 = (int)SvIV(ST(6));
-	    arg8 = (int)SvIV(ST(7));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(8), (void **)&arg9, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 9 of G_add_f_raster_color_rule. Expected _p_Colors");
-		}
-	    }
-	    result =
-		(int)G_add_f_raster_color_rule((FCELL const *)arg1, arg2,
-					       arg3, arg4,
-					       (FCELL const *)arg5, arg6,
-					       arg7, arg8, arg9);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_add_c_raster_color_rule) {
-	{
-	    CELL *arg1 = (CELL *) 0;
-	    int arg2;
-	    int arg3;
-	    int arg4;
-	    CELL *arg5 = (CELL *) 0;
-	    int arg6;
-	    int arg7;
-	    int arg8;
-	    struct Colors *arg9 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 9) || (items > 9)) {
-		SWIG_croak
-		    ("Usage: G_add_c_raster_color_rule(CELL const *,int,int,int,CELL const *,int,int,int,struct Colors *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_add_c_raster_color_rule. Expected _p_CELL");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    arg4 = (int)SvIV(ST(3));
-	    {
-		if (SWIG_ConvertPtr(ST(4), (void **)&arg5, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_add_c_raster_color_rule. Expected _p_CELL");
-		}
-	    }
-	    arg6 = (int)SvIV(ST(5));
-	    arg7 = (int)SvIV(ST(6));
-	    arg8 = (int)SvIV(ST(7));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(8), (void **)&arg9, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 9 of G_add_c_raster_color_rule. Expected _p_Colors");
-		}
-	    }
-	    result =
-		(int)G_add_c_raster_color_rule((CELL const *)arg1, arg2, arg3,
-					       arg4, (CELL const *)arg5, arg6,
-					       arg7, arg8, arg9);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_add_raster_color_rule) {
-	{
-	    void *arg1 = (void *)0;
-	    int arg2;
-	    int arg3;
-	    int arg4;
-	    void *arg5 = (void *)0;
-	    int arg6;
-	    int arg7;
-	    int arg8;
-	    struct Colors *arg9 = (struct Colors *)0;
-	    RASTER_MAP_TYPE arg10;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 10) || (items > 10)) {
-		SWIG_croak
-		    ("Usage: G_add_raster_color_rule(void const *,int,int,int,void const *,int,int,int,struct Colors *,RASTER_MAP_TYPE);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_add_raster_color_rule. Expected _p_void");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    arg4 = (int)SvIV(ST(3));
-	    {
-		if (SWIG_ConvertPtr(ST(4), (void **)&arg5, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_add_raster_color_rule. Expected _p_void");
-		}
-	    }
-	    arg6 = (int)SvIV(ST(5));
-	    arg7 = (int)SvIV(ST(6));
-	    arg8 = (int)SvIV(ST(7));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(8), (void **)&arg9, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 9 of G_add_raster_color_rule. Expected _p_Colors");
-		}
-	    }
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(9), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 10 of G_add_raster_color_rule. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg10 = *argp;
-	    }
-	    result =
-		(int)G_add_raster_color_rule((void const *)arg1, arg2, arg3,
-					     arg4, (void const *)arg5, arg6,
-					     arg7, arg8, arg9, arg10);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_add_color_rule) {
-	{
-	    CELL arg1;
-	    int arg2;
-	    int arg3;
-	    int arg4;
-	    CELL arg5;
-	    int arg6;
-	    int arg7;
-	    int arg8;
-	    struct Colors *arg9 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 9) || (items > 9)) {
-		SWIG_croak
-		    ("Usage: G_add_color_rule(CELL const,int,int,int,CELL const,int,int,int,struct Colors *);");
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(0), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_add_color_rule. Expected _p_CELL");
-		}
-		arg1 = *argp;
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    arg4 = (int)SvIV(ST(3));
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(4), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_add_color_rule. Expected _p_CELL");
-		}
-		arg5 = *argp;
-	    }
-	    arg6 = (int)SvIV(ST(5));
-	    arg7 = (int)SvIV(ST(6));
-	    arg8 = (int)SvIV(ST(7));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(8), (void **)&arg9, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 9 of G_add_color_rule. Expected _p_Colors");
-		}
-	    }
-	    result =
-		(int)G_add_color_rule(arg1, arg2, arg3, arg4, arg5, arg6,
-				      arg7, arg8, arg9);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_add_modular_d_raster_color_rule) {
-	{
-	    DCELL *arg1 = (DCELL *) 0;
-	    int arg2;
-	    int arg3;
-	    int arg4;
-	    DCELL *arg5 = (DCELL *) 0;
-	    int arg6;
-	    int arg7;
-	    int arg8;
-	    struct Colors *arg9 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 9) || (items > 9)) {
-		SWIG_croak
-		    ("Usage: G_add_modular_d_raster_color_rule(DCELL const *,int,int,int,DCELL const *,int,int,int,struct Colors *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_add_modular_d_raster_color_rule. Expected _p_DCELL");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    arg4 = (int)SvIV(ST(3));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&arg5, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_add_modular_d_raster_color_rule. Expected _p_DCELL");
-		}
-	    }
-	    arg6 = (int)SvIV(ST(5));
-	    arg7 = (int)SvIV(ST(6));
-	    arg8 = (int)SvIV(ST(7));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(8), (void **)&arg9, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 9 of G_add_modular_d_raster_color_rule. Expected _p_Colors");
-		}
-	    }
-	    result =
-		(int)G_add_modular_d_raster_color_rule((DCELL const *)arg1,
-						       arg2, arg3, arg4,
-						       (DCELL const *)arg5,
-						       arg6, arg7, arg8,
-						       arg9);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_add_modular_f_raster_color_rule) {
-	{
-	    FCELL *arg1 = (FCELL *) 0;
-	    int arg2;
-	    int arg3;
-	    int arg4;
-	    FCELL *arg5 = (FCELL *) 0;
-	    int arg6;
-	    int arg7;
-	    int arg8;
-	    struct Colors *arg9 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 9) || (items > 9)) {
-		SWIG_croak
-		    ("Usage: G_add_modular_f_raster_color_rule(FCELL const *,int,int,int,FCELL const *,int,int,int,struct Colors *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_add_modular_f_raster_color_rule. Expected _p_FCELL");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    arg4 = (int)SvIV(ST(3));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&arg5, SWIGTYPE_p_FCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_add_modular_f_raster_color_rule. Expected _p_FCELL");
-		}
-	    }
-	    arg6 = (int)SvIV(ST(5));
-	    arg7 = (int)SvIV(ST(6));
-	    arg8 = (int)SvIV(ST(7));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(8), (void **)&arg9, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 9 of G_add_modular_f_raster_color_rule. Expected _p_Colors");
-		}
-	    }
-	    result =
-		(int)G_add_modular_f_raster_color_rule((FCELL const *)arg1,
-						       arg2, arg3, arg4,
-						       (FCELL const *)arg5,
-						       arg6, arg7, arg8,
-						       arg9);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_add_modular_c_raster_color_rule) {
-	{
-	    CELL *arg1 = (CELL *) 0;
-	    int arg2;
-	    int arg3;
-	    int arg4;
-	    CELL *arg5 = (CELL *) 0;
-	    int arg6;
-	    int arg7;
-	    int arg8;
-	    struct Colors *arg9 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 9) || (items > 9)) {
-		SWIG_croak
-		    ("Usage: G_add_modular_c_raster_color_rule(CELL const *,int,int,int,CELL const *,int,int,int,struct Colors *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_add_modular_c_raster_color_rule. Expected _p_CELL");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    arg4 = (int)SvIV(ST(3));
-	    {
-		if (SWIG_ConvertPtr(ST(4), (void **)&arg5, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_add_modular_c_raster_color_rule. Expected _p_CELL");
-		}
-	    }
-	    arg6 = (int)SvIV(ST(5));
-	    arg7 = (int)SvIV(ST(6));
-	    arg8 = (int)SvIV(ST(7));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(8), (void **)&arg9, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 9 of G_add_modular_c_raster_color_rule. Expected _p_Colors");
-		}
-	    }
-	    result =
-		(int)G_add_modular_c_raster_color_rule((CELL const *)arg1,
-						       arg2, arg3, arg4,
-						       (CELL const *)arg5,
-						       arg6, arg7, arg8,
-						       arg9);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_add_modular_raster_color_rule) {
-	{
-	    void *arg1 = (void *)0;
-	    int arg2;
-	    int arg3;
-	    int arg4;
-	    void *arg5 = (void *)0;
-	    int arg6;
-	    int arg7;
-	    int arg8;
-	    struct Colors *arg9 = (struct Colors *)0;
-	    RASTER_MAP_TYPE arg10;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 10) || (items > 10)) {
-		SWIG_croak
-		    ("Usage: G_add_modular_raster_color_rule(void const *,int,int,int,void const *,int,int,int,struct Colors *,RASTER_MAP_TYPE);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_add_modular_raster_color_rule. Expected _p_void");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    arg4 = (int)SvIV(ST(3));
-	    {
-		if (SWIG_ConvertPtr(ST(4), (void **)&arg5, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_add_modular_raster_color_rule. Expected _p_void");
-		}
-	    }
-	    arg6 = (int)SvIV(ST(5));
-	    arg7 = (int)SvIV(ST(6));
-	    arg8 = (int)SvIV(ST(7));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(8), (void **)&arg9, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 9 of G_add_modular_raster_color_rule. Expected _p_Colors");
-		}
-	    }
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(9), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 10 of G_add_modular_raster_color_rule. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg10 = *argp;
-	    }
-	    result =
-		(int)G_add_modular_raster_color_rule((void const *)arg1, arg2,
-						     arg3, arg4,
-						     (void const *)arg5, arg6,
-						     arg7, arg8, arg9, arg10);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_add_modular_color_rule) {
-	{
-	    CELL arg1;
-	    int arg2;
-	    int arg3;
-	    int arg4;
-	    CELL arg5;
-	    int arg6;
-	    int arg7;
-	    int arg8;
-	    struct Colors *arg9 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 9) || (items > 9)) {
-		SWIG_croak
-		    ("Usage: G_add_modular_color_rule(CELL,int,int,int,CELL,int,int,int,struct Colors *);");
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(0), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_add_modular_color_rule. Expected _p_CELL");
-		}
-		arg1 = *argp;
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    arg4 = (int)SvIV(ST(3));
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(4), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_add_modular_color_rule. Expected _p_CELL");
-		}
-		arg5 = *argp;
-	    }
-	    arg6 = (int)SvIV(ST(5));
-	    arg7 = (int)SvIV(ST(6));
-	    arg8 = (int)SvIV(ST(7));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(8), (void **)&arg9, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 9 of G_add_modular_color_rule. Expected _p_Colors");
-		}
-	    }
-	    result =
-		(int)G_add_modular_color_rule(arg1, arg2, arg3, arg4, arg5,
-					      arg6, arg7, arg8, arg9);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_colors_count) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_colors_count(struct Colors const *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_colors_count. Expected _p_Colors");
-		}
-	    }
-	    result = (int)G_colors_count((struct Colors const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_f_color_rule) {
-	{
-	    DCELL *arg1 = (DCELL *) 0;
-	    unsigned char *arg2 = (unsigned char *)0;
-	    unsigned char *arg3 = (unsigned char *)0;
-	    unsigned char *arg4 = (unsigned char *)0;
-	    DCELL *arg5 = (DCELL *) 0;
-	    unsigned char *arg6 = (unsigned char *)0;
-	    unsigned char *arg7 = (unsigned char *)0;
-	    unsigned char *arg8 = (unsigned char *)0;
-	    struct Colors *arg9 = (struct Colors *)0;
-	    int arg10;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 10) || (items > 10)) {
-		SWIG_croak
-		    ("Usage: G_get_f_color_rule(DCELL *,unsigned char *,unsigned char *,unsigned char *,DCELL *,unsigned char *,unsigned char *,unsigned char *,struct Colors const *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_f_color_rule. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_f_color_rule. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_f_color_rule. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_get_f_color_rule. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&arg5, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_get_f_color_rule. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(5), (void **)&arg6, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 6 of G_get_f_color_rule. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(6), (void **)&arg7, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 7 of G_get_f_color_rule. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(7), (void **)&arg8, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 8 of G_get_f_color_rule. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(8), (void **)&arg9, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 9 of G_get_f_color_rule. Expected _p_Colors");
-		}
-	    }
-	    arg10 = (int)SvIV(ST(9));
-	    result =
-		(int)G_get_f_color_rule(arg1, arg2, arg3, arg4, arg5, arg6,
-					arg7, arg8,
-					(struct Colors const *)arg9, arg10);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_parse_color_rule) {
-	{
-	    DCELL arg1;
-	    DCELL arg2;
-	    char *arg3 = (char *)0;
-	    DCELL *arg4 = (DCELL *) 0;
-	    int *arg5 = (int *)0;
-	    int *arg6 = (int *)0;
-	    int *arg7 = (int *)0;
-	    int *arg8 = (int *)0;
-	    int *arg9 = (int *)0;
-	    int *arg10 = (int *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 10) || (items > 10)) {
-		SWIG_croak
-		    ("Usage: G_parse_color_rule(DCELL,DCELL,char const *,DCELL *,int *,int *,int *,int *,int *,int *);");
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_parse_color_rule. Expected _p_DCELL");
-		}
-		arg1 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_parse_color_rule. Expected _p_DCELL");
-		}
-		arg2 = *argp;
-	    }
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_parse_color_rule. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(4), (void **)&arg5, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_parse_color_rule. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(5), (void **)&arg6, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 6 of G_parse_color_rule. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(6), (void **)&arg7, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 7 of G_parse_color_rule. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(7), (void **)&arg8, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 8 of G_parse_color_rule. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(8), (void **)&arg9, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 9 of G_parse_color_rule. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(9), (void **)&arg10, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 10 of G_parse_color_rule. Expected _p_int");
-		}
-	    }
-	    result =
-		(int)G_parse_color_rule(arg1, arg2, (char const *)arg3, arg4,
-					arg5, arg6, arg7, arg8, arg9, arg10);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_parse_color_rule_error) {
-	{
-	    int arg1;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_parse_color_rule_error(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (char *)G_parse_color_rule_error(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_read_color_rule) {
-	{
-	    void *arg1 = (void *)0;
-	    DCELL arg2;
-	    DCELL arg3;
-	    DCELL *arg4 = (DCELL *) 0;
-	    int *arg5 = (int *)0;
-	    int *arg6 = (int *)0;
-	    int *arg7 = (int *)0;
-	    int *arg8 = (int *)0;
-	    int *arg9 = (int *)0;
-	    int *arg10 = (int *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 10) || (items > 10)) {
-		SWIG_croak
-		    ("Usage: G_read_color_rule(void *,DCELL,DCELL,DCELL *,int *,int *,int *,int *,int *,int *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_read_color_rule. Expected _p_void");
-		}
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_read_color_rule. Expected _p_DCELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_read_color_rule. Expected _p_DCELL");
-		}
-		arg3 = *argp;
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_read_color_rule. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(4), (void **)&arg5, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_read_color_rule. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(5), (void **)&arg6, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 6 of G_read_color_rule. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(6), (void **)&arg7, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 7 of G_read_color_rule. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(7), (void **)&arg8, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 8 of G_read_color_rule. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(8), (void **)&arg9, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 9 of G_read_color_rule. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(9), (void **)&arg10, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 10 of G_read_color_rule. Expected _p_int");
-		}
-	    }
-	    result =
-		(int)G_read_color_rule(arg1, arg2, arg3, arg4, arg5, arg6,
-				       arg7, arg8, arg9, arg10);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_read_color_rules) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    DCELL arg2;
-	    DCELL arg3;
-	    read_rule_fn *arg4 = (read_rule_fn *) 0;
-	    void *arg5 = (void *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_read_color_rules(struct Colors *,DCELL,DCELL,read_rule_fn *,void *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_read_color_rules. Expected _p_Colors");
-		}
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_read_color_rules. Expected _p_DCELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_read_color_rules. Expected _p_DCELL");
-		}
-		arg3 = *argp;
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4,
-		     SWIGTYPE_p_f_p_void_DCELL_DCELL_p_DCELL_p_int_p_int_p_int_p_int_p_int_p_int__int,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_read_color_rules. Expected _p_f_p_void_DCELL_DCELL_p_DCELL_p_int_p_int_p_int_p_int_p_int_p_int__int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(4), (void **)&arg5, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_read_color_rules. Expected _p_void");
-		}
-	    }
-	    result = (int)G_read_color_rules(arg1, arg2, arg3, arg4, arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_load_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    char *arg2 = (char *)0;
-	    CELL arg3;
-	    CELL arg4;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_load_colors(struct Colors *,char const *,CELL,CELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_load_colors. Expected _p_Colors");
-		}
-	    }
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(2), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_load_colors. Expected _p_CELL");
-		}
-		arg3 = *argp;
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(3), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_load_colors. Expected _p_CELL");
-		}
-		arg4 = *argp;
-	    }
-	    result = (int)G_load_colors(arg1, (char const *)arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_load_fp_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    char *arg2 = (char *)0;
-	    DCELL arg3;
-	    DCELL arg4;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_load_fp_colors(struct Colors *,char const *,DCELL,DCELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_load_fp_colors. Expected _p_Colors");
-		}
-	    }
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_load_fp_colors. Expected _p_DCELL");
-		}
-		arg3 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_load_fp_colors. Expected _p_DCELL");
-		}
-		arg4 = *argp;
-	    }
-	    result =
-		(int)G_load_fp_colors(arg1, (char const *)arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_make_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    char *arg2 = (char *)0;
-	    CELL arg3;
-	    CELL arg4;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_make_colors(struct Colors *,char const *,CELL,CELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_make_colors. Expected _p_Colors");
-		}
-	    }
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(2), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_make_colors. Expected _p_CELL");
-		}
-		arg3 = *argp;
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(3), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_make_colors. Expected _p_CELL");
-		}
-		arg4 = *argp;
-	    }
-	    result = (int)G_make_colors(arg1, (char const *)arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_make_fp_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    char *arg2 = (char *)0;
-	    DCELL arg3;
-	    DCELL arg4;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_make_fp_colors(struct Colors *,char const *,DCELL,DCELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_make_fp_colors. Expected _p_Colors");
-		}
-	    }
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_make_fp_colors. Expected _p_DCELL");
-		}
-		arg3 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_make_fp_colors. Expected _p_DCELL");
-		}
-		arg4 = *argp;
-	    }
-	    result =
-		(int)G_make_fp_colors(arg1, (char const *)arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_color) {
-	{
-	    CELL arg1;
-	    int arg2;
-	    int arg3;
-	    int arg4;
-	    struct Colors *arg5 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_set_color(CELL,int,int,int,struct Colors *);");
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(0), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_set_color. Expected _p_CELL");
-		}
-		arg1 = *argp;
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    arg4 = (int)SvIV(ST(3));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&arg5, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_set_color. Expected _p_Colors");
-		}
-	    }
-	    result = (int)G_set_color(arg1, arg2, arg3, arg4, arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_d_color) {
-	{
-	    DCELL arg1;
-	    int arg2;
-	    int arg3;
-	    int arg4;
-	    struct Colors *arg5 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_set_d_color(DCELL,int,int,int,struct Colors *);");
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_set_d_color. Expected _p_DCELL");
-		}
-		arg1 = *argp;
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    arg4 = (int)SvIV(ST(3));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&arg5, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_set_d_color. Expected _p_Colors");
-		}
-	    }
-	    result = (int)G_set_d_color(arg1, arg2, arg3, arg4, arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_null_value_color) {
-	{
-	    int arg1;
-	    int arg2;
-	    int arg3;
-	    struct Colors *arg4 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_set_null_value_color(int,int,int,struct Colors *);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_set_null_value_color. Expected _p_Colors");
-		}
-	    }
-	    result = (int)G_set_null_value_color(arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_default_color) {
-	{
-	    int arg1;
-	    int arg2;
-	    int arg3;
-	    struct Colors *arg4 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_set_default_color(int,int,int,struct Colors *);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_set_default_color. Expected _p_Colors");
-		}
-	    }
-	    result = (int)G_set_default_color(arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_shift_colors) {
-	{
-	    int arg1;
-	    struct Colors *arg2 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_shift_colors(int,struct Colors *);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_shift_colors. Expected _p_Colors");
-		}
-	    }
-	    result = (int)G_shift_colors(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_shift_d_colors) {
-	{
-	    DCELL arg1;
-	    struct Colors *arg2 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_shift_d_colors(DCELL,struct Colors *);");
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_shift_d_colors. Expected _p_DCELL");
-		}
-		arg1 = *argp;
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_shift_d_colors. Expected _p_Colors");
-		}
-	    }
-	    result = (int)G_shift_d_colors(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_str_to_color) {
-	{
-	    char *arg1 = (char *)0;
-	    int *arg2 = (int *)0;
-	    int *arg3 = (int *)0;
-	    int *arg4 = (int *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_str_to_color(char const *,int *,int *,int *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_str_to_color. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_str_to_color. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(3), (void **)&arg4, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_str_to_color. Expected _p_int");
-		}
-	    }
-	    result =
-		(int)G_str_to_color((char const *)arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_write_colors) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    struct Colors *arg3 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_write_colors(char const *,char const *,struct Colors *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_write_colors. Expected _p_Colors");
-		}
-	    }
-	    result =
-		(int)G_write_colors((char const *)arg1, (char const *)arg2,
-				    arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__write_colors) {
-	{
-	    FILE *arg1 = (FILE *) 0;
-	    struct Colors *arg2 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G__write_colors(FILE *,struct Colors *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_FILE, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G__write_colors. Expected _p_FILE");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G__write_colors. Expected _p_Colors");
-		}
-	    }
-	    result = (int)G__write_colors(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_histogram_eq_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    struct Colors *arg2 = (struct Colors *)0;
-	    struct Cell_stats *arg3 = (struct Cell_stats *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_histogram_eq_colors(struct Colors *,struct Colors *,struct Cell_stats *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_histogram_eq_colors. Expected _p_Colors");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_histogram_eq_colors. Expected _p_Colors");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Cell_stats, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_histogram_eq_colors. Expected _p_Cell_stats");
-		}
-	    }
-	    result = (int)G_histogram_eq_colors(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_log_colors) {
-	{
-	    struct Colors *arg1 = (struct Colors *)0;
-	    struct Colors *arg2 = (struct Colors *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_log_colors(struct Colors *,struct Colors *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_log_colors. Expected _p_Colors");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_log_colors. Expected _p_Colors");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_log_colors(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_insert_commas) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_insert_commas(char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_insert_commas(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_remove_commas) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_remove_commas(char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_remove_commas(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_copy) {
-	{
-	    void *arg1 = (void *)0;
-	    void *arg2 = (void *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G_copy(void *,void const *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_copy. Expected _p_void");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_copy. Expected _p_void");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_copy(arg1, (void const *)arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_copy_file) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_copy_file(infile,outfile);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (int)G_copy_file((char const *)arg1, (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_alloc_vector) {
-	{
-	    size_t arg1;
-	    double *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_alloc_vector(size_t);");
-	    }
-	    arg1 = (size_t) SvUV(ST(0));
-	    result = (double *)G_alloc_vector(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_double,
-			 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_alloc_matrix) {
-	{
-	    int arg1;
-	    int arg2;
-	    double **result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_alloc_matrix(int,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    arg2 = (int)SvIV(ST(1));
-	    result = (double **)G_alloc_matrix(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_p_double,
-			 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_alloc_fvector) {
-	{
-	    size_t arg1;
-	    float *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_alloc_fvector(size_t);");
-	    }
-	    arg1 = (size_t) SvUV(ST(0));
-	    result = (float *)G_alloc_fvector(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_float,
-			 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_alloc_fmatrix) {
-	{
-	    int arg1;
-	    int arg2;
-	    float **result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_alloc_fmatrix(int,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    arg2 = (int)SvIV(ST(1));
-	    result = (float **)G_alloc_fmatrix(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_p_float,
-			 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_free_vector) {
-	{
-	    double *arg1 = (double *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_free_vector(double *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_free_vector. Expected _p_double");
-		}
-	    }
-	    result = (int)G_free_vector(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_free_matrix) {
-	{
-	    double **arg1 = (double **)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_free_matrix(double **);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_free_matrix. Expected _p_p_double");
-		}
-	    }
-	    result = (int)G_free_matrix(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_free_fmatrix) {
-	{
-	    float **arg1 = (float **)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_free_fmatrix(float **);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_p_float, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_free_fmatrix. Expected _p_p_float");
-		}
-	    }
-	    result = (int)G_free_fmatrix(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_date) {
-	{
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_date();");
-	    }
-	    result = (char *)G_date();
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_datum_by_name) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_get_datum_by_name(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_get_datum_by_name((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_datum_name) {
-	{
-	    int arg1;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_datum_name(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (char *)G_datum_name(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_datum_description) {
-	{
-	    int arg1;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_datum_description(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (char *)G_datum_description(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_datum_ellipsoid) {
-	{
-	    int arg1;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_datum_ellipsoid(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (char *)G_datum_ellipsoid(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_datumparams_from_projinfo) {
-	{
-	    struct Key_Value *arg1 = (struct Key_Value *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_get_datumparams_from_projinfo(projinfo,datumname,params);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Key_Value, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_datumparams_from_projinfo. Expected _p_Key_Value");
-		}
-	    }
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    result =
-		(int)
-		G_get_datumparams_from_projinfo((struct Key_Value const *)
-						arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_debug) {
-	{
-	    int arg1;
-	    char *arg2 = (char *)0;
-	    void *arg3 = 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if (items < 2) {
-		SWIG_croak("Usage: G_debug(int,char const *,...);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (int)G_debug(arg1, (char const *)arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_begin_distance_calculations) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_begin_distance_calculations();");
-	    }
-	    result = (int)G_begin_distance_calculations();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_distance) {
-	{
-	    double arg1;
-	    double arg2;
-	    double arg3;
-	    double arg4;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak("Usage: G_distance(double,double,double,double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    arg3 = (double)SvNV(ST(2));
-
-	    arg4 = (double)SvNV(ST(3));
-
-	    result = (double)G_distance(arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_distance_between_line_segments) {
-	{
-	    double arg1;
-	    double arg2;
-	    double arg3;
-	    double arg4;
-	    double arg5;
-	    double arg6;
-	    double arg7;
-	    double arg8;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 8) || (items > 8)) {
-		SWIG_croak
-		    ("Usage: G_distance_between_line_segments(double,double,double,double,double,double,double,double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    arg3 = (double)SvNV(ST(2));
-
-	    arg4 = (double)SvNV(ST(3));
-
-	    arg5 = (double)SvNV(ST(4));
-
-	    arg6 = (double)SvNV(ST(5));
-
-	    arg7 = (double)SvNV(ST(6));
-
-	    arg8 = (double)SvNV(ST(7));
-
-	    result =
-		(double)G_distance_between_line_segments(arg1, arg2, arg3,
-							 arg4, arg5, arg6,
-							 arg7, arg8);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_distance_point_to_line_segment) {
-	{
-	    double arg1;
-	    double arg2;
-	    double arg3;
-	    double arg4;
-	    double arg5;
-	    double arg6;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 6) || (items > 6)) {
-		SWIG_croak
-		    ("Usage: G_distance_point_to_line_segment(double,double,double,double,double,double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    arg3 = (double)SvNV(ST(2));
-
-	    arg4 = (double)SvNV(ST(3));
-
-	    arg5 = (double)SvNV(ST(4));
-
-	    arg6 = (double)SvNV(ST(5));
-
-	    result =
-		(double)G_distance_point_to_line_segment(arg1, arg2, arg3,
-							 arg4, arg5, arg6);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_done_msg) {
-	{
-	    char *arg1 = (char *)0;
-	    void *arg2 = 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if (items < 1) {
-		SWIG_croak("Usage: G_done_msg(char const *,...);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_done_msg((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_tqli) {
-	{
-	    double *arg1;
-	    double *arg2;
-	    int arg3;
-	    double **arg4 = (double **)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_tqli(double [],double [],int,double **);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_tqli. Expected _p_double");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_tqli. Expected _p_double");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_tqli. Expected _p_p_double");
-		}
-	    }
-	    result = (int)G_tqli(arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_tred2) {
-	{
-	    double **arg1 = (double **)0;
-	    int arg2;
-	    double *arg3;
-	    double *arg4;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_tred2(double **,int,double [],double []);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_tred2. Expected _p_p_double");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_tred2. Expected _p_double");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_tred2. Expected _p_double");
-		}
-	    }
-	    G_tred2(arg1, arg2, arg3, arg4);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_is_little_endian) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_is_little_endian();");
-	    }
-	    result = (int)G_is_little_endian();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_getenv) {
-	{
-	    char *arg1 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_getenv(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (char *)G_getenv((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_getenv2) {
-	{
-	    char *arg1 = (char *)0;
-	    int arg2;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_getenv2(char const *,int);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    arg2 = (int)SvIV(ST(1));
-	    result = (char *)G_getenv2((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__getenv) {
-	{
-	    char *arg1 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G__getenv(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (char *)G__getenv((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__getenv2) {
-	{
-	    char *arg1 = (char *)0;
-	    int arg2;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G__getenv2(char const *,int);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    arg2 = (int)SvIV(ST(1));
-	    result = (char *)G__getenv2((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_setenv) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_setenv(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (int)G_setenv((char const *)arg1, (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_setenv2) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_setenv2(char const *,char const *,int);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    arg3 = (int)SvIV(ST(2));
-	    result =
-		(int)G_setenv2((char const *)arg1, (char const *)arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__setenv) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G__setenv(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (int)G__setenv((char const *)arg1, (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__setenv2) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G__setenv2(char const *,char const *,int);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    arg3 = (int)SvIV(ST(2));
-	    result =
-		(int)G__setenv2((char const *)arg1, (char const *)arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_unsetenv) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_unsetenv(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_unsetenv((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_unsetenv2) {
-	{
-	    char *arg1 = (char *)0;
-	    int arg2;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_unsetenv2(char const *,int);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    arg2 = (int)SvIV(ST(1));
-	    result = (int)G_unsetenv2((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__write_env) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G__write_env();");
-	    }
-	    result = (int)G__write_env();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__env_name) {
-	{
-	    int arg1;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G__env_name(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (char *)G__env_name(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__read_env) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G__read_env();");
-	    }
-	    result = (int)G__read_env();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_gisrc_mode) {
-	{
-	    int arg1;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_set_gisrc_mode(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    G_set_gisrc_mode(arg1);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_gisrc_mode) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_get_gisrc_mode();");
-	    }
-	    result = (int)G_get_gisrc_mode();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__set_gisrc_file) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G__set_gisrc_file(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G__set_gisrc_file((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__get_gisrc_file) {
-	{
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G__get_gisrc_file();");
-	    }
-	    result = (char *)G__get_gisrc_file();
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__create_alt_env) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G__create_alt_env();");
-	    }
-	    result = (int)G__create_alt_env();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__switch_env) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G__switch_env();");
-	    }
-	    result = (int)G__switch_env();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_info_format) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_info_format();");
-	    }
-	    result = (int)G_info_format();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_message) {
-	{
-	    char *arg1 = (char *)0;
-	    void *arg2 = 0;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if (items < 1) {
-		SWIG_croak("Usage: G_message(char const *,...);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    G_message((char const *)arg1, arg2);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_verbose_message) {
-	{
-	    char *arg1 = (char *)0;
-	    void *arg2 = 0;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if (items < 1) {
-		SWIG_croak("Usage: G_verbose_message(char const *,...);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    G_verbose_message((char const *)arg1, arg2);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_important_message) {
-	{
-	    char *arg1 = (char *)0;
-	    void *arg2 = 0;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if (items < 1) {
-		SWIG_croak("Usage: G_important_message(char const *,...);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    G_important_message((char const *)arg1, arg2);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fatal_error) {
-	{
-	    char *arg1 = (char *)0;
-	    void *arg2 = 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if (items < 1) {
-		SWIG_croak("Usage: G_fatal_error(char const *,...);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_fatal_error((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_warning) {
-	{
-	    char *arg1 = (char *)0;
-	    void *arg2 = 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if (items < 1) {
-		SWIG_croak("Usage: G_warning(char const *,...);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_warning((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_suppress_warnings) {
-	{
-	    int arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_suppress_warnings(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (int)G_suppress_warnings(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_sleep_on_error) {
-	{
-	    int arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_sleep_on_error(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (int)G_sleep_on_error(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_error_routine) {
-	{
-	    int (*arg1) (char const *, int) = (int (*)(char const *, int))0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak
-		    ("Usage: G_set_error_routine(int (*)(char const *,int));");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1,
-		     SWIGTYPE_p_f_p_q_const__char_int__int, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_set_error_routine. Expected _p_f_p_q_const__char_int__int");
-		}
-	    }
-	    result = (int)G_set_error_routine(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_unset_error_routine) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_unset_error_routine();");
-	    }
-	    result = (int)G_unset_error_routine();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__file_name) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    char *arg4 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G__file_name(char *,char const *,char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    if (!SvOK((SV *) ST(3)))
-		arg4 = 0;
-	    else
-		arg4 = (char *)SvPV(ST(3), PL_na);
-	    result =
-		(char *)G__file_name(arg1, (char const *)arg2,
-				     (char const *)arg3, (char const *)arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__file_name_misc) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    char *arg4 = (char *)0;
-	    char *arg5 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G__file_name_misc(char *,char const *,char const *,char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    if (!SvOK((SV *) ST(3)))
-		arg4 = 0;
-	    else
-		arg4 = (char *)SvPV(ST(3), PL_na);
-	    if (!SvOK((SV *) ST(4)))
-		arg5 = 0;
-	    else
-		arg5 = (char *)SvPV(ST(4), PL_na);
-	    result =
-		(char *)G__file_name_misc(arg1, (char const *)arg2,
-					  (char const *)arg3,
-					  (char const *)arg4,
-					  (char const *)arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_find_cell) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_find_cell(char *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (char *)G_find_cell(arg1, (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_find_cell2) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_find_cell2(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result =
-		(char *)G_find_cell2((char const *)arg1, (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_find_file) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_find_file(char const *,char *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    result =
-		(char *)G_find_file((char const *)arg1, arg2,
-				    (char const *)arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_find_file2) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_find_file2(char const *,char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    result =
-		(char *)G_find_file2((char const *)arg1, (char const *)arg2,
-				     (char const *)arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_find_file_misc) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    char *arg4 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_find_file_misc(char const *,char const *,char *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    if (!SvOK((SV *) ST(3)))
-		arg4 = 0;
-	    else
-		arg4 = (char *)SvPV(ST(3), PL_na);
-	    result =
-		(char *)G_find_file_misc((char const *)arg1,
-					 (char const *)arg2, arg3,
-					 (char const *)arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_find_file2_misc) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    char *arg4 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_find_file2_misc(char const *,char const *,char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    if (!SvOK((SV *) ST(3)))
-		arg4 = 0;
-	    else
-		arg4 = (char *)SvPV(ST(3), PL_na);
-	    result =
-		(char *)G_find_file2_misc((char const *)arg1,
-					  (char const *)arg2,
-					  (char const *)arg3,
-					  (char const *)arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_find_etc) {
-	{
-	    char *arg1 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_find_etc(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (char *)G_find_etc((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_find_vector) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_find_vector(char *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (char *)G_find_vector(arg1, (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_find_vector2) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_find_vector2(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result =
-		(char *)G_find_vector2((char const *)arg1,
-				       (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_zlib_compress) {
-	{
-	    unsigned char *arg1 = (unsigned char *)0;
-	    int arg2;
-	    unsigned char *arg3 = (unsigned char *)0;
-	    int arg4;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_zlib_compress(unsigned char const *,int,unsigned char *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_zlib_compress. Expected _p_unsigned_char");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_zlib_compress. Expected _p_unsigned_char");
-		}
-	    }
-	    arg4 = (int)SvIV(ST(3));
-	    result =
-		(int)G_zlib_compress((unsigned char const *)arg1, arg2, arg3,
-				     arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_zlib_expand) {
-	{
-	    unsigned char *arg1 = (unsigned char *)0;
-	    int arg2;
-	    unsigned char *arg3 = (unsigned char *)0;
-	    int arg4;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_zlib_expand(unsigned char const *,int,unsigned char *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_zlib_expand. Expected _p_unsigned_char");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_zlib_expand. Expected _p_unsigned_char");
-		}
-	    }
-	    arg4 = (int)SvIV(ST(3));
-	    result =
-		(int)G_zlib_expand((unsigned char const *)arg1, arg2, arg3,
-				   arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_zlib_write) {
-	{
-	    int arg1;
-	    unsigned char *arg2 = (unsigned char *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_zlib_write(int,unsigned char const *,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_zlib_write. Expected _p_unsigned_char");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result =
-		(int)G_zlib_write(arg1, (unsigned char const *)arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_zlib_read) {
-	{
-	    int arg1;
-	    int arg2;
-	    unsigned char *arg3 = (unsigned char *)0;
-	    int arg4;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_zlib_read(int,int,unsigned char *,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    arg2 = (int)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_zlib_read. Expected _p_unsigned_char");
-		}
-	    }
-	    arg4 = (int)SvIV(ST(3));
-	    result = (int)G_zlib_read(arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_zlib_write_noCompress) {
-	{
-	    int arg1;
-	    unsigned char *arg2 = (unsigned char *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_zlib_write_noCompress(int,unsigned char const *,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_zlib_write_noCompress. Expected _p_unsigned_char");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result =
-		(int)G_zlib_write_noCompress(arg1,
-					     (unsigned char const *)arg2,
-					     arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fork) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_fork();");
-	    }
-	    result = (int)G_fork();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__check_format) {
-	{
-	    int arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G__check_format(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (int)G__check_format(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__read_row_ptrs) {
-	{
-	    int arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G__read_row_ptrs(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (int)G__read_row_ptrs(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__write_row_ptrs) {
-	{
-	    int arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G__write_row_ptrs(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (int)G__write_row_ptrs(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fpreclass_clear) {
-	{
-	    struct FPReclass *arg1 = (struct FPReclass *)0;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_fpreclass_clear(struct FPReclass *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FPReclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_fpreclass_clear. Expected _p_FPReclass");
-		}
-	    }
-	    G_fpreclass_clear(arg1);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fpreclass_reset) {
-	{
-	    struct FPReclass *arg1 = (struct FPReclass *)0;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_fpreclass_reset(struct FPReclass *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FPReclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_fpreclass_reset. Expected _p_FPReclass");
-		}
-	    }
-	    G_fpreclass_reset(arg1);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fpreclass_init) {
-	{
-	    struct FPReclass *arg1 = (struct FPReclass *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_fpreclass_init(struct FPReclass *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FPReclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_fpreclass_init. Expected _p_FPReclass");
-		}
-	    }
-	    result = (int)G_fpreclass_init(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fpreclass_set_domain) {
-	{
-	    struct FPReclass *arg1 = (struct FPReclass *)0;
-	    DCELL arg2;
-	    DCELL arg3;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_fpreclass_set_domain(struct FPReclass *,DCELL,DCELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FPReclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_fpreclass_set_domain. Expected _p_FPReclass");
-		}
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_fpreclass_set_domain. Expected _p_DCELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_fpreclass_set_domain. Expected _p_DCELL");
-		}
-		arg3 = *argp;
-	    }
-	    G_fpreclass_set_domain(arg1, arg2, arg3);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fpreclass_set_range) {
-	{
-	    struct FPReclass *arg1 = (struct FPReclass *)0;
-	    DCELL arg2;
-	    DCELL arg3;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_fpreclass_set_range(struct FPReclass *,DCELL,DCELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FPReclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_fpreclass_set_range. Expected _p_FPReclass");
-		}
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_fpreclass_set_range. Expected _p_DCELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_fpreclass_set_range. Expected _p_DCELL");
-		}
-		arg3 = *argp;
-	    }
-	    G_fpreclass_set_range(arg1, arg2, arg3);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fpreclass_get_limits) {
-	{
-	    struct FPReclass *arg1 = (struct FPReclass *)0;
-	    DCELL *arg2 = (DCELL *) 0;
-	    DCELL *arg3 = (DCELL *) 0;
-	    DCELL *arg4 = (DCELL *) 0;
-	    DCELL *arg5 = (DCELL *) 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_fpreclass_get_limits(struct FPReclass const *,DCELL *,DCELL *,DCELL *,DCELL *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FPReclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_fpreclass_get_limits. Expected _p_FPReclass");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_fpreclass_get_limits. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_fpreclass_get_limits. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_fpreclass_get_limits. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&arg5, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_fpreclass_get_limits. Expected _p_DCELL");
-		}
-	    }
-	    result =
-		(int)G_fpreclass_get_limits((struct FPReclass const *)arg1,
-					    arg2, arg3, arg4, arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fpreclass_nof_rules) {
-	{
-	    struct FPReclass *arg1 = (struct FPReclass *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak
-		    ("Usage: G_fpreclass_nof_rules(struct FPReclass const *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FPReclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_fpreclass_nof_rules. Expected _p_FPReclass");
-		}
-	    }
-	    result =
-		(int)G_fpreclass_nof_rules((struct FPReclass const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fpreclass_get_ith_rule) {
-	{
-	    struct FPReclass *arg1 = (struct FPReclass *)0;
-	    int arg2;
-	    DCELL *arg3 = (DCELL *) 0;
-	    DCELL *arg4 = (DCELL *) 0;
-	    DCELL *arg5 = (DCELL *) 0;
-	    DCELL *arg6 = (DCELL *) 0;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 6) || (items > 6)) {
-		SWIG_croak
-		    ("Usage: G_fpreclass_get_ith_rule(struct FPReclass const *,int,DCELL *,DCELL *,DCELL *,DCELL *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FPReclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_fpreclass_get_ith_rule. Expected _p_FPReclass");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_fpreclass_get_ith_rule. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_fpreclass_get_ith_rule. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&arg5, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_fpreclass_get_ith_rule. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(5), (void **)&arg6, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 6 of G_fpreclass_get_ith_rule. Expected _p_DCELL");
-		}
-	    }
-	    G_fpreclass_get_ith_rule((struct FPReclass const *)arg1, arg2,
-				     arg3, arg4, arg5, arg6);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fpreclass_set_neg_infinite_rule) {
-	{
-	    struct FPReclass *arg1 = (struct FPReclass *)0;
-	    DCELL arg2;
-	    DCELL arg3;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_fpreclass_set_neg_infinite_rule(struct FPReclass *,DCELL,DCELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FPReclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_fpreclass_set_neg_infinite_rule. Expected _p_FPReclass");
-		}
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_fpreclass_set_neg_infinite_rule. Expected _p_DCELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_fpreclass_set_neg_infinite_rule. Expected _p_DCELL");
-		}
-		arg3 = *argp;
-	    }
-	    G_fpreclass_set_neg_infinite_rule(arg1, arg2, arg3);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fpreclass_get_neg_infinite_rule) {
-	{
-	    struct FPReclass *arg1 = (struct FPReclass *)0;
-	    DCELL *arg2 = (DCELL *) 0;
-	    DCELL *arg3 = (DCELL *) 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_fpreclass_get_neg_infinite_rule(struct FPReclass const *,DCELL *,DCELL *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FPReclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_fpreclass_get_neg_infinite_rule. Expected _p_FPReclass");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_fpreclass_get_neg_infinite_rule. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_fpreclass_get_neg_infinite_rule. Expected _p_DCELL");
-		}
-	    }
-	    result =
-		(int)
-		G_fpreclass_get_neg_infinite_rule((struct FPReclass const *)
-						  arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fpreclass_set_pos_infinite_rule) {
-	{
-	    struct FPReclass *arg1 = (struct FPReclass *)0;
-	    DCELL arg2;
-	    DCELL arg3;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_fpreclass_set_pos_infinite_rule(struct FPReclass *,DCELL,DCELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FPReclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_fpreclass_set_pos_infinite_rule. Expected _p_FPReclass");
-		}
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_fpreclass_set_pos_infinite_rule. Expected _p_DCELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_fpreclass_set_pos_infinite_rule. Expected _p_DCELL");
-		}
-		arg3 = *argp;
-	    }
-	    G_fpreclass_set_pos_infinite_rule(arg1, arg2, arg3);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fpreclass_get_pos_infinite_rule) {
-	{
-	    struct FPReclass *arg1 = (struct FPReclass *)0;
-	    DCELL *arg2 = (DCELL *) 0;
-	    DCELL *arg3 = (DCELL *) 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_fpreclass_get_pos_infinite_rule(struct FPReclass const *,DCELL *,DCELL *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FPReclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_fpreclass_get_pos_infinite_rule. Expected _p_FPReclass");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_fpreclass_get_pos_infinite_rule. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_fpreclass_get_pos_infinite_rule. Expected _p_DCELL");
-		}
-	    }
-	    result =
-		(int)
-		G_fpreclass_get_pos_infinite_rule((struct FPReclass const *)
-						  arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fpreclass_add_rule) {
-	{
-	    struct FPReclass *arg1 = (struct FPReclass *)0;
-	    DCELL arg2;
-	    DCELL arg3;
-	    DCELL arg4;
-	    DCELL arg5;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_fpreclass_add_rule(struct FPReclass *,DCELL,DCELL,DCELL,DCELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FPReclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_fpreclass_add_rule. Expected _p_FPReclass");
-		}
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_fpreclass_add_rule. Expected _p_DCELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_fpreclass_add_rule. Expected _p_DCELL");
-		}
-		arg3 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_fpreclass_add_rule. Expected _p_DCELL");
-		}
-		arg4 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_fpreclass_add_rule. Expected _p_DCELL");
-		}
-		arg5 = *argp;
-	    }
-	    G_fpreclass_add_rule(arg1, arg2, arg3, arg4, arg5);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fpreclass_reverse_rule_order) {
-	{
-	    struct FPReclass *arg1 = (struct FPReclass *)0;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak
-		    ("Usage: G_fpreclass_reverse_rule_order(struct FPReclass *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FPReclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_fpreclass_reverse_rule_order. Expected _p_FPReclass");
-		}
-	    }
-	    G_fpreclass_reverse_rule_order(arg1);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fpreclass_get_cell_value) {
-	{
-	    struct FPReclass *arg1 = (struct FPReclass *)0;
-	    DCELL arg2;
-	    DCELL result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_fpreclass_get_cell_value(struct FPReclass const *,DCELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FPReclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_fpreclass_get_cell_value. Expected _p_FPReclass");
-		}
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_fpreclass_get_cell_value. Expected _p_DCELL");
-		}
-		arg2 = *argp;
-	    }
-	    result =
-		G_fpreclass_get_cell_value((struct FPReclass const *)arg1,
-					   arg2);
-
-	    {
-		DCELL *resultobj = (DCELL *) malloc(sizeof(DCELL));
-
-		memmove(resultobj, &result, sizeof(DCELL));
-		ST(argvi) = sv_newmortal();
-		SWIG_MakePtr(ST(argvi++), (void *)resultobj, SWIGTYPE_p_DCELL,
-			     0 | SWIG_OWNER);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fpreclass_perform_di) {
-	{
-	    struct FPReclass *arg1 = (struct FPReclass *)0;
-	    DCELL *arg2 = (DCELL *) 0;
-	    CELL *arg3 = (CELL *) 0;
-	    int arg4;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_fpreclass_perform_di(struct FPReclass const *,DCELL const *,CELL *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FPReclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_fpreclass_perform_di. Expected _p_FPReclass");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_fpreclass_perform_di. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_fpreclass_perform_di. Expected _p_CELL");
-		}
-	    }
-	    arg4 = (int)SvIV(ST(3));
-	    G_fpreclass_perform_di((struct FPReclass const *)arg1,
-				   (DCELL const *)arg2, arg3, arg4);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fpreclass_perform_df) {
-	{
-	    struct FPReclass *arg1 = (struct FPReclass *)0;
-	    DCELL *arg2 = (DCELL *) 0;
-	    FCELL *arg3 = (FCELL *) 0;
-	    int arg4;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_fpreclass_perform_df(struct FPReclass const *,DCELL const *,FCELL *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FPReclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_fpreclass_perform_df. Expected _p_FPReclass");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_fpreclass_perform_df. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_FCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_fpreclass_perform_df. Expected _p_FCELL");
-		}
-	    }
-	    arg4 = (int)SvIV(ST(3));
-	    G_fpreclass_perform_df((struct FPReclass const *)arg1,
-				   (DCELL const *)arg2, arg3, arg4);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fpreclass_perform_dd) {
-	{
-	    struct FPReclass *arg1 = (struct FPReclass *)0;
-	    DCELL *arg2 = (DCELL *) 0;
-	    DCELL *arg3 = (DCELL *) 0;
-	    int arg4;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_fpreclass_perform_dd(struct FPReclass const *,DCELL const *,DCELL *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FPReclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_fpreclass_perform_dd. Expected _p_FPReclass");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_fpreclass_perform_dd. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_fpreclass_perform_dd. Expected _p_DCELL");
-		}
-	    }
-	    arg4 = (int)SvIV(ST(3));
-	    G_fpreclass_perform_dd((struct FPReclass const *)arg1,
-				   (DCELL const *)arg2, arg3, arg4);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fpreclass_perform_fi) {
-	{
-	    struct FPReclass *arg1 = (struct FPReclass *)0;
-	    FCELL *arg2 = (FCELL *) 0;
-	    CELL *arg3 = (CELL *) 0;
-	    int arg4;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_fpreclass_perform_fi(struct FPReclass const *,FCELL const *,CELL *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FPReclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_fpreclass_perform_fi. Expected _p_FPReclass");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_FCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_fpreclass_perform_fi. Expected _p_FCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_fpreclass_perform_fi. Expected _p_CELL");
-		}
-	    }
-	    arg4 = (int)SvIV(ST(3));
-	    G_fpreclass_perform_fi((struct FPReclass const *)arg1,
-				   (FCELL const *)arg2, arg3, arg4);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fpreclass_perform_ff) {
-	{
-	    struct FPReclass *arg1 = (struct FPReclass *)0;
-	    FCELL *arg2 = (FCELL *) 0;
-	    FCELL *arg3 = (FCELL *) 0;
-	    int arg4;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_fpreclass_perform_ff(struct FPReclass const *,FCELL const *,FCELL *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FPReclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_fpreclass_perform_ff. Expected _p_FPReclass");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_FCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_fpreclass_perform_ff. Expected _p_FCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_FCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_fpreclass_perform_ff. Expected _p_FCELL");
-		}
-	    }
-	    arg4 = (int)SvIV(ST(3));
-	    G_fpreclass_perform_ff((struct FPReclass const *)arg1,
-				   (FCELL const *)arg2, arg3, arg4);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fpreclass_perform_fd) {
-	{
-	    struct FPReclass *arg1 = (struct FPReclass *)0;
-	    FCELL *arg2 = (FCELL *) 0;
-	    DCELL *arg3 = (DCELL *) 0;
-	    int arg4;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_fpreclass_perform_fd(struct FPReclass const *,FCELL const *,DCELL *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FPReclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_fpreclass_perform_fd. Expected _p_FPReclass");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_FCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_fpreclass_perform_fd. Expected _p_FCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_fpreclass_perform_fd. Expected _p_DCELL");
-		}
-	    }
-	    arg4 = (int)SvIV(ST(3));
-	    G_fpreclass_perform_fd((struct FPReclass const *)arg1,
-				   (FCELL const *)arg2, arg3, arg4);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fpreclass_perform_ii) {
-	{
-	    struct FPReclass *arg1 = (struct FPReclass *)0;
-	    CELL *arg2 = (CELL *) 0;
-	    CELL *arg3 = (CELL *) 0;
-	    int arg4;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_fpreclass_perform_ii(struct FPReclass const *,CELL const *,CELL *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FPReclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_fpreclass_perform_ii. Expected _p_FPReclass");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_fpreclass_perform_ii. Expected _p_CELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_fpreclass_perform_ii. Expected _p_CELL");
-		}
-	    }
-	    arg4 = (int)SvIV(ST(3));
-	    G_fpreclass_perform_ii((struct FPReclass const *)arg1,
-				   (CELL const *)arg2, arg3, arg4);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fpreclass_perform_if) {
-	{
-	    struct FPReclass *arg1 = (struct FPReclass *)0;
-	    CELL *arg2 = (CELL *) 0;
-	    FCELL *arg3 = (FCELL *) 0;
-	    int arg4;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_fpreclass_perform_if(struct FPReclass const *,CELL const *,FCELL *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FPReclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_fpreclass_perform_if. Expected _p_FPReclass");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_fpreclass_perform_if. Expected _p_CELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_FCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_fpreclass_perform_if. Expected _p_FCELL");
-		}
-	    }
-	    arg4 = (int)SvIV(ST(3));
-	    G_fpreclass_perform_if((struct FPReclass const *)arg1,
-				   (CELL const *)arg2, arg3, arg4);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fpreclass_perform_id) {
-	{
-	    struct FPReclass *arg1 = (struct FPReclass *)0;
-	    CELL *arg2 = (CELL *) 0;
-	    DCELL *arg3 = (DCELL *) 0;
-	    int arg4;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_fpreclass_perform_id(struct FPReclass const *,CELL const *,DCELL *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FPReclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_fpreclass_perform_id. Expected _p_FPReclass");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_fpreclass_perform_id. Expected _p_CELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_fpreclass_perform_id. Expected _p_DCELL");
-		}
-	    }
-	    arg4 = (int)SvIV(ST(3));
-	    G_fpreclass_perform_id((struct FPReclass const *)arg1,
-				   (CELL const *)arg2, arg3, arg4);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_begin_geodesic_equation) {
-	{
-	    double arg1;
-	    double arg2;
-	    double arg3;
-	    double arg4;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_begin_geodesic_equation(double,double,double,double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    arg3 = (double)SvNV(ST(2));
-
-	    arg4 = (double)SvNV(ST(3));
-
-	    result = (int)G_begin_geodesic_equation(arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_geodesic_lat_from_lon) {
-	{
-	    double arg1;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_geodesic_lat_from_lon(double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    result = (double)G_geodesic_lat_from_lon(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_begin_geodesic_distance) {
-	{
-	    double arg1;
-	    double arg2;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_begin_geodesic_distance(double,double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    result = (int)G_begin_geodesic_distance(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_geodesic_distance_lat1) {
-	{
-	    double arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_set_geodesic_distance_lat1(double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    result = (int)G_set_geodesic_distance_lat1(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_geodesic_distance_lat2) {
-	{
-	    double arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_set_geodesic_distance_lat2(double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    result = (int)G_set_geodesic_distance_lat2(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_geodesic_distance_lon_to_lon) {
-	{
-	    double arg1;
-	    double arg2;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_geodesic_distance_lon_to_lon(double,double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    result = (double)G_geodesic_distance_lon_to_lon(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_geodesic_distance) {
-	{
-	    double arg1;
-	    double arg2;
-	    double arg3;
-	    double arg4;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_geodesic_distance(double,double,double,double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    arg3 = (double)SvNV(ST(2));
-
-	    arg4 = (double)SvNV(ST(3));
-
-	    result = (double)G_geodesic_distance(arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_cellhd) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    struct Cell_head *arg3 = (struct Cell_head *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_get_cellhd(char const *,char const *,struct Cell_head *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_cellhd. Expected _p_Cell_head");
-		}
-	    }
-	    result =
-		(int)G_get_cellhd((char const *)arg1, (char const *)arg2,
-				  arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ask_datum_name) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_ask_datum_name(char *,char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (int)G_ask_datum_name(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ask_ellipse_name) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_ask_ellipse_name(char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_ask_ellipse_name(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_ellipsoid_parameters) {
-	{
-	    double *arg1 = (double *)0;
-	    double *arg2 = (double *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_get_ellipsoid_parameters(double *,double *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_ellipsoid_parameters. Expected _p_double");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_ellipsoid_parameters. Expected _p_double");
-		}
-	    }
-	    result = (int)G_get_ellipsoid_parameters(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_spheroid_by_name) {
-	{
-	    char *arg1 = (char *)0;
-	    double *arg2 = (double *)0;
-	    double *arg3 = (double *)0;
-	    double *arg4 = (double *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_get_spheroid_by_name(char const *,double *,double *,double *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_spheroid_by_name. Expected _p_double");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_spheroid_by_name. Expected _p_double");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_get_spheroid_by_name. Expected _p_double");
-		}
-	    }
-	    result =
-		(int)G_get_spheroid_by_name((char const *)arg1, arg2, arg3,
-					    arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_ellipsoid_by_name) {
-	{
-	    char *arg1 = (char *)0;
-	    double *arg2 = (double *)0;
-	    double *arg3 = (double *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_get_ellipsoid_by_name(char const *,double *,double *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_ellipsoid_by_name. Expected _p_double");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_ellipsoid_by_name. Expected _p_double");
-		}
-	    }
-	    result =
-		(int)G_get_ellipsoid_by_name((char const *)arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ellipsoid_name) {
-	{
-	    int arg1;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_ellipsoid_name(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (char *)G_ellipsoid_name(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ellipsoid_description) {
-	{
-	    int arg1;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_ellipsoid_description(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (char *)G_ellipsoid_description(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_projunits) {
-	{
-	    struct Key_Value *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_get_projunits();");
-	    }
-	    result = (struct Key_Value *)G_get_projunits();
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_Key_Value,
-			 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_projinfo) {
-	{
-	    struct Key_Value *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_get_projinfo();");
-	    }
-	    result = (struct Key_Value *)G_get_projinfo();
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_Key_Value,
-			 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ask_proj_name) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_ask_proj_name(char *,char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (int)G_ask_proj_name(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_map_row_nomask) {
-	{
-	    int arg1;
-	    CELL *arg2 = (CELL *) 0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G_get_map_row_nomask(int,CELL *,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_map_row_nomask. Expected _p_CELL");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_get_map_row_nomask(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_raster_row_nomask) {
-	{
-	    int arg1;
-	    void *arg2 = (void *)0;
-	    int arg3;
-	    RASTER_MAP_TYPE arg4;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_get_raster_row_nomask(int,void *,int,RASTER_MAP_TYPE);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_raster_row_nomask. Expected _p_void");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_get_raster_row_nomask. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg4 = *argp;
-	    }
-	    result = (int)G_get_raster_row_nomask(arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_c_raster_row_nomask) {
-	{
-	    int arg1;
-	    CELL *arg2 = (CELL *) 0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_get_c_raster_row_nomask(int,CELL *,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_c_raster_row_nomask. Expected _p_CELL");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_get_c_raster_row_nomask(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_f_raster_row_nomask) {
-	{
-	    int arg1;
-	    FCELL *arg2 = (FCELL *) 0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_get_f_raster_row_nomask(int,FCELL *,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_FCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_f_raster_row_nomask. Expected _p_FCELL");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_get_f_raster_row_nomask(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_d_raster_row_nomask) {
-	{
-	    int arg1;
-	    DCELL *arg2 = (DCELL *) 0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_get_d_raster_row_nomask(int,DCELL *,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_d_raster_row_nomask. Expected _p_DCELL");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_get_d_raster_row_nomask(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_map_row) {
-	{
-	    int arg1;
-	    CELL *arg2 = (CELL *) 0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G_get_map_row(int,CELL *,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_map_row. Expected _p_CELL");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_get_map_row(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_raster_row) {
-	{
-	    int arg1;
-	    void *arg2 = (void *)0;
-	    int arg3;
-	    RASTER_MAP_TYPE arg4;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_get_raster_row(int,void *,int,RASTER_MAP_TYPE);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_raster_row. Expected _p_void");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_get_raster_row. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg4 = *argp;
-	    }
-	    result = (int)G_get_raster_row(arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_c_raster_row) {
-	{
-	    int arg1;
-	    CELL *arg2 = (CELL *) 0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G_get_c_raster_row(int,CELL *,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_c_raster_row. Expected _p_CELL");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_get_c_raster_row(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_f_raster_row) {
-	{
-	    int arg1;
-	    FCELL *arg2 = (FCELL *) 0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G_get_f_raster_row(int,FCELL *,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_FCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_f_raster_row. Expected _p_FCELL");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_get_f_raster_row(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_d_raster_row) {
-	{
-	    int arg1;
-	    DCELL *arg2 = (DCELL *) 0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G_get_d_raster_row(int,DCELL *,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_d_raster_row. Expected _p_DCELL");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_get_d_raster_row(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_null_value_row) {
-	{
-	    int arg1;
-	    char *arg2 = (char *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G_get_null_value_row(int,char *,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_get_null_value_row(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_raster_row_colors) {
-	{
-	    int arg1;
-	    int arg2;
-	    struct Colors *arg3 = (struct Colors *)0;
-	    unsigned char *arg4 = (unsigned char *)0;
-	    unsigned char *arg5 = (unsigned char *)0;
-	    unsigned char *arg6 = (unsigned char *)0;
-	    unsigned char *arg7 = (unsigned char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 7) || (items > 7)) {
-		SWIG_croak
-		    ("Usage: G_get_raster_row_colors(int,int,struct Colors *,unsigned char *,unsigned char *,unsigned char *,unsigned char *);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    arg2 = (int)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_raster_row_colors. Expected _p_Colors");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_get_raster_row_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&arg5, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_get_raster_row_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(5), (void **)&arg6, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 6 of G_get_raster_row_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(6), (void **)&arg7, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 7 of G_get_raster_row_colors. Expected _p_unsigned_char");
-		}
-	    }
-	    result =
-		(int)G_get_raster_row_colors(arg1, arg2, arg3, arg4, arg5,
-					     arg6, arg7);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_window) {
-	{
-	    struct Cell_head *arg1 = (struct Cell_head *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_get_window(struct Cell_head *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_window. Expected _p_Cell_head");
-		}
-	    }
-	    result = (int)G_get_window(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_default_window) {
-	{
-	    struct Cell_head *arg1 = (struct Cell_head *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak
-		    ("Usage: G_get_default_window(struct Cell_head *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_default_window. Expected _p_Cell_head");
-		}
-	    }
-	    result = (int)G_get_default_window(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__get_window) {
-	{
-	    struct Cell_head *arg1 = (struct Cell_head *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    char *arg4 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G__get_window(struct Cell_head *,char const *,char const *,char const *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G__get_window. Expected _p_Cell_head");
-		}
-	    }
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    if (!SvOK((SV *) ST(3)))
-		arg4 = 0;
-	    else
-		arg4 = (char *)SvPV(ST(3), PL_na);
-	    result =
-		(char *)G__get_window(arg1, (char const *)arg2,
-				      (char const *)arg3, (char const *)arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_getl) {
-	{
-	    char *arg1 = (char *)0;
-	    int arg2;
-	    FILE *arg3 = (FILE *) 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G_getl(char *,int,FILE *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    arg2 = (int)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_FILE, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_getl. Expected _p_FILE");
-		}
-	    }
-	    result = (int)G_getl(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_getl2) {
-	{
-	    char *arg1 = (char *)0;
-	    int arg2;
-	    FILE *arg3 = (FILE *) 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G_getl2(char *,int,FILE *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    arg2 = (int)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_FILE, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_getl2. Expected _p_FILE");
-		}
-	    }
-	    result = (int)G_getl2(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_gets) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_gets(char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_gets(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_gisbase) {
-	{
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_gisbase();");
-	    }
-	    result = (char *)G_gisbase();
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_gisdbase) {
-	{
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_gisdbase();");
-	    }
-	    result = (char *)G_gisdbase();
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_gishelp) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_gishelp(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (int)G_gishelp((char const *)arg1, (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_gisinit) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_gisinit(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_gisinit((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_no_gisinit) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_no_gisinit();");
-	    }
-	    result = (int)G_no_gisinit();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__check_gisinit) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G__check_gisinit();");
-	    }
-	    result = (int)G__check_gisinit();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_histogram_eq) {
-	{
-	    struct Histogram *arg1 = (struct Histogram *)0;
-	    unsigned char **arg2 = (unsigned char **)0;
-	    CELL *arg3 = (CELL *) 0;
-	    CELL *arg4 = (CELL *) 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_histogram_eq(struct Histogram const *,unsigned char **,CELL *,CELL *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Histogram, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_histogram_eq. Expected _p_Histogram");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_histogram_eq. Expected _p_p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_histogram_eq. Expected _p_CELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(3), (void **)&arg4, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_histogram_eq. Expected _p_CELL");
-		}
-	    }
-	    result =
-		(int)G_histogram_eq((struct Histogram const *)arg1, arg2,
-				    arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_init_histogram) {
-	{
-	    struct Histogram *arg1 = (struct Histogram *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_init_histogram(struct Histogram *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Histogram, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_init_histogram. Expected _p_Histogram");
-		}
-	    }
-	    result = (int)G_init_histogram(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_read_histogram) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    struct Histogram *arg3 = (struct Histogram *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_read_histogram(char const *,char const *,struct Histogram *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Histogram, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_read_histogram. Expected _p_Histogram");
-		}
-	    }
-	    result =
-		(int)G_read_histogram((char const *)arg1, (char const *)arg2,
-				      arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_write_histogram) {
-	{
-	    char *arg1 = (char *)0;
-	    struct Histogram *arg2 = (struct Histogram *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_write_histogram(char const *,struct Histogram const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Histogram, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_write_histogram. Expected _p_Histogram");
-		}
-	    }
-	    result =
-		(int)G_write_histogram((char const *)arg1,
-				       (struct Histogram const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_write_histogram_cs) {
-	{
-	    char *arg1 = (char *)0;
-	    struct Cell_stats *arg2 = (struct Cell_stats *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_write_histogram_cs(char const *,struct Cell_stats *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Cell_stats, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_write_histogram_cs. Expected _p_Cell_stats");
-		}
-	    }
-	    result = (int)G_write_histogram_cs((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_make_histogram_cs) {
-	{
-	    struct Cell_stats *arg1 = (struct Cell_stats *)0;
-	    struct Histogram *arg2 = (struct Histogram *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_make_histogram_cs(struct Cell_stats *,struct Histogram *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Cell_stats, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_make_histogram_cs. Expected _p_Cell_stats");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Histogram, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_make_histogram_cs. Expected _p_Histogram");
-		}
-	    }
-	    result = (int)G_make_histogram_cs(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_histogram_num) {
-	{
-	    struct Histogram *arg1 = (struct Histogram *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak
-		    ("Usage: G_get_histogram_num(struct Histogram const *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Histogram, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_histogram_num. Expected _p_Histogram");
-		}
-	    }
-	    result = (int)G_get_histogram_num((struct Histogram const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_histogram_cat) {
-	{
-	    int arg1;
-	    struct Histogram *arg2 = (struct Histogram *)0;
-	    CELL result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_get_histogram_cat(int,struct Histogram const *);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Histogram, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_histogram_cat. Expected _p_Histogram");
-		}
-	    }
-	    result =
-		G_get_histogram_cat(arg1, (struct Histogram const *)arg2);
-
-	    {
-		CELL *resultobj = (CELL *) malloc(sizeof(CELL));
-
-		memmove(resultobj, &result, sizeof(CELL));
-		ST(argvi) = sv_newmortal();
-		SWIG_MakePtr(ST(argvi++), (void *)resultobj, SWIGTYPE_p_CELL,
-			     0 | SWIG_OWNER);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_histogram_count) {
-	{
-	    int arg1;
-	    struct Histogram *arg2 = (struct Histogram *)0;
-	    long result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_get_histogram_count(int,struct Histogram const *);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Histogram, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_histogram_count. Expected _p_Histogram");
-		}
-	    }
-	    result =
-		(long)G_get_histogram_count(arg1,
-					    (struct Histogram const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_free_histogram) {
-	{
-	    struct Histogram *arg1 = (struct Histogram *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_free_histogram(struct Histogram *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Histogram, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_free_histogram. Expected _p_Histogram");
-		}
-	    }
-	    result = (int)G_free_histogram(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_sort_histogram) {
-	{
-	    struct Histogram *arg1 = (struct Histogram *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_sort_histogram(struct Histogram *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Histogram, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_sort_histogram. Expected _p_Histogram");
-		}
-	    }
-	    result = (int)G_sort_histogram(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_sort_histogram_by_count) {
-	{
-	    struct Histogram *arg1 = (struct Histogram *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak
-		    ("Usage: G_sort_histogram_by_count(struct Histogram *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Histogram, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_sort_histogram_by_count. Expected _p_Histogram");
-		}
-	    }
-	    result = (int)G_sort_histogram_by_count(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_remove_histogram) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_remove_histogram(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_remove_histogram((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_add_histogram) {
-	{
-	    CELL arg1;
-	    long arg2;
-	    struct Histogram *arg3 = (struct Histogram *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_add_histogram(CELL,long,struct Histogram *);");
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(0), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_add_histogram. Expected _p_CELL");
-		}
-		arg1 = *argp;
-	    }
-	    arg2 = (long)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Histogram, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_add_histogram. Expected _p_Histogram");
-		}
-	    }
-	    result = (int)G_add_histogram(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_histogram) {
-	{
-	    CELL arg1;
-	    long arg2;
-	    struct Histogram *arg3 = (struct Histogram *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_set_histogram(CELL,long,struct Histogram *);");
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(0), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_set_histogram. Expected _p_CELL");
-		}
-		arg1 = *argp;
-	    }
-	    arg2 = (long)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Histogram, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_set_histogram. Expected _p_Histogram");
-		}
-	    }
-	    result = (int)G_set_histogram(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_extend_histogram) {
-	{
-	    CELL arg1;
-	    long arg2;
-	    struct Histogram *arg3 = (struct Histogram *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_extend_histogram(CELL,long,struct Histogram *);");
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(0), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_extend_histogram. Expected _p_CELL");
-		}
-		arg1 = *argp;
-	    }
-	    arg2 = (long)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Histogram, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_extend_histogram. Expected _p_Histogram");
-		}
-	    }
-	    result = (int)G_extend_histogram(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_zero_histogram) {
-	{
-	    struct Histogram *arg1 = (struct Histogram *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_zero_histogram(struct Histogram *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Histogram, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_zero_histogram. Expected _p_Histogram");
-		}
-	    }
-	    result = (int)G_zero_histogram(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_read_history) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    struct History *arg3 = (struct History *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_read_history(char const *,char const *,struct History *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_History, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_read_history. Expected _p_History");
-		}
-	    }
-	    result =
-		(int)G_read_history((char const *)arg1, (char const *)arg2,
-				    arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_write_history) {
-	{
-	    char *arg1 = (char *)0;
-	    struct History *arg2 = (struct History *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_write_history(char const *,struct History *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_History, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_write_history. Expected _p_History");
-		}
-	    }
-	    result = (int)G_write_history((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_short_history) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    struct History *arg3 = (struct History *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_short_history(char const *,char const *,struct History *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_History, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_short_history. Expected _p_History");
-		}
-	    }
-	    result =
-		(int)G_short_history((char const *)arg1, (char const *)arg2,
-				     arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_command_history) {
-	{
-	    struct History *arg1 = (struct History *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_command_history(struct History *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_History, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_command_history. Expected _p_History");
-		}
-	    }
-	    result = (int)G_command_history(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_home) {
-	{
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_home();");
-	    }
-	    result = (char *)G_home();
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__home) {
-	{
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G__home();");
-	    }
-	    result = (char *)G__home();
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_alloc_ivector) {
-	{
-	    size_t arg1;
-	    int *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_alloc_ivector(size_t);");
-	    }
-	    arg1 = (size_t) SvUV(ST(0));
-	    result = (int *)G_alloc_ivector(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_int, 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_alloc_imatrix) {
-	{
-	    int arg1;
-	    int arg2;
-	    int **result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_alloc_imatrix(int,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    arg2 = (int)SvIV(ST(1));
-	    result = (int **)G_alloc_imatrix(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_p_int,
-			 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_free_ivector) {
-	{
-	    int *arg1 = (int *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_free_ivector(int *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_free_ivector. Expected _p_int");
-		}
-	    }
-	    result = (int)G_free_ivector(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_free_imatrix) {
-	{
-	    int **arg1 = (int **)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_free_imatrix(int **);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_p_int, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_free_imatrix. Expected _p_p_int");
-		}
-	    }
-	    result = (int)G_free_imatrix(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_index) {
-	{
-	    char *arg1 = (char *)0;
-	    int arg2;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_index(char const *,int);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    arg2 = (int)SvIV(ST(1));
-	    result = (char *)G_index((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_rindex) {
-	{
-	    char *arg1 = (char *)0;
-	    int arg2;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_rindex(char const *,int);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    arg2 = (int)SvIV(ST(1));
-	    result = (char *)G_rindex((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__random_d_initialize_0) {
-	{
-	    int arg1;
-	    int arg2;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G__random_d_initialize_0(int,int,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G__random_d_initialize_0(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__random_f_initialize_0) {
-	{
-	    int arg1;
-	    int arg2;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G__random_f_initialize_0(int,int,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G__random_f_initialize_0(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_interp_linear) {
-	{
-	    double arg1;
-	    DCELL arg2;
-	    DCELL arg3;
-	    DCELL result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G_interp_linear(double,DCELL,DCELL);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_interp_linear. Expected _p_DCELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_interp_linear. Expected _p_DCELL");
-		}
-		arg3 = *argp;
-	    }
-	    result = G_interp_linear(arg1, arg2, arg3);
-
-	    {
-		DCELL *resultobj = (DCELL *) malloc(sizeof(DCELL));
-
-		memmove(resultobj, &result, sizeof(DCELL));
-		ST(argvi) = sv_newmortal();
-		SWIG_MakePtr(ST(argvi++), (void *)resultobj, SWIGTYPE_p_DCELL,
-			     0 | SWIG_OWNER);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_interp_bilinear) {
-	{
-	    double arg1;
-	    double arg2;
-	    DCELL arg3;
-	    DCELL arg4;
-	    DCELL arg5;
-	    DCELL arg6;
-	    DCELL result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 6) || (items > 6)) {
-		SWIG_croak
-		    ("Usage: G_interp_bilinear(double,double,DCELL,DCELL,DCELL,DCELL);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_interp_bilinear. Expected _p_DCELL");
-		}
-		arg3 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_interp_bilinear. Expected _p_DCELL");
-		}
-		arg4 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_interp_bilinear. Expected _p_DCELL");
-		}
-		arg5 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(5), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 6 of G_interp_bilinear. Expected _p_DCELL");
-		}
-		arg6 = *argp;
-	    }
-	    result = G_interp_bilinear(arg1, arg2, arg3, arg4, arg5, arg6);
-
-	    {
-		DCELL *resultobj = (DCELL *) malloc(sizeof(DCELL));
-
-		memmove(resultobj, &result, sizeof(DCELL));
-		ST(argvi) = sv_newmortal();
-		SWIG_MakePtr(ST(argvi++), (void *)resultobj, SWIGTYPE_p_DCELL,
-			     0 | SWIG_OWNER);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_interp_cubic) {
-	{
-	    double arg1;
-	    DCELL arg2;
-	    DCELL arg3;
-	    DCELL arg4;
-	    DCELL arg5;
-	    DCELL result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_interp_cubic(double,DCELL,DCELL,DCELL,DCELL);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_interp_cubic. Expected _p_DCELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_interp_cubic. Expected _p_DCELL");
-		}
-		arg3 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_interp_cubic. Expected _p_DCELL");
-		}
-		arg4 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_interp_cubic. Expected _p_DCELL");
-		}
-		arg5 = *argp;
-	    }
-	    result = G_interp_cubic(arg1, arg2, arg3, arg4, arg5);
-
-	    {
-		DCELL *resultobj = (DCELL *) malloc(sizeof(DCELL));
-
-		memmove(resultobj, &result, sizeof(DCELL));
-		ST(argvi) = sv_newmortal();
-		SWIG_MakePtr(ST(argvi++), (void *)resultobj, SWIGTYPE_p_DCELL,
-			     0 | SWIG_OWNER);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_interp_bicubic) {
-	{
-	    double arg1;
-	    double arg2;
-	    DCELL arg3;
-	    DCELL arg4;
-	    DCELL arg5;
-	    DCELL arg6;
-	    DCELL arg7;
-	    DCELL arg8;
-	    DCELL arg9;
-	    DCELL arg10;
-	    DCELL arg11;
-	    DCELL arg12;
-	    DCELL arg13;
-	    DCELL arg14;
-	    DCELL arg15;
-	    DCELL arg16;
-	    DCELL arg17;
-	    DCELL arg18;
-	    DCELL result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 18) || (items > 18)) {
-		SWIG_croak
-		    ("Usage: G_interp_bicubic(double,double,DCELL,DCELL,DCELL,DCELL,DCELL,DCELL,DCELL,DCELL,DCELL,DCELL,DCELL,DCELL,DCELL,DCELL,DCELL,DCELL);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_interp_bicubic. Expected _p_DCELL");
-		}
-		arg3 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_interp_bicubic. Expected _p_DCELL");
-		}
-		arg4 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_interp_bicubic. Expected _p_DCELL");
-		}
-		arg5 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(5), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 6 of G_interp_bicubic. Expected _p_DCELL");
-		}
-		arg6 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(6), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 7 of G_interp_bicubic. Expected _p_DCELL");
-		}
-		arg7 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(7), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 8 of G_interp_bicubic. Expected _p_DCELL");
-		}
-		arg8 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(8), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 9 of G_interp_bicubic. Expected _p_DCELL");
-		}
-		arg9 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(9), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 10 of G_interp_bicubic. Expected _p_DCELL");
-		}
-		arg10 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(10), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 11 of G_interp_bicubic. Expected _p_DCELL");
-		}
-		arg11 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(11), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 12 of G_interp_bicubic. Expected _p_DCELL");
-		}
-		arg12 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(12), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 13 of G_interp_bicubic. Expected _p_DCELL");
-		}
-		arg13 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(13), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 14 of G_interp_bicubic. Expected _p_DCELL");
-		}
-		arg14 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(14), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 15 of G_interp_bicubic. Expected _p_DCELL");
-		}
-		arg15 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(15), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 16 of G_interp_bicubic. Expected _p_DCELL");
-		}
-		arg16 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(16), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 17 of G_interp_bicubic. Expected _p_DCELL");
-		}
-		arg17 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(17), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 18 of G_interp_bicubic. Expected _p_DCELL");
-		}
-		arg18 = *argp;
-	    }
-	    result =
-		G_interp_bicubic(arg1, arg2, arg3, arg4, arg5, arg6, arg7,
-				 arg8, arg9, arg10, arg11, arg12, arg13,
-				 arg14, arg15, arg16, arg17, arg18);
-
-	    {
-		DCELL *resultobj = (DCELL *) malloc(sizeof(DCELL));
-
-		memmove(resultobj, &result, sizeof(DCELL));
-		ST(argvi) = sv_newmortal();
-		SWIG_MakePtr(ST(argvi++), (void *)resultobj, SWIGTYPE_p_DCELL,
-			     0 | SWIG_OWNER);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_intersect_line_segments) {
-	{
-	    double arg1;
-	    double arg2;
-	    double arg3;
-	    double arg4;
-	    double arg5;
-	    double arg6;
-	    double arg7;
-	    double arg8;
-	    double *arg9 = (double *)0;
-	    double *arg10 = (double *)0;
-	    double *arg11 = (double *)0;
-	    double *arg12 = (double *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 12) || (items > 12)) {
-		SWIG_croak
-		    ("Usage: G_intersect_line_segments(double,double,double,double,double,double,double,double,double *,double *,double *,double *);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    arg3 = (double)SvNV(ST(2));
-
-	    arg4 = (double)SvNV(ST(3));
-
-	    arg5 = (double)SvNV(ST(4));
-
-	    arg6 = (double)SvNV(ST(5));
-
-	    arg7 = (double)SvNV(ST(6));
-
-	    arg8 = (double)SvNV(ST(7));
-
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(8), (void **)&arg9, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 9 of G_intersect_line_segments. Expected _p_double");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(9), (void **)&arg10, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 10 of G_intersect_line_segments. Expected _p_double");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(10), (void **)&arg11, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 11 of G_intersect_line_segments. Expected _p_double");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(11), (void **)&arg12, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 12 of G_intersect_line_segments. Expected _p_double");
-		}
-	    }
-	    result =
-		(int)G_intersect_line_segments(arg1, arg2, arg3, arg4, arg5,
-					       arg6, arg7, arg8, arg9, arg10,
-					       arg11, arg12);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_intr_char) {
-	{
-	    char result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_intr_char();");
-	    }
-	    result = (char)G_intr_char();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setpvn((SV *) ST(argvi++), &result, 1);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_is_gisbase) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_is_gisbase(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_is_gisbase((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_is_location) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_is_location(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_is_location((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_is_mapset) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_is_mapset(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_is_mapset((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_create_key_value) {
-	{
-	    struct Key_Value *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_create_key_value();");
-	    }
-	    result = (struct Key_Value *)G_create_key_value();
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_Key_Value,
-			 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_key_value) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    struct Key_Value *arg3 = (struct Key_Value *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_set_key_value(char const *,char const *,struct Key_Value *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Key_Value, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_set_key_value. Expected _p_Key_Value");
-		}
-	    }
-	    result =
-		(int)G_set_key_value((char const *)arg1, (char const *)arg2,
-				     arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_find_key_value) {
-	{
-	    char *arg1 = (char *)0;
-	    struct Key_Value *arg2 = (struct Key_Value *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_find_key_value(char const *,struct Key_Value const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Key_Value, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_find_key_value. Expected _p_Key_Value");
-		}
-	    }
-	    result =
-		(char *)G_find_key_value((char const *)arg1,
-					 (struct Key_Value const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_free_key_value) {
-	{
-	    struct Key_Value *arg1 = (struct Key_Value *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_free_key_value(struct Key_Value *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Key_Value, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_free_key_value. Expected _p_Key_Value");
-		}
-	    }
-	    result = (int)G_free_key_value(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fwrite_key_value) {
-	{
-	    FILE *arg1 = (FILE *) 0;
-	    struct Key_Value *arg2 = (struct Key_Value *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_fwrite_key_value(FILE *,struct Key_Value const *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_FILE, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_fwrite_key_value. Expected _p_FILE");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Key_Value, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_fwrite_key_value. Expected _p_Key_Value");
-		}
-	    }
-	    result =
-		(int)G_fwrite_key_value(arg1, (struct Key_Value const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fread_key_value) {
-	{
-	    FILE *arg1 = (FILE *) 0;
-	    struct Key_Value *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_fread_key_value(FILE *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_FILE, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_fread_key_value. Expected _p_FILE");
-		}
-	    }
-	    result = (struct Key_Value *)G_fread_key_value(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_Key_Value,
-			 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_write_key_value_file) {
-	{
-	    char *arg1 = (char *)0;
-	    struct Key_Value *arg2 = (struct Key_Value *)0;
-	    int *arg3 = (int *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_write_key_value_file(char const *,struct Key_Value const *,int *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Key_Value, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_write_key_value_file. Expected _p_Key_Value");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_write_key_value_file. Expected _p_int");
-		}
-	    }
-	    result =
-		(int)G_write_key_value_file((char const *)arg1,
-					    (struct Key_Value const *)arg2,
-					    arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_read_key_value_file) {
-	{
-	    char *arg1 = (char *)0;
-	    int *arg2 = (int *)0;
-	    struct Key_Value *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_read_key_value_file(char const *,int *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_read_key_value_file. Expected _p_int");
-		}
-	    }
-	    result =
-		(struct Key_Value *)G_read_key_value_file((char const *)arg1,
-							  arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_Key_Value,
-			 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_update_key_value_file) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_update_key_value_file(char const *,char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    result =
-		(int)G_update_key_value_file((char const *)arg1,
-					     (char const *)arg2,
-					     (char const *)arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lookup_key_value_from_file) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3;
-	    int arg4;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_lookup_key_value_from_file(char const *,char const *,char [],int);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    arg3 = SvPV(ST(2), PL_na);
-
-	    arg4 = (int)SvIV(ST(3));
-	    result =
-		(int)G_lookup_key_value_from_file((char const *)arg1,
-						  (char const *)arg2, arg3,
-						  arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_legal_filename) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_legal_filename(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_legal_filename((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_check_input_output_name) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_check_input_output_name(char const *,char const *,int);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    arg3 = (int)SvIV(ST(2));
-	    result =
-		(int)G_check_input_output_name((char const *)arg1,
-					       (char const *)arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_distance_to_line_tolerance) {
-	{
-	    double arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak
-		    ("Usage: G_set_distance_to_line_tolerance(double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    result = (int)G_set_distance_to_line_tolerance(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_distance2_point_to_line) {
-	{
-	    double arg1;
-	    double arg2;
-	    double arg3;
-	    double arg4;
-	    double arg5;
-	    double arg6;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 6) || (items > 6)) {
-		SWIG_croak
-		    ("Usage: G_distance2_point_to_line(double,double,double,double,double,double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    arg3 = (double)SvNV(ST(2));
-
-	    arg4 = (double)SvNV(ST(3));
-
-	    arg5 = (double)SvNV(ST(4));
-
-	    arg6 = (double)SvNV(ST(5));
-
-	    result =
-		(double)G_distance2_point_to_line(arg1, arg2, arg3, arg4,
-						  arg5, arg6);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_list_hit_return) {
-	{
-	    int arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_set_list_hit_return(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (int)G_set_list_hit_return(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_list_element) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    int (*arg4) (char const *, char const *, char const *) =
-		(int (*)(char const *, char const *, char const *))0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_list_element(char const *,char const *,char const *,int (*)(char const *,char const *,char const *));");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4,
-		     SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char__int,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_list_element. Expected _p_f_p_q_const__char_p_q_const__char_p_q_const__char__int");
-		}
-	    }
-	    result =
-		(int)G_list_element((char const *)arg1, (char const *)arg2,
-				    (char const *)arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_list) {
-	{
-	    int arg1;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    char *arg4 = (char *)0;
-	    char **result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_list(int,char const *,char const *,char const *);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    if (!SvOK((SV *) ST(3)))
-		arg4 = 0;
-	    else
-		arg4 = (char *)SvPV(ST(3), PL_na);
-	    result =
-		(char **)G_list(arg1, (char const *)arg2, (char const *)arg3,
-				(char const *)arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_p_char,
-			 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_free_list) {
-	{
-	    char **arg1 = (char **)0;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_free_list(char **);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_p_char, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_free_list. Expected _p_p_char");
-		}
-	    }
-	    G_free_list(arg1);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lat_format) {
-	{
-	    double arg1;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_lat_format(double,char *);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (int)G_lat_format(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lat_format_string) {
-	{
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_lat_format_string();");
-	    }
-	    result = (char *)G_lat_format_string();
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lon_format) {
-	{
-	    double arg1;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_lon_format(double,char *);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (int)G_lon_format(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lon_format_string) {
-	{
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_lon_format_string();");
-	    }
-	    result = (char *)G_lon_format_string();
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_llres_format) {
-	{
-	    double arg1;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_llres_format(double,char *);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (int)G_llres_format(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_llres_format_string) {
-	{
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_llres_format_string();");
-	    }
-	    result = (char *)G_llres_format_string();
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lat_parts) {
-	{
-	    double arg1;
-	    int *arg2 = (int *)0;
-	    int *arg3 = (int *)0;
-	    double *arg4 = (double *)0;
-	    char *arg5 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_lat_parts(double,int *,int *,double *,char *);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_lat_parts. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_lat_parts. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_lat_parts. Expected _p_double");
-		}
-	    }
-	    if (!SvOK((SV *) ST(4)))
-		arg5 = 0;
-	    else
-		arg5 = (char *)SvPV(ST(4), PL_na);
-	    result = (int)G_lat_parts(arg1, arg2, arg3, arg4, arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lon_parts) {
-	{
-	    double arg1;
-	    int *arg2 = (int *)0;
-	    int *arg3 = (int *)0;
-	    double *arg4 = (double *)0;
-	    char *arg5 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_lon_parts(double,int *,int *,double *,char *);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_lon_parts. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_lon_parts. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_lon_parts. Expected _p_double");
-		}
-	    }
-	    if (!SvOK((SV *) ST(4)))
-		arg5 = 0;
-	    else
-		arg5 = (char *)SvPV(ST(4), PL_na);
-	    result = (int)G_lon_parts(arg1, arg2, arg3, arg4, arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lat_scan) {
-	{
-	    char *arg1 = (char *)0;
-	    double *arg2 = (double *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_lat_scan(char const *,double *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_lat_scan. Expected _p_double");
-		}
-	    }
-	    result = (int)G_lat_scan((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lon_scan) {
-	{
-	    char *arg1 = (char *)0;
-	    double *arg2 = (double *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_lon_scan(char const *,double *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_lon_scan. Expected _p_double");
-		}
-	    }
-	    result = (int)G_lon_scan((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_llres_scan) {
-	{
-	    char *arg1 = (char *)0;
-	    double *arg2 = (double *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_llres_scan(char const *,double *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_llres_scan. Expected _p_double");
-		}
-	    }
-	    result = (int)G_llres_scan((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_location_path) {
-	{
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_location_path();");
-	    }
-	    result = (char *)G_location_path();
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_location) {
-	{
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_location();");
-	    }
-	    result = (char *)G_location();
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__location_path) {
-	{
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G__location_path();");
-	    }
-	    result = (char *)G__location_path();
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__ls) {
-	{
-	    char *arg1 = (char *)0;
-	    int *arg2 = (int *)0;
-	    char **result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G__ls(char const *,int *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G__ls. Expected _p_int");
-		}
-	    }
-	    result = (char **)G__ls((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_p_char,
-			 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ls) {
-	{
-	    char *arg1 = (char *)0;
-	    FILE *arg2 = (FILE *) 0;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_ls(char const *,FILE *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_FILE, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_ls. Expected _p_FILE");
-		}
-	    }
-	    G_ls((char const *)arg1, arg2);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ls_format) {
-	{
-	    char **arg1 = (char **)0;
-	    int arg2;
-	    int arg3;
-	    FILE *arg4 = (FILE *) 0;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_ls_format(char const **,int,int,FILE *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_p_char, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_ls_format. Expected _p_p_char");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    {
-		if (SWIG_ConvertPtr(ST(3), (void **)&arg4, SWIGTYPE_p_FILE, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_ls_format. Expected _p_FILE");
-		}
-	    }
-	    G_ls_format((char const **)arg1, arg2, arg3, arg4);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ludcmp) {
-	{
-	    double **arg1 = (double **)0;
-	    int arg2;
-	    int *arg3 = (int *)0;
-	    double *arg4 = (double *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak("Usage: G_ludcmp(double **,int,int *,double *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_ludcmp. Expected _p_p_double");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_ludcmp. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_ludcmp. Expected _p_double");
-		}
-	    }
-	    result = (int)G_ludcmp(arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lubksb) {
-	{
-	    double **arg1 = (double **)0;
-	    int arg2;
-	    int *arg3 = (int *)0;
-	    double *arg4;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak("Usage: G_lubksb(double **,int,int *,double []);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_lubksb. Expected _p_p_double");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_lubksb. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_lubksb. Expected _p_double");
-		}
-	    }
-	    G_lubksb(arg1, arg2, arg3, arg4);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_lzw_decode) {
-	{
-	    unsigned char *arg1 = (unsigned char *)0;
-	    unsigned int arg2;
-	    unsigned char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: lzw_decode(unsigned char *,unsigned int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of lzw_decode. Expected _p_unsigned_char");
-		}
-	    }
-	    arg2 = (unsigned int)SvUV(ST(1));
-	    result = (unsigned char *)lzw_decode(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result,
-			 SWIGTYPE_p_unsigned_char, 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_lzw_expand) {
-	{
-	    int (*arg1) () = (int (*)())0;
-	    int (*arg2) () = (int (*)())0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: lzw_expand(int (*)(),int (*)());");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_f___int, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of lzw_expand. Expected _p_f___int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_f___int, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of lzw_expand. Expected _p_f___int");
-		}
-	    }
-	    result = (int)lzw_expand(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lzw_nof_read_bytes) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_lzw_nof_read_bytes();");
-	    }
-	    result = (int)G_lzw_nof_read_bytes();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lzw_max_used_bits) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_lzw_max_used_bits();");
-	    }
-	    result = (int)G_lzw_max_used_bits();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lzw_set_bits) {
-	{
-	    int arg1;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_lzw_set_bits(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    G_lzw_set_bits(arg1);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lzw_compress) {
-	{
-	    unsigned char *arg1 = (unsigned char *)0;
-	    unsigned char *arg2 = (unsigned char *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_lzw_compress(unsigned char *,unsigned char *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_lzw_compress. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_lzw_compress. Expected _p_unsigned_char");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_lzw_compress(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lzw_expand) {
-	{
-	    unsigned char *arg1 = (unsigned char *)0;
-	    unsigned char *arg2 = (unsigned char *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_lzw_expand(unsigned char *,unsigned char *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_lzw_expand. Expected _p_unsigned_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_lzw_expand. Expected _p_unsigned_char");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_lzw_expand(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lzw_compress_count_only_array) {
-	{
-	    unsigned char *arg1 = (unsigned char *)0;
-	    int arg2;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_lzw_compress_count_only_array(unsigned char *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_lzw_compress_count_only_array. Expected _p_unsigned_char");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    result = (int)G_lzw_compress_count_only_array(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lzw_compress_count_only_file) {
-	{
-	    int arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_lzw_compress_count_only_file(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (int)G_lzw_compress_count_only_file(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lzw_write) {
-	{
-	    int arg1;
-	    unsigned char *arg2 = (unsigned char *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G_lzw_write(int,unsigned char *,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_lzw_write. Expected _p_unsigned_char");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_lzw_write(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lzw_write_noCompress) {
-	{
-	    int arg1;
-	    unsigned char *arg2 = (unsigned char *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_lzw_write_noCompress(int,unsigned char *,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_lzw_write_noCompress. Expected _p_unsigned_char");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_lzw_write_noCompress(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lzw_test_status) {
-	{
-	    int arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_lzw_test_status(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (int)G_lzw_test_status(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lzw_read2) {
-	{
-	    int arg1;
-	    unsigned char *arg2 = (unsigned char *)0;
-	    int arg3;
-	    int arg4;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_lzw_read2(int,unsigned char *,int,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_lzw_read2. Expected _p_unsigned_char");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    arg4 = (int)SvIV(ST(3));
-	    result = (int)G_lzw_read2(arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lzw_read) {
-	{
-	    int arg1;
-	    unsigned char *arg2 = (unsigned char *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G_lzw_read(int,unsigned char *,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_lzw_read. Expected _p_unsigned_char");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_lzw_read(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lzw_transfer_compress) {
-	{
-	    int arg1;
-	    int arg2;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G_lzw_transfer_compress(int,int,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_lzw_transfer_compress(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lzw_transfer_expand) {
-	{
-	    int arg1;
-	    int arg2;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G_lzw_transfer_expand(int,int,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_lzw_transfer_expand(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__machine_name) {
-	{
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G__machine_name();");
-	    }
-	    result = (char *)G__machine_name();
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_ask_colors) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    struct Colors *arg3 = (struct Colors *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_ask_colors(char const *,char const *,struct Colors *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Colors, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_ask_colors. Expected _p_Colors");
-		}
-	    }
-	    result =
-		(int)G_ask_colors((char const *)arg1, (char const *)arg2,
-				  arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__make_location) {
-	{
-	    char *arg1 = (char *)0;
-	    struct Cell_head *arg2 = (struct Cell_head *)0;
-	    struct Key_Value *arg3 = (struct Key_Value *)0;
-	    struct Key_Value *arg4 = (struct Key_Value *)0;
-	    FILE *arg5 = (FILE *) 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G__make_location(char const *,struct Cell_head *,struct Key_Value *,struct Key_Value *,FILE *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G__make_location. Expected _p_Cell_head");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Key_Value, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G__make_location. Expected _p_Key_Value");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_Key_Value, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G__make_location. Expected _p_Key_Value");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(4), (void **)&arg5, SWIGTYPE_p_FILE, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G__make_location. Expected _p_FILE");
-		}
-	    }
-	    result =
-		(int)G__make_location((char const *)arg1, arg2, arg3, arg4,
-				      arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_make_location) {
-	{
-	    char *arg1 = (char *)0;
-	    struct Cell_head *arg2 = (struct Cell_head *)0;
-	    struct Key_Value *arg3 = (struct Key_Value *)0;
-	    struct Key_Value *arg4 = (struct Key_Value *)0;
-	    FILE *arg5 = (FILE *) 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_make_location(char const *,struct Cell_head *,struct Key_Value *,struct Key_Value *,FILE *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_make_location. Expected _p_Cell_head");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Key_Value, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_make_location. Expected _p_Key_Value");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_Key_Value, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_make_location. Expected _p_Key_Value");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(4), (void **)&arg5, SWIGTYPE_p_FILE, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_make_location. Expected _p_FILE");
-		}
-	    }
-	    result =
-		(int)G_make_location((char const *)arg1, arg2, arg3, arg4,
-				     arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_compare_projections) {
-	{
-	    struct Key_Value *arg1 = (struct Key_Value *)0;
-	    struct Key_Value *arg2 = (struct Key_Value *)0;
-	    struct Key_Value *arg3 = (struct Key_Value *)0;
-	    struct Key_Value *arg4 = (struct Key_Value *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_compare_projections(struct Key_Value const *,struct Key_Value const *,struct Key_Value const *,struct Key_Value const *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Key_Value, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_compare_projections. Expected _p_Key_Value");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Key_Value, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_compare_projections. Expected _p_Key_Value");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Key_Value, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_compare_projections. Expected _p_Key_Value");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_Key_Value, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_compare_projections. Expected _p_Key_Value");
-		}
-	    }
-	    result =
-		(int)G_compare_projections((struct Key_Value const *)arg1,
-					   (struct Key_Value const *)arg2,
-					   (struct Key_Value const *)arg3,
-					   (struct Key_Value const *)arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__make_mapset) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G__make_mapset(gisdbase_name,location_name,mapset_name);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    result =
-		(int)G__make_mapset((char const *)arg1, (char const *)arg2,
-				    (char const *)arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_make_mapset) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_make_mapset(gisdbase_name,location_name,mapset_name);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    result =
-		(int)G_make_mapset((char const *)arg1, (char const *)arg2,
-				   (char const *)arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_tolcase) {
-	{
-	    char *arg1 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_tolcase(char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (char *)G_tolcase(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_toucase) {
-	{
-	    char *arg1 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_toucase(char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (char *)G_toucase(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_mapset) {
-	{
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_mapset();");
-	    }
-	    result = (char *)G_mapset();
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__mapset) {
-	{
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G__mapset();");
-	    }
-	    result = (char *)G__mapset();
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__make_mapset_element) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G__make_mapset_element(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G__make_mapset_element((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__make_mapset_element_misc) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G__make_mapset_element_misc(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result =
-		(int)G__make_mapset_element_misc((char const *)arg1,
-						 (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__mapset_permissions) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G__mapset_permissions(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G__mapset_permissions((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__mapset_permissions2) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G__mapset_permissions2(char const *,char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    result =
-		(int)G__mapset_permissions2((char const *)arg1,
-					    (char const *)arg2,
-					    (char const *)arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__mapset_name) {
-	{
-	    int arg1;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G__mapset_name(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (char *)G__mapset_name(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__create_alt_search_path) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G__create_alt_search_path();");
-	    }
-	    result = (int)G__create_alt_search_path();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__switch_search_path) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G__switch_search_path();");
-	    }
-	    result = (int)G__switch_search_path();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_reset_mapsets) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_reset_mapsets();");
-	    }
-	    result = (int)G_reset_mapsets();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_available_mapsets) {
-	{
-	    char **result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_available_mapsets();");
-	    }
-	    result = (char **)G_available_mapsets();
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_p_char,
-			 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_add_mapset_to_search_path) {
-	{
-	    char *arg1 = (char *)0;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_add_mapset_to_search_path(mapset);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    G_add_mapset_to_search_path((char const *)arg1);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_mask_info) {
-	{
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_mask_info();");
-	    }
-	    result = (char *)G_mask_info();
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__mask_info) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G__mask_info(char *,char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (int)G__mask_info(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_maskfd) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_maskfd();");
-	    }
-	    result = (int)G_maskfd();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_myname) {
-	{
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_myname();");
-	    }
-	    result = (char *)G_myname();
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_color_values) {
-	{
-	    char *arg1 = (char *)0;
-	    float *arg2 = (float *)0;
-	    float *arg3 = (float *)0;
-	    float *arg4 = (float *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_color_values(char const *,float *,float *,float *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_float, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_color_values. Expected _p_float");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_float, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_color_values. Expected _p_float");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_float, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_color_values. Expected _p_float");
-		}
-	    }
-	    result =
-		(int)G_color_values((char const *)arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_color_name) {
-	{
-	    int arg1;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_color_name(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (char *)G_color_name(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_newlines_to_spaces) {
-	{
-	    char *arg1 = (char *)0;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_newlines_to_spaces(char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    G_newlines_to_spaces(arg1);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__name_in_mapset) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G__name_in_mapset(char const *,char *,char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    result = (int)G__name_in_mapset((char const *)arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__name_is_fully_qualified) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G__name_is_fully_qualified(char const *,char *,char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    result =
-		(int)G__name_is_fully_qualified((char const *)arg1, arg2,
-						arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fully_qualified_name) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_fully_qualified_name(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result =
-		(char *)G_fully_qualified_name((char const *)arg1,
-					       (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__init_null_patterns) {
-	{
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G__init_null_patterns();");
-	    }
-	    G__init_null_patterns();
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__set_null_value) {
-	{
-	    void *arg1 = (void *)0;
-	    int arg2;
-	    int arg3;
-	    RASTER_MAP_TYPE arg4;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G__set_null_value(void *,int,int,RASTER_MAP_TYPE);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G__set_null_value. Expected _p_void");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G__set_null_value. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg4 = *argp;
-	    }
-	    G__set_null_value(arg1, arg2, arg3, arg4);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_null_value) {
-	{
-	    void *arg1 = (void *)0;
-	    int arg2;
-	    RASTER_MAP_TYPE arg3;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_set_null_value(void *,int,RASTER_MAP_TYPE);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_set_null_value. Expected _p_void");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_set_null_value. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg3 = *argp;
-	    }
-	    G_set_null_value(arg1, arg2, arg3);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_c_null_value) {
-	{
-	    CELL *arg1 = (CELL *) 0;
-	    int arg2;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_set_c_null_value(CELL *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_set_c_null_value. Expected _p_CELL");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    G_set_c_null_value(arg1, arg2);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_f_null_value) {
-	{
-	    FCELL *arg1 = (FCELL *) 0;
-	    int arg2;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_set_f_null_value(FCELL *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_set_f_null_value. Expected _p_FCELL");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    G_set_f_null_value(arg1, arg2);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_d_null_value) {
-	{
-	    DCELL *arg1 = (DCELL *) 0;
-	    int arg2;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_set_d_null_value(DCELL *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_set_d_null_value. Expected _p_DCELL");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    G_set_d_null_value(arg1, arg2);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_is_null_value) {
-	{
-	    void *arg1 = (void *)0;
-	    RASTER_MAP_TYPE arg2;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_is_null_value(void const *,RASTER_MAP_TYPE);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_is_null_value. Expected _p_void");
-		}
-	    }
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_is_null_value. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg2 = *argp;
-	    }
-	    result = (int)G_is_null_value((void const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_is_c_null_value) {
-	{
-	    CELL *arg1 = (CELL *) 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_is_c_null_value(CELL const *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_is_c_null_value. Expected _p_CELL");
-		}
-	    }
-	    result = (int)G_is_c_null_value((CELL const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_is_f_null_value) {
-	{
-	    FCELL *arg1 = (FCELL *) 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_is_f_null_value(FCELL const *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_is_f_null_value. Expected _p_FCELL");
-		}
-	    }
-	    result = (int)G_is_f_null_value((FCELL const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_is_d_null_value) {
-	{
-	    DCELL *arg1 = (DCELL *) 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_is_d_null_value(DCELL const *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_is_d_null_value. Expected _p_DCELL");
-		}
-	    }
-	    result = (int)G_is_d_null_value((DCELL const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_insert_null_values) {
-	{
-	    void *arg1 = (void *)0;
-	    char *arg2 = (char *)0;
-	    int arg3;
-	    RASTER_MAP_TYPE arg4;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_insert_null_values(void *,char *,int,RASTER_MAP_TYPE);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_insert_null_values. Expected _p_void");
-		}
-	    }
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    arg3 = (int)SvIV(ST(2));
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_insert_null_values. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg4 = *argp;
-	    }
-	    result = (int)G_insert_null_values(arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_insert_c_null_values) {
-	{
-	    CELL *arg1 = (CELL *) 0;
-	    char *arg2 = (char *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_insert_c_null_values(CELL *,char *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_insert_c_null_values. Expected _p_CELL");
-		}
-	    }
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_insert_c_null_values(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_insert_f_null_values) {
-	{
-	    FCELL *arg1 = (FCELL *) 0;
-	    char *arg2 = (char *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_insert_f_null_values(FCELL *,char *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_insert_f_null_values. Expected _p_FCELL");
-		}
-	    }
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_insert_f_null_values(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_insert_d_null_values) {
-	{
-	    DCELL *arg1 = (DCELL *) 0;
-	    char *arg2 = (char *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_insert_d_null_values(DCELL *,char *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_insert_d_null_values. Expected _p_DCELL");
-		}
-	    }
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_insert_d_null_values(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__check_null_bit) {
-	{
-	    unsigned char *arg1 = (unsigned char *)0;
-	    int arg2;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G__check_null_bit(unsigned char const *,int,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G__check_null_bit. Expected _p_unsigned_char");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    result =
-		(int)G__check_null_bit((unsigned char const *)arg1, arg2,
-				       arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__set_flags_from_01_random) {
-	{
-	    char *arg1 = (char *)0;
-	    unsigned char *arg2 = (unsigned char *)0;
-	    int arg3;
-	    int arg4;
-	    int arg5;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G__set_flags_from_01_random(char const *,unsigned char *,int,int,int);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G__set_flags_from_01_random. Expected _p_unsigned_char");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    arg4 = (int)SvIV(ST(3));
-	    arg5 = (int)SvIV(ST(4));
-	    result =
-		(int)G__set_flags_from_01_random((char const *)arg1, arg2,
-						 arg3, arg4, arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__convert_01_flags) {
-	{
-	    char *arg1 = (char *)0;
-	    unsigned char *arg2 = (unsigned char *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G__convert_01_flags(char const *,unsigned char *,int);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G__convert_01_flags. Expected _p_unsigned_char");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G__convert_01_flags((char const *)arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__convert_flags_01) {
-	{
-	    char *arg1 = (char *)0;
-	    unsigned char *arg2 = (unsigned char *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G__convert_flags_01(char *,unsigned char const *,int);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G__convert_flags_01. Expected _p_unsigned_char");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result =
-		(int)G__convert_flags_01(arg1, (unsigned char const *)arg2,
-					 arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__init_null_bits) {
-	{
-	    unsigned char *arg1 = (unsigned char *)0;
-	    int arg2;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G__init_null_bits(unsigned char *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G__init_null_bits. Expected _p_unsigned_char");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    result = (int)G__init_null_bits(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_open_new) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_open_new(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (int)G_open_new((char const *)arg1, (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_open_old) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_open_old(char const *,char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    result =
-		(int)G_open_old((char const *)arg1, (char const *)arg2,
-				(char const *)arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_open_update) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_open_update(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result =
-		(int)G_open_update((char const *)arg1, (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fopen_new) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    FILE *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_fopen_new(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result =
-		(FILE *) G_fopen_new((char const *)arg1, (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_FILE, 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fopen_old) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    FILE *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_fopen_old(char const *,char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    result =
-		(FILE *) G_fopen_old((char const *)arg1, (char const *)arg2,
-				     (char const *)arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_FILE, 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fopen_append) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    FILE *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_fopen_append(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result =
-		(FILE *) G_fopen_append((char const *)arg1,
-					(char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_FILE, 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fopen_modify) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    FILE *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_fopen_modify(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result =
-		(FILE *) G_fopen_modify((char const *)arg1,
-					(char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_FILE, 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_open_new_misc) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_open_new_misc(char const *,char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    result =
-		(int)G_open_new_misc((char const *)arg1, (char const *)arg2,
-				     (char const *)arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_open_old_misc) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    char *arg4 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_open_old_misc(char const *,char const *,char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    if (!SvOK((SV *) ST(3)))
-		arg4 = 0;
-	    else
-		arg4 = (char *)SvPV(ST(3), PL_na);
-	    result =
-		(int)G_open_old_misc((char const *)arg1, (char const *)arg2,
-				     (char const *)arg3, (char const *)arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_open_update_misc) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_open_update_misc(char const *,char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    result =
-		(int)G_open_update_misc((char const *)arg1,
-					(char const *)arg2,
-					(char const *)arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fopen_new_misc) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    FILE *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_fopen_new_misc(char const *,char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    result =
-		(FILE *) G_fopen_new_misc((char const *)arg1,
-					  (char const *)arg2,
-					  (char const *)arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_FILE, 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fopen_old_misc) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    char *arg4 = (char *)0;
-	    FILE *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_fopen_old_misc(char const *,char const *,char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    if (!SvOK((SV *) ST(3)))
-		arg4 = 0;
-	    else
-		arg4 = (char *)SvPV(ST(3), PL_na);
-	    result =
-		(FILE *) G_fopen_old_misc((char const *)arg1,
-					  (char const *)arg2,
-					  (char const *)arg3,
-					  (char const *)arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_FILE, 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fopen_append_misc) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    FILE *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_fopen_append_misc(char const *,char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    result =
-		(FILE *) G_fopen_append_misc((char const *)arg1,
-					     (char const *)arg2,
-					     (char const *)arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_FILE, 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_fopen_modify_misc) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    FILE *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_fopen_modify_misc(char const *,char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    result =
-		(FILE *) G_fopen_modify_misc((char const *)arg1,
-					     (char const *)arg2,
-					     (char const *)arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_FILE, 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_open_cell_old) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_open_cell_old(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result =
-		(int)G_open_cell_old((char const *)arg1, (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__open_cell_old) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G__open_cell_old(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result =
-		(int)G__open_cell_old((char const *)arg1, (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_open_cell_new) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_open_cell_new(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_open_cell_new((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_open_cell_new_random) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_open_cell_new_random(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_open_cell_new_random((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_open_cell_new_uncompressed) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak
-		    ("Usage: G_open_cell_new_uncompressed(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_open_cell_new_uncompressed((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_want_histogram) {
-	{
-	    int arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_want_histogram(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (int)G_want_histogram(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_cell_format) {
-	{
-	    int arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_set_cell_format(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (int)G_set_cell_format(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_cellvalue_format) {
-	{
-	    CELL arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_cellvalue_format(CELL);");
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(0), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_cellvalue_format. Expected _p_CELL");
-		}
-		arg1 = *argp;
-	    }
-	    result = (int)G_cellvalue_format(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_open_fp_cell_new) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_open_fp_cell_new(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_open_fp_cell_new((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_open_fp_cell_new_uncompressed) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak
-		    ("Usage: G_open_fp_cell_new_uncompressed(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_open_fp_cell_new_uncompressed((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__reallocate_work_buf) {
-	{
-	    int arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G__reallocate_work_buf(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (int)G__reallocate_work_buf(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__reallocate_null_buf) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G__reallocate_null_buf();");
-	    }
-	    result = (int)G__reallocate_null_buf();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__reallocate_mask_buf) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G__reallocate_mask_buf();");
-	    }
-	    result = (int)G__reallocate_mask_buf();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__reallocate_temp_buf) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G__reallocate_temp_buf();");
-	    }
-	    result = (int)G__reallocate_temp_buf();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_fp_type) {
-	{
-	    RASTER_MAP_TYPE arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_set_fp_type(RASTER_MAP_TYPE);");
-	    }
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_set_fp_type. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg1 = *argp;
-	    }
-	    result = (int)G_set_fp_type(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_raster_map_is_fp) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_raster_map_is_fp(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result =
-		(int)G_raster_map_is_fp((char const *)arg1,
-					(char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_raster_map_type) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    RASTER_MAP_TYPE result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_raster_map_type(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result =
-		G_raster_map_type((char const *)arg1, (char const *)arg2);
-
-	    {
-		RASTER_MAP_TYPE *resultobj =
-		    (RASTER_MAP_TYPE *) malloc(sizeof(RASTER_MAP_TYPE));
-		memmove(resultobj, &result, sizeof(RASTER_MAP_TYPE));
-		ST(argvi) = sv_newmortal();
-		SWIG_MakePtr(ST(argvi++), (void *)resultobj,
-			     SWIGTYPE_p_RASTER_MAP_TYPE, 0 | SWIG_OWNER);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_raster_map_type2) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    RASTER_MAP_TYPE result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_raster_map_type2(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result =
-		G_raster_map_type2((char const *)arg1, (char const *)arg2);
-
-	    {
-		RASTER_MAP_TYPE *resultobj =
-		    (RASTER_MAP_TYPE *) malloc(sizeof(RASTER_MAP_TYPE));
-		memmove(resultobj, &result, sizeof(RASTER_MAP_TYPE));
-		ST(argvi) = sv_newmortal();
-		SWIG_MakePtr(ST(argvi++), (void *)resultobj,
-			     SWIGTYPE_p_RASTER_MAP_TYPE, 0 | SWIG_OWNER);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__check_fp_type) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    RASTER_MAP_TYPE result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G__check_fp_type(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = G__check_fp_type((char const *)arg1, (char const *)arg2);
-
-	    {
-		RASTER_MAP_TYPE *resultobj =
-		    (RASTER_MAP_TYPE *) malloc(sizeof(RASTER_MAP_TYPE));
-		memmove(resultobj, &result, sizeof(RASTER_MAP_TYPE));
-		ST(argvi) = sv_newmortal();
-		SWIG_MakePtr(ST(argvi++), (void *)resultobj,
-			     SWIGTYPE_p_RASTER_MAP_TYPE, 0 | SWIG_OWNER);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_raster_map_type) {
-	{
-	    int arg1;
-	    RASTER_MAP_TYPE result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_get_raster_map_type(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = G_get_raster_map_type(arg1);
-
-	    {
-		RASTER_MAP_TYPE *resultobj =
-		    (RASTER_MAP_TYPE *) malloc(sizeof(RASTER_MAP_TYPE));
-		memmove(resultobj, &result, sizeof(RASTER_MAP_TYPE));
-		ST(argvi) = sv_newmortal();
-		SWIG_MakePtr(ST(argvi++), (void *)resultobj,
-			     SWIGTYPE_p_RASTER_MAP_TYPE, 0 | SWIG_OWNER);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_open_raster_new) {
-	{
-	    char *arg1 = (char *)0;
-	    RASTER_MAP_TYPE arg2;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_open_raster_new(char const *,RASTER_MAP_TYPE);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_open_raster_new. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg2 = *argp;
-	    }
-	    result = (int)G_open_raster_new((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_open_raster_new_uncompressed) {
-	{
-	    char *arg1 = (char *)0;
-	    RASTER_MAP_TYPE arg2;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_open_raster_new_uncompressed(char const *,RASTER_MAP_TYPE);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_open_raster_new_uncompressed. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg2 = *argp;
-	    }
-	    result =
-		(int)G_open_raster_new_uncompressed((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_quant_rules) {
-	{
-	    int arg1;
-	    struct Quant *arg2 = (struct Quant *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_set_quant_rules(int,struct Quant *);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Quant, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_set_quant_rules. Expected _p_Quant");
-		}
-	    }
-	    result = (int)G_set_quant_rules(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_disable_interactive) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_disable_interactive();");
-	    }
-	    result = (int)G_disable_interactive();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_define_module) {
-	{
-	    struct GModule *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_define_module();");
-	    }
-	    result = (struct GModule *)G_define_module();
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_GModule,
-			 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_define_flag) {
-	{
-	    struct Flag *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_define_flag();");
-	    }
-	    result = (struct Flag *)G_define_flag();
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_Flag, 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_define_option) {
-	{
-	    struct Option *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_define_option();");
-	    }
-	    result = (struct Option *)G_define_option();
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_Option,
-			 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_define_standard_option) {
-	{
-	    int arg1;
-	    struct Option *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_define_standard_option(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (struct Option *)G_define_standard_option(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_Option,
-			 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_parser) {
-	{
-	    int arg1;
-	    char **arg2 = (char **)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_parser(int,char **);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_p_char, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_parser. Expected _p_p_char");
-		}
-	    }
-	    result = (int)G_parser(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_usage) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_usage();");
-	    }
-	    result = (int)G_usage();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_recreate_command) {
-	{
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_recreate_command();");
-	    }
-	    result = (char *)G_recreate_command();
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_mkdir) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_mkdir(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_mkdir((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_is_dirsep) {
-	{
-	    char arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_is_dirsep(char);");
-	    }
-	    arg1 = (char)*SvPV(ST(0), PL_na);
-	    result = (int)G_is_dirsep(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_is_absolute_path) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_is_absolute_path(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_is_absolute_path((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_convert_dirseps_to_host) {
-	{
-	    char *arg1 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_convert_dirseps_to_host(char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (char *)G_convert_dirseps_to_host(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_convert_dirseps_from_host) {
-	{
-	    char *arg1 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_convert_dirseps_from_host(char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (char *)G_convert_dirseps_from_host(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_lstat) {
-	{
-	    char *arg1 = (char *)0;
-	    struct stat *arg2 = (struct stat *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_lstat(char const *,struct stat *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_stat, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_lstat. Expected _p_stat");
-		}
-	    }
-	    result = (int)G_lstat((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_stat) {
-	{
-	    char *arg1 = (char *)0;
-	    struct stat *arg2 = (struct stat *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_stat(char const *,struct stat *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_stat, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_stat. Expected _p_stat");
-		}
-	    }
-	    result = (int)G_stat((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_percent) {
-	{
-	    long arg1;
-	    long arg2;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G_percent(long,long,int);");
-	    }
-	    arg1 = (long)SvIV(ST(0));
-	    arg2 = (long)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_percent(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_percent2) {
-	{
-	    long arg1;
-	    long arg2;
-	    int arg3;
-	    FILE *arg4 = (FILE *) 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak("Usage: G_percent2(long,long,int,FILE *);");
-	    }
-	    arg1 = (long)SvIV(ST(0));
-	    arg2 = (long)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    {
-		if (SWIG_ConvertPtr(ST(3), (void **)&arg4, SWIGTYPE_p_FILE, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_percent2. Expected _p_FILE");
-		}
-	    }
-	    result = (int)G_percent2(arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_percent_reset) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_percent_reset();");
-	    }
-	    result = (int)G_percent_reset();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_setup_plot) {
-	{
-	    double arg1;
-	    double arg2;
-	    double arg3;
-	    double arg4;
-	    int (*arg5) (int, int) = (int (*)(int, int))0;
-	    int (*arg6) (int, int) = (int (*)(int, int))0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 6) || (items > 6)) {
-		SWIG_croak
-		    ("Usage: G_setup_plot(double,double,double,double,int (*)(int,int),int (*)(int,int));");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    arg3 = (double)SvNV(ST(2));
-
-	    arg4 = (double)SvNV(ST(3));
-
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&arg5, SWIGTYPE_p_f_int_int__int,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_setup_plot. Expected _p_f_int_int__int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(5), (void **)&arg6, SWIGTYPE_p_f_int_int__int,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 6 of G_setup_plot. Expected _p_f_int_int__int");
-		}
-	    }
-	    result = (int)G_setup_plot(arg1, arg2, arg3, arg4, arg5, arg6);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_setup_fill) {
-	{
-	    int arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_setup_fill(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (int)G_setup_fill(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_plot_where_xy) {
-	{
-	    double arg1;
-	    double arg2;
-	    int *arg3 = (int *)0;
-	    int *arg4 = (int *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_plot_where_xy(double,double,int *,int *);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_plot_where_xy. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(3), (void **)&arg4, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_plot_where_xy. Expected _p_int");
-		}
-	    }
-	    result = (int)G_plot_where_xy(arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_plot_where_en) {
-	{
-	    int arg1;
-	    int arg2;
-	    double *arg3 = (double *)0;
-	    double *arg4 = (double *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_plot_where_en(int,int,double *,double *);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    arg2 = (int)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_plot_where_en. Expected _p_double");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_plot_where_en. Expected _p_double");
-		}
-	    }
-	    result = (int)G_plot_where_en(arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_plot_point) {
-	{
-	    double arg1;
-	    double arg2;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_plot_point(double,double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    result = (int)G_plot_point(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_plot_line) {
-	{
-	    double arg1;
-	    double arg2;
-	    double arg3;
-	    double arg4;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_plot_line(double,double,double,double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    arg3 = (double)SvNV(ST(2));
-
-	    arg4 = (double)SvNV(ST(3));
-
-	    result = (int)G_plot_line(arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_plot_line2) {
-	{
-	    double arg1;
-	    double arg2;
-	    double arg3;
-	    double arg4;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_plot_line2(double,double,double,double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    arg3 = (double)SvNV(ST(2));
-
-	    arg4 = (double)SvNV(ST(3));
-
-	    result = (int)G_plot_line2(arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_plot_polygon) {
-	{
-	    double *arg1 = (double *)0;
-	    double *arg2 = (double *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_plot_polygon(double const *,double const *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_plot_polygon. Expected _p_double");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_plot_polygon. Expected _p_double");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result =
-		(int)G_plot_polygon((double const *)arg1,
-				    (double const *)arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_plot_area) {
-	{
-	    double **arg1 = (double **)0;
-	    double **arg2 = (double **)0;
-	    int *arg3 = (int *)0;
-	    int arg4;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_plot_area(double *const *,double *const *,int *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_plot_area. Expected _p_p_double");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_plot_area. Expected _p_p_double");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_plot_area. Expected _p_int");
-		}
-	    }
-	    arg4 = (int)SvIV(ST(3));
-	    result =
-		(int)G_plot_area((double *const *)arg1, (double *const *)arg2,
-				 arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_plot_fx) {
-	{
-	    double (*arg1) (double) = (double (*)(double))0;
-	    double arg2;
-	    double arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_plot_fx(double (*)(double),double,double);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_f_double__double,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_plot_fx. Expected _p_f_double__double");
-		}
-	    }
-	    arg2 = (double)SvNV(ST(1));
-
-	    arg3 = (double)SvNV(ST(2));
-
-	    result = (int)G_plot_fx(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_plot_icon) {
-	{
-	    double arg1;
-	    double arg2;
-	    int arg3;
-	    double arg4;
-	    double arg5;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_plot_icon(double,double,int,double,double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    arg3 = (int)SvIV(ST(2));
-	    arg4 = (double)SvNV(ST(3));
-
-	    arg5 = (double)SvNV(ST(4));
-
-	    result = (int)G_plot_icon(arg1, arg2, arg3, arg4, arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_pole_in_polygon) {
-	{
-	    double *arg1 = (double *)0;
-	    double *arg2 = (double *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_pole_in_polygon(double const *,double const *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_pole_in_polygon. Expected _p_double");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_pole_in_polygon. Expected _p_double");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result =
-		(int)G_pole_in_polygon((double const *)arg1,
-				       (double const *)arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_popen) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    FILE *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_popen(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (FILE *) G_popen((char const *)arg1, (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_FILE, 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_pclose) {
-	{
-	    FILE *arg1 = (FILE *) 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_pclose(FILE *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_FILE, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_pclose. Expected _p_FILE");
-		}
-	    }
-	    result = (int)G_pclose(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_program_name) {
-	{
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_program_name();");
-	    }
-	    result = (char *)G_program_name();
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_program_name) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_set_program_name(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_set_program_name((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_projection) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_projection();");
-	    }
-	    result = (int)G_projection();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__projection_units) {
-	{
-	    int arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G__projection_units(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (int)G__projection_units(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__unit_name) {
-	{
-	    int arg1;
-	    int arg2;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G__unit_name(int,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    arg2 = (int)SvIV(ST(1));
-	    result = (char *)G__unit_name(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__projection_name) {
-	{
-	    int arg1;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G__projection_name(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (char *)G__projection_name(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_database_unit_name) {
-	{
-	    int arg1;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_database_unit_name(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (char *)G_database_unit_name(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_database_projection_name) {
-	{
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_database_projection_name();");
-	    }
-	    result = (char *)G_database_projection_name();
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_database_units_to_meters_factor) {
-	{
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_database_units_to_meters_factor();");
-	    }
-	    result = (double)G_database_units_to_meters_factor();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_database_datum_name) {
-	{
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_database_datum_name();");
-	    }
-	    result = (char *)G_database_datum_name();
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_database_ellipse_name) {
-	{
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_database_ellipse_name();");
-	    }
-	    result = (char *)G_database_ellipse_name();
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_put_cellhd) {
-	{
-	    char *arg1 = (char *)0;
-	    struct Cell_head *arg2 = (struct Cell_head *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_put_cellhd(char const *,struct Cell_head *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_put_cellhd. Expected _p_Cell_head");
-		}
-	    }
-	    result = (int)G_put_cellhd((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_zeros_r_nulls) {
-	{
-	    int arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_zeros_r_nulls(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (int)G_zeros_r_nulls(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_put_map_row) {
-	{
-	    int arg1;
-	    CELL *arg2 = (CELL *) 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_put_map_row(int,CELL const *);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_put_map_row. Expected _p_CELL");
-		}
-	    }
-	    result = (int)G_put_map_row(arg1, (CELL const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_put_map_row_random) {
-	{
-	    int arg1;
-	    CELL *arg2 = (CELL *) 0;
-	    int arg3;
-	    int arg4;
-	    int arg5;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_put_map_row_random(int,CELL const *,int,int,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_put_map_row_random. Expected _p_CELL");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    arg4 = (int)SvIV(ST(3));
-	    arg5 = (int)SvIV(ST(4));
-	    result =
-		(int)G_put_map_row_random(arg1, (CELL const *)arg2, arg3,
-					  arg4, arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__put_null_value_row) {
-	{
-	    int arg1;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G__put_null_value_row(int,char const *);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (int)G__put_null_value_row(arg1, (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_put_raster_row) {
-	{
-	    int arg1;
-	    void *arg2 = (void *)0;
-	    RASTER_MAP_TYPE arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_put_raster_row(int,void const *,RASTER_MAP_TYPE);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_put_raster_row. Expected _p_void");
-		}
-	    }
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_put_raster_row. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg3 = *argp;
-	    }
-	    result = (int)G_put_raster_row(arg1, (void const *)arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_put_c_raster_row) {
-	{
-	    int arg1;
-	    CELL *arg2 = (CELL *) 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_put_c_raster_row(int,CELL const *);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_put_c_raster_row. Expected _p_CELL");
-		}
-	    }
-	    result = (int)G_put_c_raster_row(arg1, (CELL const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_put_f_raster_row) {
-	{
-	    int arg1;
-	    FCELL *arg2 = (FCELL *) 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_put_f_raster_row(int,FCELL const *);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_FCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_put_f_raster_row. Expected _p_FCELL");
-		}
-	    }
-	    result = (int)G_put_f_raster_row(arg1, (FCELL const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_put_d_raster_row) {
-	{
-	    int arg1;
-	    DCELL *arg2 = (DCELL *) 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_put_d_raster_row(int,DCELL const *);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_put_d_raster_row. Expected _p_DCELL");
-		}
-	    }
-	    result = (int)G_put_d_raster_row(arg1, (DCELL const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__write_data) {
-	{
-	    int arg1;
-	    int arg2;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G__write_data(int,int,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G__write_data(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__write_data_compressed) {
-	{
-	    int arg1;
-	    int arg2;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G__write_data_compressed(int,int,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G__write_data_compressed(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__open_null_write) {
-	{
-	    int arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G__open_null_write(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (int)G__open_null_write(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__write_null_bits) {
-	{
-	    int arg1;
-	    unsigned char *arg2 = (unsigned char *)0;
-	    int arg3;
-	    int arg4;
-	    int arg5;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G__write_null_bits(int,unsigned char const *,int,int,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_unsigned_char,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G__write_null_bits. Expected _p_unsigned_char");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    arg4 = (int)SvIV(ST(3));
-	    arg5 = (int)SvIV(ST(4));
-	    result =
-		(int)G__write_null_bits(arg1, (unsigned char const *)arg2,
-					arg3, arg4, arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_put_cell_title) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_put_cell_title(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result =
-		(int)G_put_cell_title((char const *)arg1, (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_put_window) {
-	{
-	    struct Cell_head *arg1 = (struct Cell_head *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_put_window(struct Cell_head const *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_put_window. Expected _p_Cell_head");
-		}
-	    }
-	    result = (int)G_put_window((struct Cell_head const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__put_window) {
-	{
-	    struct Cell_head *arg1 = (struct Cell_head *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G__put_window(struct Cell_head const *,char *,char *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G__put_window. Expected _p_Cell_head");
-		}
-	    }
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    result =
-		(int)G__put_window((struct Cell_head const *)arg1, arg2,
-				   arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_putenv) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_putenv(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    G_putenv((char const *)arg1, (char const *)arg2);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_quant_clear) {
-	{
-	    struct Quant *arg1 = (struct Quant *)0;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_quant_clear(struct Quant *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Quant, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_quant_clear. Expected _p_Quant");
-		}
-	    }
-	    G_quant_clear(arg1);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_quant_free) {
-	{
-	    struct Quant *arg1 = (struct Quant *)0;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_quant_free(struct Quant *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Quant, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_quant_free. Expected _p_Quant");
-		}
-	    }
-	    G_quant_free(arg1);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__quant_organize_fp_lookup) {
-	{
-	    struct Quant *arg1 = (struct Quant *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak
-		    ("Usage: G__quant_organize_fp_lookup(struct Quant *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Quant, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G__quant_organize_fp_lookup. Expected _p_Quant");
-		}
-	    }
-	    result = (int)G__quant_organize_fp_lookup(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_quant_init) {
-	{
-	    struct Quant *arg1 = (struct Quant *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_quant_init(struct Quant *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Quant, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_quant_init. Expected _p_Quant");
-		}
-	    }
-	    result = (int)G_quant_init(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_quant_is_truncate) {
-	{
-	    struct Quant *arg1 = (struct Quant *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak
-		    ("Usage: G_quant_is_truncate(struct Quant const *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Quant, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_quant_is_truncate. Expected _p_Quant");
-		}
-	    }
-	    result = (int)G_quant_is_truncate((struct Quant const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_quant_is_round) {
-	{
-	    struct Quant *arg1 = (struct Quant *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_quant_is_round(struct Quant const *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Quant, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_quant_is_round. Expected _p_Quant");
-		}
-	    }
-	    result = (int)G_quant_is_round((struct Quant const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_quant_truncate) {
-	{
-	    struct Quant *arg1 = (struct Quant *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_quant_truncate(struct Quant *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Quant, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_quant_truncate. Expected _p_Quant");
-		}
-	    }
-	    result = (int)G_quant_truncate(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_quant_round) {
-	{
-	    struct Quant *arg1 = (struct Quant *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_quant_round(struct Quant *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Quant, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_quant_round. Expected _p_Quant");
-		}
-	    }
-	    result = (int)G_quant_round(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_quant_get_limits) {
-	{
-	    struct Quant *arg1 = (struct Quant *)0;
-	    DCELL *arg2 = (DCELL *) 0;
-	    DCELL *arg3 = (DCELL *) 0;
-	    CELL *arg4 = (CELL *) 0;
-	    CELL *arg5 = (CELL *) 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_quant_get_limits(struct Quant const *,DCELL *,DCELL *,CELL *,CELL *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Quant, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_quant_get_limits. Expected _p_Quant");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_quant_get_limits. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_quant_get_limits. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(3), (void **)&arg4, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_quant_get_limits. Expected _p_CELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(4), (void **)&arg5, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_quant_get_limits. Expected _p_CELL");
-		}
-	    }
-	    result =
-		(int)G_quant_get_limits((struct Quant const *)arg1, arg2,
-					arg3, arg4, arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_quant_nof_rules) {
-	{
-	    struct Quant *arg1 = (struct Quant *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_quant_nof_rules(struct Quant const *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Quant, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_quant_nof_rules. Expected _p_Quant");
-		}
-	    }
-	    result = (int)G_quant_nof_rules((struct Quant const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_quant_get_ith_rule) {
-	{
-	    struct Quant *arg1 = (struct Quant *)0;
-	    int arg2;
-	    DCELL *arg3 = (DCELL *) 0;
-	    DCELL *arg4 = (DCELL *) 0;
-	    CELL *arg5 = (CELL *) 0;
-	    CELL *arg6 = (CELL *) 0;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 6) || (items > 6)) {
-		SWIG_croak
-		    ("Usage: G_quant_get_ith_rule(struct Quant const *,int,DCELL *,DCELL *,CELL *,CELL *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Quant, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_quant_get_ith_rule. Expected _p_Quant");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_quant_get_ith_rule. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_quant_get_ith_rule. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(4), (void **)&arg5, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_quant_get_ith_rule. Expected _p_CELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(5), (void **)&arg6, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 6 of G_quant_get_ith_rule. Expected _p_CELL");
-		}
-	    }
-	    G_quant_get_ith_rule((struct Quant const *)arg1, arg2, arg3, arg4,
-				 arg5, arg6);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_quant_set_neg_infinite_rule) {
-	{
-	    struct Quant *arg1 = (struct Quant *)0;
-	    DCELL arg2;
-	    CELL arg3;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_quant_set_neg_infinite_rule(struct Quant *,DCELL,CELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Quant, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_quant_set_neg_infinite_rule. Expected _p_Quant");
-		}
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_quant_set_neg_infinite_rule. Expected _p_DCELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(2), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_quant_set_neg_infinite_rule. Expected _p_CELL");
-		}
-		arg3 = *argp;
-	    }
-	    G_quant_set_neg_infinite_rule(arg1, arg2, arg3);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_quant_get_neg_infinite_rule) {
-	{
-	    struct Quant *arg1 = (struct Quant *)0;
-	    DCELL *arg2 = (DCELL *) 0;
-	    CELL *arg3 = (CELL *) 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_quant_get_neg_infinite_rule(struct Quant const *,DCELL *,CELL *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Quant, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_quant_get_neg_infinite_rule. Expected _p_Quant");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_quant_get_neg_infinite_rule. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_quant_get_neg_infinite_rule. Expected _p_CELL");
-		}
-	    }
-	    result =
-		(int)G_quant_get_neg_infinite_rule((struct Quant const *)arg1,
-						   arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_quant_set_pos_infinite_rule) {
-	{
-	    struct Quant *arg1 = (struct Quant *)0;
-	    DCELL arg2;
-	    CELL arg3;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_quant_set_pos_infinite_rule(struct Quant *,DCELL,CELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Quant, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_quant_set_pos_infinite_rule. Expected _p_Quant");
-		}
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_quant_set_pos_infinite_rule. Expected _p_DCELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(2), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_quant_set_pos_infinite_rule. Expected _p_CELL");
-		}
-		arg3 = *argp;
-	    }
-	    G_quant_set_pos_infinite_rule(arg1, arg2, arg3);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_quant_get_pos_infinite_rule) {
-	{
-	    struct Quant *arg1 = (struct Quant *)0;
-	    DCELL *arg2 = (DCELL *) 0;
-	    CELL *arg3 = (CELL *) 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_quant_get_pos_infinite_rule(struct Quant const *,DCELL *,CELL *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Quant, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_quant_get_pos_infinite_rule. Expected _p_Quant");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_quant_get_pos_infinite_rule. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_quant_get_pos_infinite_rule. Expected _p_CELL");
-		}
-	    }
-	    result =
-		(int)G_quant_get_pos_infinite_rule((struct Quant const *)arg1,
-						   arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_quant_add_rule) {
-	{
-	    struct Quant *arg1 = (struct Quant *)0;
-	    DCELL arg2;
-	    DCELL arg3;
-	    CELL arg4;
-	    CELL arg5;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_quant_add_rule(struct Quant *,DCELL,DCELL,CELL,CELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Quant, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_quant_add_rule. Expected _p_Quant");
-		}
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_quant_add_rule. Expected _p_DCELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_quant_add_rule. Expected _p_DCELL");
-		}
-		arg3 = *argp;
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(3), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_quant_add_rule. Expected _p_CELL");
-		}
-		arg4 = *argp;
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(4), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_quant_add_rule. Expected _p_CELL");
-		}
-		arg5 = *argp;
-	    }
-	    G_quant_add_rule(arg1, arg2, arg3, arg4, arg5);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_quant_reverse_rule_order) {
-	{
-	    struct Quant *arg1 = (struct Quant *)0;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak
-		    ("Usage: G_quant_reverse_rule_order(struct Quant *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Quant, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_quant_reverse_rule_order. Expected _p_Quant");
-		}
-	    }
-	    G_quant_reverse_rule_order(arg1);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_quant_get_cell_value) {
-	{
-	    struct Quant *arg1 = (struct Quant *)0;
-	    DCELL arg2;
-	    CELL result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_quant_get_cell_value(struct Quant *,DCELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Quant, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_quant_get_cell_value. Expected _p_Quant");
-		}
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_quant_get_cell_value. Expected _p_DCELL");
-		}
-		arg2 = *argp;
-	    }
-	    result = G_quant_get_cell_value(arg1, arg2);
-
-	    {
-		CELL *resultobj = (CELL *) malloc(sizeof(CELL));
-
-		memmove(resultobj, &result, sizeof(CELL));
-		ST(argvi) = sv_newmortal();
-		SWIG_MakePtr(ST(argvi++), (void *)resultobj, SWIGTYPE_p_CELL,
-			     0 | SWIG_OWNER);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_quant_perform_d) {
-	{
-	    struct Quant *arg1 = (struct Quant *)0;
-	    DCELL *arg2 = (DCELL *) 0;
-	    CELL *arg3 = (CELL *) 0;
-	    int arg4;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_quant_perform_d(struct Quant *,DCELL const *,CELL *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Quant, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_quant_perform_d. Expected _p_Quant");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_quant_perform_d. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_quant_perform_d. Expected _p_CELL");
-		}
-	    }
-	    arg4 = (int)SvIV(ST(3));
-	    G_quant_perform_d(arg1, (DCELL const *)arg2, arg3, arg4);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_quant_perform_f) {
-	{
-	    struct Quant *arg1 = (struct Quant *)0;
-	    FCELL *arg2 = (FCELL *) 0;
-	    CELL *arg3 = (CELL *) 0;
-	    int arg4;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_quant_perform_f(struct Quant *,FCELL const *,CELL *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Quant, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_quant_perform_f. Expected _p_Quant");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_FCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_quant_perform_f. Expected _p_FCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_quant_perform_f. Expected _p_CELL");
-		}
-	    }
-	    arg4 = (int)SvIV(ST(3));
-	    G_quant_perform_f(arg1, (FCELL const *)arg2, arg3, arg4);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__quant_get_rule_for_d_raster_val) {
-	{
-	    struct Quant *arg1 = (struct Quant *)0;
-	    DCELL arg2;
-	    struct Quant_table *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G__quant_get_rule_for_d_raster_val(struct Quant const *,DCELL);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Quant, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G__quant_get_rule_for_d_raster_val. Expected _p_Quant");
-		}
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G__quant_get_rule_for_d_raster_val. Expected _p_DCELL");
-		}
-		arg2 = *argp;
-	    }
-	    result =
-		(struct Quant_table *)
-		G__quant_get_rule_for_d_raster_val((struct Quant const *)arg1,
-						   arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_Quant_table,
-			 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__quant_import) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    struct Quant *arg3 = (struct Quant *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G__quant_import(char const *,char const *,struct Quant *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Quant, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G__quant_import. Expected _p_Quant");
-		}
-	    }
-	    result =
-		(int)G__quant_import((char const *)arg1, (char const *)arg2,
-				     arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__quant_export) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    struct Quant *arg3 = (struct Quant *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G__quant_export(char const *,char const *,struct Quant const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Quant, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G__quant_export. Expected _p_Quant");
-		}
-	    }
-	    result =
-		(int)G__quant_export((char const *)arg1, (char const *)arg2,
-				     (struct Quant const *)arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_truncate_fp_map) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_truncate_fp_map(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result =
-		(int)G_truncate_fp_map((char const *)arg1,
-				       (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_round_fp_map) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_round_fp_map(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result =
-		(int)G_round_fp_map((char const *)arg1, (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_quantize_fp_map) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    CELL arg3;
-	    CELL arg4;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_quantize_fp_map(char const *,char const *,CELL,CELL);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(2), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_quantize_fp_map. Expected _p_CELL");
-		}
-		arg3 = *argp;
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(3), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_quantize_fp_map. Expected _p_CELL");
-		}
-		arg4 = *argp;
-	    }
-	    result =
-		(int)G_quantize_fp_map((char const *)arg1, (char const *)arg2,
-				       arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_quantize_fp_map_range) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    DCELL arg3;
-	    DCELL arg4;
-	    CELL arg5;
-	    CELL arg6;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 6) || (items > 6)) {
-		SWIG_croak
-		    ("Usage: G_quantize_fp_map_range(char const *,char const *,DCELL,DCELL,CELL,CELL);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_quantize_fp_map_range. Expected _p_DCELL");
-		}
-		arg3 = *argp;
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_quantize_fp_map_range. Expected _p_DCELL");
-		}
-		arg4 = *argp;
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(4), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_quantize_fp_map_range. Expected _p_CELL");
-		}
-		arg5 = *argp;
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(5), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 6 of G_quantize_fp_map_range. Expected _p_CELL");
-		}
-		arg6 = *argp;
-	    }
-	    result =
-		(int)G_quantize_fp_map_range((char const *)arg1,
-					     (char const *)arg2, arg3, arg4,
-					     arg5, arg6);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_write_quant) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    struct Quant *arg3 = (struct Quant *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_write_quant(char const *,char const *,struct Quant const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Quant, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_write_quant. Expected _p_Quant");
-		}
-	    }
-	    result =
-		(int)G_write_quant((char const *)arg1, (char const *)arg2,
-				   (struct Quant const *)arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_read_quant) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    struct Quant *arg3 = (struct Quant *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_read_quant(char const *,char const *,struct Quant *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Quant, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_read_quant. Expected _p_Quant");
-		}
-	    }
-	    result =
-		(int)G_read_quant((char const *)arg1, (char const *)arg2,
-				  arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_meridional_radius_of_curvature) {
-	{
-	    double arg1;
-	    double arg2;
-	    double arg3;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_meridional_radius_of_curvature(double,double,double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    arg3 = (double)SvNV(ST(2));
-
-	    result =
-		(double)G_meridional_radius_of_curvature(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_transverse_radius_of_curvature) {
-	{
-	    double arg1;
-	    double arg2;
-	    double arg3;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_transverse_radius_of_curvature(double,double,double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    arg3 = (double)SvNV(ST(2));
-
-	    result =
-		(double)G_transverse_radius_of_curvature(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_radius_of_conformal_tangent_sphere) {
-	{
-	    double arg1;
-	    double arg2;
-	    double arg3;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_radius_of_conformal_tangent_sphere(double,double,double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    arg3 = (double)SvNV(ST(2));
-
-	    result =
-		(double)G_radius_of_conformal_tangent_sphere(arg1, arg2,
-							     arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__remove_fp_range) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G__remove_fp_range(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G__remove_fp_range((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_construct_default_range) {
-	{
-	    struct Range *arg1 = (struct Range *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak
-		    ("Usage: G_construct_default_range(struct Range *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Range, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_construct_default_range. Expected _p_Range");
-		}
-	    }
-	    result = (int)G_construct_default_range(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_read_fp_range) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    struct FPRange *arg3 = (struct FPRange *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_read_fp_range(char const *,char const *,struct FPRange *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_FPRange, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_read_fp_range. Expected _p_FPRange");
-		}
-	    }
-	    result =
-		(int)G_read_fp_range((char const *)arg1, (char const *)arg2,
-				     arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_read_range) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    struct Range *arg3 = (struct Range *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_read_range(char const *,char const *,struct Range *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Range, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_read_range. Expected _p_Range");
-		}
-	    }
-	    result =
-		(int)G_read_range((char const *)arg1, (char const *)arg2,
-				  arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_write_range) {
-	{
-	    char *arg1 = (char *)0;
-	    struct Range *arg2 = (struct Range *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_write_range(char const *,struct Range const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Range, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_write_range. Expected _p_Range");
-		}
-	    }
-	    result =
-		(int)G_write_range((char const *)arg1,
-				   (struct Range const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_write_fp_range) {
-	{
-	    char *arg1 = (char *)0;
-	    struct FPRange *arg2 = (struct FPRange *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_write_fp_range(char const *,struct FPRange const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_FPRange, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_write_fp_range. Expected _p_FPRange");
-		}
-	    }
-	    result =
-		(int)G_write_fp_range((char const *)arg1,
-				      (struct FPRange const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_update_range) {
-	{
-	    CELL arg1;
-	    struct Range *arg2 = (struct Range *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_update_range(CELL,struct Range *);");
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(0), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_update_range. Expected _p_CELL");
-		}
-		arg1 = *argp;
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Range, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_update_range. Expected _p_Range");
-		}
-	    }
-	    result = (int)G_update_range(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_update_fp_range) {
-	{
-	    DCELL arg1;
-	    struct FPRange *arg2 = (struct FPRange *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_update_fp_range(DCELL,struct FPRange *);");
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_update_fp_range. Expected _p_DCELL");
-		}
-		arg1 = *argp;
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_FPRange, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_update_fp_range. Expected _p_FPRange");
-		}
-	    }
-	    result = (int)G_update_fp_range(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_row_update_range) {
-	{
-	    CELL *arg1 = (CELL *) 0;
-	    int arg2;
-	    struct Range *arg3 = (struct Range *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_row_update_range(CELL const *,int,struct Range *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_row_update_range. Expected _p_CELL");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Range, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_row_update_range. Expected _p_Range");
-		}
-	    }
-	    result = (int)G_row_update_range((CELL const *)arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__row_update_range) {
-	{
-	    CELL *arg1 = (CELL *) 0;
-	    int arg2;
-	    struct Range *arg3 = (struct Range *)0;
-	    int arg4;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G__row_update_range(CELL const *,int,struct Range *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G__row_update_range. Expected _p_CELL");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Range, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G__row_update_range. Expected _p_Range");
-		}
-	    }
-	    arg4 = (int)SvIV(ST(3));
-	    result =
-		(int)G__row_update_range((CELL const *)arg1, arg2, arg3,
-					 arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_row_update_fp_range) {
-	{
-	    void *arg1 = (void *)0;
-	    int arg2;
-	    struct FPRange *arg3 = (struct FPRange *)0;
-	    RASTER_MAP_TYPE arg4;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_row_update_fp_range(void const *,int,struct FPRange *,RASTER_MAP_TYPE);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_row_update_fp_range. Expected _p_void");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_FPRange, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_row_update_fp_range. Expected _p_FPRange");
-		}
-	    }
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_row_update_fp_range. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg4 = *argp;
-	    }
-	    result =
-		(int)G_row_update_fp_range((void const *)arg1, arg2, arg3,
-					   arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_init_range) {
-	{
-	    struct Range *arg1 = (struct Range *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_init_range(struct Range *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Range, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_init_range. Expected _p_Range");
-		}
-	    }
-	    result = (int)G_init_range(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_range_min_max) {
-	{
-	    struct Range *arg1 = (struct Range *)0;
-	    CELL *arg2 = (CELL *) 0;
-	    CELL *arg3 = (CELL *) 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_get_range_min_max(struct Range const *,CELL *,CELL *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Range, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_range_min_max. Expected _p_Range");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_range_min_max. Expected _p_CELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_range_min_max. Expected _p_CELL");
-		}
-	    }
-	    result =
-		(int)G_get_range_min_max((struct Range const *)arg1, arg2,
-					 arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_init_fp_range) {
-	{
-	    struct FPRange *arg1 = (struct FPRange *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_init_fp_range(struct FPRange *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FPRange, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_init_fp_range. Expected _p_FPRange");
-		}
-	    }
-	    result = (int)G_init_fp_range(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_fp_range_min_max) {
-	{
-	    struct FPRange *arg1 = (struct FPRange *)0;
-	    DCELL *arg2 = (DCELL *) 0;
-	    DCELL *arg3 = (DCELL *) 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_get_fp_range_min_max(struct FPRange const *,DCELL *,DCELL *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_FPRange, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_fp_range_min_max. Expected _p_FPRange");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_fp_range_min_max. Expected _p_DCELL");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_fp_range_min_max. Expected _p_DCELL");
-		}
-	    }
-	    result =
-		(int)G_get_fp_range_min_max((struct FPRange const *)arg1,
-					    arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_incr_void_ptr) {
-	{
-	    void *arg1 = (void *)0;
-	    int arg2;
-	    void *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_incr_void_ptr(void const *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_incr_void_ptr. Expected _p_void");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    result = (void *)G_incr_void_ptr((void const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_void, 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_raster_cmp) {
-	{
-	    void *arg1 = (void *)0;
-	    void *arg2 = (void *)0;
-	    RASTER_MAP_TYPE arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_raster_cmp(void const *,void const *,RASTER_MAP_TYPE);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_raster_cmp. Expected _p_void");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_raster_cmp. Expected _p_void");
-		}
-	    }
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_raster_cmp. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg3 = *argp;
-	    }
-	    result =
-		(int)G_raster_cmp((void const *)arg1, (void const *)arg2,
-				  arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_raster_cpy) {
-	{
-	    void *arg1 = (void *)0;
-	    void *arg2 = (void *)0;
-	    int arg3;
-	    RASTER_MAP_TYPE arg4;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_raster_cpy(void *,void const *,int,RASTER_MAP_TYPE);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_raster_cpy. Expected _p_void");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(1), (void **)&arg2, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_raster_cpy. Expected _p_void");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_raster_cpy. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg4 = *argp;
-	    }
-	    result = (int)G_raster_cpy(arg1, (void const *)arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_raster_value_c) {
-	{
-	    void *arg1 = (void *)0;
-	    CELL arg2;
-	    RASTER_MAP_TYPE arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_set_raster_value_c(void *,CELL,RASTER_MAP_TYPE);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_set_raster_value_c. Expected _p_void");
-		}
-	    }
-	    {
-		CELL *argp;
-
-		if (SWIG_ConvertPtr(ST(1), (void **)&argp, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_set_raster_value_c. Expected _p_CELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_set_raster_value_c. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg3 = *argp;
-	    }
-	    result = (int)G_set_raster_value_c(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_raster_value_f) {
-	{
-	    void *arg1 = (void *)0;
-	    FCELL arg2;
-	    RASTER_MAP_TYPE arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_set_raster_value_f(void *,FCELL,RASTER_MAP_TYPE);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_set_raster_value_f. Expected _p_void");
-		}
-	    }
-	    {
-		FCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_FCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_set_raster_value_f. Expected _p_FCELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_set_raster_value_f. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg3 = *argp;
-	    }
-	    result = (int)G_set_raster_value_f(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_raster_value_d) {
-	{
-	    void *arg1 = (void *)0;
-	    DCELL arg2;
-	    RASTER_MAP_TYPE arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_set_raster_value_d(void *,DCELL,RASTER_MAP_TYPE);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_set_raster_value_d. Expected _p_void");
-		}
-	    }
-	    {
-		DCELL *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_DCELL, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_set_raster_value_d. Expected _p_DCELL");
-		}
-		arg2 = *argp;
-	    }
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_set_raster_value_d. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg3 = *argp;
-	    }
-	    result = (int)G_set_raster_value_d(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_raster_value_c) {
-	{
-	    void *arg1 = (void *)0;
-	    RASTER_MAP_TYPE arg2;
-	    CELL result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_get_raster_value_c(void const *,RASTER_MAP_TYPE);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_raster_value_c. Expected _p_void");
-		}
-	    }
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_raster_value_c. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg2 = *argp;
-	    }
-	    result = G_get_raster_value_c((void const *)arg1, arg2);
-
-	    {
-		CELL *resultobj = (CELL *) malloc(sizeof(CELL));
-
-		memmove(resultobj, &result, sizeof(CELL));
-		ST(argvi) = sv_newmortal();
-		SWIG_MakePtr(ST(argvi++), (void *)resultobj, SWIGTYPE_p_CELL,
-			     0 | SWIG_OWNER);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_raster_value_f) {
-	{
-	    void *arg1 = (void *)0;
-	    RASTER_MAP_TYPE arg2;
-	    FCELL result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_get_raster_value_f(void const *,RASTER_MAP_TYPE);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_raster_value_f. Expected _p_void");
-		}
-	    }
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_raster_value_f. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg2 = *argp;
-	    }
-	    result = G_get_raster_value_f((void const *)arg1, arg2);
-
-	    {
-		FCELL *resultobj = (FCELL *) malloc(sizeof(FCELL));
-
-		memmove(resultobj, &result, sizeof(FCELL));
-		ST(argvi) = sv_newmortal();
-		SWIG_MakePtr(ST(argvi++), (void *)resultobj, SWIGTYPE_p_FCELL,
-			     0 | SWIG_OWNER);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_raster_value_d) {
-	{
-	    void *arg1 = (void *)0;
-	    RASTER_MAP_TYPE arg2;
-	    DCELL result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_get_raster_value_d(void const *,RASTER_MAP_TYPE);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_raster_value_d. Expected _p_void");
-		}
-	    }
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_raster_value_d. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg2 = *argp;
-	    }
-	    result = G_get_raster_value_d((void const *)arg1, arg2);
-
-	    {
-		DCELL *resultobj = (DCELL *) malloc(sizeof(DCELL));
-
-		memmove(resultobj, &result, sizeof(DCELL));
-		ST(argvi) = sv_newmortal();
-		SWIG_MakePtr(ST(argvi++), (void *)resultobj, SWIGTYPE_p_DCELL,
-			     0 | SWIG_OWNER);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_read_raster_units) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_read_raster_units(char const *,char const *,char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    result =
-		(int)G_read_raster_units((char const *)arg1,
-					 (char const *)arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_read_raster_vdatum) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_read_raster_vdatum(char const *,char const *,char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    result =
-		(int)G_read_raster_vdatum((char const *)arg1,
-					  (char const *)arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_write_raster_units) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_write_raster_units(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result =
-		(int)G_write_raster_units((char const *)arg1,
-					  (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_write_raster_vdatum) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_write_raster_vdatum(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result =
-		(int)G_write_raster_vdatum((char const *)arg1,
-					   (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__raster_misc_read_line) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    char *arg4 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G__raster_misc_read_line(char const *,char const *,char const *,char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    if (!SvOK((SV *) ST(3)))
-		arg4 = 0;
-	    else
-		arg4 = (char *)SvPV(ST(3), PL_na);
-	    result =
-		(int)G__raster_misc_read_line((char const *)arg1,
-					      (char const *)arg2,
-					      (char const *)arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__raster_misc_write_line) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G__raster_misc_write_line(char const *,char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    result =
-		(int)G__raster_misc_write_line((char const *)arg1,
-					       (char const *)arg2,
-					       (char const *)arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__read_Cell_head) {
-	{
-	    FILE *arg1 = (FILE *) 0;
-	    struct Cell_head *arg2 = (struct Cell_head *)0;
-	    int arg3;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G__read_Cell_head(FILE *,struct Cell_head *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_FILE, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G__read_Cell_head. Expected _p_FILE");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G__read_Cell_head. Expected _p_Cell_head");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result = (char *)G__read_Cell_head(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__read_Cell_head_array) {
-	{
-	    char **arg1 = (char **)0;
-	    struct Cell_head *arg2 = (struct Cell_head *)0;
-	    int arg3;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G__read_Cell_head_array(char **,struct Cell_head *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_p_char, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G__read_Cell_head_array. Expected _p_p_char");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G__read_Cell_head_array. Expected _p_Cell_head");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result = (char *)G__read_Cell_head_array(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_is_reclass) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    char *arg4 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_is_reclass(char const *,char const *,char *,char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    if (!SvOK((SV *) ST(3)))
-		arg4 = 0;
-	    else
-		arg4 = (char *)SvPV(ST(3), PL_na);
-	    result =
-		(int)G_is_reclass((char const *)arg1, (char const *)arg2,
-				  arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_is_reclassed_to) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int *arg3 = (int *)0;
-	    char ***arg4 = (char ***)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_is_reclassed_to(char const *,char const *,int *,char ***);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_is_reclassed_to. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_p_p_char, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_is_reclassed_to. Expected _p_p_p_char");
-		}
-	    }
-	    result =
-		(int)G_is_reclassed_to((char const *)arg1, (char const *)arg2,
-				       arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_reclass) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    struct Reclass *arg3 = (struct Reclass *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_get_reclass(char const *,char const *,struct Reclass *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Reclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_reclass. Expected _p_Reclass");
-		}
-	    }
-	    result =
-		(int)G_get_reclass((char const *)arg1, (char const *)arg2,
-				   arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_free_reclass) {
-	{
-	    struct Reclass *arg1 = (struct Reclass *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_free_reclass(struct Reclass *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Reclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_free_reclass. Expected _p_Reclass");
-		}
-	    }
-	    result = (int)G_free_reclass(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_put_reclass) {
-	{
-	    char *arg1 = (char *)0;
-	    struct Reclass *arg2 = (struct Reclass *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_put_reclass(char const *,struct Reclass const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Reclass, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_put_reclass. Expected _p_Reclass");
-		}
-	    }
-	    result =
-		(int)G_put_reclass((char const *)arg1,
-				   (struct Reclass const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_remove) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_remove(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (int)G_remove((char const *)arg1, (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_remove_misc) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_remove_misc(char const *,char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    result =
-		(int)G_remove_misc((char const *)arg1, (char const *)arg2,
-				   (char const *)arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_rename) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_rename(char const *,char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    result =
-		(int)G_rename((char const *)arg1, (char const *)arg2,
-			      (char const *)arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_begin_rhumbline_equation) {
-	{
-	    double arg1;
-	    double arg2;
-	    double arg3;
-	    double arg4;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_begin_rhumbline_equation(double,double,double,double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    arg3 = (double)SvNV(ST(2));
-
-	    arg4 = (double)SvNV(ST(3));
-
-	    result = (int)G_begin_rhumbline_equation(arg1, arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_rhumbline_lat_from_lon) {
-	{
-	    double arg1;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_rhumbline_lat_from_lon(double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    result = (double)G_rhumbline_lat_from_lon(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_rotate_around_point) {
-	{
-	    double arg1;
-	    double arg2;
-	    double *arg3 = (double *)0;
-	    double *arg4 = (double *)0;
-	    double arg5;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_rotate_around_point(double,double,double *,double *,double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_rotate_around_point. Expected _p_double");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_rotate_around_point. Expected _p_double");
-		}
-	    }
-	    arg5 = (double)SvNV(ST(4));
-
-	    G_rotate_around_point(arg1, arg2, arg3, arg4, arg5);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_rotate_around_point_int) {
-	{
-	    int arg1;
-	    int arg2;
-	    int *arg3 = (int *)0;
-	    int *arg4 = (int *)0;
-	    double arg5;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_rotate_around_point_int(int,int,int *,int *,double);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    arg2 = (int)SvIV(ST(1));
-	    {
-		if (SWIG_ConvertPtr(ST(2), (void **)&arg3, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_rotate_around_point_int. Expected _p_int");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(3), (void **)&arg4, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_rotate_around_point_int. Expected _p_int");
-		}
-	    }
-	    arg5 = (double)SvNV(ST(4));
-
-	    G_rotate_around_point_int(arg1, arg2, arg3, arg4, arg5);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_raster_sample) {
-	{
-	    int arg1;
-	    struct Cell_head *arg2 = (struct Cell_head *)0;
-	    struct Categories *arg3 = (struct Categories *)0;
-	    double arg4;
-	    double arg5;
-	    int arg6;
-	    INTERP_TYPE arg7;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 7) || (items > 7)) {
-		SWIG_croak
-		    ("Usage: G_get_raster_sample(int,struct Cell_head const *,struct Categories *,double,double,int,INTERP_TYPE);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_raster_sample. Expected _p_Cell_head");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Categories, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_raster_sample. Expected _p_Categories");
-		}
-	    }
-	    arg4 = (double)SvNV(ST(3));
-
-	    arg5 = (double)SvNV(ST(4));
-
-	    arg6 = (int)SvIV(ST(5));
-	    {
-		INTERP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(6), (void **)&argp, SWIGTYPE_p_INTERP_TYPE, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 7 of G_get_raster_sample. Expected _p_INTERP_TYPE");
-		}
-		arg7 = *argp;
-	    }
-	    result =
-		(double)G_get_raster_sample(arg1,
-					    (struct Cell_head const *)arg2,
-					    arg3, arg4, arg5, arg6, arg7);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_set_window) {
-	{
-	    struct Cell_head *arg1 = (struct Cell_head *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_get_set_window(struct Cell_head *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_set_window. Expected _p_Cell_head");
-		}
-	    }
-	    result = (int)G_get_set_window(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_window) {
-	{
-	    struct Cell_head *arg1 = (struct Cell_head *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_set_window(struct Cell_head *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_set_window. Expected _p_Cell_head");
-		}
-	    }
-	    result = (int)G_set_window(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_shortest_way) {
-	{
-	    double *arg1 = (double *)0;
-	    double *arg2 = (double *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_shortest_way(double *,double *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_shortest_way. Expected _p_double");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_shortest_way. Expected _p_double");
-		}
-	    }
-	    result = (int)G_shortest_way(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_sleep) {
-	{
-	    unsigned int arg1;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_sleep(unsigned int);");
-	    }
-	    arg1 = (unsigned int)SvUV(ST(0));
-	    G_sleep(arg1);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_snprintf) {
-	{
-	    char *arg1 = (char *)0;
-	    size_t arg2;
-	    char *arg3 = (char *)0;
-	    void *arg4 = 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if (items < 3) {
-		SWIG_croak
-		    ("Usage: G_snprintf(char *,size_t,char const *,...);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    arg2 = (size_t) SvUV(ST(1));
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    result = (int)G_snprintf(arg1, arg2, (char const *)arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_squeeze) {
-	{
-	    char *arg1 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_squeeze(char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (char *)G_squeeze(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_store) {
-	{
-	    char *arg1 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_store(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (char *)G_store((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_strcpy) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_strcpy(char *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (char *)G_strcpy(arg1, (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_chrcpy) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int arg3;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G_chrcpy(char *,char const *,int);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    arg3 = (int)SvIV(ST(2));
-	    result = (char *)G_chrcpy(arg1, (char const *)arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_strncpy) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int arg3;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G_strncpy(char *,char const *,int);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    arg3 = (int)SvIV(ST(2));
-	    result = (char *)G_strncpy(arg1, (char const *)arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_strcat) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_strcat(char *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (char *)G_strcat(arg1, (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_chrcat) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int arg3;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G_chrcat(char *,char const *,int);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    arg3 = (int)SvIV(ST(2));
-	    result = (char *)G_chrcat(arg1, (char const *)arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_strmov) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_strmov(char *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (char *)G_strmov(arg1, (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_chrmov) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int arg3;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G_chrmov(char *,char const *,int);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    arg3 = (int)SvIV(ST(2));
-	    result = (char *)G_chrmov(arg1, (char const *)arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_strcasecmp) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_strcasecmp(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result =
-		(int)G_strcasecmp((char const *)arg1, (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_strstr) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_strstr(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (char *)G_strstr((char const *)arg1, (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_strdup) {
-	{
-	    char *arg1 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_strdup(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (char *)G_strdup((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_strchg) {
-	{
-	    char *arg1 = (char *)0;
-	    char arg2;
-	    char arg3;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G_strchg(char *,char,char);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    arg2 = (char)*SvPV(ST(1), PL_na);
-	    arg3 = (char)*SvPV(ST(2), PL_na);
-	    result = (char *)G_strchg(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_str_replace) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char *arg3 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_str_replace(char *,char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    if (!SvOK((SV *) ST(2)))
-		arg3 = 0;
-	    else
-		arg3 = (char *)SvPV(ST(2), PL_na);
-	    result =
-		(char *)G_str_replace(arg1, (char const *)arg2,
-				      (char const *)arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_str_to_upper) {
-	{
-	    char *arg1 = (char *)0;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_str_to_upper(char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    G_str_to_upper(arg1);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_str_to_lower) {
-	{
-	    char *arg1 = (char *)0;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_str_to_lower(char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    G_str_to_lower(arg1);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_str_to_sql) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_str_to_sql(char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_str_to_sql(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_strip) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_strip(char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_strip(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_svdcmp) {
-	{
-	    double **arg1 = (double **)0;
-	    int arg2;
-	    int arg3;
-	    double *arg4 = (double *)0;
-	    double **arg5 = (double **)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_svdcmp(double **,int,int,double *,double **);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_svdcmp. Expected _p_p_double");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    arg3 = (int)SvIV(ST(2));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_svdcmp. Expected _p_double");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(4), (void **)&arg5, SWIGTYPE_p_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 5 of G_svdcmp. Expected _p_p_double");
-		}
-	    }
-	    result = (int)G_svdcmp(arg1, arg2, arg3, arg4, arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_svbksb) {
-	{
-	    double **arg1 = (double **)0;
-	    double *arg2;
-	    double **arg3 = (double **)0;
-	    int arg4;
-	    int arg5;
-	    double *arg6;
-	    double *arg7;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 7) || (items > 7)) {
-		SWIG_croak
-		    ("Usage: G_svbksb(double **,double [],double **,int,int,double [],double []);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_svbksb. Expected _p_p_double");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_svbksb. Expected _p_double");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_svbksb. Expected _p_p_double");
-		}
-	    }
-	    arg4 = (int)SvIV(ST(3));
-	    arg5 = (int)SvIV(ST(4));
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(5), (void **)&arg6, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 6 of G_svbksb. Expected _p_double");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(6), (void **)&arg7, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 7 of G_svbksb. Expected _p_double");
-		}
-	    }
-	    result = (int)G_svbksb(arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_svelim) {
-	{
-	    double *arg1 = (double *)0;
-	    int arg2;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_svelim(double *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_svelim. Expected _p_double");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    result = (int)G_svelim(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_system) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_system(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_system((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_tempfile) {
-	{
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_tempfile();");
-	    }
-	    result = (char *)G_tempfile();
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__tempfile) {
-	{
-	    int arg1;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G__tempfile(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (char *)G__tempfile(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__temp_element) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G__temp_element(char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G__temp_element(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_init_timestamp) {
-	{
-	    struct TimeStamp *arg1 = (struct TimeStamp *)0;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_init_timestamp(struct TimeStamp *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_TimeStamp, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_init_timestamp. Expected _p_TimeStamp");
-		}
-	    }
-	    G_init_timestamp(arg1);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_timestamp) {
-	{
-	    struct TimeStamp *arg1 = (struct TimeStamp *)0;
-	    DateTime *arg2 = (DateTime *) 0;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_set_timestamp(struct TimeStamp *,DateTime const *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_TimeStamp, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_set_timestamp. Expected _p_TimeStamp");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_DateTime, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_set_timestamp. Expected _p_DateTime");
-		}
-	    }
-	    G_set_timestamp(arg1, (DateTime const *)arg2);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_timestamp_range) {
-	{
-	    struct TimeStamp *arg1 = (struct TimeStamp *)0;
-	    DateTime *arg2 = (DateTime *) 0;
-	    DateTime *arg3 = (DateTime *) 0;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_set_timestamp_range(struct TimeStamp *,DateTime const *,DateTime const *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_TimeStamp, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_set_timestamp_range. Expected _p_TimeStamp");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_DateTime, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_set_timestamp_range. Expected _p_DateTime");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_DateTime, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_set_timestamp_range. Expected _p_DateTime");
-		}
-	    }
-	    G_set_timestamp_range(arg1, (DateTime const *)arg2,
-				  (DateTime const *)arg3);
-
-
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__read_timestamp) {
-	{
-	    FILE *arg1 = (FILE *) 0;
-	    struct TimeStamp *arg2 = (struct TimeStamp *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G__read_timestamp(FILE *,struct TimeStamp *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_FILE, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G__read_timestamp. Expected _p_FILE");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_TimeStamp, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G__read_timestamp. Expected _p_TimeStamp");
-		}
-	    }
-	    result = (int)G__read_timestamp(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__write_timestamp) {
-	{
-	    FILE *arg1 = (FILE *) 0;
-	    struct TimeStamp *arg2 = (struct TimeStamp *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G__write_timestamp(FILE *,struct TimeStamp const *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_FILE, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G__write_timestamp. Expected _p_FILE");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_TimeStamp, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G__write_timestamp. Expected _p_TimeStamp");
-		}
-	    }
-	    result =
-		(int)G__write_timestamp(arg1, (struct TimeStamp const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_timestamps) {
-	{
-	    struct TimeStamp *arg1 = (struct TimeStamp *)0;
-	    DateTime *arg2 = (DateTime *) 0;
-	    DateTime *arg3 = (DateTime *) 0;
-	    int *arg4 = (int *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_get_timestamps(struct TimeStamp const *,DateTime *,DateTime *,int *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_TimeStamp, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_timestamps. Expected _p_TimeStamp");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_DateTime, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_timestamps. Expected _p_DateTime");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_DateTime, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_timestamps. Expected _p_DateTime");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(3), (void **)&arg4, SWIGTYPE_p_int, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_get_timestamps. Expected _p_int");
-		}
-	    }
-	    result =
-		(int)G_get_timestamps((struct TimeStamp const *)arg1, arg2,
-				      arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_read_raster_timestamp) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    struct TimeStamp *arg3 = (struct TimeStamp *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_read_raster_timestamp(char const *,char const *,struct TimeStamp *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_TimeStamp, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_read_raster_timestamp. Expected _p_TimeStamp");
-		}
-	    }
-	    result =
-		(int)G_read_raster_timestamp((char const *)arg1,
-					     (char const *)arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_read_vector_timestamp) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    struct TimeStamp *arg3 = (struct TimeStamp *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_read_vector_timestamp(char const *,char const *,struct TimeStamp *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_TimeStamp, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_read_vector_timestamp. Expected _p_TimeStamp");
-		}
-	    }
-	    result =
-		(int)G_read_vector_timestamp((char const *)arg1,
-					     (char const *)arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_write_raster_timestamp) {
-	{
-	    char *arg1 = (char *)0;
-	    struct TimeStamp *arg2 = (struct TimeStamp *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_write_raster_timestamp(char const *,struct TimeStamp const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_TimeStamp, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_write_raster_timestamp. Expected _p_TimeStamp");
-		}
-	    }
-	    result =
-		(int)G_write_raster_timestamp((char const *)arg1,
-					      (struct TimeStamp const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_write_vector_timestamp) {
-	{
-	    char *arg1 = (char *)0;
-	    struct TimeStamp *arg2 = (struct TimeStamp *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_write_vector_timestamp(char const *,struct TimeStamp const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_TimeStamp, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_write_vector_timestamp. Expected _p_TimeStamp");
-		}
-	    }
-	    result =
-		(int)G_write_vector_timestamp((char const *)arg1,
-					      (struct TimeStamp const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_format_timestamp) {
-	{
-	    struct TimeStamp *arg1 = (struct TimeStamp *)0;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_format_timestamp(struct TimeStamp const *,char *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_TimeStamp, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_format_timestamp. Expected _p_TimeStamp");
-		}
-	    }
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result =
-		(int)G_format_timestamp((struct TimeStamp const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_scan_timestamp) {
-	{
-	    struct TimeStamp *arg1 = (struct TimeStamp *)0;
-	    char *arg2 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_scan_timestamp(struct TimeStamp *,char *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_TimeStamp, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_scan_timestamp. Expected _p_TimeStamp");
-		}
-	    }
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result = (int)G_scan_timestamp(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_remove_raster_timestamp) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_remove_raster_timestamp(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_remove_raster_timestamp((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_remove_vector_timestamp) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_remove_vector_timestamp(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_remove_vector_timestamp((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_read_grid3_timestamp) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    struct TimeStamp *arg3 = (struct TimeStamp *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_read_grid3_timestamp(char const *,char const *,struct TimeStamp *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_TimeStamp, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_read_grid3_timestamp. Expected _p_TimeStamp");
-		}
-	    }
-	    result =
-		(int)G_read_grid3_timestamp((char const *)arg1,
-					    (char const *)arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_remove_grid3_timestamp) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_remove_grid3_timestamp(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_remove_grid3_timestamp((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_write_grid3_timestamp) {
-	{
-	    char *arg1 = (char *)0;
-	    struct TimeStamp *arg2 = (struct TimeStamp *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_write_grid3_timestamp(char const *,struct TimeStamp const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_TimeStamp, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_write_grid3_timestamp. Expected _p_TimeStamp");
-		}
-	    }
-	    result =
-		(int)G_write_grid3_timestamp((char const *)arg1,
-					     (struct TimeStamp const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_tokenize) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    char **result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_tokenize(char const *,char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    result =
-		(char **)G_tokenize((char const *)arg1, (char const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    SWIG_MakePtr(ST(argvi++), (void *)result, SWIGTYPE_p_p_char,
-			 0 | 0);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_number_of_tokens) {
-	{
-	    char **arg1 = (char **)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_number_of_tokens(char **);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_p_char, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_number_of_tokens. Expected _p_p_char");
-		}
-	    }
-	    result = (int)G_number_of_tokens(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_free_tokens) {
-	{
-	    char **arg1 = (char **)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_free_tokens(char **);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_p_char, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_free_tokens. Expected _p_p_char");
-		}
-	    }
-	    result = (int)G_free_tokens(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_trim_decimal) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_trim_decimal(char *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_trim_decimal(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_unctrl) {
-	{
-	    int arg1;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_unctrl(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (char *)G_unctrl(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_sock_get_fname) {
-	{
-	    char *arg1 = (char *)0;
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_sock_get_fname(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (char *)G_sock_get_fname((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_sock_exists) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_sock_exists(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_sock_exists((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_sock_bind) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_sock_bind(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_sock_bind((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_sock_listen) {
-	{
-	    int arg1;
-	    unsigned int arg2;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_sock_listen(int,unsigned int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    arg2 = (unsigned int)SvUV(ST(1));
-	    result = (int)G_sock_listen(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_sock_accept) {
-	{
-	    int arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_sock_accept(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (int)G_sock_accept(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_sock_connect) {
-	{
-	    char *arg1 = (char *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_sock_connect(char const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    result = (int)G_sock_connect((char const *)arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_verbose) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_verbose();");
-	    }
-	    result = (int)G_verbose();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_verbose_min) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_verbose_min();");
-	    }
-	    result = (int)G_verbose_min();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_verbose_std) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_verbose_std();");
-	    }
-	    result = (int)G_verbose_std();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_verbose_max) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_verbose_max();");
-	    }
-	    result = (int)G_verbose_max();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_set_verbose) {
-	{
-	    int arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_set_verbose(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (int)G_set_verbose(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_3dview_warning) {
-	{
-	    int arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_3dview_warning(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (int)G_3dview_warning(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_3dview_defaults) {
-	{
-	    struct G_3dview *arg1 = (struct G_3dview *)0;
-	    struct Cell_head *arg2 = (struct Cell_head *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_get_3dview_defaults(struct G_3dview *,struct Cell_head *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_G_3dview, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_get_3dview_defaults. Expected _p_G_3dview");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_get_3dview_defaults. Expected _p_Cell_head");
-		}
-	    }
-	    result = (int)G_get_3dview_defaults(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_put_3dview) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    struct G_3dview *arg3 = (struct G_3dview *)0;
-	    struct Cell_head *arg4 = (struct Cell_head *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_put_3dview(char const *,char const *,struct G_3dview const *,struct Cell_head const *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_G_3dview, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_put_3dview. Expected _p_G_3dview");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(3), (void **)&arg4, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 4 of G_put_3dview. Expected _p_Cell_head");
-		}
-	    }
-	    result =
-		(int)G_put_3dview((char const *)arg1, (char const *)arg2,
-				  (struct G_3dview const *)arg3,
-				  (struct Cell_head const *)arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_get_3dview) {
-	{
-	    char *arg1 = (char *)0;
-	    char *arg2 = (char *)0;
-	    struct G_3dview *arg3 = (struct G_3dview *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_get_3dview(char const *,char const *,struct G_3dview *);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_G_3dview, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_get_3dview. Expected _p_G_3dview");
-		}
-	    }
-	    result =
-		(int)G_get_3dview((char const *)arg1, (char const *)arg2,
-				  arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_whoami) {
-	{
-	    char *result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_whoami();");
-	    }
-	    result = (char *)G_whoami();
-
-	    ST(argvi) = sv_newmortal();
-	    if (result) {
-		sv_setpv((SV *) ST(argvi++), (char *)result);
-	    }
-	    else {
-		sv_setsv((SV *) ST(argvi++), &PL_sv_undef);
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_adjust_window_to_box) {
-	{
-	    struct Cell_head *arg1 = (struct Cell_head *)0;
-	    struct Cell_head *arg2 = (struct Cell_head *)0;
-	    int arg3;
-	    int arg4;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 4) || (items > 4)) {
-		SWIG_croak
-		    ("Usage: G_adjust_window_to_box(struct Cell_head const *,struct Cell_head *,int,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_adjust_window_to_box. Expected _p_Cell_head");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_adjust_window_to_box. Expected _p_Cell_head");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    arg4 = (int)SvIV(ST(3));
-	    result =
-		(int)G_adjust_window_to_box((struct Cell_head const *)arg1,
-					    arg2, arg3, arg4);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_format_northing) {
-	{
-	    double arg1;
-	    char *arg2 = (char *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G_format_northing(double,char *,int);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_format_northing(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_format_easting) {
-	{
-	    double arg1;
-	    char *arg2 = (char *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G_format_easting(double,char *,int);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_format_easting(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_format_resolution) {
-	{
-	    double arg1;
-	    char *arg2 = (char *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak("Usage: G_format_resolution(double,char *,int);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    if (!SvOK((SV *) ST(1)))
-		arg2 = 0;
-	    else
-		arg2 = (char *)SvPV(ST(1), PL_na);
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_format_resolution(arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_point_in_region) {
-	{
-	    double arg1;
-	    double arg2;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_point_in_region(double,double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    result = (int)G_point_in_region(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_point_in_window) {
-	{
-	    double arg1;
-	    double arg2;
-	    struct Cell_head *arg3 = (struct Cell_head *)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_point_in_window(double,double,struct Cell_head const *);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(2), (void **)&arg3, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 3 of G_point_in_window. Expected _p_Cell_head");
-		}
-	    }
-	    result =
-		(int)G_point_in_window(arg1, arg2,
-				       (struct Cell_head const *)arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_limit_east) {
-	{
-	    double *arg1 = (double *)0;
-	    int arg2;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_limit_east(double *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_limit_east. Expected _p_double");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    result = (int)G_limit_east(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_limit_west) {
-	{
-	    double *arg1 = (double *)0;
-	    int arg2;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_limit_west(double *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_limit_west. Expected _p_double");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    result = (int)G_limit_west(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_limit_north) {
-	{
-	    double *arg1 = (double *)0;
-	    int arg2;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_limit_north(double *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_limit_north. Expected _p_double");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    result = (int)G_limit_north(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_limit_south) {
-	{
-	    double *arg1 = (double *)0;
-	    int arg2;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_limit_south(double *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_limit_south. Expected _p_double");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    result = (int)G_limit_south(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_window_overlap) {
-	{
-	    struct Cell_head *arg1 = (struct Cell_head *)0;
-	    double arg2;
-	    double arg3;
-	    double arg4;
-	    double arg5;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_window_overlap(struct Cell_head const *,double,double,double,double);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_window_overlap. Expected _p_Cell_head");
-		}
-	    }
-	    arg2 = (double)SvNV(ST(1));
-
-	    arg3 = (double)SvNV(ST(2));
-
-	    arg4 = (double)SvNV(ST(3));
-
-	    arg5 = (double)SvNV(ST(4));
-
-	    result =
-		(int)G_window_overlap((struct Cell_head const *)arg1, arg2,
-				      arg3, arg4, arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_window_percentage_overlap) {
-	{
-	    struct Cell_head *arg1 = (struct Cell_head *)0;
-	    double arg2;
-	    double arg3;
-	    double arg4;
-	    double arg5;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 5) || (items > 5)) {
-		SWIG_croak
-		    ("Usage: G_window_percentage_overlap(struct Cell_head const *,double,double,double,double);");
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(0), (void **)&arg1, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_window_percentage_overlap. Expected _p_Cell_head");
-		}
-	    }
-	    arg2 = (double)SvNV(ST(1));
-
-	    arg3 = (double)SvNV(ST(2));
-
-	    arg4 = (double)SvNV(ST(3));
-
-	    arg5 = (double)SvNV(ST(4));
-
-	    result =
-		(double)G_window_percentage_overlap((struct Cell_head const *)
-						    arg1, arg2, arg3, arg4,
-						    arg5);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_scan_northing) {
-	{
-	    char *arg1 = (char *)0;
-	    double *arg2 = (double *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_scan_northing(char const *,double *,int);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_scan_northing. Expected _p_double");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_scan_northing((char const *)arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_scan_easting) {
-	{
-	    char *arg1 = (char *)0;
-	    double *arg2 = (double *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_scan_easting(char const *,double *,int);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_scan_easting. Expected _p_double");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_scan_easting((char const *)arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_scan_resolution) {
-	{
-	    char *arg1 = (char *)0;
-	    double *arg2 = (double *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G_scan_resolution(char const *,double *,int);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_double, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_scan_resolution. Expected _p_double");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result = (int)G_scan_resolution((char const *)arg1, arg2, arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__create_window_mapping) {
-	{
-	    int arg1;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G__create_window_mapping(int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    result = (int)G__create_window_mapping(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_northing_to_row) {
-	{
-	    double arg1;
-	    struct Cell_head *arg2 = (struct Cell_head *)0;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_northing_to_row(double,struct Cell_head const *);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_northing_to_row. Expected _p_Cell_head");
-		}
-	    }
-	    result =
-		(double)G_northing_to_row(arg1,
-					  (struct Cell_head const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_adjust_east_longitude) {
-	{
-	    double arg1;
-	    double arg2;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_adjust_east_longitude(double,double);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    arg2 = (double)SvNV(ST(1));
-
-	    result = (double)G_adjust_east_longitude(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_adjust_easting) {
-	{
-	    double arg1;
-	    struct Cell_head *arg2 = (struct Cell_head *)0;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_adjust_easting(double,struct Cell_head const *);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_adjust_easting. Expected _p_Cell_head");
-		}
-	    }
-	    result =
-		(double)G_adjust_easting(arg1,
-					 (struct Cell_head const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_easting_to_col) {
-	{
-	    double arg1;
-	    struct Cell_head *arg2 = (struct Cell_head *)0;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_easting_to_col(double,struct Cell_head const *);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_easting_to_col. Expected _p_Cell_head");
-		}
-	    }
-	    result =
-		(double)G_easting_to_col(arg1,
-					 (struct Cell_head const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_row_to_northing) {
-	{
-	    double arg1;
-	    struct Cell_head *arg2 = (struct Cell_head *)0;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_row_to_northing(double,struct Cell_head const *);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_row_to_northing. Expected _p_Cell_head");
-		}
-	    }
-	    result =
-		(double)G_row_to_northing(arg1,
-					  (struct Cell_head const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_col_to_easting) {
-	{
-	    double arg1;
-	    struct Cell_head *arg2 = (struct Cell_head *)0;
-	    double result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_col_to_easting(double,struct Cell_head const *);");
-	    }
-	    arg1 = (double)SvNV(ST(0));
-
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_col_to_easting. Expected _p_Cell_head");
-		}
-	    }
-	    result =
-		(double)G_col_to_easting(arg1,
-					 (struct Cell_head const *)arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setnv(ST(argvi++), (double)result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_window_rows) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_window_rows();");
-	    }
-	    result = (int)G_window_rows();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_window_cols) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_window_cols();");
-	    }
-	    result = (int)G_window_cols();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__init_window) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G__init_window();");
-	    }
-	    result = (int)G__init_window();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_row_repeat_nomask) {
-	{
-	    int arg1;
-	    int arg2;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_row_repeat_nomask(int,int);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    arg2 = (int)SvIV(ST(1));
-	    result = (int)G_row_repeat_nomask(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__write_Cell_head) {
-	{
-	    FILE *arg1 = (FILE *) 0;
-	    struct Cell_head *arg2 = (struct Cell_head *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G__write_Cell_head(FILE *,struct Cell_head const *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_FILE, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G__write_Cell_head. Expected _p_FILE");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G__write_Cell_head. Expected _p_Cell_head");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result =
-		(int)G__write_Cell_head(arg1, (struct Cell_head const *)arg2,
-					arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G__write_Cell_head3) {
-	{
-	    FILE *arg1 = (FILE *) 0;
-	    struct Cell_head *arg2 = (struct Cell_head *)0;
-	    int arg3;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 3) || (items > 3)) {
-		SWIG_croak
-		    ("Usage: G__write_Cell_head3(FILE *,struct Cell_head const *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_FILE, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G__write_Cell_head3. Expected _p_FILE");
-		}
-	    }
-	    {
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&arg2, SWIGTYPE_p_Cell_head, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G__write_Cell_head3. Expected _p_Cell_head");
-		}
-	    }
-	    arg3 = (int)SvIV(ST(2));
-	    result =
-		(int)G__write_Cell_head3(arg1, (struct Cell_head const *)arg2,
-					 arg3);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_write_zeros) {
-	{
-	    int arg1;
-	    size_t arg2;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_write_zeros(int,size_t);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    arg2 = (size_t) SvUV(ST(1));
-	    result = (int)G_write_zeros(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_yes) {
-	{
-	    char *arg1 = (char *)0;
-	    int arg2;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_yes(char const *,int);");
-	    }
-	    if (!SvOK((SV *) ST(0)))
-		arg1 = 0;
-	    else
-		arg1 = (char *)SvPV(ST(0), PL_na);
-	    arg2 = (int)SvIV(ST(1));
-	    result = (int)G_yes((char const *)arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_zero) {
-	{
-	    void *arg1 = (void *)0;
-	    int arg2;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: G_zero(void *,int);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_zero. Expected _p_void");
-		}
-	    }
-	    arg2 = (int)SvIV(ST(1));
-	    result = (int)G_zero(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_zero_cell_buf) {
-	{
-	    CELL *arg1 = (CELL *) 0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 1) || (items > 1)) {
-		SWIG_croak("Usage: G_zero_cell_buf(CELL *);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, SWIGTYPE_p_CELL, 0)
-		    < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_zero_cell_buf. Expected _p_CELL");
-		}
-	    }
-	    result = (int)G_zero_cell_buf(arg1);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_zero_raster_buf) {
-	{
-	    void *arg1 = (void *)0;
-	    RASTER_MAP_TYPE arg2;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak
-		    ("Usage: G_zero_raster_buf(void *,RASTER_MAP_TYPE);");
-	    }
-	    {
-		if (SWIG_ConvertPtr(ST(0), (void **)&arg1, 0, 0) < 0) {
-		    SWIG_croak
-			("Type error in argument 1 of G_zero_raster_buf. Expected _p_void");
-		}
-	    }
-	    {
-		RASTER_MAP_TYPE *argp;
-
-		if (SWIG_ConvertPtr
-		    (ST(1), (void **)&argp, SWIGTYPE_p_RASTER_MAP_TYPE,
-		     0) < 0) {
-		    SWIG_croak
-			("Type error in argument 2 of G_zero_raster_buf. Expected _p_RASTER_MAP_TYPE");
-		}
-		arg2 = *argp;
-	    }
-	    result = (int)G_zero_raster_buf(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_G_zone) {
-	{
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 0) || (items > 0)) {
-		SWIG_croak("Usage: G_zone();");
-	    }
-	    result = (int)G_zone();
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    XSRETURN(argvi);
-	  fail:
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-    XS(_wrap_r_slope_aspect) {
-	{
-	    int arg1;
-	    char **arg2 = (char **)0;
-	    int result;
-	    int argvi = 0;
-
-	    dXSARGS;
-
-	    if ((items < 2) || (items > 2)) {
-		SWIG_croak("Usage: r_slope_aspect(argc,argv);");
-	    }
-	    arg1 = (int)SvIV(ST(0));
-	    {
-		AV *tempav;
-		I32 len;
-		int i;
-		SV **tv;
-
-		if (!SvROK(ST(1)))
-		    croak("ST(1) is not a reference.");
-		if (SvTYPE(SvRV(ST(1))) != SVt_PVAV)
-		    croak("ST(1) is not an array.");
-		tempav = (AV *) SvRV(ST(1));
-		len = av_len(tempav);
-		arg2 = (char **)malloc((len + 2) * sizeof(char *));
-		for (i = 0; i <= len; i++) {
-		    tv = av_fetch(tempav, i, 0);
-		    arg2[i] = (char *)SvPV_nolen(*tv);
-		}
-		arg2[i] = 0;
-	    }
-	    result = (int)r_slope_aspect(arg1, arg2);
-
-	    ST(argvi) = sv_newmortal();
-	    sv_setiv(ST(argvi++), (IV) result);
-	    {
-		free(ST(1));
-	    }
-	    XSRETURN(argvi);
-	  fail:
-	    {
-		free(ST(1));
-	    }
-	    ;
-	}
-	croak(Nullch);
-    }
-
-
-
-    /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
-
-    static swig_type_info _swigt__p_Cell_head[] =
-	{ {"_p_Cell_head", 0, "struct Cell_head *", 0, 0, 0, 0},
-	{"_p_Cell_head", 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info _swigt__p_Categories[] =
-	{ {"_p_Categories", 0, "struct Categories *", 0, 0, 0, 0},
-	{"_p_Categories", 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info _swigt__p_DateTime[] =
-	{ {"_p_DateTime", 0, "DateTime *", 0, 0, 0, 0}, {"_p_DateTime", 0, 0,
-							 0, 0, 0, 0}, {0, 0,
-								       0, 0,
-								       0, 0,
-								       0} };
-    static swig_type_info _swigt__p_RASTER_MAP_TYPE[] =
-	{ {"_p_RASTER_MAP_TYPE", 0, "RASTER_MAP_TYPE *", 0, 0, 0, 0},
-	{"_p_RASTER_MAP_TYPE", 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info _swigt__p_f_p_q_const__char_int__int[] =
-	{ {"_p_f_p_q_const__char_int__int", 0, "int (*)(char const *,int)", 0,
-	   0, 0, 0}, {"_p_f_p_q_const__char_int__int", 0, 0, 0, 0, 0, 0}, {0,
-									   0,
-									   0,
-									   0,
-									   0,
-									   0,
-									   0}
-    };
-    static swig_type_info _swigt__p_f_int_int__int[] =
-	{ {"_p_f_int_int__int", 0, "int (*)(int,int)", 0, 0, 0, 0},
-	{"_p_f_int_int__int", 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info _swigt__p_p_char[] =
-	{ {"_p_p_char", 0, "char **", 0, 0, 0, 0}, {"_p_p_char", 0, 0, 0, 0,
-						    0, 0}, {0, 0, 0, 0, 0, 0,
-							    0} };
-    static swig_type_info _swigt__p_char[] =
-	{ {"_p_char", 0, "char *", 0, 0, 0, 0}, {"_p_char", 0, 0, 0, 0, 0, 0},
-	{0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info _swigt__p_p_p_char[] =
-	{ {"_p_p_p_char", 0, "char ***", 0, 0, 0, 0}, {"_p_p_p_char", 0, 0, 0,
-						       0, 0, 0}, {0, 0, 0, 0,
-								  0, 0, 0} };
-    static swig_type_info _swigt__p_FPRange[] =
-	{ {"_p_FPRange", 0, "struct FPRange *", 0, 0, 0, 0}, {"_p_FPRange", 0,
-							      0, 0, 0, 0, 0},
-	{0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info _swigt__p_FCELL[] =
-	{ {"_p_FCELL", 0, "FCELL *", 0, 0, 0, 0}, {"_p_FCELL", 0, 0, 0, 0, 0,
-						   0}, {0, 0, 0, 0, 0, 0,
-							0} };
-    static swig_type_info _swigt__p_void[] =
-	{ {"_p_void", 0, "void *", 0, 0, 0, 0}, {"_p_void", 0, 0, 0, 0, 0, 0},
-	{0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info _swigt__p_p_double[] =
-	{ {"_p_p_double", 0, "double **", 0, 0, 0, 0}, {"_p_p_double", 0, 0,
-							0, 0, 0, 0}, {0, 0, 0,
-								      0, 0, 0,
-								      0} };
-    static swig_type_info _swigt__p_double[] =
-	{ {"_p_double", 0, "double *", 0, 0, 0, 0}, {"_p_double", 0, 0, 0, 0,
-						     0, 0}, {0, 0, 0, 0, 0, 0,
-							     0} };
-    static swig_type_info _swigt__p_f_double__double[] =
-	{ {"_p_f_double__double", 0, "double (*)(double)", 0, 0, 0, 0},
-	{"_p_f_double__double", 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info _swigt__p_stat[] =
-	{ {"_p_stat", 0, "struct stat *", 0, 0, 0, 0}, {"_p_stat", 0, 0, 0, 0,
-							0, 0}, {0, 0, 0, 0, 0,
-								0, 0} };
-    static swig_type_info _swigt__p_size_t[] =
-	{ {"_p_size_t", 0, "size_t *", 0, 0, 0, 0}, {"_p_size_t", 0, 0, 0, 0,
-						     0, 0}, {0, 0, 0, 0, 0, 0,
-							     0} };
-    static swig_type_info _swigt__p_Option[] =
-	{ {"_p_Option", 0, "struct Option *", 0, 0, 0, 0}, {"_p_Option", 0, 0,
-							    0, 0, 0, 0}, {0,
-									  0,
-									  0,
-									  0,
-									  0,
-									  0,
-									  0}
-    };
-    static swig_type_info _swigt__p_Range[] =
-	{ {"_p_Range", 0, "struct Range *", 0, 0, 0, 0}, {"_p_Range", 0, 0, 0,
-							  0, 0, 0}, {0, 0, 0,
-								     0, 0, 0,
-								     0} };
-    static swig_type_info _swigt__p_G_3dview[] =
-	{ {"_p_G_3dview", 0, "struct G_3dview *", 0, 0, 0, 0}, {"_p_G_3dview",
-								0, 0, 0, 0, 0,
-								0}, {0, 0, 0,
-								     0, 0, 0,
-								     0} };
-    static swig_type_info _swigt__p_Key_Value[] =
-	{ {"_p_Key_Value", 0, "struct Key_Value *", 0, 0, 0, 0},
-	{"_p_Key_Value", 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info _swigt__p_f_CELL_CELL_CELL__void[] =
-	{ {"_p_f_CELL_CELL_CELL__void", 0, "void (*)(CELL,CELL,CELL)", 0, 0,
-	   0, 0}, {"_p_f_CELL_CELL_CELL__void", 0, 0, 0, 0, 0, 0}, {0, 0, 0,
-								    0, 0, 0,
-								    0} };
-    static swig_type_info _swigt__p_Cell_stats[] =
-	{ {"_p_Cell_stats", 0, "struct Cell_stats *", 0, 0, 0, 0},
-	{"_p_Cell_stats", 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info _swigt__p_long[] =
-	{ {"_p_long", 0, "long *", 0, 0, 0, 0}, {"_p_long", 0, 0, 0, 0, 0, 0},
-	{0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info _swigt__p_CELL[] =
-	{ {"_p_CELL", 0, "CELL *", 0, 0, 0, 0}, {"_p_CELL", 0, 0, 0, 0, 0, 0},
-	{0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info _swigt__p_DCELL[] =
-	{ {"_p_DCELL", 0, "DCELL *", 0, 0, 0, 0}, {"_p_DCELL", 0, 0, 0, 0, 0,
-						   0}, {0, 0, 0, 0, 0, 0,
-							0} };
-    static swig_type_info _swigt__p__Color_Rule_[] =
-	{ {"_p__Color_Rule_", 0, "struct _Color_Rule_ *", 0, 0, 0, 0},
-	{"_p__Color_Rule_", 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info _swigt__p_FPReclass[] =
-	{ {"_p_FPReclass", 0, "struct FPReclass *", 0, 0, 0, 0},
-	{"_p_FPReclass", 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info _swigt__p_Quant[] =
-	{ {"_p_Quant", 0, "struct Quant *", 0, 0, 0, 0}, {"_p_Quant", 0, 0, 0,
-							  0, 0, 0}, {0, 0, 0,
-								     0, 0, 0,
-								     0} };
-    static swig_type_info _swigt__p_Flag[] =
-	{ {"_p_Flag", 0, "struct Flag *", 0, 0, 0, 0}, {"_p_Flag", 0, 0, 0, 0,
-							0, 0}, {0, 0, 0, 0, 0,
-								0, 0} };
-    static swig_type_info _swigt__p_Reclass[] =
-	{ {"_p_Reclass", 0, "struct Reclass *", 0, 0, 0, 0}, {"_p_Reclass", 0,
-							      0, 0, 0, 0, 0},
-	{0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info _swigt__p_p_unsigned_char[] =
-	{ {"_p_p_unsigned_char", 0, "unsigned char **", 0, 0, 0, 0},
-	{"_p_p_unsigned_char", 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info _swigt__p_unsigned_char[] =
-	{ {"_p_unsigned_char", 0, "unsigned char *", 0, 0, 0, 0},
-	{"_p_unsigned_char", 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info _swigt__p_GModule[] =
-	{ {"_p_GModule", 0, "struct GModule *", 0, 0, 0, 0}, {"_p_GModule", 0,
-							      0, 0, 0, 0, 0},
-	{0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info _swigt__p_TimeStamp[] =
-	{ {"_p_TimeStamp", 0, "struct TimeStamp *", 0, 0, 0, 0},
-	{"_p_TimeStamp", 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info
-	_swigt__p_f_p_q_const__char_p_q_const__char_p_q_const__char__int[] =
-	{ {"_p_f_p_q_const__char_p_q_const__char_p_q_const__char__int", 0,
-	   "int (*)(char const *,char const *,char const *)", 0, 0, 0, 0},
-	{"_p_f_p_q_const__char_p_q_const__char_p_q_const__char__int", 0, 0, 0,
-	 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info _swigt__p_History[] =
-	{ {"_p_History", 0, "struct History *", 0, 0, 0, 0}, {"_p_History", 0,
-							      0, 0, 0, 0, 0},
-	{0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info _swigt__p_Histogram[] =
-	{ {"_p_Histogram", 0, "struct Histogram *", 0, 0, 0, 0},
-	{"_p_Histogram", 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info _swigt__p__Color_Info_[] =
-	{ {"_p__Color_Info_", 0, "struct _Color_Info_ *", 0, 0, 0, 0},
-	{"_p__Color_Info_", 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info _swigt__p_f___int[] =
-	{ {"_p_f___int", 0, "int (*)()", 0, 0, 0, 0}, {"_p_f___int", 0, 0, 0,
-						       0, 0, 0}, {0, 0, 0, 0,
-								  0, 0, 0} };
-    static swig_type_info _swigt__p_Colors[] =
-	{ {"_p_Colors", 0, "struct Colors *", 0, 0, 0, 0}, {"_p_Colors", 0, 0,
-							    0, 0, 0, 0}, {0,
-									  0,
-									  0,
-									  0,
-									  0,
-									  0,
-									  0}
-    };
-    static swig_type_info _swigt__p_INTERP_TYPE[] =
-	{ {"_p_INTERP_TYPE", 0, "INTERP_TYPE *", 0, 0, 0, 0},
-	{"_p_INTERP_TYPE", 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info _swigt__p_FILE[] =
-	{ {"_p_FILE", 0, "FILE *", 0, 0, 0, 0}, {"_p_FILE", 0, 0, 0, 0, 0, 0},
-	{0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info
-	_swigt__p_f_p_void_DCELL_DCELL_p_DCELL_p_int_p_int_p_int_p_int_p_int_p_int__int
-	[] =
-	{
-{"_p_f_p_void_DCELL_DCELL_p_DCELL_p_int_p_int_p_int_p_int_p_int_p_int__int", 0,
-"int (*)(void *,DCELL,DCELL,DCELL *,int *,int *,int *,int *,int *,int *)|read_rule_fn *",
-0, 0, 0, 0},
-{"_p_f_p_void_DCELL_DCELL_p_DCELL_p_int_p_int_p_int_p_int_p_int_p_int__int", 0, 0, 0,
-0, 0, 0}, {0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info _swigt__p_Quant_table[] =
-	{ {"_p_Quant_table", 0, "struct Quant_table *", 0, 0, 0, 0},
-	{"_p_Quant_table", 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info _swigt__p_p_float[] =
-	{ {"_p_p_float", 0, "float **", 0, 0, 0, 0}, {"_p_p_float", 0, 0, 0,
-						      0, 0, 0}, {0, 0, 0, 0,
-								 0, 0, 0} };
-    static swig_type_info _swigt__p_float[] =
-	{ {"_p_float", 0, "float *", 0, 0, 0, 0}, {"_p_float", 0, 0, 0, 0, 0,
-						   0}, {0, 0, 0, 0, 0, 0,
-							0} };
-    static swig_type_info _swigt__p_p_int[] =
-	{ {"_p_p_int", 0, "int **", 0, 0, 0, 0}, {"_p_p_int", 0, 0, 0, 0, 0,
-						  0}, {0, 0, 0, 0, 0, 0, 0} };
-    static swig_type_info _swigt__p_int[] =
-	{ {"_p_int", 0, "int *", 0, 0, 0, 0}, {"_p_int", 0, 0, 0, 0, 0, 0},
-	{0, 0, 0, 0, 0, 0, 0} };
-
-    static swig_type_info *swig_types_initial[] = {
-	_swigt__p_Cell_head,
-	_swigt__p_Categories,
-	_swigt__p_DateTime,
-	_swigt__p_RASTER_MAP_TYPE,
-	_swigt__p_f_p_q_const__char_int__int,
-	_swigt__p_f_int_int__int,
-	_swigt__p_p_char,
-	_swigt__p_char,
-	_swigt__p_p_p_char,
-	_swigt__p_FPRange,
-	_swigt__p_FCELL,
-	_swigt__p_void,
-	_swigt__p_p_double,
-	_swigt__p_double,
-	_swigt__p_f_double__double,
-	_swigt__p_stat,
-	_swigt__p_size_t,
-	_swigt__p_Option,
-	_swigt__p_Range,
-	_swigt__p_G_3dview,
-	_swigt__p_Key_Value,
-	_swigt__p_f_CELL_CELL_CELL__void,
-	_swigt__p_Cell_stats,
-	_swigt__p_long,
-	_swigt__p_CELL,
-	_swigt__p_DCELL,
-	_swigt__p__Color_Rule_,
-	_swigt__p_FPReclass,
-	_swigt__p_Quant,
-	_swigt__p_Flag,
-	_swigt__p_Reclass,
-	_swigt__p_p_unsigned_char,
-	_swigt__p_unsigned_char,
-	_swigt__p_GModule,
-	_swigt__p_TimeStamp,
-	_swigt__p_f_p_q_const__char_p_q_const__char_p_q_const__char__int,
-	_swigt__p_History,
-	_swigt__p_Histogram,
-	_swigt__p__Color_Info_,
-	_swigt__p_f___int,
-	_swigt__p_Colors,
-	_swigt__p_INTERP_TYPE,
-	_swigt__p_FILE,
-	_swigt__p_f_p_void_DCELL_DCELL_p_DCELL_p_int_p_int_p_int_p_int_p_int_p_int__int,
-	_swigt__p_Quant_table,
-	_swigt__p_p_float,
-	_swigt__p_float,
-	_swigt__p_p_int,
-	_swigt__p_int,
-	0
-    };
-
-
-    /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
-
-    static swig_constant_info swig_constants[] = {
-	{0, 0, 0, 0, 0, 0}
-    };
-#ifdef __cplusplus
-}
-#endif
-static swig_variable_info swig_variables[] = {
-    {0, 0, 0, 0}
-};
-static swig_command_info swig_commands[] = {
-    {"Grassc::G_adjust_Cell_head", _wrap_G_adjust_Cell_head},
-    {"Grassc::G_adjust_Cell_head3", _wrap_G_adjust_Cell_head3},
-    {"Grassc::G_align_window", _wrap_G_align_window},
-    {"Grassc::G_malloc", _wrap_G_malloc},
-    {"Grassc::G_calloc", _wrap_G_calloc},
-    {"Grassc::G_realloc", _wrap_G_realloc},
-    {"Grassc::G_free", _wrap_G_free},
-    {"Grassc::G_raster_size", _wrap_G_raster_size},
-    {"Grassc::G_allocate_cell_buf", _wrap_G_allocate_cell_buf},
-    {"Grassc::G_allocate_raster_buf", _wrap_G_allocate_raster_buf},
-    {"Grassc::G_allocate_c_raster_buf", _wrap_G_allocate_c_raster_buf},
-    {"Grassc::G_allocate_f_raster_buf", _wrap_G_allocate_f_raster_buf},
-    {"Grassc::G_allocate_d_raster_buf", _wrap_G_allocate_d_raster_buf},
-    {"Grassc::G_allocate_null_buf", _wrap_G_allocate_null_buf},
-    {"Grassc::G__allocate_null_bits", _wrap_G__allocate_null_bits},
-    {"Grassc::G__null_bitstream_size", _wrap_G__null_bitstream_size},
-    {"Grassc::G_begin_cell_area_calculations",
-     _wrap_G_begin_cell_area_calculations},
-    {"Grassc::G_area_of_cell_at_row", _wrap_G_area_of_cell_at_row},
-    {"Grassc::G_begin_polygon_area_calculations",
-     _wrap_G_begin_polygon_area_calculations},
-    {"Grassc::G_area_of_polygon", _wrap_G_area_of_polygon},
-    {"Grassc::G_begin_zone_area_on_ellipsoid",
-     _wrap_G_begin_zone_area_on_ellipsoid},
-    {"Grassc::G_darea0_on_ellipsoid", _wrap_G_darea0_on_ellipsoid},
-    {"Grassc::G_area_for_zone_on_ellipsoid",
-     _wrap_G_area_for_zone_on_ellipsoid},
-    {"Grassc::G_begin_ellipsoid_polygon_area",
-     _wrap_G_begin_ellipsoid_polygon_area},
-    {"Grassc::G_ellipsoid_polygon_area", _wrap_G_ellipsoid_polygon_area},
-    {"Grassc::G_planimetric_polygon_area", _wrap_G_planimetric_polygon_area},
-    {"Grassc::G_begin_zone_area_on_sphere",
-     _wrap_G_begin_zone_area_on_sphere},
-    {"Grassc::G_darea0_on_sphere", _wrap_G_darea0_on_sphere},
-    {"Grassc::G_area_for_zone_on_sphere", _wrap_G_area_for_zone_on_sphere},
-    {"Grassc::G_ascii_check", _wrap_G_ascii_check},
-    {"Grassc::G_ask_new", _wrap_G_ask_new},
-    {"Grassc::G_ask_new_ext", _wrap_G_ask_new_ext},
-    {"Grassc::G_ask_old", _wrap_G_ask_old},
-    {"Grassc::G_ask_old_ext", _wrap_G_ask_old_ext},
-    {"Grassc::G_ask_any", _wrap_G_ask_any},
-    {"Grassc::G_ask_any_ext", _wrap_G_ask_any_ext},
-    {"Grassc::G_ask_in_mapset", _wrap_G_ask_in_mapset},
-    {"Grassc::G_ask_in_mapset_ext", _wrap_G_ask_in_mapset_ext},
-    {"Grassc::G_ask_new_file", _wrap_G_ask_new_file},
-    {"Grassc::G_ask_old_file", _wrap_G_ask_old_file},
-    {"Grassc::G_set_ask_return_msg", _wrap_G_set_ask_return_msg},
-    {"Grassc::G_get_ask_return_msg", _wrap_G_get_ask_return_msg},
-    {"Grassc::G_ask_cell_new", _wrap_G_ask_cell_new},
-    {"Grassc::G_ask_cell_old", _wrap_G_ask_cell_old},
-    {"Grassc::G_ask_cell_in_mapset", _wrap_G_ask_cell_in_mapset},
-    {"Grassc::G_ask_cell_any", _wrap_G_ask_cell_any},
-    {"Grassc::G_ask_vector_new", _wrap_G_ask_vector_new},
-    {"Grassc::G_ask_vector_old", _wrap_G_ask_vector_old},
-    {"Grassc::G_ask_vector_any", _wrap_G_ask_vector_any},
-    {"Grassc::G_ask_vector_in_mapset", _wrap_G_ask_vector_in_mapset},
-    {"Grassc::G__check_for_auto_masking", _wrap_G__check_for_auto_masking},
-    {"Grassc::G_suppress_masking", _wrap_G_suppress_masking},
-    {"Grassc::G_unsuppress_masking", _wrap_G_unsuppress_masking},
-    {"Grassc::G_basename", _wrap_G_basename},
-    {"Grassc::G_bresenham_line", _wrap_G_bresenham_line},
-    {"Grassc::G_read_cats", _wrap_G_read_cats},
-    {"Grassc::G_read_raster_cats", _wrap_G_read_raster_cats},
-    {"Grassc::G_read_vector_cats", _wrap_G_read_vector_cats},
-    {"Grassc::G_number_of_cats", _wrap_G_number_of_cats},
-    {"Grassc::G__read_cats", _wrap_G__read_cats},
-    {"Grassc::G_get_cats_title", _wrap_G_get_cats_title},
-    {"Grassc::G_get_raster_cats_title", _wrap_G_get_raster_cats_title},
-    {"Grassc::G_get_cat", _wrap_G_get_cat},
-    {"Grassc::G_get_c_raster_cat", _wrap_G_get_c_raster_cat},
-    {"Grassc::G_get_f_raster_cat", _wrap_G_get_f_raster_cat},
-    {"Grassc::G_get_d_raster_cat", _wrap_G_get_d_raster_cat},
-    {"Grassc::G_get_raster_cat", _wrap_G_get_raster_cat},
-    {"Grassc::G_unmark_raster_cats", _wrap_G_unmark_raster_cats},
-    {"Grassc::G_mark_c_raster_cats", _wrap_G_mark_c_raster_cats},
-    {"Grassc::G_mark_f_raster_cats", _wrap_G_mark_f_raster_cats},
-    {"Grassc::G_mark_d_raster_cats", _wrap_G_mark_d_raster_cats},
-    {"Grassc::G_mark_raster_cats", _wrap_G_mark_raster_cats},
-    {"Grassc::G_rewind_raster_cats", _wrap_G_rewind_raster_cats},
-    {"Grassc::G_get_next_marked_d_raster_cat",
-     _wrap_G_get_next_marked_d_raster_cat},
-    {"Grassc::G_get_next_marked_c_raster_cat",
-     _wrap_G_get_next_marked_c_raster_cat},
-    {"Grassc::G_get_next_marked_f_raster_cat",
-     _wrap_G_get_next_marked_f_raster_cat},
-    {"Grassc::G_get_next_marked_raster_cat",
-     _wrap_G_get_next_marked_raster_cat},
-    {"Grassc::G_set_cat", _wrap_G_set_cat},
-    {"Grassc::G_set_c_raster_cat", _wrap_G_set_c_raster_cat},
-    {"Grassc::G_set_f_raster_cat", _wrap_G_set_f_raster_cat},
-    {"Grassc::G_set_d_raster_cat", _wrap_G_set_d_raster_cat},
-    {"Grassc::G_set_raster_cat", _wrap_G_set_raster_cat},
-    {"Grassc::G_write_cats", _wrap_G_write_cats},
-    {"Grassc::G_write_raster_cats", _wrap_G_write_raster_cats},
-    {"Grassc::G_write_vector_cats", _wrap_G_write_vector_cats},
-    {"Grassc::G__write_cats", _wrap_G__write_cats},
-    {"Grassc::G_get_ith_d_raster_cat", _wrap_G_get_ith_d_raster_cat},
-    {"Grassc::G_get_ith_f_raster_cat", _wrap_G_get_ith_f_raster_cat},
-    {"Grassc::G_get_ith_c_raster_cat", _wrap_G_get_ith_c_raster_cat},
-    {"Grassc::G_get_ith_raster_cat", _wrap_G_get_ith_raster_cat},
-    {"Grassc::G_init_cats", _wrap_G_init_cats},
-    {"Grassc::G_init_raster_cats", _wrap_G_init_raster_cats},
-    {"Grassc::G_set_cats_title", _wrap_G_set_cats_title},
-    {"Grassc::G_set_raster_cats_title", _wrap_G_set_raster_cats_title},
-    {"Grassc::G_set_cats_fmt", _wrap_G_set_cats_fmt},
-    {"Grassc::G_set_raster_cats_fmt", _wrap_G_set_raster_cats_fmt},
-    {"Grassc::G_free_cats", _wrap_G_free_cats},
-    {"Grassc::G_free_raster_cats", _wrap_G_free_raster_cats},
-    {"Grassc::G_copy_raster_cats", _wrap_G_copy_raster_cats},
-    {"Grassc::G_number_of_raster_cats", _wrap_G_number_of_raster_cats},
-    {"Grassc::G_sort_cats", _wrap_G_sort_cats},
-    {"Grassc::G_init_cell_stats", _wrap_G_init_cell_stats},
-    {"Grassc::G_update_cell_stats", _wrap_G_update_cell_stats},
-    {"Grassc::G_find_cell_stat", _wrap_G_find_cell_stat},
-    {"Grassc::G_rewind_cell_stats", _wrap_G_rewind_cell_stats},
-    {"Grassc::G_next_cell_stat", _wrap_G_next_cell_stat},
-    {"Grassc::G_get_stats_for_null_value", _wrap_G_get_stats_for_null_value},
-    {"Grassc::G_free_cell_stats", _wrap_G_free_cell_stats},
-    {"Grassc::G_get_cell_title", _wrap_G_get_cell_title},
-    {"Grassc::G_cell_stats_histo_eq", _wrap_G_cell_stats_histo_eq},
-    {"Grassc::G_chop", _wrap_G_chop},
-    {"Grassc::G_clear_screen", _wrap_G_clear_screen},
-    {"Grassc::G_clicker", _wrap_G_clicker},
-    {"Grassc::G_close_cell", _wrap_G_close_cell},
-    {"Grassc::G_unopen_cell", _wrap_G_unopen_cell},
-    {"Grassc::G__write_fp_format", _wrap_G__write_fp_format},
-    {"Grassc::G_make_ryg_colors", _wrap_G_make_ryg_colors},
-    {"Grassc::G_make_ryg_fp_colors", _wrap_G_make_ryg_fp_colors},
-    {"Grassc::G_make_aspect_colors", _wrap_G_make_aspect_colors},
-    {"Grassc::G_make_aspect_fp_colors", _wrap_G_make_aspect_fp_colors},
-    {"Grassc::G_make_byr_colors", _wrap_G_make_byr_colors},
-    {"Grassc::G_make_byr_fp_colors", _wrap_G_make_byr_fp_colors},
-    {"Grassc::G_make_byg_colors", _wrap_G_make_byg_colors},
-    {"Grassc::G_make_byg_fp_colors", _wrap_G_make_byg_fp_colors},
-    {"Grassc::G_make_grey_scale_colors", _wrap_G_make_grey_scale_colors},
-    {"Grassc::G_make_grey_scale_fp_colors",
-     _wrap_G_make_grey_scale_fp_colors},
-    {"Grassc::G_make_gyr_colors", _wrap_G_make_gyr_colors},
-    {"Grassc::G_make_gyr_fp_colors", _wrap_G_make_gyr_fp_colors},
-    {"Grassc::G_make_rainbow_colors", _wrap_G_make_rainbow_colors},
-    {"Grassc::G_make_rainbow_fp_colors", _wrap_G_make_rainbow_fp_colors},
-    {"Grassc::G_make_ramp_colors", _wrap_G_make_ramp_colors},
-    {"Grassc::G_make_ramp_fp_colors", _wrap_G_make_ramp_fp_colors},
-    {"Grassc::G_make_wave_colors", _wrap_G_make_wave_colors},
-    {"Grassc::G_make_wave_fp_colors", _wrap_G_make_wave_fp_colors},
-    {"Grassc::G_free_colors", _wrap_G_free_colors},
-    {"Grassc::G__color_free_rules", _wrap_G__color_free_rules},
-    {"Grassc::G__color_free_lookup", _wrap_G__color_free_lookup},
-    {"Grassc::G__color_free_fp_lookup", _wrap_G__color_free_fp_lookup},
-    {"Grassc::G__color_reset", _wrap_G__color_reset},
-    {"Grassc::G_get_color", _wrap_G_get_color},
-    {"Grassc::G_get_raster_color", _wrap_G_get_raster_color},
-    {"Grassc::G_get_c_raster_color", _wrap_G_get_c_raster_color},
-    {"Grassc::G_get_f_raster_color", _wrap_G_get_f_raster_color},
-    {"Grassc::G_get_d_raster_color", _wrap_G_get_d_raster_color},
-    {"Grassc::G_get_null_value_color", _wrap_G_get_null_value_color},
-    {"Grassc::G_get_default_color", _wrap_G_get_default_color},
-    {"Grassc::G_make_histogram_eq_colors", _wrap_G_make_histogram_eq_colors},
-    {"Grassc::G_make_histogram_log_colors",
-     _wrap_G_make_histogram_log_colors},
-    {"Grassc::G_init_colors", _wrap_G_init_colors},
-    {"Grassc::G__insert_color_into_lookup",
-     _wrap_G__insert_color_into_lookup},
-    {"Grassc::G_invert_colors", _wrap_G_invert_colors},
-    {"Grassc::G_lookup_colors", _wrap_G_lookup_colors},
-    {"Grassc::G_lookup_c_raster_colors", _wrap_G_lookup_c_raster_colors},
-    {"Grassc::G_lookup_raster_colors", _wrap_G_lookup_raster_colors},
-    {"Grassc::G_lookup_f_raster_colors", _wrap_G_lookup_f_raster_colors},
-    {"Grassc::G_lookup_d_raster_colors", _wrap_G_lookup_d_raster_colors},
-    {"Grassc::G__lookup_colors", _wrap_G__lookup_colors},
-    {"Grassc::G__interpolate_color_rule", _wrap_G__interpolate_color_rule},
-    {"Grassc::G__organize_colors", _wrap_G__organize_colors},
-    {"Grassc::G_make_random_colors", _wrap_G_make_random_colors},
-    {"Grassc::G_set_color_range", _wrap_G_set_color_range},
-    {"Grassc::G_set_d_color_range", _wrap_G_set_d_color_range},
-    {"Grassc::G_get_color_range", _wrap_G_get_color_range},
-    {"Grassc::G_get_d_color_range", _wrap_G_get_d_color_range},
-    {"Grassc::G_read_colors", _wrap_G_read_colors},
-    {"Grassc::G_mark_colors_as_fp", _wrap_G_mark_colors_as_fp},
-    {"Grassc::G_remove_colors", _wrap_G_remove_colors},
-    {"Grassc::G_add_d_raster_color_rule", _wrap_G_add_d_raster_color_rule},
-    {"Grassc::G_add_f_raster_color_rule", _wrap_G_add_f_raster_color_rule},
-    {"Grassc::G_add_c_raster_color_rule", _wrap_G_add_c_raster_color_rule},
-    {"Grassc::G_add_raster_color_rule", _wrap_G_add_raster_color_rule},
-    {"Grassc::G_add_color_rule", _wrap_G_add_color_rule},
-    {"Grassc::G_add_modular_d_raster_color_rule",
-     _wrap_G_add_modular_d_raster_color_rule},
-    {"Grassc::G_add_modular_f_raster_color_rule",
-     _wrap_G_add_modular_f_raster_color_rule},
-    {"Grassc::G_add_modular_c_raster_color_rule",
-     _wrap_G_add_modular_c_raster_color_rule},
-    {"Grassc::G_add_modular_raster_color_rule",
-     _wrap_G_add_modular_raster_color_rule},
-    {"Grassc::G_add_modular_color_rule", _wrap_G_add_modular_color_rule},
-    {"Grassc::G_colors_count", _wrap_G_colors_count},
-    {"Grassc::G_get_f_color_rule", _wrap_G_get_f_color_rule},
-    {"Grassc::G_parse_color_rule", _wrap_G_parse_color_rule},
-    {"Grassc::G_parse_color_rule_error", _wrap_G_parse_color_rule_error},
-    {"Grassc::G_read_color_rule", _wrap_G_read_color_rule},
-    {"Grassc::G_read_color_rules", _wrap_G_read_color_rules},
-    {"Grassc::G_load_colors", _wrap_G_load_colors},
-    {"Grassc::G_load_fp_colors", _wrap_G_load_fp_colors},
-    {"Grassc::G_make_colors", _wrap_G_make_colors},
-    {"Grassc::G_make_fp_colors", _wrap_G_make_fp_colors},
-    {"Grassc::G_set_color", _wrap_G_set_color},
-    {"Grassc::G_set_d_color", _wrap_G_set_d_color},
-    {"Grassc::G_set_null_value_color", _wrap_G_set_null_value_color},
-    {"Grassc::G_set_default_color", _wrap_G_set_default_color},
-    {"Grassc::G_shift_colors", _wrap_G_shift_colors},
-    {"Grassc::G_shift_d_colors", _wrap_G_shift_d_colors},
-    {"Grassc::G_str_to_color", _wrap_G_str_to_color},
-    {"Grassc::G_write_colors", _wrap_G_write_colors},
-    {"Grassc::G__write_colors", _wrap_G__write_colors},
-    {"Grassc::G_histogram_eq_colors", _wrap_G_histogram_eq_colors},
-    {"Grassc::G_log_colors", _wrap_G_log_colors},
-    {"Grassc::G_insert_commas", _wrap_G_insert_commas},
-    {"Grassc::G_remove_commas", _wrap_G_remove_commas},
-    {"Grassc::G_copy", _wrap_G_copy},
-    {"Grassc::G_copy_file", _wrap_G_copy_file},
-    {"Grassc::G_alloc_vector", _wrap_G_alloc_vector},
-    {"Grassc::G_alloc_matrix", _wrap_G_alloc_matrix},
-    {"Grassc::G_alloc_fvector", _wrap_G_alloc_fvector},
-    {"Grassc::G_alloc_fmatrix", _wrap_G_alloc_fmatrix},
-    {"Grassc::G_free_vector", _wrap_G_free_vector},
-    {"Grassc::G_free_matrix", _wrap_G_free_matrix},
-    {"Grassc::G_free_fmatrix", _wrap_G_free_fmatrix},
-    {"Grassc::G_date", _wrap_G_date},
-    {"Grassc::G_get_datum_by_name", _wrap_G_get_datum_by_name},
-    {"Grassc::G_datum_name", _wrap_G_datum_name},
-    {"Grassc::G_datum_description", _wrap_G_datum_description},
-    {"Grassc::G_datum_ellipsoid", _wrap_G_datum_ellipsoid},
-    {"Grassc::G_get_datumparams_from_projinfo",
-     _wrap_G_get_datumparams_from_projinfo},
-    {"Grassc::G_debug", _wrap_G_debug},
-    {"Grassc::G_begin_distance_calculations",
-     _wrap_G_begin_distance_calculations},
-    {"Grassc::G_distance", _wrap_G_distance},
-    {"Grassc::G_distance_between_line_segments",
-     _wrap_G_distance_between_line_segments},
-    {"Grassc::G_distance_point_to_line_segment",
-     _wrap_G_distance_point_to_line_segment},
-    {"Grassc::G_done_msg", _wrap_G_done_msg},
-    {"Grassc::G_tqli", _wrap_G_tqli},
-    {"Grassc::G_tred2", _wrap_G_tred2},
-    {"Grassc::G_is_little_endian", _wrap_G_is_little_endian},
-    {"Grassc::G_getenv", _wrap_G_getenv},
-    {"Grassc::G_getenv2", _wrap_G_getenv2},
-    {"Grassc::G__getenv", _wrap_G__getenv},
-    {"Grassc::G__getenv2", _wrap_G__getenv2},
-    {"Grassc::G_setenv", _wrap_G_setenv},
-    {"Grassc::G_setenv2", _wrap_G_setenv2},
-    {"Grassc::G__setenv", _wrap_G__setenv},
-    {"Grassc::G__setenv2", _wrap_G__setenv2},
-    {"Grassc::G_unsetenv", _wrap_G_unsetenv},
-    {"Grassc::G_unsetenv2", _wrap_G_unsetenv2},
-    {"Grassc::G__write_env", _wrap_G__write_env},
-    {"Grassc::G__env_name", _wrap_G__env_name},
-    {"Grassc::G__read_env", _wrap_G__read_env},
-    {"Grassc::G_set_gisrc_mode", _wrap_G_set_gisrc_mode},
-    {"Grassc::G_get_gisrc_mode", _wrap_G_get_gisrc_mode},
-    {"Grassc::G__set_gisrc_file", _wrap_G__set_gisrc_file},
-    {"Grassc::G__get_gisrc_file", _wrap_G__get_gisrc_file},
-    {"Grassc::G__create_alt_env", _wrap_G__create_alt_env},
-    {"Grassc::G__switch_env", _wrap_G__switch_env},
-    {"Grassc::G_info_format", _wrap_G_info_format},
-    {"Grassc::G_message", _wrap_G_message},
-    {"Grassc::G_verbose_message", _wrap_G_verbose_message},
-    {"Grassc::G_important_message", _wrap_G_important_message},
-    {"Grassc::G_fatal_error", _wrap_G_fatal_error},
-    {"Grassc::G_warning", _wrap_G_warning},
-    {"Grassc::G_suppress_warnings", _wrap_G_suppress_warnings},
-    {"Grassc::G_sleep_on_error", _wrap_G_sleep_on_error},
-    {"Grassc::G_set_error_routine", _wrap_G_set_error_routine},
-    {"Grassc::G_unset_error_routine", _wrap_G_unset_error_routine},
-    {"Grassc::G__file_name", _wrap_G__file_name},
-    {"Grassc::G__file_name_misc", _wrap_G__file_name_misc},
-    {"Grassc::G_find_cell", _wrap_G_find_cell},
-    {"Grassc::G_find_cell2", _wrap_G_find_cell2},
-    {"Grassc::G_find_file", _wrap_G_find_file},
-    {"Grassc::G_find_file2", _wrap_G_find_file2},
-    {"Grassc::G_find_file_misc", _wrap_G_find_file_misc},
-    {"Grassc::G_find_file2_misc", _wrap_G_find_file2_misc},
-    {"Grassc::G_find_etc", _wrap_G_find_etc},
-    {"Grassc::G_find_vector", _wrap_G_find_vector},
-    {"Grassc::G_find_vector2", _wrap_G_find_vector2},
-    {"Grassc::G_zlib_compress", _wrap_G_zlib_compress},
-    {"Grassc::G_zlib_expand", _wrap_G_zlib_expand},
-    {"Grassc::G_zlib_write", _wrap_G_zlib_write},
-    {"Grassc::G_zlib_read", _wrap_G_zlib_read},
-    {"Grassc::G_zlib_write_noCompress", _wrap_G_zlib_write_noCompress},
-    {"Grassc::G_fork", _wrap_G_fork},
-    {"Grassc::G__check_format", _wrap_G__check_format},
-    {"Grassc::G__read_row_ptrs", _wrap_G__read_row_ptrs},
-    {"Grassc::G__write_row_ptrs", _wrap_G__write_row_ptrs},
-    {"Grassc::G_fpreclass_clear", _wrap_G_fpreclass_clear},
-    {"Grassc::G_fpreclass_reset", _wrap_G_fpreclass_reset},
-    {"Grassc::G_fpreclass_init", _wrap_G_fpreclass_init},
-    {"Grassc::G_fpreclass_set_domain", _wrap_G_fpreclass_set_domain},
-    {"Grassc::G_fpreclass_set_range", _wrap_G_fpreclass_set_range},
-    {"Grassc::G_fpreclass_get_limits", _wrap_G_fpreclass_get_limits},
-    {"Grassc::G_fpreclass_nof_rules", _wrap_G_fpreclass_nof_rules},
-    {"Grassc::G_fpreclass_get_ith_rule", _wrap_G_fpreclass_get_ith_rule},
-    {"Grassc::G_fpreclass_set_neg_infinite_rule",
-     _wrap_G_fpreclass_set_neg_infinite_rule},
-    {"Grassc::G_fpreclass_get_neg_infinite_rule",
-     _wrap_G_fpreclass_get_neg_infinite_rule},
-    {"Grassc::G_fpreclass_set_pos_infinite_rule",
-     _wrap_G_fpreclass_set_pos_infinite_rule},
-    {"Grassc::G_fpreclass_get_pos_infinite_rule",
-     _wrap_G_fpreclass_get_pos_infinite_rule},
-    {"Grassc::G_fpreclass_add_rule", _wrap_G_fpreclass_add_rule},
-    {"Grassc::G_fpreclass_reverse_rule_order",
-     _wrap_G_fpreclass_reverse_rule_order},
-    {"Grassc::G_fpreclass_get_cell_value", _wrap_G_fpreclass_get_cell_value},
-    {"Grassc::G_fpreclass_perform_di", _wrap_G_fpreclass_perform_di},
-    {"Grassc::G_fpreclass_perform_df", _wrap_G_fpreclass_perform_df},
-    {"Grassc::G_fpreclass_perform_dd", _wrap_G_fpreclass_perform_dd},
-    {"Grassc::G_fpreclass_perform_fi", _wrap_G_fpreclass_perform_fi},
-    {"Grassc::G_fpreclass_perform_ff", _wrap_G_fpreclass_perform_ff},
-    {"Grassc::G_fpreclass_perform_fd", _wrap_G_fpreclass_perform_fd},
-    {"Grassc::G_fpreclass_perform_ii", _wrap_G_fpreclass_perform_ii},
-    {"Grassc::G_fpreclass_perform_if", _wrap_G_fpreclass_perform_if},
-    {"Grassc::G_fpreclass_perform_id", _wrap_G_fpreclass_perform_id},
-    {"Grassc::G_begin_geodesic_equation", _wrap_G_begin_geodesic_equation},
-    {"Grassc::G_geodesic_lat_from_lon", _wrap_G_geodesic_lat_from_lon},
-    {"Grassc::G_begin_geodesic_distance", _wrap_G_begin_geodesic_distance},
-    {"Grassc::G_set_geodesic_distance_lat1",
-     _wrap_G_set_geodesic_distance_lat1},
-    {"Grassc::G_set_geodesic_distance_lat2",
-     _wrap_G_set_geodesic_distance_lat2},
-    {"Grassc::G_geodesic_distance_lon_to_lon",
-     _wrap_G_geodesic_distance_lon_to_lon},
-    {"Grassc::G_geodesic_distance", _wrap_G_geodesic_distance},
-    {"Grassc::G_get_cellhd", _wrap_G_get_cellhd},
-    {"Grassc::G_ask_datum_name", _wrap_G_ask_datum_name},
-    {"Grassc::G_ask_ellipse_name", _wrap_G_ask_ellipse_name},
-    {"Grassc::G_get_ellipsoid_parameters", _wrap_G_get_ellipsoid_parameters},
-    {"Grassc::G_get_spheroid_by_name", _wrap_G_get_spheroid_by_name},
-    {"Grassc::G_get_ellipsoid_by_name", _wrap_G_get_ellipsoid_by_name},
-    {"Grassc::G_ellipsoid_name", _wrap_G_ellipsoid_name},
-    {"Grassc::G_ellipsoid_description", _wrap_G_ellipsoid_description},
-    {"Grassc::G_get_projunits", _wrap_G_get_projunits},
-    {"Grassc::G_get_projinfo", _wrap_G_get_projinfo},
-    {"Grassc::G_ask_proj_name", _wrap_G_ask_proj_name},
-    {"Grassc::G_get_map_row_nomask", _wrap_G_get_map_row_nomask},
-    {"Grassc::G_get_raster_row_nomask", _wrap_G_get_raster_row_nomask},
-    {"Grassc::G_get_c_raster_row_nomask", _wrap_G_get_c_raster_row_nomask},
-    {"Grassc::G_get_f_raster_row_nomask", _wrap_G_get_f_raster_row_nomask},
-    {"Grassc::G_get_d_raster_row_nomask", _wrap_G_get_d_raster_row_nomask},
-    {"Grassc::G_get_map_row", _wrap_G_get_map_row},
-    {"Grassc::G_get_raster_row", _wrap_G_get_raster_row},
-    {"Grassc::G_get_c_raster_row", _wrap_G_get_c_raster_row},
-    {"Grassc::G_get_f_raster_row", _wrap_G_get_f_raster_row},
-    {"Grassc::G_get_d_raster_row", _wrap_G_get_d_raster_row},
-    {"Grassc::G_get_null_value_row", _wrap_G_get_null_value_row},
-    {"Grassc::G_get_raster_row_colors", _wrap_G_get_raster_row_colors},
-    {"Grassc::G_get_window", _wrap_G_get_window},
-    {"Grassc::G_get_default_window", _wrap_G_get_default_window},
-    {"Grassc::G__get_window", _wrap_G__get_window},
-    {"Grassc::G_getl", _wrap_G_getl},
-    {"Grassc::G_getl2", _wrap_G_getl2},
-    {"Grassc::G_gets", _wrap_G_gets},
-    {"Grassc::G_gisbase", _wrap_G_gisbase},
-    {"Grassc::G_gisdbase", _wrap_G_gisdbase},
-    {"Grassc::G_gishelp", _wrap_G_gishelp},
-    {"Grassc::G_gisinit", _wrap_G_gisinit},
-    {"Grassc::G_no_gisinit", _wrap_G_no_gisinit},
-    {"Grassc::G__check_gisinit", _wrap_G__check_gisinit},
-    {"Grassc::G_histogram_eq", _wrap_G_histogram_eq},
-    {"Grassc::G_init_histogram", _wrap_G_init_histogram},
-    {"Grassc::G_read_histogram", _wrap_G_read_histogram},
-    {"Grassc::G_write_histogram", _wrap_G_write_histogram},
-    {"Grassc::G_write_histogram_cs", _wrap_G_write_histogram_cs},
-    {"Grassc::G_make_histogram_cs", _wrap_G_make_histogram_cs},
-    {"Grassc::G_get_histogram_num", _wrap_G_get_histogram_num},
-    {"Grassc::G_get_histogram_cat", _wrap_G_get_histogram_cat},
-    {"Grassc::G_get_histogram_count", _wrap_G_get_histogram_count},
-    {"Grassc::G_free_histogram", _wrap_G_free_histogram},
-    {"Grassc::G_sort_histogram", _wrap_G_sort_histogram},
-    {"Grassc::G_sort_histogram_by_count", _wrap_G_sort_histogram_by_count},
-    {"Grassc::G_remove_histogram", _wrap_G_remove_histogram},
-    {"Grassc::G_add_histogram", _wrap_G_add_histogram},
-    {"Grassc::G_set_histogram", _wrap_G_set_histogram},
-    {"Grassc::G_extend_histogram", _wrap_G_extend_histogram},
-    {"Grassc::G_zero_histogram", _wrap_G_zero_histogram},
-    {"Grassc::G_read_history", _wrap_G_read_history},
-    {"Grassc::G_write_history", _wrap_G_write_history},
-    {"Grassc::G_short_history", _wrap_G_short_history},
-    {"Grassc::G_command_history", _wrap_G_command_history},
-    {"Grassc::G_home", _wrap_G_home},
-    {"Grassc::G__home", _wrap_G__home},
-    {"Grassc::G_alloc_ivector", _wrap_G_alloc_ivector},
-    {"Grassc::G_alloc_imatrix", _wrap_G_alloc_imatrix},
-    {"Grassc::G_free_ivector", _wrap_G_free_ivector},
-    {"Grassc::G_free_imatrix", _wrap_G_free_imatrix},
-    {"Grassc::G_index", _wrap_G_index},
-    {"Grassc::G_rindex", _wrap_G_rindex},
-    {"Grassc::G__random_d_initialize_0", _wrap_G__random_d_initialize_0},
-    {"Grassc::G__random_f_initialize_0", _wrap_G__random_f_initialize_0},
-    {"Grassc::G_interp_linear", _wrap_G_interp_linear},
-    {"Grassc::G_interp_bilinear", _wrap_G_interp_bilinear},
-    {"Grassc::G_interp_cubic", _wrap_G_interp_cubic},
-    {"Grassc::G_interp_bicubic", _wrap_G_interp_bicubic},
-    {"Grassc::G_intersect_line_segments", _wrap_G_intersect_line_segments},
-    {"Grassc::G_intr_char", _wrap_G_intr_char},
-    {"Grassc::G_is_gisbase", _wrap_G_is_gisbase},
-    {"Grassc::G_is_location", _wrap_G_is_location},
-    {"Grassc::G_is_mapset", _wrap_G_is_mapset},
-    {"Grassc::G_create_key_value", _wrap_G_create_key_value},
-    {"Grassc::G_set_key_value", _wrap_G_set_key_value},
-    {"Grassc::G_find_key_value", _wrap_G_find_key_value},
-    {"Grassc::G_free_key_value", _wrap_G_free_key_value},
-    {"Grassc::G_fwrite_key_value", _wrap_G_fwrite_key_value},
-    {"Grassc::G_fread_key_value", _wrap_G_fread_key_value},
-    {"Grassc::G_write_key_value_file", _wrap_G_write_key_value_file},
-    {"Grassc::G_read_key_value_file", _wrap_G_read_key_value_file},
-    {"Grassc::G_update_key_value_file", _wrap_G_update_key_value_file},
-    {"Grassc::G_lookup_key_value_from_file",
-     _wrap_G_lookup_key_value_from_file},
-    {"Grassc::G_legal_filename", _wrap_G_legal_filename},
-    {"Grassc::G_check_input_output_name", _wrap_G_check_input_output_name},
-    {"Grassc::G_set_distance_to_line_tolerance",
-     _wrap_G_set_distance_to_line_tolerance},
-    {"Grassc::G_distance2_point_to_line", _wrap_G_distance2_point_to_line},
-    {"Grassc::G_set_list_hit_return", _wrap_G_set_list_hit_return},
-    {"Grassc::G_list_element", _wrap_G_list_element},
-    {"Grassc::G_list", _wrap_G_list},
-    {"Grassc::G_free_list", _wrap_G_free_list},
-    {"Grassc::G_lat_format", _wrap_G_lat_format},
-    {"Grassc::G_lat_format_string", _wrap_G_lat_format_string},
-    {"Grassc::G_lon_format", _wrap_G_lon_format},
-    {"Grassc::G_lon_format_string", _wrap_G_lon_format_string},
-    {"Grassc::G_llres_format", _wrap_G_llres_format},
-    {"Grassc::G_llres_format_string", _wrap_G_llres_format_string},
-    {"Grassc::G_lat_parts", _wrap_G_lat_parts},
-    {"Grassc::G_lon_parts", _wrap_G_lon_parts},
-    {"Grassc::G_lat_scan", _wrap_G_lat_scan},
-    {"Grassc::G_lon_scan", _wrap_G_lon_scan},
-    {"Grassc::G_llres_scan", _wrap_G_llres_scan},
-    {"Grassc::G_location_path", _wrap_G_location_path},
-    {"Grassc::G_location", _wrap_G_location},
-    {"Grassc::G__location_path", _wrap_G__location_path},
-    {"Grassc::G__ls", _wrap_G__ls},
-    {"Grassc::G_ls", _wrap_G_ls},
-    {"Grassc::G_ls_format", _wrap_G_ls_format},
-    {"Grassc::G_ludcmp", _wrap_G_ludcmp},
-    {"Grassc::G_lubksb", _wrap_G_lubksb},
-    {"Grassc::lzw_decode", _wrap_lzw_decode},
-    {"Grassc::lzw_expand", _wrap_lzw_expand},
-    {"Grassc::G_lzw_nof_read_bytes", _wrap_G_lzw_nof_read_bytes},
-    {"Grassc::G_lzw_max_used_bits", _wrap_G_lzw_max_used_bits},
-    {"Grassc::G_lzw_set_bits", _wrap_G_lzw_set_bits},
-    {"Grassc::G_lzw_compress", _wrap_G_lzw_compress},
-    {"Grassc::G_lzw_expand", _wrap_G_lzw_expand},
-    {"Grassc::G_lzw_compress_count_only_array",
-     _wrap_G_lzw_compress_count_only_array},
-    {"Grassc::G_lzw_compress_count_only_file",
-     _wrap_G_lzw_compress_count_only_file},
-    {"Grassc::G_lzw_write", _wrap_G_lzw_write},
-    {"Grassc::G_lzw_write_noCompress", _wrap_G_lzw_write_noCompress},
-    {"Grassc::G_lzw_test_status", _wrap_G_lzw_test_status},
-    {"Grassc::G_lzw_read2", _wrap_G_lzw_read2},
-    {"Grassc::G_lzw_read", _wrap_G_lzw_read},
-    {"Grassc::G_lzw_transfer_compress", _wrap_G_lzw_transfer_compress},
-    {"Grassc::G_lzw_transfer_expand", _wrap_G_lzw_transfer_expand},
-    {"Grassc::G__machine_name", _wrap_G__machine_name},
-    {"Grassc::G_ask_colors", _wrap_G_ask_colors},
-    {"Grassc::G__make_location", _wrap_G__make_location},
-    {"Grassc::G_make_location", _wrap_G_make_location},
-    {"Grassc::G_compare_projections", _wrap_G_compare_projections},
-    {"Grassc::G__make_mapset", _wrap_G__make_mapset},
-    {"Grassc::G_make_mapset", _wrap_G_make_mapset},
-    {"Grassc::G_tolcase", _wrap_G_tolcase},
-    {"Grassc::G_toucase", _wrap_G_toucase},
-    {"Grassc::G_mapset", _wrap_G_mapset},
-    {"Grassc::G__mapset", _wrap_G__mapset},
-    {"Grassc::G__make_mapset_element", _wrap_G__make_mapset_element},
-    {"Grassc::G__make_mapset_element_misc",
-     _wrap_G__make_mapset_element_misc},
-    {"Grassc::G__mapset_permissions", _wrap_G__mapset_permissions},
-    {"Grassc::G__mapset_permissions2", _wrap_G__mapset_permissions2},
-    {"Grassc::G__mapset_name", _wrap_G__mapset_name},
-    {"Grassc::G__create_alt_search_path", _wrap_G__create_alt_search_path},
-    {"Grassc::G__switch_search_path", _wrap_G__switch_search_path},
-    {"Grassc::G_reset_mapsets", _wrap_G_reset_mapsets},
-    {"Grassc::G_available_mapsets", _wrap_G_available_mapsets},
-    {"Grassc::G_add_mapset_to_search_path",
-     _wrap_G_add_mapset_to_search_path},
-    {"Grassc::G_mask_info", _wrap_G_mask_info},
-    {"Grassc::G__mask_info", _wrap_G__mask_info},
-    {"Grassc::G_maskfd", _wrap_G_maskfd},
-    {"Grassc::G_myname", _wrap_G_myname},
-    {"Grassc::G_color_values", _wrap_G_color_values},
-    {"Grassc::G_color_name", _wrap_G_color_name},
-    {"Grassc::G_newlines_to_spaces", _wrap_G_newlines_to_spaces},
-    {"Grassc::G__name_in_mapset", _wrap_G__name_in_mapset},
-    {"Grassc::G__name_is_fully_qualified", _wrap_G__name_is_fully_qualified},
-    {"Grassc::G_fully_qualified_name", _wrap_G_fully_qualified_name},
-    {"Grassc::G__init_null_patterns", _wrap_G__init_null_patterns},
-    {"Grassc::G__set_null_value", _wrap_G__set_null_value},
-    {"Grassc::G_set_null_value", _wrap_G_set_null_value},
-    {"Grassc::G_set_c_null_value", _wrap_G_set_c_null_value},
-    {"Grassc::G_set_f_null_value", _wrap_G_set_f_null_value},
-    {"Grassc::G_set_d_null_value", _wrap_G_set_d_null_value},
-    {"Grassc::G_is_null_value", _wrap_G_is_null_value},
-    {"Grassc::G_is_c_null_value", _wrap_G_is_c_null_value},
-    {"Grassc::G_is_f_null_value", _wrap_G_is_f_null_value},
-    {"Grassc::G_is_d_null_value", _wrap_G_is_d_null_value},
-    {"Grassc::G_insert_null_values", _wrap_G_insert_null_values},
-    {"Grassc::G_insert_c_null_values", _wrap_G_insert_c_null_values},
-    {"Grassc::G_insert_f_null_values", _wrap_G_insert_f_null_values},
-    {"Grassc::G_insert_d_null_values", _wrap_G_insert_d_null_values},
-    {"Grassc::G__check_null_bit", _wrap_G__check_null_bit},
-    {"Grassc::G__set_flags_from_01_random",
-     _wrap_G__set_flags_from_01_random},
-    {"Grassc::G__convert_01_flags", _wrap_G__convert_01_flags},
-    {"Grassc::G__convert_flags_01", _wrap_G__convert_flags_01},
-    {"Grassc::G__init_null_bits", _wrap_G__init_null_bits},
-    {"Grassc::G_open_new", _wrap_G_open_new},
-    {"Grassc::G_open_old", _wrap_G_open_old},
-    {"Grassc::G_open_update", _wrap_G_open_update},
-    {"Grassc::G_fopen_new", _wrap_G_fopen_new},
-    {"Grassc::G_fopen_old", _wrap_G_fopen_old},
-    {"Grassc::G_fopen_append", _wrap_G_fopen_append},
-    {"Grassc::G_fopen_modify", _wrap_G_fopen_modify},
-    {"Grassc::G_open_new_misc", _wrap_G_open_new_misc},
-    {"Grassc::G_open_old_misc", _wrap_G_open_old_misc},
-    {"Grassc::G_open_update_misc", _wrap_G_open_update_misc},
-    {"Grassc::G_fopen_new_misc", _wrap_G_fopen_new_misc},
-    {"Grassc::G_fopen_old_misc", _wrap_G_fopen_old_misc},
-    {"Grassc::G_fopen_append_misc", _wrap_G_fopen_append_misc},
-    {"Grassc::G_fopen_modify_misc", _wrap_G_fopen_modify_misc},
-    {"Grassc::G_open_cell_old", _wrap_G_open_cell_old},
-    {"Grassc::G__open_cell_old", _wrap_G__open_cell_old},
-    {"Grassc::G_open_cell_new", _wrap_G_open_cell_new},
-    {"Grassc::G_open_cell_new_random", _wrap_G_open_cell_new_random},
-    {"Grassc::G_open_cell_new_uncompressed",
-     _wrap_G_open_cell_new_uncompressed},
-    {"Grassc::G_want_histogram", _wrap_G_want_histogram},
-    {"Grassc::G_set_cell_format", _wrap_G_set_cell_format},
-    {"Grassc::G_cellvalue_format", _wrap_G_cellvalue_format},
-    {"Grassc::G_open_fp_cell_new", _wrap_G_open_fp_cell_new},
-    {"Grassc::G_open_fp_cell_new_uncompressed",
-     _wrap_G_open_fp_cell_new_uncompressed},
-    {"Grassc::G__reallocate_work_buf", _wrap_G__reallocate_work_buf},
-    {"Grassc::G__reallocate_null_buf", _wrap_G__reallocate_null_buf},
-    {"Grassc::G__reallocate_mask_buf", _wrap_G__reallocate_mask_buf},
-    {"Grassc::G__reallocate_temp_buf", _wrap_G__reallocate_temp_buf},
-    {"Grassc::G_set_fp_type", _wrap_G_set_fp_type},
-    {"Grassc::G_raster_map_is_fp", _wrap_G_raster_map_is_fp},
-    {"Grassc::G_raster_map_type", _wrap_G_raster_map_type},
-    {"Grassc::G_raster_map_type2", _wrap_G_raster_map_type2},
-    {"Grassc::G__check_fp_type", _wrap_G__check_fp_type},
-    {"Grassc::G_get_raster_map_type", _wrap_G_get_raster_map_type},
-    {"Grassc::G_open_raster_new", _wrap_G_open_raster_new},
-    {"Grassc::G_open_raster_new_uncompressed",
-     _wrap_G_open_raster_new_uncompressed},
-    {"Grassc::G_set_quant_rules", _wrap_G_set_quant_rules},
-    {"Grassc::G_disable_interactive", _wrap_G_disable_interactive},
-    {"Grassc::G_define_module", _wrap_G_define_module},
-    {"Grassc::G_define_flag", _wrap_G_define_flag},
-    {"Grassc::G_define_option", _wrap_G_define_option},
-    {"Grassc::G_define_standard_option", _wrap_G_define_standard_option},
-    {"Grassc::G_parser", _wrap_G_parser},
-    {"Grassc::G_usage", _wrap_G_usage},
-    {"Grassc::G_recreate_command", _wrap_G_recreate_command},
-    {"Grassc::G_mkdir", _wrap_G_mkdir},
-    {"Grassc::G_is_dirsep", _wrap_G_is_dirsep},
-    {"Grassc::G_is_absolute_path", _wrap_G_is_absolute_path},
-    {"Grassc::G_convert_dirseps_to_host", _wrap_G_convert_dirseps_to_host},
-    {"Grassc::G_convert_dirseps_from_host",
-     _wrap_G_convert_dirseps_from_host},
-    {"Grassc::G_lstat", _wrap_G_lstat},
-    {"Grassc::G_stat", _wrap_G_stat},
-    {"Grassc::G_percent", _wrap_G_percent},
-    {"Grassc::G_percent2", _wrap_G_percent2},
-    {"Grassc::G_percent_reset", _wrap_G_percent_reset},
-    {"Grassc::G_setup_plot", _wrap_G_setup_plot},
-    {"Grassc::G_setup_fill", _wrap_G_setup_fill},
-    {"Grassc::G_plot_where_xy", _wrap_G_plot_where_xy},
-    {"Grassc::G_plot_where_en", _wrap_G_plot_where_en},
-    {"Grassc::G_plot_point", _wrap_G_plot_point},
-    {"Grassc::G_plot_line", _wrap_G_plot_line},
-    {"Grassc::G_plot_line2", _wrap_G_plot_line2},
-    {"Grassc::G_plot_polygon", _wrap_G_plot_polygon},
-    {"Grassc::G_plot_area", _wrap_G_plot_area},
-    {"Grassc::G_plot_fx", _wrap_G_plot_fx},
-    {"Grassc::G_plot_icon", _wrap_G_plot_icon},
-    {"Grassc::G_pole_in_polygon", _wrap_G_pole_in_polygon},
-    {"Grassc::G_popen", _wrap_G_popen},
-    {"Grassc::G_pclose", _wrap_G_pclose},
-    {"Grassc::G_program_name", _wrap_G_program_name},
-    {"Grassc::G_set_program_name", _wrap_G_set_program_name},
-    {"Grassc::G_projection", _wrap_G_projection},
-    {"Grassc::G__projection_units", _wrap_G__projection_units},
-    {"Grassc::G__unit_name", _wrap_G__unit_name},
-    {"Grassc::G__projection_name", _wrap_G__projection_name},
-    {"Grassc::G_database_unit_name", _wrap_G_database_unit_name},
-    {"Grassc::G_database_projection_name", _wrap_G_database_projection_name},
-    {"Grassc::G_database_units_to_meters_factor",
-     _wrap_G_database_units_to_meters_factor},
-    {"Grassc::G_database_datum_name", _wrap_G_database_datum_name},
-    {"Grassc::G_database_ellipse_name", _wrap_G_database_ellipse_name},
-    {"Grassc::G_put_cellhd", _wrap_G_put_cellhd},
-    {"Grassc::G_zeros_r_nulls", _wrap_G_zeros_r_nulls},
-    {"Grassc::G_put_map_row", _wrap_G_put_map_row},
-    {"Grassc::G_put_map_row_random", _wrap_G_put_map_row_random},
-    {"Grassc::G__put_null_value_row", _wrap_G__put_null_value_row},
-    {"Grassc::G_put_raster_row", _wrap_G_put_raster_row},
-    {"Grassc::G_put_c_raster_row", _wrap_G_put_c_raster_row},
-    {"Grassc::G_put_f_raster_row", _wrap_G_put_f_raster_row},
-    {"Grassc::G_put_d_raster_row", _wrap_G_put_d_raster_row},
-    {"Grassc::G__write_data", _wrap_G__write_data},
-    {"Grassc::G__write_data_compressed", _wrap_G__write_data_compressed},
-    {"Grassc::G__open_null_write", _wrap_G__open_null_write},
-    {"Grassc::G__write_null_bits", _wrap_G__write_null_bits},
-    {"Grassc::G_put_cell_title", _wrap_G_put_cell_title},
-    {"Grassc::G_put_window", _wrap_G_put_window},
-    {"Grassc::G__put_window", _wrap_G__put_window},
-    {"Grassc::G_putenv", _wrap_G_putenv},
-    {"Grassc::G_quant_clear", _wrap_G_quant_clear},
-    {"Grassc::G_quant_free", _wrap_G_quant_free},
-    {"Grassc::G__quant_organize_fp_lookup",
-     _wrap_G__quant_organize_fp_lookup},
-    {"Grassc::G_quant_init", _wrap_G_quant_init},
-    {"Grassc::G_quant_is_truncate", _wrap_G_quant_is_truncate},
-    {"Grassc::G_quant_is_round", _wrap_G_quant_is_round},
-    {"Grassc::G_quant_truncate", _wrap_G_quant_truncate},
-    {"Grassc::G_quant_round", _wrap_G_quant_round},
-    {"Grassc::G_quant_get_limits", _wrap_G_quant_get_limits},
-    {"Grassc::G_quant_nof_rules", _wrap_G_quant_nof_rules},
-    {"Grassc::G_quant_get_ith_rule", _wrap_G_quant_get_ith_rule},
-    {"Grassc::G_quant_set_neg_infinite_rule",
-     _wrap_G_quant_set_neg_infinite_rule},
-    {"Grassc::G_quant_get_neg_infinite_rule",
-     _wrap_G_quant_get_neg_infinite_rule},
-    {"Grassc::G_quant_set_pos_infinite_rule",
-     _wrap_G_quant_set_pos_infinite_rule},
-    {"Grassc::G_quant_get_pos_infinite_rule",
-     _wrap_G_quant_get_pos_infinite_rule},
-    {"Grassc::G_quant_add_rule", _wrap_G_quant_add_rule},
-    {"Grassc::G_quant_reverse_rule_order", _wrap_G_quant_reverse_rule_order},
-    {"Grassc::G_quant_get_cell_value", _wrap_G_quant_get_cell_value},
-    {"Grassc::G_quant_perform_d", _wrap_G_quant_perform_d},
-    {"Grassc::G_quant_perform_f", _wrap_G_quant_perform_f},
-    {"Grassc::G__quant_get_rule_for_d_raster_val",
-     _wrap_G__quant_get_rule_for_d_raster_val},
-    {"Grassc::G__quant_import", _wrap_G__quant_import},
-    {"Grassc::G__quant_export", _wrap_G__quant_export},
-    {"Grassc::G_truncate_fp_map", _wrap_G_truncate_fp_map},
-    {"Grassc::G_round_fp_map", _wrap_G_round_fp_map},
-    {"Grassc::G_quantize_fp_map", _wrap_G_quantize_fp_map},
-    {"Grassc::G_quantize_fp_map_range", _wrap_G_quantize_fp_map_range},
-    {"Grassc::G_write_quant", _wrap_G_write_quant},
-    {"Grassc::G_read_quant", _wrap_G_read_quant},
-    {"Grassc::G_meridional_radius_of_curvature",
-     _wrap_G_meridional_radius_of_curvature},
-    {"Grassc::G_transverse_radius_of_curvature",
-     _wrap_G_transverse_radius_of_curvature},
-    {"Grassc::G_radius_of_conformal_tangent_sphere",
-     _wrap_G_radius_of_conformal_tangent_sphere},
-    {"Grassc::G__remove_fp_range", _wrap_G__remove_fp_range},
-    {"Grassc::G_construct_default_range", _wrap_G_construct_default_range},
-    {"Grassc::G_read_fp_range", _wrap_G_read_fp_range},
-    {"Grassc::G_read_range", _wrap_G_read_range},
-    {"Grassc::G_write_range", _wrap_G_write_range},
-    {"Grassc::G_write_fp_range", _wrap_G_write_fp_range},
-    {"Grassc::G_update_range", _wrap_G_update_range},
-    {"Grassc::G_update_fp_range", _wrap_G_update_fp_range},
-    {"Grassc::G_row_update_range", _wrap_G_row_update_range},
-    {"Grassc::G__row_update_range", _wrap_G__row_update_range},
-    {"Grassc::G_row_update_fp_range", _wrap_G_row_update_fp_range},
-    {"Grassc::G_init_range", _wrap_G_init_range},
-    {"Grassc::G_get_range_min_max", _wrap_G_get_range_min_max},
-    {"Grassc::G_init_fp_range", _wrap_G_init_fp_range},
-    {"Grassc::G_get_fp_range_min_max", _wrap_G_get_fp_range_min_max},
-    {"Grassc::G_incr_void_ptr", _wrap_G_incr_void_ptr},
-    {"Grassc::G_raster_cmp", _wrap_G_raster_cmp},
-    {"Grassc::G_raster_cpy", _wrap_G_raster_cpy},
-    {"Grassc::G_set_raster_value_c", _wrap_G_set_raster_value_c},
-    {"Grassc::G_set_raster_value_f", _wrap_G_set_raster_value_f},
-    {"Grassc::G_set_raster_value_d", _wrap_G_set_raster_value_d},
-    {"Grassc::G_get_raster_value_c", _wrap_G_get_raster_value_c},
-    {"Grassc::G_get_raster_value_f", _wrap_G_get_raster_value_f},
-    {"Grassc::G_get_raster_value_d", _wrap_G_get_raster_value_d},
-    {"Grassc::G_read_raster_units", _wrap_G_read_raster_units},
-    {"Grassc::G_read_raster_vdatum", _wrap_G_read_raster_vdatum},
-    {"Grassc::G_write_raster_units", _wrap_G_write_raster_units},
-    {"Grassc::G_write_raster_vdatum", _wrap_G_write_raster_vdatum},
-    {"Grassc::G__raster_misc_read_line", _wrap_G__raster_misc_read_line},
-    {"Grassc::G__raster_misc_write_line", _wrap_G__raster_misc_write_line},
-    {"Grassc::G__read_Cell_head", _wrap_G__read_Cell_head},
-    {"Grassc::G__read_Cell_head_array", _wrap_G__read_Cell_head_array},
-    {"Grassc::G_is_reclass", _wrap_G_is_reclass},
-    {"Grassc::G_is_reclassed_to", _wrap_G_is_reclassed_to},
-    {"Grassc::G_get_reclass", _wrap_G_get_reclass},
-    {"Grassc::G_free_reclass", _wrap_G_free_reclass},
-    {"Grassc::G_put_reclass", _wrap_G_put_reclass},
-    {"Grassc::G_remove", _wrap_G_remove},
-    {"Grassc::G_remove_misc", _wrap_G_remove_misc},
-    {"Grassc::G_rename", _wrap_G_rename},
-    {"Grassc::G_begin_rhumbline_equation", _wrap_G_begin_rhumbline_equation},
-    {"Grassc::G_rhumbline_lat_from_lon", _wrap_G_rhumbline_lat_from_lon},
-    {"Grassc::G_rotate_around_point", _wrap_G_rotate_around_point},
-    {"Grassc::G_rotate_around_point_int", _wrap_G_rotate_around_point_int},
-    {"Grassc::G_get_raster_sample", _wrap_G_get_raster_sample},
-    {"Grassc::G_get_set_window", _wrap_G_get_set_window},
-    {"Grassc::G_set_window", _wrap_G_set_window},
-    {"Grassc::G_shortest_way", _wrap_G_shortest_way},
-    {"Grassc::G_sleep", _wrap_G_sleep},
-    {"Grassc::G_snprintf", _wrap_G_snprintf},
-    {"Grassc::G_squeeze", _wrap_G_squeeze},
-    {"Grassc::G_store", _wrap_G_store},
-    {"Grassc::G_strcpy", _wrap_G_strcpy},
-    {"Grassc::G_chrcpy", _wrap_G_chrcpy},
-    {"Grassc::G_strncpy", _wrap_G_strncpy},
-    {"Grassc::G_strcat", _wrap_G_strcat},
-    {"Grassc::G_chrcat", _wrap_G_chrcat},
-    {"Grassc::G_strmov", _wrap_G_strmov},
-    {"Grassc::G_chrmov", _wrap_G_chrmov},
-    {"Grassc::G_strcasecmp", _wrap_G_strcasecmp},
-    {"Grassc::G_strstr", _wrap_G_strstr},
-    {"Grassc::G_strdup", _wrap_G_strdup},
-    {"Grassc::G_strchg", _wrap_G_strchg},
-    {"Grassc::G_str_replace", _wrap_G_str_replace},
-    {"Grassc::G_str_to_upper", _wrap_G_str_to_upper},
-    {"Grassc::G_str_to_lower", _wrap_G_str_to_lower},
-    {"Grassc::G_str_to_sql", _wrap_G_str_to_sql},
-    {"Grassc::G_strip", _wrap_G_strip},
-    {"Grassc::G_svdcmp", _wrap_G_svdcmp},
-    {"Grassc::G_svbksb", _wrap_G_svbksb},
-    {"Grassc::G_svelim", _wrap_G_svelim},
-    {"Grassc::G_system", _wrap_G_system},
-    {"Grassc::G_tempfile", _wrap_G_tempfile},
-    {"Grassc::G__tempfile", _wrap_G__tempfile},
-    {"Grassc::G__temp_element", _wrap_G__temp_element},
-    {"Grassc::G_init_timestamp", _wrap_G_init_timestamp},
-    {"Grassc::G_set_timestamp", _wrap_G_set_timestamp},
-    {"Grassc::G_set_timestamp_range", _wrap_G_set_timestamp_range},
-    {"Grassc::G__read_timestamp", _wrap_G__read_timestamp},
-    {"Grassc::G__write_timestamp", _wrap_G__write_timestamp},
-    {"Grassc::G_get_timestamps", _wrap_G_get_timestamps},
-    {"Grassc::G_read_raster_timestamp", _wrap_G_read_raster_timestamp},
-    {"Grassc::G_read_vector_timestamp", _wrap_G_read_vector_timestamp},
-    {"Grassc::G_write_raster_timestamp", _wrap_G_write_raster_timestamp},
-    {"Grassc::G_write_vector_timestamp", _wrap_G_write_vector_timestamp},
-    {"Grassc::G_format_timestamp", _wrap_G_format_timestamp},
-    {"Grassc::G_scan_timestamp", _wrap_G_scan_timestamp},
-    {"Grassc::G_remove_raster_timestamp", _wrap_G_remove_raster_timestamp},
-    {"Grassc::G_remove_vector_timestamp", _wrap_G_remove_vector_timestamp},
-    {"Grassc::G_read_grid3_timestamp", _wrap_G_read_grid3_timestamp},
-    {"Grassc::G_remove_grid3_timestamp", _wrap_G_remove_grid3_timestamp},
-    {"Grassc::G_write_grid3_timestamp", _wrap_G_write_grid3_timestamp},
-    {"Grassc::G_tokenize", _wrap_G_tokenize},
-    {"Grassc::G_number_of_tokens", _wrap_G_number_of_tokens},
-    {"Grassc::G_free_tokens", _wrap_G_free_tokens},
-    {"Grassc::G_trim_decimal", _wrap_G_trim_decimal},
-    {"Grassc::G_unctrl", _wrap_G_unctrl},
-    {"Grassc::G_sock_get_fname", _wrap_G_sock_get_fname},
-    {"Grassc::G_sock_exists", _wrap_G_sock_exists},
-    {"Grassc::G_sock_bind", _wrap_G_sock_bind},
-    {"Grassc::G_sock_listen", _wrap_G_sock_listen},
-    {"Grassc::G_sock_accept", _wrap_G_sock_accept},
-    {"Grassc::G_sock_connect", _wrap_G_sock_connect},
-    {"Grassc::G_verbose", _wrap_G_verbose},
-    {"Grassc::G_verbose_min", _wrap_G_verbose_min},
-    {"Grassc::G_verbose_std", _wrap_G_verbose_std},
-    {"Grassc::G_verbose_max", _wrap_G_verbose_max},
-    {"Grassc::G_set_verbose", _wrap_G_set_verbose},
-    {"Grassc::G_3dview_warning", _wrap_G_3dview_warning},
-    {"Grassc::G_get_3dview_defaults", _wrap_G_get_3dview_defaults},
-    {"Grassc::G_put_3dview", _wrap_G_put_3dview},
-    {"Grassc::G_get_3dview", _wrap_G_get_3dview},
-    {"Grassc::G_whoami", _wrap_G_whoami},
-    {"Grassc::G_adjust_window_to_box", _wrap_G_adjust_window_to_box},
-    {"Grassc::G_format_northing", _wrap_G_format_northing},
-    {"Grassc::G_format_easting", _wrap_G_format_easting},
-    {"Grassc::G_format_resolution", _wrap_G_format_resolution},
-    {"Grassc::G_point_in_region", _wrap_G_point_in_region},
-    {"Grassc::G_point_in_window", _wrap_G_point_in_window},
-    {"Grassc::G_limit_east", _wrap_G_limit_east},
-    {"Grassc::G_limit_west", _wrap_G_limit_west},
-    {"Grassc::G_limit_north", _wrap_G_limit_north},
-    {"Grassc::G_limit_south", _wrap_G_limit_south},
-    {"Grassc::G_window_overlap", _wrap_G_window_overlap},
-    {"Grassc::G_window_percentage_overlap",
-     _wrap_G_window_percentage_overlap},
-    {"Grassc::G_scan_northing", _wrap_G_scan_northing},
-    {"Grassc::G_scan_easting", _wrap_G_scan_easting},
-    {"Grassc::G_scan_resolution", _wrap_G_scan_resolution},
-    {"Grassc::G__create_window_mapping", _wrap_G__create_window_mapping},
-    {"Grassc::G_northing_to_row", _wrap_G_northing_to_row},
-    {"Grassc::G_adjust_east_longitude", _wrap_G_adjust_east_longitude},
-    {"Grassc::G_adjust_easting", _wrap_G_adjust_easting},
-    {"Grassc::G_easting_to_col", _wrap_G_easting_to_col},
-    {"Grassc::G_row_to_northing", _wrap_G_row_to_northing},
-    {"Grassc::G_col_to_easting", _wrap_G_col_to_easting},
-    {"Grassc::G_window_rows", _wrap_G_window_rows},
-    {"Grassc::G_window_cols", _wrap_G_window_cols},
-    {"Grassc::G__init_window", _wrap_G__init_window},
-    {"Grassc::G_row_repeat_nomask", _wrap_G_row_repeat_nomask},
-    {"Grassc::G__write_Cell_head", _wrap_G__write_Cell_head},
-    {"Grassc::G__write_Cell_head3", _wrap_G__write_Cell_head3},
-    {"Grassc::G_write_zeros", _wrap_G_write_zeros},
-    {"Grassc::G_yes", _wrap_G_yes},
-    {"Grassc::G_zero", _wrap_G_zero},
-    {"Grassc::G_zero_cell_buf", _wrap_G_zero_cell_buf},
-    {"Grassc::G_zero_raster_buf", _wrap_G_zero_raster_buf},
-    {"Grassc::G_zone", _wrap_G_zone},
-    {"Grassc::r_slope_aspect", _wrap_r_slope_aspect},
-    {0, 0}
-};
-
-
-static void SWIG_Perl_SetTypeListHandle(swig_type_info ** handle)
-{
-    SV *pointer;
-
-    /* create a new pointer */
-    pointer =
-	get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION
-	       SWIG_TYPE_TABLE_NAME, TRUE);
-    sv_setiv(pointer, PTR2IV(swig_type_list_handle));
-}
-
-static swig_type_info **SWIG_Perl_LookupTypePointer(swig_type_info **
-						    type_list_handle)
-{
-    swig_type_info **type_pointer;
-
-    /* first check if module already created */
-    type_pointer = SWIG_Perl_GetTypeListHandle();
-    if (type_pointer) {
-	return type_pointer;
-    }
-    else {
-	/* create a new module and variable */
-	SWIG_Perl_SetTypeListHandle(type_list_handle);
-	return type_list_handle;
-    }
-}
-
-
-#ifdef __cplusplus
-extern "C"
-#endif
- XS(SWIG_init)
-{
-    dXSARGS;
-    int i;
-    static int _init = 0;
-
-    if (!_init) {
-	swig_type_list_handle =
-	    SWIG_Perl_LookupTypePointer(swig_type_list_handle);
-	for (i = 0; swig_types_initial[i]; i++) {
-	    swig_types[i] = SWIG_TypeRegister(swig_types_initial[i]);
-	}
-	_init = 1;
-    }
-
-    /* Install commands */
-    for (i = 0; swig_commands[i].name; i++) {
-	newXS((char *)swig_commands[i].name, swig_commands[i].wrapper,
-	      (char *)__FILE__);
-    }
-
-    /* Install variables */
-    for (i = 0; swig_variables[i].name; i++) {
-	SV *sv;
-
-	sv = perl_get_sv((char *)swig_variables[i].name, TRUE | 0x2);
-	if (swig_variables[i].type) {
-	    SWIG_MakePtr(sv, (void *)1, *swig_variables[i].type, 0);
-	}
-	else {
-	    sv_setiv(sv, (IV) 0);
-	}
-	swig_create_magic(sv, (char *)swig_variables[i].name,
-			  swig_variables[i].set, swig_variables[i].get);
-    }
-
-    /* Install constant */
-    for (i = 0; swig_constants[i].type; i++) {
-	SV *sv;
-
-	sv = perl_get_sv((char *)swig_constants[i].name, TRUE | 0x2);
-	switch (swig_constants[i].type) {
-	case SWIG_INT:
-	    sv_setiv(sv, (IV) swig_constants[i].lvalue);
-	    break;
-	case SWIG_FLOAT:
-	    sv_setnv(sv, (double)swig_constants[i].dvalue);
-	    break;
-	case SWIG_STRING:
-	    sv_setpv(sv, (char *)swig_constants[i].pvalue);
-	    break;
-	case SWIG_POINTER:
-	    SWIG_MakePtr(sv, swig_constants[i].pvalue,
-			 *(swig_constants[i].ptype), 0);
-	    break;
-	case SWIG_BINARY:
-	    SWIG_MakePackedObj(sv, swig_constants[i].pvalue,
-			       swig_constants[i].lvalue,
-			       *(swig_constants[i].ptype));
-	    break;
-	default:
-	    break;
-	}
-	SvREADONLY_on(sv);
-    }
-
-    ST(0) = &PL_sv_yes;
-    XSRETURN(1);
-}



More information about the grass-commit mailing list