1 /* ----------------------------------------------------------------------------
2  * This file was automatically generated by SWIG (http://www.swig.org).
3  * Version 3.0.12
4  *
5  * This file is not intended to be easily readable and contains a number of
6  * coding conventions designed to improve portability and efficiency. Do not make
7  * changes to this file unless you know what you are doing--modify the SWIG
8  * interface file instead.
9  * ----------------------------------------------------------------------------- */
10 
11 
12 #ifndef SWIGPERL
13 #define SWIGPERL
14 #endif
15 
16 #define SWIG_CASTRANK_MODE
17 
18 /* -----------------------------------------------------------------------------
19  *  This section contains generic SWIG labels for method/variable
20  *  declarations/attributes, and other compiler dependent labels.
21  * ----------------------------------------------------------------------------- */
22 
23 /* template workaround for compilers that cannot correctly implement the C++ standard */
24 #ifndef SWIGTEMPLATEDISAMBIGUATOR
25 # if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
26 #  define SWIGTEMPLATEDISAMBIGUATOR template
27 # elif defined(__HP_aCC)
28 /* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
29 /* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
30 #  define SWIGTEMPLATEDISAMBIGUATOR template
31 # else
32 #  define SWIGTEMPLATEDISAMBIGUATOR
33 # endif
34 #endif
35 
36 /* inline attribute */
37 #ifndef SWIGINLINE
38 # if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
39 #   define SWIGINLINE inline
40 # else
41 #   define SWIGINLINE
42 # endif
43 #endif
44 
45 /* attribute recognised by some compilers to avoid 'unused' warnings */
46 #ifndef SWIGUNUSED
47 # if defined(__GNUC__)
48 #   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
49 #     define SWIGUNUSED __attribute__ ((__unused__))
50 #   else
51 #     define SWIGUNUSED
52 #   endif
53 # elif defined(__ICC)
54 #   define SWIGUNUSED __attribute__ ((__unused__))
55 # else
56 #   define SWIGUNUSED
57 # endif
58 #endif
59 
60 #ifndef SWIG_MSC_UNSUPPRESS_4505
61 # if defined(_MSC_VER)
62 #   pragma warning(disable : 4505) /* unreferenced local function has been removed */
63 # endif
64 #endif
65 
66 #ifndef SWIGUNUSEDPARM
67 # ifdef __cplusplus
68 #   define SWIGUNUSEDPARM(p)
69 # else
70 #   define SWIGUNUSEDPARM(p) p SWIGUNUSED
71 # endif
72 #endif
73 
74 /* internal SWIG method */
75 #ifndef SWIGINTERN
76 # define SWIGINTERN static SWIGUNUSED
77 #endif
78 
79 /* internal inline SWIG method */
80 #ifndef SWIGINTERNINLINE
81 # define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
82 #endif
83 
84 /* exporting methods */
85 #if defined(__GNUC__)
86 #  if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
87 #    ifndef GCC_HASCLASSVISIBILITY
88 #      define GCC_HASCLASSVISIBILITY
89 #    endif
90 #  endif
91 #endif
92 
93 #ifndef SWIGEXPORT
94 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
95 #   if defined(STATIC_LINKED)
96 #     define SWIGEXPORT
97 #   else
98 #     define SWIGEXPORT __declspec(dllexport)
99 #   endif
100 # else
101 #   if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
102 #     define SWIGEXPORT __attribute__ ((visibility("default")))
103 #   else
104 #     define SWIGEXPORT
105 #   endif
106 # endif
107 #endif
108 
109 /* calling conventions for Windows */
110 #ifndef SWIGSTDCALL
111 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
112 #   define SWIGSTDCALL __stdcall
113 # else
114 #   define SWIGSTDCALL
115 # endif
116 #endif
117 
118 /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
119 #if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
120 # define _CRT_SECURE_NO_DEPRECATE
121 #endif
122 
123 /* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
124 #if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
125 # define _SCL_SECURE_NO_DEPRECATE
126 #endif
127 
128 /* Deal with Apple's deprecated 'AssertMacros.h' from Carbon-framework */
129 #if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES)
130 # define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
131 #endif
132 
133 /* Intel's compiler complains if a variable which was never initialised is
134  * cast to void, which is a common idiom which we use to indicate that we
135  * are aware a variable isn't used.  So we just silence that warning.
136  * See: https://github.com/swig/swig/issues/192 for more discussion.
137  */
138 #ifdef __INTEL_COMPILER
139 # pragma warning disable 592
140 #endif
141 
142 /* -----------------------------------------------------------------------------
143  * swigrun.swg
144  *
145  * This file contains generic C API SWIG runtime support for pointer
146  * type checking.
147  * ----------------------------------------------------------------------------- */
148 
149 /* This should only be incremented when either the layout of swig_type_info changes,
150    or for whatever reason, the runtime changes incompatibly */
151 #define SWIG_RUNTIME_VERSION "4"
152 
153 /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
154 #ifdef SWIG_TYPE_TABLE
155 # define SWIG_QUOTE_STRING(x) #x
156 # define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
157 # define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
158 #else
159 # define SWIG_TYPE_TABLE_NAME
160 #endif
161 
162 /*
163   You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
164   creating a static or dynamic library from the SWIG runtime code.
165   In 99.9% of the cases, SWIG just needs to declare them as 'static'.
166 
167   But only do this if strictly necessary, ie, if you have problems
168   with your compiler or suchlike.
169 */
170 
171 #ifndef SWIGRUNTIME
172 # define SWIGRUNTIME SWIGINTERN
173 #endif
174 
175 #ifndef SWIGRUNTIMEINLINE
176 # define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
177 #endif
178 
179 /*  Generic buffer size */
180 #ifndef SWIG_BUFFER_SIZE
181 # define SWIG_BUFFER_SIZE 1024
182 #endif
183 
184 /* Flags for pointer conversions */
185 #define SWIG_POINTER_DISOWN        0x1
186 #define SWIG_CAST_NEW_MEMORY       0x2
187 
188 /* Flags for new pointer objects */
189 #define SWIG_POINTER_OWN           0x1
190 
191 
192 /*
193    Flags/methods for returning states.
194 
195    The SWIG conversion methods, as ConvertPtr, return an integer
196    that tells if the conversion was successful or not. And if not,
197    an error code can be returned (see swigerrors.swg for the codes).
198 
199    Use the following macros/flags to set or process the returning
200    states.
201 
202    In old versions of SWIG, code such as the following was usually written:
203 
204      if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) {
205        // success code
206      } else {
207        //fail code
208      }
209 
210    Now you can be more explicit:
211 
212     int res = SWIG_ConvertPtr(obj,vptr,ty.flags);
213     if (SWIG_IsOK(res)) {
214       // success code
215     } else {
216       // fail code
217     }
218 
219    which is the same really, but now you can also do
220 
221     Type *ptr;
222     int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags);
223     if (SWIG_IsOK(res)) {
224       // success code
225       if (SWIG_IsNewObj(res) {
226         ...
227 	delete *ptr;
228       } else {
229         ...
230       }
231     } else {
232       // fail code
233     }
234 
235    I.e., now SWIG_ConvertPtr can return new objects and you can
236    identify the case and take care of the deallocation. Of course that
237    also requires SWIG_ConvertPtr to return new result values, such as
238 
239       int SWIG_ConvertPtr(obj, ptr,...) {
240         if (<obj is ok>) {
241           if (<need new object>) {
242             *ptr = <ptr to new allocated object>;
243             return SWIG_NEWOBJ;
244           } else {
245             *ptr = <ptr to old object>;
246             return SWIG_OLDOBJ;
247           }
248         } else {
249           return SWIG_BADOBJ;
250         }
251       }
252 
253    Of course, returning the plain '0(success)/-1(fail)' still works, but you can be
254    more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the
255    SWIG errors code.
256 
257    Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
258    allows to return the 'cast rank', for example, if you have this
259 
260        int food(double)
261        int fooi(int);
262 
263    and you call
264 
265       food(1)   // cast rank '1'  (1 -> 1.0)
266       fooi(1)   // cast rank '0'
267 
268    just use the SWIG_AddCast()/SWIG_CheckState()
269 */
270 
271 #define SWIG_OK                    (0)
272 #define SWIG_ERROR                 (-1)
273 #define SWIG_IsOK(r)               (r >= 0)
274 #define SWIG_ArgError(r)           ((r != SWIG_ERROR) ? r : SWIG_TypeError)
275 
276 /* The CastRankLimit says how many bits are used for the cast rank */
277 #define SWIG_CASTRANKLIMIT         (1 << 8)
278 /* The NewMask denotes the object was created (using new/malloc) */
279 #define SWIG_NEWOBJMASK            (SWIG_CASTRANKLIMIT  << 1)
280 /* The TmpMask is for in/out typemaps that use temporal objects */
281 #define SWIG_TMPOBJMASK            (SWIG_NEWOBJMASK << 1)
282 /* Simple returning values */
283 #define SWIG_BADOBJ                (SWIG_ERROR)
284 #define SWIG_OLDOBJ                (SWIG_OK)
285 #define SWIG_NEWOBJ                (SWIG_OK | SWIG_NEWOBJMASK)
286 #define SWIG_TMPOBJ                (SWIG_OK | SWIG_TMPOBJMASK)
287 /* Check, add and del mask methods */
288 #define SWIG_AddNewMask(r)         (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r)
289 #define SWIG_DelNewMask(r)         (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r)
290 #define SWIG_IsNewObj(r)           (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK))
291 #define SWIG_AddTmpMask(r)         (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r)
292 #define SWIG_DelTmpMask(r)         (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r)
293 #define SWIG_IsTmpObj(r)           (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK))
294 
295 /* Cast-Rank Mode */
296 #if defined(SWIG_CASTRANK_MODE)
297 #  ifndef SWIG_TypeRank
298 #    define SWIG_TypeRank             unsigned long
299 #  endif
300 #  ifndef SWIG_MAXCASTRANK            /* Default cast allowed */
301 #    define SWIG_MAXCASTRANK          (2)
302 #  endif
303 #  define SWIG_CASTRANKMASK          ((SWIG_CASTRANKLIMIT) -1)
304 #  define SWIG_CastRank(r)           (r & SWIG_CASTRANKMASK)
SWIG_AddCast(int r)305 SWIGINTERNINLINE int SWIG_AddCast(int r) {
306   return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r;
307 }
SWIG_CheckState(int r)308 SWIGINTERNINLINE int SWIG_CheckState(int r) {
309   return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0;
310 }
311 #else /* no cast-rank mode */
312 #  define SWIG_AddCast(r) (r)
313 #  define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0)
314 #endif
315 
316 
317 #include <string.h>
318 
319 #ifdef __cplusplus
320 extern "C" {
321 #endif
322 
323 typedef void *(*swig_converter_func)(void *, int *);
324 typedef struct swig_type_info *(*swig_dycast_func)(void **);
325 
326 /* Structure to store information on one type */
327 typedef struct swig_type_info {
328   const char             *name;			/* mangled name of this type */
329   const char             *str;			/* human readable name of this type */
330   swig_dycast_func        dcast;		/* dynamic cast function down a hierarchy */
331   struct swig_cast_info  *cast;			/* linked list of types that can cast into this type */
332   void                   *clientdata;		/* language specific type data */
333   int                    owndata;		/* flag if the structure owns the clientdata */
334 } swig_type_info;
335 
336 /* Structure to store a type and conversion function used for casting */
337 typedef struct swig_cast_info {
338   swig_type_info         *type;			/* pointer to type that is equivalent to this type */
339   swig_converter_func     converter;		/* function to cast the void pointers */
340   struct swig_cast_info  *next;			/* pointer to next cast in linked list */
341   struct swig_cast_info  *prev;			/* pointer to the previous cast */
342 } swig_cast_info;
343 
344 /* Structure used to store module information
345  * Each module generates one structure like this, and the runtime collects
346  * all of these structures and stores them in a circularly linked list.*/
347 typedef struct swig_module_info {
348   swig_type_info         **types;		/* Array of pointers to swig_type_info structures that are in this module */
349   size_t                 size;		        /* Number of types in this module */
350   struct swig_module_info *next;		/* Pointer to next element in circularly linked list */
351   swig_type_info         **type_initial;	/* Array of initially generated type structures */
352   swig_cast_info         **cast_initial;	/* Array of initially generated casting structures */
353   void                    *clientdata;		/* Language specific module data */
354 } swig_module_info;
355 
356 /*
357   Compare two type names skipping the space characters, therefore
358   "char*" == "char *" and "Class<int>" == "Class<int >", etc.
359 
360   Return 0 when the two name types are equivalent, as in
361   strncmp, but skipping ' '.
362 */
363 SWIGRUNTIME int
SWIG_TypeNameComp(const char * f1,const char * l1,const char * f2,const char * l2)364 SWIG_TypeNameComp(const char *f1, const char *l1,
365 		  const char *f2, const char *l2) {
366   for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
367     while ((*f1 == ' ') && (f1 != l1)) ++f1;
368     while ((*f2 == ' ') && (f2 != l2)) ++f2;
369     if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1;
370   }
371   return (int)((l1 - f1) - (l2 - f2));
372 }
373 
374 /*
375   Check type equivalence in a name list like <name1>|<name2>|...
376   Return 0 if equal, -1 if nb < tb, 1 if nb > tb
377 */
378 SWIGRUNTIME int
SWIG_TypeCmp(const char * nb,const char * tb)379 SWIG_TypeCmp(const char *nb, const char *tb) {
380   int equiv = 1;
381   const char* te = tb + strlen(tb);
382   const char* ne = nb;
383   while (equiv != 0 && *ne) {
384     for (nb = ne; *ne; ++ne) {
385       if (*ne == '|') break;
386     }
387     equiv = SWIG_TypeNameComp(nb, ne, tb, te);
388     if (*ne) ++ne;
389   }
390   return equiv;
391 }
392 
393 /*
394   Check type equivalence in a name list like <name1>|<name2>|...
395   Return 0 if not equal, 1 if equal
396 */
397 SWIGRUNTIME int
SWIG_TypeEquiv(const char * nb,const char * tb)398 SWIG_TypeEquiv(const char *nb, const char *tb) {
399   return SWIG_TypeCmp(nb, tb) == 0 ? 1 : 0;
400 }
401 
402 /*
403   Check the typename
404 */
405 SWIGRUNTIME swig_cast_info *
SWIG_TypeCheck(const char * c,swig_type_info * ty)406 SWIG_TypeCheck(const char *c, swig_type_info *ty) {
407   if (ty) {
408     swig_cast_info *iter = ty->cast;
409     while (iter) {
410       if (strcmp(iter->type->name, c) == 0) {
411         if (iter == ty->cast)
412           return iter;
413         /* Move iter to the top of the linked list */
414         iter->prev->next = iter->next;
415         if (iter->next)
416           iter->next->prev = iter->prev;
417         iter->next = ty->cast;
418         iter->prev = 0;
419         if (ty->cast) ty->cast->prev = iter;
420         ty->cast = iter;
421         return iter;
422       }
423       iter = iter->next;
424     }
425   }
426   return 0;
427 }
428 
429 /*
430   Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison
431 */
432 SWIGRUNTIME swig_cast_info *
SWIG_TypeCheckStruct(swig_type_info * from,swig_type_info * ty)433 SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty) {
434   if (ty) {
435     swig_cast_info *iter = ty->cast;
436     while (iter) {
437       if (iter->type == from) {
438         if (iter == ty->cast)
439           return iter;
440         /* Move iter to the top of the linked list */
441         iter->prev->next = iter->next;
442         if (iter->next)
443           iter->next->prev = iter->prev;
444         iter->next = ty->cast;
445         iter->prev = 0;
446         if (ty->cast) ty->cast->prev = iter;
447         ty->cast = iter;
448         return iter;
449       }
450       iter = iter->next;
451     }
452   }
453   return 0;
454 }
455 
456 /*
457   Cast a pointer up an inheritance hierarchy
458 */
459 SWIGRUNTIMEINLINE void *
SWIG_TypeCast(swig_cast_info * ty,void * ptr,int * newmemory)460 SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) {
461   return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory);
462 }
463 
464 /*
465    Dynamic pointer casting. Down an inheritance hierarchy
466 */
467 SWIGRUNTIME swig_type_info *
SWIG_TypeDynamicCast(swig_type_info * ty,void ** ptr)468 SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) {
469   swig_type_info *lastty = ty;
470   if (!ty || !ty->dcast) return ty;
471   while (ty && (ty->dcast)) {
472     ty = (*ty->dcast)(ptr);
473     if (ty) lastty = ty;
474   }
475   return lastty;
476 }
477 
478 /*
479   Return the name associated with this type
480 */
481 SWIGRUNTIMEINLINE const char *
SWIG_TypeName(const swig_type_info * ty)482 SWIG_TypeName(const swig_type_info *ty) {
483   return ty->name;
484 }
485 
486 /*
487   Return the pretty name associated with this type,
488   that is an unmangled type name in a form presentable to the user.
489 */
490 SWIGRUNTIME const char *
SWIG_TypePrettyName(const swig_type_info * type)491 SWIG_TypePrettyName(const swig_type_info *type) {
492   /* The "str" field contains the equivalent pretty names of the
493      type, separated by vertical-bar characters.  We choose
494      to print the last name, as it is often (?) the most
495      specific. */
496   if (!type) return NULL;
497   if (type->str != NULL) {
498     const char *last_name = type->str;
499     const char *s;
500     for (s = type->str; *s; s++)
501       if (*s == '|') last_name = s+1;
502     return last_name;
503   }
504   else
505     return type->name;
506 }
507 
508 /*
509    Set the clientdata field for a type
510 */
511 SWIGRUNTIME void
SWIG_TypeClientData(swig_type_info * ti,void * clientdata)512 SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
513   swig_cast_info *cast = ti->cast;
514   /* if (ti->clientdata == clientdata) return; */
515   ti->clientdata = clientdata;
516 
517   while (cast) {
518     if (!cast->converter) {
519       swig_type_info *tc = cast->type;
520       if (!tc->clientdata) {
521 	SWIG_TypeClientData(tc, clientdata);
522       }
523     }
524     cast = cast->next;
525   }
526 }
527 SWIGRUNTIME void
SWIG_TypeNewClientData(swig_type_info * ti,void * clientdata)528 SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) {
529   SWIG_TypeClientData(ti, clientdata);
530   ti->owndata = 1;
531 }
532 
533 /*
534   Search for a swig_type_info structure only by mangled name
535   Search is a O(log #types)
536 
537   We start searching at module start, and finish searching when start == end.
538   Note: if start == end at the beginning of the function, we go all the way around
539   the circular list.
540 */
541 SWIGRUNTIME swig_type_info *
SWIG_MangledTypeQueryModule(swig_module_info * start,swig_module_info * end,const char * name)542 SWIG_MangledTypeQueryModule(swig_module_info *start,
543                             swig_module_info *end,
544 		            const char *name) {
545   swig_module_info *iter = start;
546   do {
547     if (iter->size) {
548       size_t l = 0;
549       size_t r = iter->size - 1;
550       do {
551 	/* since l+r >= 0, we can (>> 1) instead (/ 2) */
552 	size_t i = (l + r) >> 1;
553 	const char *iname = iter->types[i]->name;
554 	if (iname) {
555 	  int compare = strcmp(name, iname);
556 	  if (compare == 0) {
557 	    return iter->types[i];
558 	  } else if (compare < 0) {
559 	    if (i) {
560 	      r = i - 1;
561 	    } else {
562 	      break;
563 	    }
564 	  } else if (compare > 0) {
565 	    l = i + 1;
566 	  }
567 	} else {
568 	  break; /* should never happen */
569 	}
570       } while (l <= r);
571     }
572     iter = iter->next;
573   } while (iter != end);
574   return 0;
575 }
576 
577 /*
578   Search for a swig_type_info structure for either a mangled name or a human readable name.
579   It first searches the mangled names of the types, which is a O(log #types)
580   If a type is not found it then searches the human readable names, which is O(#types).
581 
582   We start searching at module start, and finish searching when start == end.
583   Note: if start == end at the beginning of the function, we go all the way around
584   the circular list.
585 */
586 SWIGRUNTIME swig_type_info *
SWIG_TypeQueryModule(swig_module_info * start,swig_module_info * end,const char * name)587 SWIG_TypeQueryModule(swig_module_info *start,
588                      swig_module_info *end,
589 		     const char *name) {
590   /* STEP 1: Search the name field using binary search */
591   swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name);
592   if (ret) {
593     return ret;
594   } else {
595     /* STEP 2: If the type hasn't been found, do a complete search
596        of the str field (the human readable name) */
597     swig_module_info *iter = start;
598     do {
599       size_t i = 0;
600       for (; i < iter->size; ++i) {
601 	if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name)))
602 	  return iter->types[i];
603       }
604       iter = iter->next;
605     } while (iter != end);
606   }
607 
608   /* neither found a match */
609   return 0;
610 }
611 
612 /*
613    Pack binary data into a string
614 */
615 SWIGRUNTIME char *
SWIG_PackData(char * c,void * ptr,size_t sz)616 SWIG_PackData(char *c, void *ptr, size_t sz) {
617   static const char hex[17] = "0123456789abcdef";
618   const unsigned char *u = (unsigned char *) ptr;
619   const unsigned char *eu =  u + sz;
620   for (; u != eu; ++u) {
621     unsigned char uu = *u;
622     *(c++) = hex[(uu & 0xf0) >> 4];
623     *(c++) = hex[uu & 0xf];
624   }
625   return c;
626 }
627 
628 /*
629    Unpack binary data from a string
630 */
631 SWIGRUNTIME const char *
SWIG_UnpackData(const char * c,void * ptr,size_t sz)632 SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
633   unsigned char *u = (unsigned char *) ptr;
634   const unsigned char *eu = u + sz;
635   for (; u != eu; ++u) {
636     char d = *(c++);
637     unsigned char uu;
638     if ((d >= '0') && (d <= '9'))
639       uu = (unsigned char)((d - '0') << 4);
640     else if ((d >= 'a') && (d <= 'f'))
641       uu = (unsigned char)((d - ('a'-10)) << 4);
642     else
643       return (char *) 0;
644     d = *(c++);
645     if ((d >= '0') && (d <= '9'))
646       uu |= (unsigned char)(d - '0');
647     else if ((d >= 'a') && (d <= 'f'))
648       uu |= (unsigned char)(d - ('a'-10));
649     else
650       return (char *) 0;
651     *u = uu;
652   }
653   return c;
654 }
655 
656 /*
657    Pack 'void *' into a string buffer.
658 */
659 SWIGRUNTIME char *
SWIG_PackVoidPtr(char * buff,void * ptr,const char * name,size_t bsz)660 SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
661   char *r = buff;
662   if ((2*sizeof(void *) + 2) > bsz) return 0;
663   *(r++) = '_';
664   r = SWIG_PackData(r,&ptr,sizeof(void *));
665   if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
666   strcpy(r,name);
667   return buff;
668 }
669 
670 SWIGRUNTIME const char *
SWIG_UnpackVoidPtr(const char * c,void ** ptr,const char * name)671 SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) {
672   if (*c != '_') {
673     if (strcmp(c,"NULL") == 0) {
674       *ptr = (void *) 0;
675       return name;
676     } else {
677       return 0;
678     }
679   }
680   return SWIG_UnpackData(++c,ptr,sizeof(void *));
681 }
682 
683 SWIGRUNTIME char *
SWIG_PackDataName(char * buff,void * ptr,size_t sz,const char * name,size_t bsz)684 SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) {
685   char *r = buff;
686   size_t lname = (name ? strlen(name) : 0);
687   if ((2*sz + 2 + lname) > bsz) return 0;
688   *(r++) = '_';
689   r = SWIG_PackData(r,ptr,sz);
690   if (lname) {
691     strncpy(r,name,lname+1);
692   } else {
693     *r = 0;
694   }
695   return buff;
696 }
697 
698 SWIGRUNTIME const char *
SWIG_UnpackDataName(const char * c,void * ptr,size_t sz,const char * name)699 SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
700   if (*c != '_') {
701     if (strcmp(c,"NULL") == 0) {
702       memset(ptr,0,sz);
703       return name;
704     } else {
705       return 0;
706     }
707   }
708   return SWIG_UnpackData(++c,ptr,sz);
709 }
710 
711 #ifdef __cplusplus
712 }
713 #endif
714 
715 /*  Errors in SWIG */
716 #define  SWIG_UnknownError    	   -1
717 #define  SWIG_IOError        	   -2
718 #define  SWIG_RuntimeError   	   -3
719 #define  SWIG_IndexError     	   -4
720 #define  SWIG_TypeError      	   -5
721 #define  SWIG_DivisionByZero 	   -6
722 #define  SWIG_OverflowError  	   -7
723 #define  SWIG_SyntaxError    	   -8
724 #define  SWIG_ValueError     	   -9
725 #define  SWIG_SystemError    	   -10
726 #define  SWIG_AttributeError 	   -11
727 #define  SWIG_MemoryError    	   -12
728 #define  SWIG_NullReferenceError   -13
729 
730 
731 
732 #ifdef __cplusplus
733 /* Needed on some windows machines---since MS plays funny games with the header files under C++ */
734 #include <math.h>
735 #include <stdlib.h>
736 extern "C" {
737 #endif
738 #include "EXTERN.h"
739 #include "perl.h"
740 #include "XSUB.h"
741 
742 /* Add in functionality missing in older versions of Perl. Much of this is based on Devel-PPPort on cpan. */
743 
744 /* Add PERL_REVISION, PERL_VERSION, PERL_SUBVERSION if missing */
745 #ifndef PERL_REVISION
746 #  if !defined(__PATCHLEVEL_H_INCLUDED__) && !(defined(PATCHLEVEL) && defined(SUBVERSION))
747 #    define PERL_PATCHLEVEL_H_IMPLICIT
748 #    include <patchlevel.h>
749 #  endif
750 #  if !(defined(PERL_VERSION) || (defined(SUBVERSION) && defined(PATCHLEVEL)))
751 #    include <could_not_find_Perl_patchlevel.h>
752 #  endif
753 #  ifndef PERL_REVISION
754 #    define PERL_REVISION       (5)
755 #    define PERL_VERSION        PATCHLEVEL
756 #    define PERL_SUBVERSION     SUBVERSION
757 #  endif
758 #endif
759 
760 #if defined(WIN32) && defined(PERL_OBJECT) && !defined(PerlIO_exportFILE)
761 #define PerlIO_exportFILE(fh,fl) (FILE*)(fh)
762 #endif
763 
764 #ifndef SvIOK_UV
765 # define SvIOK_UV(sv)       (SvIOK(sv) && (SvUVX(sv) == SvIVX(sv)))
766 #endif
767 
768 #ifndef SvUOK
769 # define SvUOK(sv)           SvIOK_UV(sv)
770 #endif
771 
772 #if ((PERL_VERSION < 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION <= 5)))
773 #  define PL_sv_undef               sv_undef
774 #  define PL_na	                    na
775 #  define PL_errgv                  errgv
776 #  define PL_sv_no                  sv_no
777 #  define PL_sv_yes                 sv_yes
778 #  define PL_markstack_ptr          markstack_ptr
779 #endif
780 
781 #ifndef IVSIZE
782 #  ifdef LONGSIZE
783 #    define IVSIZE LONGSIZE
784 #  else
785 #    define IVSIZE 4 /* A bold guess, but the best we can make. */
786 #  endif
787 #endif
788 
789 #ifndef INT2PTR
790 #  if (IVSIZE == PTRSIZE) && (UVSIZE == PTRSIZE)
791 #    define PTRV                  UV
792 #    define INT2PTR(any,d)        (any)(d)
793 #  else
794 #    if PTRSIZE == LONGSIZE
795 #      define PTRV                unsigned long
796 #    else
797 #      define PTRV                unsigned
798 #    endif
799 #    define INT2PTR(any,d)        (any)(PTRV)(d)
800 #  endif
801 
802 #  define NUM2PTR(any,d)  (any)(PTRV)(d)
803 #  define PTR2IV(p)       INT2PTR(IV,p)
804 #  define PTR2UV(p)       INT2PTR(UV,p)
805 #  define PTR2NV(p)       NUM2PTR(NV,p)
806 
807 #  if PTRSIZE == LONGSIZE
808 #    define PTR2ul(p)     (unsigned long)(p)
809 #  else
810 #    define PTR2ul(p)     INT2PTR(unsigned long,p)
811 #  endif
812 #endif /* !INT2PTR */
813 
814 #ifndef SvPV_nolen
815 # define SvPV_nolen(x) SvPV(x,PL_na)
816 #endif
817 
818 #ifndef get_sv
819 #  define get_sv perl_get_sv
820 #endif
821 
822 #ifndef ERRSV
823 #  define ERRSV get_sv("@",FALSE)
824 #endif
825 
826 #ifndef pTHX_
827 #define pTHX_
828 #endif
829 
830 #include <string.h>
831 #ifdef __cplusplus
832 }
833 #endif
834 
835 /* -----------------------------------------------------------------------------
836  * error manipulation
837  * ----------------------------------------------------------------------------- */
838 
839 SWIGINTERN const char*
SWIG_Perl_ErrorType(int code)840 SWIG_Perl_ErrorType(int code) {
841   switch(code) {
842   case SWIG_MemoryError:
843     return "MemoryError";
844   case SWIG_IOError:
845     return "IOError";
846   case SWIG_RuntimeError:
847     return "RuntimeError";
848   case SWIG_IndexError:
849     return "IndexError";
850   case SWIG_TypeError:
851     return "TypeError";
852   case SWIG_DivisionByZero:
853     return "ZeroDivisionError";
854   case SWIG_OverflowError:
855     return "OverflowError";
856   case SWIG_SyntaxError:
857     return "SyntaxError";
858   case SWIG_ValueError:
859     return "ValueError";
860   case SWIG_SystemError:
861     return "SystemError";
862   case SWIG_AttributeError:
863     return "AttributeError";
864   default:
865     return "RuntimeError";
866   }
867 }
868 
869 
870 /* -----------------------------------------------------------------------------
871  * perlrun.swg
872  *
873  * This file contains the runtime support for Perl modules
874  * and includes code for managing global variables and pointer
875  * type checking.
876  * ----------------------------------------------------------------------------- */
877 
878 #ifdef PERL_OBJECT
879 #define SWIG_PERL_OBJECT_DECL CPerlObj *SWIGUNUSEDPARM(pPerl),
880 #define SWIG_PERL_OBJECT_CALL pPerl,
881 #else
882 #define SWIG_PERL_OBJECT_DECL
883 #define SWIG_PERL_OBJECT_CALL
884 #endif
885 
886 /* Common SWIG API */
887 
888 /* for raw pointers */
889 #define SWIG_ConvertPtr(obj, pp, type, flags)           SWIG_Perl_ConvertPtr(SWIG_PERL_OBJECT_CALL obj, pp, type, flags)
890 #define SWIG_ConvertPtrAndOwn(obj, pp, type, flags,own) SWIG_Perl_ConvertPtrAndOwn(SWIG_PERL_OBJECT_CALL obj, pp, type, flags, own)
891 #define SWIG_NewPointerObj(p, type, flags)              SWIG_Perl_NewPointerObj(SWIG_PERL_OBJECT_CALL p, type, flags)
892 #define swig_owntype                                    int
893 
894 /* for raw packed data */
895 #define SWIG_ConvertPacked(obj, p, s, type)             SWIG_Perl_ConvertPacked(SWIG_PERL_OBJECT_CALL obj, p, s, type)
896 #define SWIG_NewPackedObj(p, s, type)	                SWIG_Perl_NewPackedObj(SWIG_PERL_OBJECT_CALL p, s, type)
897 
898 /* for class or struct pointers */
899 #define SWIG_ConvertInstance(obj, pptr, type, flags)    SWIG_ConvertPtr(obj, pptr, type, flags)
900 #define SWIG_NewInstanceObj(ptr, type, flags)           SWIG_NewPointerObj(ptr, type, flags)
901 
902 /* for C or C++ function pointers */
903 #define SWIG_ConvertFunctionPtr(obj, pptr, type)        SWIG_ConvertPtr(obj, pptr, type, 0)
904 #define SWIG_NewFunctionPtrObj(ptr, type)               SWIG_NewPointerObj(ptr, type, 0)
905 
906 /* for C++ member pointers, ie, member methods */
907 #define SWIG_ConvertMember(obj, ptr, sz, ty)            SWIG_ConvertPacked(obj, ptr, sz, ty)
908 #define SWIG_NewMemberObj(ptr, sz, type)                SWIG_NewPackedObj(ptr, sz, type)
909 
910 
911 /* Runtime API */
912 
913 #define SWIG_GetModule(clientdata)                      SWIG_Perl_GetModule(clientdata)
914 #define SWIG_SetModule(clientdata, pointer)             SWIG_Perl_SetModule(pointer)
915 
916 
917 /* Error manipulation */
918 
919 #define SWIG_ErrorType(code)                            SWIG_Perl_ErrorType(code)
920 #define SWIG_Error(code, msg)            		sv_setpvf(get_sv("@", GV_ADD), "%s %s", SWIG_ErrorType(code), msg)
921 #define SWIG_fail                        		goto fail
922 
923 /* Perl-specific SWIG API */
924 
925 #define SWIG_MakePtr(sv, ptr, type, flags)              SWIG_Perl_MakePtr(SWIG_PERL_OBJECT_CALL sv, ptr, type, flags)
926 #define SWIG_MakePackedObj(sv, p, s, type)	        SWIG_Perl_MakePackedObj(SWIG_PERL_OBJECT_CALL sv, p, s, type)
927 #define SWIG_SetError(str)                              SWIG_Error(SWIG_RuntimeError, str)
928 
929 
930 #define SWIG_PERL_DECL_ARGS_1(arg1)                     (SWIG_PERL_OBJECT_DECL arg1)
931 #define SWIG_PERL_CALL_ARGS_1(arg1)                     (SWIG_PERL_OBJECT_CALL arg1)
932 #define SWIG_PERL_DECL_ARGS_2(arg1, arg2)               (SWIG_PERL_OBJECT_DECL arg1, arg2)
933 #define SWIG_PERL_CALL_ARGS_2(arg1, arg2)               (SWIG_PERL_OBJECT_CALL arg1, arg2)
934 
935 /* -----------------------------------------------------------------------------
936  * pointers/data manipulation
937  * ----------------------------------------------------------------------------- */
938 
939 /* For backward compatibility only */
940 #define SWIG_POINTER_EXCEPTION  0
941 
942 #ifdef __cplusplus
943 extern "C" {
944 #endif
945 
946 #define SWIG_OWNER   SWIG_POINTER_OWN
947 #define SWIG_SHADOW  SWIG_OWNER << 1
948 
949 #define SWIG_MAYBE_PERL_OBJECT SWIG_PERL_OBJECT_DECL
950 
951 /* SWIG Perl macros */
952 
953 /* Macro to declare an XS function */
954 #ifndef XSPROTO
955 #   define XSPROTO(name) void name(pTHX_ CV* cv)
956 #endif
957 
958 /* Macro to call an XS function */
959 #ifdef PERL_OBJECT
960 #  define SWIG_CALLXS(_name) _name(cv,pPerl)
961 #else
962 #  ifndef MULTIPLICITY
963 #    define SWIG_CALLXS(_name) _name(cv)
964 #  else
965 #    define SWIG_CALLXS(_name) _name(PERL_GET_THX, cv)
966 #  endif
967 #endif
968 
969 #ifdef PERL_OBJECT
970 #define MAGIC_PPERL  CPerlObj *pPerl = (CPerlObj *) this;
971 
972 #ifdef __cplusplus
973 extern "C" {
974 #endif
975 typedef int (CPerlObj::*SwigMagicFunc)(SV *, MAGIC *);
976 #ifdef __cplusplus
977 }
978 #endif
979 
980 #define SWIG_MAGIC(a,b) (SV *a, MAGIC *b)
981 #define SWIGCLASS_STATIC
982 
983 #else /* PERL_OBJECT */
984 
985 #define MAGIC_PPERL
986 #define SWIGCLASS_STATIC static SWIGUNUSED
987 
988 #ifndef MULTIPLICITY
989 #define SWIG_MAGIC(a,b) (SV *a, MAGIC *b)
990 
991 #ifdef __cplusplus
992 extern "C" {
993 #endif
994 typedef int (*SwigMagicFunc)(SV *, MAGIC *);
995 #ifdef __cplusplus
996 }
997 #endif
998 
999 #else /* MULTIPLICITY */
1000 
1001 #define SWIG_MAGIC(a,b) (struct interpreter *interp, SV *a, MAGIC *b)
1002 
1003 #ifdef __cplusplus
1004 extern "C" {
1005 #endif
1006 typedef int (*SwigMagicFunc)(struct interpreter *, SV *, MAGIC *);
1007 #ifdef __cplusplus
1008 }
1009 #endif
1010 
1011 #endif /* MULTIPLICITY */
1012 #endif /* PERL_OBJECT */
1013 
1014 #  ifdef PERL_OBJECT
1015 #    define SWIG_croak_null() SWIG_Perl_croak_null(pPerl)
SWIG_Perl_croak_null(CPerlObj * pPerl)1016 static void SWIGUNUSED SWIG_Perl_croak_null(CPerlObj *pPerl)
1017 #  else
1018 static void SWIGUNUSED SWIG_croak_null()
1019 #  endif
1020 {
1021   SV *err = get_sv("@", GV_ADD);
1022 #  if (PERL_VERSION < 6)
1023   croak("%_", err);
1024 #  else
1025   if (sv_isobject(err))
1026     croak(0);
1027   else
1028     croak("%s", SvPV_nolen(err));
1029 #  endif
1030 }
1031 
1032 
1033 /*
1034    Define how strict is the cast between strings and integers/doubles
1035    when overloading between these types occurs.
1036 
1037    The default is making it as strict as possible by using SWIG_AddCast
1038    when needed.
1039 
1040    You can use -DSWIG_PERL_NO_STRICT_STR2NUM at compilation time to
1041    disable the SWIG_AddCast, making the casting between string and
1042    numbers less strict.
1043 
1044    In the end, we try to solve the overloading between strings and
1045    numerical types in the more natural way, but if you can avoid it,
1046    well, avoid it using %rename, for example.
1047 */
1048 #ifndef SWIG_PERL_NO_STRICT_STR2NUM
1049 # ifndef SWIG_PERL_STRICT_STR2NUM
1050 #  define SWIG_PERL_STRICT_STR2NUM
1051 # endif
1052 #endif
1053 #ifdef SWIG_PERL_STRICT_STR2NUM
1054 /* string takes precedence */
1055 #define SWIG_Str2NumCast(x) SWIG_AddCast(x)
1056 #else
1057 /* number takes precedence */
1058 #define SWIG_Str2NumCast(x) x
1059 #endif
1060 
1061 
1062 
1063 #include <stdlib.h>
1064 
1065 SWIGRUNTIME const char *
SWIG_Perl_TypeProxyName(const swig_type_info * type)1066 SWIG_Perl_TypeProxyName(const swig_type_info *type) {
1067   if (!type) return NULL;
1068   if (type->clientdata != NULL) {
1069     return (const char*) type->clientdata;
1070   }
1071   else {
1072     return type->name;
1073   }
1074 }
1075 
1076 /* Identical to SWIG_TypeCheck, except for strcmp comparison */
1077 SWIGRUNTIME swig_cast_info *
SWIG_TypeProxyCheck(const char * c,swig_type_info * ty)1078 SWIG_TypeProxyCheck(const char *c, swig_type_info *ty) {
1079   if (ty) {
1080     swig_cast_info *iter = ty->cast;
1081     while (iter) {
1082       if (strcmp(SWIG_Perl_TypeProxyName(iter->type), c) == 0) {
1083         if (iter == ty->cast)
1084           return iter;
1085         /* Move iter to the top of the linked list */
1086         iter->prev->next = iter->next;
1087         if (iter->next)
1088           iter->next->prev = iter->prev;
1089         iter->next = ty->cast;
1090         iter->prev = 0;
1091         if (ty->cast) ty->cast->prev = iter;
1092         ty->cast = iter;
1093         return iter;
1094       }
1095       iter = iter->next;
1096     }
1097   }
1098   return 0;
1099 }
1100 
1101 /* Function for getting a pointer value */
1102 
1103 SWIGRUNTIME int
SWIG_Perl_ConvertPtrAndOwn(SWIG_MAYBE_PERL_OBJECT SV * sv,void ** ptr,swig_type_info * _t,int flags,int * own)1104 SWIG_Perl_ConvertPtrAndOwn(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_info *_t, int flags, int *own) {
1105   swig_cast_info *tc;
1106   void *voidptr = (void *)0;
1107   SV *tsv = 0;
1108 
1109   if (own)
1110     *own = 0;
1111 
1112   /* If magical, apply more magic */
1113   if (SvGMAGICAL(sv))
1114     mg_get(sv);
1115 
1116   /* Check to see if this is an object */
1117   if (sv_isobject(sv)) {
1118     IV tmp = 0;
1119     tsv = (SV*) SvRV(sv);
1120     if ((SvTYPE(tsv) == SVt_PVHV)) {
1121       MAGIC *mg;
1122       if (SvMAGICAL(tsv)) {
1123         mg = mg_find(tsv,'P');
1124         if (mg) {
1125           sv = mg->mg_obj;
1126           if (sv_isobject(sv)) {
1127 	    tsv = (SV*)SvRV(sv);
1128             tmp = SvIV(tsv);
1129           }
1130         }
1131       } else {
1132         return SWIG_ERROR;
1133       }
1134     } else {
1135       tmp = SvIV(tsv);
1136     }
1137     voidptr = INT2PTR(void *,tmp);
1138   } else if (! SvOK(sv)) {            /* Check for undef */
1139     *(ptr) = (void *) 0;
1140     return SWIG_OK;
1141   } else if (SvTYPE(sv) == SVt_RV) {  /* Check for NULL pointer */
1142     if (!SvROK(sv)) {
1143       /* In Perl 5.12 and later, SVt_RV == SVt_IV, so sv could be a valid integer value.  */
1144       if (SvIOK(sv)) {
1145         return SWIG_ERROR;
1146       } else {
1147         /* NULL pointer (reference to undef). */
1148         *(ptr) = (void *) 0;
1149         return SWIG_OK;
1150       }
1151     } else {
1152       return SWIG_ERROR;
1153     }
1154   } else {                            /* Don't know what it is */
1155     return SWIG_ERROR;
1156   }
1157   if (_t) {
1158     /* Now see if the types match */
1159     char *_c = HvNAME(SvSTASH(SvRV(sv)));
1160     tc = SWIG_TypeProxyCheck(_c,_t);
1161 #ifdef SWIG_DIRECTORS
1162     if (!tc && !sv_derived_from(sv,SWIG_Perl_TypeProxyName(_t))) {
1163 #else
1164     if (!tc) {
1165 #endif
1166       return SWIG_ERROR;
1167     }
1168     {
1169       int newmemory = 0;
1170       *ptr = SWIG_TypeCast(tc,voidptr,&newmemory);
1171       if (newmemory == SWIG_CAST_NEW_MEMORY) {
1172         assert(own); /* badly formed typemap which will lead to a memory leak - it must set and use own to delete *ptr */
1173         if (own)
1174           *own = *own | SWIG_CAST_NEW_MEMORY;
1175       }
1176     }
1177   } else {
1178     *ptr = voidptr;
1179   }
1180 
1181   /*
1182    *  DISOWN implementation: we need a perl guru to check this one.
1183    */
1184   if (tsv && (flags & SWIG_POINTER_DISOWN)) {
1185     /*
1186      *  almost copy paste code from below SWIG_POINTER_OWN setting
1187      */
1188     SV *obj = sv;
1189     HV *stash = SvSTASH(SvRV(obj));
1190     GV *gv = *(GV**)hv_fetch(stash, "OWNER", 5, TRUE);
1191     if (isGV(gv)) {
1192       HV *hv = GvHVn(gv);
1193       /*
1194        * To set ownership (see below), a newSViv(1) entry is added.
1195        * Hence, to remove ownership, we delete the entry.
1196        */
1197       if (hv_exists_ent(hv, obj, 0)) {
1198 	hv_delete_ent(hv, obj, 0, 0);
1199       }
1200     }
1201   }
1202   return SWIG_OK;
1203 }
1204 
1205 SWIGRUNTIME int
1206 SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_info *_t, int flags) {
1207   return SWIG_Perl_ConvertPtrAndOwn(sv, ptr, _t, flags, 0);
1208 }
1209 
1210 SWIGRUNTIME void
1211 SWIG_Perl_MakePtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, swig_type_info *t, int flags) {
1212   if (ptr && (flags & (SWIG_SHADOW | SWIG_POINTER_OWN))) {
1213     SV *self;
1214     SV *obj=newSV(0);
1215     HV *hash=newHV();
1216     HV *stash;
1217     sv_setref_pv(obj, SWIG_Perl_TypeProxyName(t), ptr);
1218     stash=SvSTASH(SvRV(obj));
1219     if (flags & SWIG_POINTER_OWN) {
1220       HV *hv;
1221       GV *gv = *(GV**)hv_fetch(stash, "OWNER", 5, TRUE);
1222       if (!isGV(gv))
1223         gv_init(gv, stash, "OWNER", 5, FALSE);
1224       hv=GvHVn(gv);
1225       hv_store_ent(hv, obj, newSViv(1), 0);
1226     }
1227     sv_magic((SV *)hash, (SV *)obj, 'P', Nullch, 0);
1228     SvREFCNT_dec(obj);
1229     self=newRV_noinc((SV *)hash);
1230     sv_setsv(sv, self);
1231     SvREFCNT_dec((SV *)self);
1232     sv_bless(sv, stash);
1233   }
1234   else {
1235     sv_setref_pv(sv, SWIG_Perl_TypeProxyName(t), ptr);
1236   }
1237 }
1238 
1239 SWIGRUNTIMEINLINE SV *
1240 SWIG_Perl_NewPointerObj(SWIG_MAYBE_PERL_OBJECT void *ptr, swig_type_info *t, int flags) {
1241   SV *result = sv_newmortal();
1242   SWIG_MakePtr(result, ptr, t, flags);
1243   return result;
1244 }
1245 
1246 SWIGRUNTIME void
1247 SWIG_Perl_MakePackedObj(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, int sz, swig_type_info *type) {
1248   char result[1024];
1249   char *r = result;
1250   if ((2*sz + 1 + strlen(SWIG_Perl_TypeProxyName(type))) > 1000) return;
1251   *(r++) = '_';
1252   r = SWIG_PackData(r,ptr,sz);
1253   strcpy(r,SWIG_Perl_TypeProxyName(type));
1254   sv_setpv(sv, result);
1255 }
1256 
1257 SWIGRUNTIME SV *
1258 SWIG_Perl_NewPackedObj(SWIG_MAYBE_PERL_OBJECT void *ptr, int sz, swig_type_info *type) {
1259   SV *result = sv_newmortal();
1260   SWIG_Perl_MakePackedObj(result, ptr, sz, type);
1261   return result;
1262 }
1263 
1264 /* Convert a packed value value */
1265 SWIGRUNTIME int
1266 SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_OBJECT SV *obj, void *ptr, int sz, swig_type_info *ty) {
1267   swig_cast_info *tc;
1268   const char  *c = 0;
1269 
1270   if ((!obj) || (!SvOK(obj))) return SWIG_ERROR;
1271   c = SvPV_nolen(obj);
1272   /* Pointer values must start with leading underscore */
1273   if (*c != '_') return SWIG_ERROR;
1274   c++;
1275   c = SWIG_UnpackData(c,ptr,sz);
1276   if (ty) {
1277     tc = SWIG_TypeCheck(c,ty);
1278     if (!tc) return SWIG_ERROR;
1279   }
1280   return SWIG_OK;
1281 }
1282 
1283 
1284 /* Macros for low-level exception handling */
1285 #define SWIG_croak(x)    { SWIG_Error(SWIG_RuntimeError, x); SWIG_fail; }
1286 
1287 
1288 typedef XSPROTO(SwigPerlWrapper);
1289 typedef SwigPerlWrapper *SwigPerlWrapperPtr;
1290 
1291 /* Structure for command table */
1292 typedef struct {
1293   const char         *name;
1294   SwigPerlWrapperPtr  wrapper;
1295 } swig_command_info;
1296 
1297 /* Information for constant table */
1298 
1299 #define SWIG_INT     1
1300 #define SWIG_FLOAT   2
1301 #define SWIG_STRING  3
1302 #define SWIG_POINTER 4
1303 #define SWIG_BINARY  5
1304 
1305 /* Constant information structure */
1306 typedef struct swig_constant_info {
1307     int              type;
1308     const char      *name;
1309     long             lvalue;
1310     double           dvalue;
1311     void            *pvalue;
1312     swig_type_info **ptype;
1313 } swig_constant_info;
1314 
1315 
1316 /* Structure for variable table */
1317 typedef struct {
1318   const char   *name;
1319   SwigMagicFunc   set;
1320   SwigMagicFunc   get;
1321   swig_type_info  **type;
1322 } swig_variable_info;
1323 
1324 /* Magic variable code */
1325 #ifndef PERL_OBJECT
1326 # ifdef __cplusplus
1327 #  define swig_create_magic(s,a,b,c) _swig_create_magic(s,const_cast<char*>(a),b,c)
1328 # else
1329 #  define swig_create_magic(s,a,b,c) _swig_create_magic(s,(char*)(a),b,c)
1330 # endif
1331 # ifndef MULTIPLICITY
1332 SWIGRUNTIME void _swig_create_magic(SV *sv, char *name, int (*set)(SV *, MAGIC *), int (*get)(SV *,MAGIC *))
1333 # else
1334 SWIGRUNTIME void _swig_create_magic(SV *sv, char *name, int (*set)(struct interpreter*, SV *, MAGIC *), int (*get)(struct interpreter*, SV *,MAGIC *))
1335 # endif
1336 #else
1337 #  define swig_create_magic(s,a,b,c) _swig_create_magic(pPerl,s,a,b,c)
1338 SWIGRUNTIME void _swig_create_magic(CPerlObj *pPerl, SV *sv, const char *name, int (CPerlObj::*set)(SV *, MAGIC *), int (CPerlObj::*get)(SV *, MAGIC *))
1339 #endif
1340 {
1341   MAGIC *mg;
1342   sv_magic(sv,sv,'U',name,strlen(name));
1343   mg = mg_find(sv,'U');
1344   mg->mg_virtual = (MGVTBL *) malloc(sizeof(MGVTBL));
1345   mg->mg_virtual->svt_get = (SwigMagicFunc) get;
1346   mg->mg_virtual->svt_set = (SwigMagicFunc) set;
1347   mg->mg_virtual->svt_len = 0;
1348   mg->mg_virtual->svt_clear = 0;
1349   mg->mg_virtual->svt_free = 0;
1350 }
1351 
1352 
1353 SWIGRUNTIME swig_module_info *
1354 SWIG_Perl_GetModule(void *SWIGUNUSEDPARM(clientdata)) {
1355   static void *type_pointer = (void *)0;
1356   SV *pointer;
1357 
1358   /* first check if pointer already created */
1359   if (!type_pointer) {
1360     pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, FALSE | GV_ADDMULTI);
1361     if (pointer && SvOK(pointer)) {
1362       type_pointer = INT2PTR(swig_type_info **, SvIV(pointer));
1363     }
1364   }
1365 
1366   return (swig_module_info *) type_pointer;
1367 }
1368 
1369 SWIGRUNTIME void
1370 SWIG_Perl_SetModule(swig_module_info *module) {
1371   SV *pointer;
1372 
1373   /* create a new pointer */
1374   pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, TRUE | GV_ADDMULTI);
1375   sv_setiv(pointer, PTR2IV(module));
1376 }
1377 
1378 #ifdef __cplusplus
1379 }
1380 #endif
1381 
1382 /* Workaround perl5 global namespace pollution. Note that undefining library
1383  * functions like fopen will not solve the problem on all platforms as fopen
1384  * might be a macro on Windows but not necessarily on other operating systems. */
1385 #ifdef do_open
1386   #undef do_open
1387 #endif
1388 #ifdef do_close
1389   #undef do_close
1390 #endif
1391 #ifdef do_exec
1392   #undef do_exec
1393 #endif
1394 #ifdef scalar
1395   #undef scalar
1396 #endif
1397 #ifdef list
1398   #undef list
1399 #endif
1400 #ifdef apply
1401   #undef apply
1402 #endif
1403 #ifdef convert
1404   #undef convert
1405 #endif
1406 #ifdef Error
1407   #undef Error
1408 #endif
1409 #ifdef form
1410   #undef form
1411 #endif
1412 #ifdef vform
1413   #undef vform
1414 #endif
1415 #ifdef LABEL
1416   #undef LABEL
1417 #endif
1418 #ifdef METHOD
1419   #undef METHOD
1420 #endif
1421 #ifdef Move
1422   #undef Move
1423 #endif
1424 #ifdef yylex
1425   #undef yylex
1426 #endif
1427 #ifdef yyparse
1428   #undef yyparse
1429 #endif
1430 #ifdef yyerror
1431   #undef yyerror
1432 #endif
1433 #ifdef invert
1434   #undef invert
1435 #endif
1436 #ifdef ref
1437   #undef ref
1438 #endif
1439 #ifdef read
1440   #undef read
1441 #endif
1442 #ifdef write
1443   #undef write
1444 #endif
1445 #ifdef eof
1446   #undef eof
1447 #endif
1448 #ifdef close
1449   #undef close
1450 #endif
1451 #ifdef rewind
1452   #undef rewind
1453 #endif
1454 #ifdef free
1455   #undef free
1456 #endif
1457 #ifdef malloc
1458   #undef malloc
1459 #endif
1460 #ifdef calloc
1461   #undef calloc
1462 #endif
1463 #ifdef Stat
1464   #undef Stat
1465 #endif
1466 #ifdef check
1467   #undef check
1468 #endif
1469 #ifdef seekdir
1470   #undef seekdir
1471 #endif
1472 #ifdef open
1473   #undef open
1474 #endif
1475 #ifdef readdir
1476   #undef readdir
1477 #endif
1478 #ifdef bind
1479   #undef bind
1480 #endif
1481 #ifdef access
1482   #undef access
1483 #endif
1484 #ifdef stat
1485   #undef stat
1486 #endif
1487 #ifdef seed
1488   #undef seed
1489 #endif
1490 
1491 #ifdef bool
1492   /* Leave if macro is from C99 stdbool.h */
1493   #ifndef __bool_true_false_are_defined
1494     #undef bool
1495   #endif
1496 #endif
1497 
1498 
1499 
1500 
1501 #define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0)
1502 
1503 #define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else
1504 
1505 
1506 
1507 /* -------- TYPES TABLE (BEGIN) -------- */
1508 
1509 #define SWIGTYPE_p_char swig_types[0]
1510 static swig_type_info *swig_types[2];
1511 static swig_module_info swig_module = {swig_types, 1, 0, 0, 0, 0};
1512 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
1513 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
1514 
1515 /* -------- TYPES TABLE (END) -------- */
1516 
1517 #define SWIG_init    boot_Geo__GDAL__Const
1518 
1519 #define SWIG_name   "Geo::GDAL::Constc::boot_Geo__GDAL__Const"
1520 #define SWIG_prefix "Geo::GDAL::Constc::"
1521 
1522 #define SWIGVERSION 0x030012
1523 #define SWIG_VERSION SWIGVERSION
1524 
1525 
1526 #define SWIG_as_voidptr(a) (void *)((const void *)(a))
1527 #define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),(void**)(a))
1528 
1529 
1530 #ifdef __cplusplus
1531 extern "C"
1532 #endif
1533 #ifndef PERL_OBJECT
1534 #ifndef MULTIPLICITY
1535 SWIGEXPORT void SWIG_init (CV* cv);
1536 #else
1537 SWIGEXPORT void SWIG_init (pTHXo_ CV* cv);
1538 #endif
1539 #else
1540 SWIGEXPORT void SWIG_init (CV *cv, CPerlObj *);
1541 #endif
1542 
1543 
1544 #include "gdal.h"
1545 #include "gdalwarper.h"
1546 #include "cpl_string.h"
1547 #include "cpl_minixml.h"
1548 
1549 
1550 SWIGINTERNINLINE SV *
SWIG_PERL_DECL_ARGS_1(long value)1551 SWIG_From_long  SWIG_PERL_DECL_ARGS_1(long value)
1552 {
1553   SV *sv;
1554   if (IVSIZE >= sizeof(value) || (value >= IV_MIN && value <= IV_MAX))
1555     sv = newSViv(value);
1556   else
1557     sv = newSVpvf("%ld", value);
1558   return sv_2mortal(sv);
1559 }
1560 
1561 
1562 SWIGINTERNINLINE SV *
SWIG_PERL_DECL_ARGS_1(int value)1563 SWIG_From_int  SWIG_PERL_DECL_ARGS_1(int value)
1564 {
1565   return SWIG_From_long  SWIG_PERL_CALL_ARGS_1(value);
1566 }
1567 
1568 
1569 SWIGINTERNINLINE SV *
SWIG_FromCharPtrAndSize(const char * carray,size_t size)1570 SWIG_FromCharPtrAndSize(const char* carray, size_t size)
1571 {
1572   SV *obj = sv_newmortal();
1573   if (carray) {
1574     sv_setpvn(obj, carray, size);
1575   } else {
1576     sv_setsv(obj, &PL_sv_undef);
1577   }
1578   return obj;
1579 }
1580 
1581 
1582 SWIGINTERNINLINE SV *
SWIG_FromCharPtr(const char * cptr)1583 SWIG_FromCharPtr(const char *cptr)
1584 {
1585   return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0));
1586 }
1587 
1588 #ifdef __cplusplus
1589 extern "C" {
1590 #endif
1591 
1592 #ifdef PERL_OBJECT
1593 #define MAGIC_CLASS _wrap_Geo__GDAL__Const_var::
1594 class _wrap_Geo__GDAL__Const_var : public CPerlObj {
1595 public:
1596 #else
1597 #define MAGIC_CLASS
1598 #endif
swig_magic_readonly(pTHX_ SV * SWIGUNUSEDPARM (sv),MAGIC * SWIGUNUSEDPARM (mg))1599 SWIGCLASS_STATIC int swig_magic_readonly(pTHX_ SV *SWIGUNUSEDPARM(sv), MAGIC *SWIGUNUSEDPARM(mg)) {
1600     MAGIC_PPERL
1601     croak("Value is read-only.");
1602     return 0;
1603 }
1604 
1605 
1606 #ifdef PERL_OBJECT
1607 };
1608 #endif
1609 
1610 #ifdef __cplusplus
1611 }
1612 #endif
1613 
1614 #ifdef __cplusplus
1615 extern "C" {
1616 #endif
1617 
1618 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
1619 
1620 static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
1621 
1622 static swig_type_info *swig_type_initial[] = {
1623   &_swigt__p_char,
1624 };
1625 
1626 static swig_cast_info _swigc__p_char[] = {  {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
1627 
1628 static swig_cast_info *swig_cast_initial[] = {
1629   _swigc__p_char,
1630 };
1631 
1632 
1633 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
1634 
1635 static swig_constant_info swig_constants[] = {
1636 {0,0,0,0,0,0}
1637 };
1638 #ifdef __cplusplus
1639 }
1640 #endif
1641 static swig_variable_info swig_variables[] = {
1642 {0,0,0,0}
1643 };
1644 static swig_command_info swig_commands[] = {
1645 {0,0}
1646 };
1647 /* -----------------------------------------------------------------------------
1648  * Type initialization:
1649  * This problem is tough by the requirement that no dynamic
1650  * memory is used. Also, since swig_type_info structures store pointers to
1651  * swig_cast_info structures and swig_cast_info structures store pointers back
1652  * to swig_type_info structures, we need some lookup code at initialization.
1653  * The idea is that swig generates all the structures that are needed.
1654  * The runtime then collects these partially filled structures.
1655  * The SWIG_InitializeModule function takes these initial arrays out of
1656  * swig_module, and does all the lookup, filling in the swig_module.types
1657  * array with the correct data and linking the correct swig_cast_info
1658  * structures together.
1659  *
1660  * The generated swig_type_info structures are assigned statically to an initial
1661  * array. We just loop through that array, and handle each type individually.
1662  * First we lookup if this type has been already loaded, and if so, use the
1663  * loaded structure instead of the generated one. Then we have to fill in the
1664  * cast linked list. The cast data is initially stored in something like a
1665  * two-dimensional array. Each row corresponds to a type (there are the same
1666  * number of rows as there are in the swig_type_initial array). Each entry in
1667  * a column is one of the swig_cast_info structures for that type.
1668  * The cast_initial array is actually an array of arrays, because each row has
1669  * a variable number of columns. So to actually build the cast linked list,
1670  * we find the array of casts associated with the type, and loop through it
1671  * adding the casts to the list. The one last trick we need to do is making
1672  * sure the type pointer in the swig_cast_info struct is correct.
1673  *
1674  * First off, we lookup the cast->type name to see if it is already loaded.
1675  * There are three cases to handle:
1676  *  1) If the cast->type has already been loaded AND the type we are adding
1677  *     casting info to has not been loaded (it is in this module), THEN we
1678  *     replace the cast->type pointer with the type pointer that has already
1679  *     been loaded.
1680  *  2) If BOTH types (the one we are adding casting info to, and the
1681  *     cast->type) are loaded, THEN the cast info has already been loaded by
1682  *     the previous module so we just ignore it.
1683  *  3) Finally, if cast->type has not already been loaded, then we add that
1684  *     swig_cast_info to the linked list (because the cast->type) pointer will
1685  *     be correct.
1686  * ----------------------------------------------------------------------------- */
1687 
1688 #ifdef __cplusplus
1689 extern "C" {
1690 #if 0
1691 } /* c-mode */
1692 #endif
1693 #endif
1694 
1695 #if 0
1696 #define SWIGRUNTIME_DEBUG
1697 #endif
1698 
1699 
1700 SWIGRUNTIME void
SWIG_InitializeModule(void * clientdata)1701 SWIG_InitializeModule(void *clientdata) {
1702   size_t i;
1703   swig_module_info *module_head, *iter;
1704   int init;
1705 
1706   /* check to see if the circular list has been setup, if not, set it up */
1707   if (swig_module.next==0) {
1708     /* Initialize the swig_module */
1709     swig_module.type_initial = swig_type_initial;
1710     swig_module.cast_initial = swig_cast_initial;
1711     swig_module.next = &swig_module;
1712     init = 1;
1713   } else {
1714     init = 0;
1715   }
1716 
1717   /* Try and load any already created modules */
1718   module_head = SWIG_GetModule(clientdata);
1719   if (!module_head) {
1720     /* This is the first module loaded for this interpreter */
1721     /* so set the swig module into the interpreter */
1722     SWIG_SetModule(clientdata, &swig_module);
1723   } else {
1724     /* the interpreter has loaded a SWIG module, but has it loaded this one? */
1725     iter=module_head;
1726     do {
1727       if (iter==&swig_module) {
1728         /* Our module is already in the list, so there's nothing more to do. */
1729         return;
1730       }
1731       iter=iter->next;
1732     } while (iter!= module_head);
1733 
1734     /* otherwise we must add our module into the list */
1735     swig_module.next = module_head->next;
1736     module_head->next = &swig_module;
1737   }
1738 
1739   /* When multiple interpreters are used, a module could have already been initialized in
1740        a different interpreter, but not yet have a pointer in this interpreter.
1741        In this case, we do not want to continue adding types... everything should be
1742        set up already */
1743   if (init == 0) return;
1744 
1745   /* Now work on filling in swig_module.types */
1746 #ifdef SWIGRUNTIME_DEBUG
1747   printf("SWIG_InitializeModule: size %d\n", swig_module.size);
1748 #endif
1749   for (i = 0; i < swig_module.size; ++i) {
1750     swig_type_info *type = 0;
1751     swig_type_info *ret;
1752     swig_cast_info *cast;
1753 
1754 #ifdef SWIGRUNTIME_DEBUG
1755     printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
1756 #endif
1757 
1758     /* if there is another module already loaded */
1759     if (swig_module.next != &swig_module) {
1760       type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name);
1761     }
1762     if (type) {
1763       /* Overwrite clientdata field */
1764 #ifdef SWIGRUNTIME_DEBUG
1765       printf("SWIG_InitializeModule: found type %s\n", type->name);
1766 #endif
1767       if (swig_module.type_initial[i]->clientdata) {
1768         type->clientdata = swig_module.type_initial[i]->clientdata;
1769 #ifdef SWIGRUNTIME_DEBUG
1770         printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name);
1771 #endif
1772       }
1773     } else {
1774       type = swig_module.type_initial[i];
1775     }
1776 
1777     /* Insert casting types */
1778     cast = swig_module.cast_initial[i];
1779     while (cast->type) {
1780       /* Don't need to add information already in the list */
1781       ret = 0;
1782 #ifdef SWIGRUNTIME_DEBUG
1783       printf("SWIG_InitializeModule: look cast %s\n", cast->type->name);
1784 #endif
1785       if (swig_module.next != &swig_module) {
1786         ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name);
1787 #ifdef SWIGRUNTIME_DEBUG
1788         if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name);
1789 #endif
1790       }
1791       if (ret) {
1792         if (type == swig_module.type_initial[i]) {
1793 #ifdef SWIGRUNTIME_DEBUG
1794           printf("SWIG_InitializeModule: skip old type %s\n", ret->name);
1795 #endif
1796           cast->type = ret;
1797           ret = 0;
1798         } else {
1799           /* Check for casting already in the list */
1800           swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type);
1801 #ifdef SWIGRUNTIME_DEBUG
1802           if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name);
1803 #endif
1804           if (!ocast) ret = 0;
1805         }
1806       }
1807 
1808       if (!ret) {
1809 #ifdef SWIGRUNTIME_DEBUG
1810         printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name);
1811 #endif
1812         if (type->cast) {
1813           type->cast->prev = cast;
1814           cast->next = type->cast;
1815         }
1816         type->cast = cast;
1817       }
1818       cast++;
1819     }
1820     /* Set entry in modules->types array equal to the type */
1821     swig_module.types[i] = type;
1822   }
1823   swig_module.types[i] = 0;
1824 
1825 #ifdef SWIGRUNTIME_DEBUG
1826   printf("**** SWIG_InitializeModule: Cast List ******\n");
1827   for (i = 0; i < swig_module.size; ++i) {
1828     int j = 0;
1829     swig_cast_info *cast = swig_module.cast_initial[i];
1830     printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
1831     while (cast->type) {
1832       printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
1833       cast++;
1834       ++j;
1835     }
1836     printf("---- Total casts: %d\n",j);
1837   }
1838   printf("**** SWIG_InitializeModule: Cast List ******\n");
1839 #endif
1840 }
1841 
1842 /* This function will propagate the clientdata field of type to
1843 * any new swig_type_info structures that have been added into the list
1844 * of equivalent types.  It is like calling
1845 * SWIG_TypeClientData(type, clientdata) a second time.
1846 */
1847 SWIGRUNTIME void
SWIG_PropagateClientData(void)1848 SWIG_PropagateClientData(void) {
1849   size_t i;
1850   swig_cast_info *equiv;
1851   static int init_run = 0;
1852 
1853   if (init_run) return;
1854   init_run = 1;
1855 
1856   for (i = 0; i < swig_module.size; i++) {
1857     if (swig_module.types[i]->clientdata) {
1858       equiv = swig_module.types[i]->cast;
1859       while (equiv) {
1860         if (!equiv->converter) {
1861           if (equiv->type && !equiv->type->clientdata)
1862           SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata);
1863         }
1864         equiv = equiv->next;
1865       }
1866     }
1867   }
1868 }
1869 
1870 #ifdef __cplusplus
1871 #if 0
1872 {
1873   /* c-mode */
1874 #endif
1875 }
1876 #endif
1877 
1878 
1879 
1880 #if defined(__cplusplus) && ! defined(XSPROTO)
1881 extern "C"
1882 #endif
1883 
XS(SWIG_init)1884 XS(SWIG_init) {
1885   dXSARGS;
1886   int i;
1887   (void)items;
1888 
1889   SWIG_InitializeModule(0);
1890 
1891   /* Install commands */
1892   for (i = 0; swig_commands[i].name; i++) {
1893     /* Casts only needed for Perl < 5.10. */
1894 #ifdef __cplusplus
1895     newXS(const_cast<char*>(swig_commands[i].name), swig_commands[i].wrapper, const_cast<char*>(__FILE__));
1896 #else
1897     newXS((char*)swig_commands[i].name, swig_commands[i].wrapper, (char*)__FILE__);
1898 #endif
1899   }
1900 
1901   /* Install variables */
1902   for (i = 0; swig_variables[i].name; i++) {
1903     SV *sv;
1904     sv = get_sv(swig_variables[i].name, TRUE | 0x2 | GV_ADDMULTI);
1905     if (swig_variables[i].type) {
1906       SWIG_MakePtr(sv,(void *)1, *swig_variables[i].type,0);
1907     } else {
1908       sv_setiv(sv,(IV) 0);
1909     }
1910     swig_create_magic(sv, swig_variables[i].name, swig_variables[i].set, swig_variables[i].get);
1911   }
1912 
1913   /* Install constant */
1914   for (i = 0; swig_constants[i].type; i++) {
1915     SV *sv;
1916     sv = get_sv(swig_constants[i].name, TRUE | 0x2 | GV_ADDMULTI);
1917     switch(swig_constants[i].type) {
1918     case SWIG_INT:
1919       sv_setiv(sv, (IV) swig_constants[i].lvalue);
1920       break;
1921     case SWIG_FLOAT:
1922       sv_setnv(sv, (double) swig_constants[i].dvalue);
1923       break;
1924     case SWIG_STRING:
1925       sv_setpv(sv, (const char *) swig_constants[i].pvalue);
1926       break;
1927     case SWIG_POINTER:
1928       SWIG_MakePtr(sv, swig_constants[i].pvalue, *(swig_constants[i].ptype),0);
1929       break;
1930     case SWIG_BINARY:
1931       SWIG_MakePackedObj(sv, swig_constants[i].pvalue, swig_constants[i].lvalue, *(swig_constants[i].ptype));
1932       break;
1933     default:
1934       break;
1935     }
1936     SvREADONLY_on(sv);
1937   }
1938 
1939   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
1940     SV *sv = get_sv((char*) SWIG_prefix "GDT_Unknown", TRUE | 0x2 | GV_ADDMULTI);
1941     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GDT_Unknown)));
1942     SvREADONLY_on(sv);
1943   } while(0) /*@SWIG@*/;
1944   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
1945     SV *sv = get_sv((char*) SWIG_prefix "GDT_Byte", TRUE | 0x2 | GV_ADDMULTI);
1946     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GDT_Byte)));
1947     SvREADONLY_on(sv);
1948   } while(0) /*@SWIG@*/;
1949   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
1950     SV *sv = get_sv((char*) SWIG_prefix "GDT_UInt16", TRUE | 0x2 | GV_ADDMULTI);
1951     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GDT_UInt16)));
1952     SvREADONLY_on(sv);
1953   } while(0) /*@SWIG@*/;
1954   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
1955     SV *sv = get_sv((char*) SWIG_prefix "GDT_Int16", TRUE | 0x2 | GV_ADDMULTI);
1956     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GDT_Int16)));
1957     SvREADONLY_on(sv);
1958   } while(0) /*@SWIG@*/;
1959   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
1960     SV *sv = get_sv((char*) SWIG_prefix "GDT_UInt32", TRUE | 0x2 | GV_ADDMULTI);
1961     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GDT_UInt32)));
1962     SvREADONLY_on(sv);
1963   } while(0) /*@SWIG@*/;
1964   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
1965     SV *sv = get_sv((char*) SWIG_prefix "GDT_Int32", TRUE | 0x2 | GV_ADDMULTI);
1966     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GDT_Int32)));
1967     SvREADONLY_on(sv);
1968   } while(0) /*@SWIG@*/;
1969   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
1970     SV *sv = get_sv((char*) SWIG_prefix "GDT_Float32", TRUE | 0x2 | GV_ADDMULTI);
1971     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GDT_Float32)));
1972     SvREADONLY_on(sv);
1973   } while(0) /*@SWIG@*/;
1974   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
1975     SV *sv = get_sv((char*) SWIG_prefix "GDT_Float64", TRUE | 0x2 | GV_ADDMULTI);
1976     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GDT_Float64)));
1977     SvREADONLY_on(sv);
1978   } while(0) /*@SWIG@*/;
1979   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
1980     SV *sv = get_sv((char*) SWIG_prefix "GDT_CInt16", TRUE | 0x2 | GV_ADDMULTI);
1981     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GDT_CInt16)));
1982     SvREADONLY_on(sv);
1983   } while(0) /*@SWIG@*/;
1984   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
1985     SV *sv = get_sv((char*) SWIG_prefix "GDT_CInt32", TRUE | 0x2 | GV_ADDMULTI);
1986     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GDT_CInt32)));
1987     SvREADONLY_on(sv);
1988   } while(0) /*@SWIG@*/;
1989   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
1990     SV *sv = get_sv((char*) SWIG_prefix "GDT_CFloat32", TRUE | 0x2 | GV_ADDMULTI);
1991     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GDT_CFloat32)));
1992     SvREADONLY_on(sv);
1993   } while(0) /*@SWIG@*/;
1994   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
1995     SV *sv = get_sv((char*) SWIG_prefix "GDT_CFloat64", TRUE | 0x2 | GV_ADDMULTI);
1996     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GDT_CFloat64)));
1997     SvREADONLY_on(sv);
1998   } while(0) /*@SWIG@*/;
1999   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2000     SV *sv = get_sv((char*) SWIG_prefix "GDT_TypeCount", TRUE | 0x2 | GV_ADDMULTI);
2001     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GDT_TypeCount)));
2002     SvREADONLY_on(sv);
2003   } while(0) /*@SWIG@*/;
2004   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2005     SV *sv = get_sv((char*) SWIG_prefix "GA_ReadOnly", TRUE | 0x2 | GV_ADDMULTI);
2006     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GA_ReadOnly)));
2007     SvREADONLY_on(sv);
2008   } while(0) /*@SWIG@*/;
2009   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2010     SV *sv = get_sv((char*) SWIG_prefix "GA_Update", TRUE | 0x2 | GV_ADDMULTI);
2011     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GA_Update)));
2012     SvREADONLY_on(sv);
2013   } while(0) /*@SWIG@*/;
2014   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2015     SV *sv = get_sv((char*) SWIG_prefix "GF_Read", TRUE | 0x2 | GV_ADDMULTI);
2016     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GF_Read)));
2017     SvREADONLY_on(sv);
2018   } while(0) /*@SWIG@*/;
2019   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2020     SV *sv = get_sv((char*) SWIG_prefix "GF_Write", TRUE | 0x2 | GV_ADDMULTI);
2021     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GF_Write)));
2022     SvREADONLY_on(sv);
2023   } while(0) /*@SWIG@*/;
2024   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2025     SV *sv = get_sv((char*) SWIG_prefix "GRIORA_NearestNeighbour", TRUE | 0x2 | GV_ADDMULTI);
2026     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GRIORA_NearestNeighbour)));
2027     SvREADONLY_on(sv);
2028   } while(0) /*@SWIG@*/;
2029   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2030     SV *sv = get_sv((char*) SWIG_prefix "GRIORA_Bilinear", TRUE | 0x2 | GV_ADDMULTI);
2031     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GRIORA_Bilinear)));
2032     SvREADONLY_on(sv);
2033   } while(0) /*@SWIG@*/;
2034   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2035     SV *sv = get_sv((char*) SWIG_prefix "GRIORA_Cubic", TRUE | 0x2 | GV_ADDMULTI);
2036     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GRIORA_Cubic)));
2037     SvREADONLY_on(sv);
2038   } while(0) /*@SWIG@*/;
2039   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2040     SV *sv = get_sv((char*) SWIG_prefix "GRIORA_CubicSpline", TRUE | 0x2 | GV_ADDMULTI);
2041     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GRIORA_CubicSpline)));
2042     SvREADONLY_on(sv);
2043   } while(0) /*@SWIG@*/;
2044   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2045     SV *sv = get_sv((char*) SWIG_prefix "GRIORA_Lanczos", TRUE | 0x2 | GV_ADDMULTI);
2046     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GRIORA_Lanczos)));
2047     SvREADONLY_on(sv);
2048   } while(0) /*@SWIG@*/;
2049   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2050     SV *sv = get_sv((char*) SWIG_prefix "GRIORA_Average", TRUE | 0x2 | GV_ADDMULTI);
2051     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GRIORA_Average)));
2052     SvREADONLY_on(sv);
2053   } while(0) /*@SWIG@*/;
2054   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2055     SV *sv = get_sv((char*) SWIG_prefix "GRIORA_RMS", TRUE | 0x2 | GV_ADDMULTI);
2056     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GRIORA_RMS)));
2057     SvREADONLY_on(sv);
2058   } while(0) /*@SWIG@*/;
2059   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2060     SV *sv = get_sv((char*) SWIG_prefix "GRIORA_Mode", TRUE | 0x2 | GV_ADDMULTI);
2061     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GRIORA_Mode)));
2062     SvREADONLY_on(sv);
2063   } while(0) /*@SWIG@*/;
2064   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2065     SV *sv = get_sv((char*) SWIG_prefix "GRIORA_Gauss", TRUE | 0x2 | GV_ADDMULTI);
2066     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GRIORA_Gauss)));
2067     SvREADONLY_on(sv);
2068   } while(0) /*@SWIG@*/;
2069   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2070     SV *sv = get_sv((char*) SWIG_prefix "GCI_Undefined", TRUE | 0x2 | GV_ADDMULTI);
2071     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GCI_Undefined)));
2072     SvREADONLY_on(sv);
2073   } while(0) /*@SWIG@*/;
2074   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2075     SV *sv = get_sv((char*) SWIG_prefix "GCI_GrayIndex", TRUE | 0x2 | GV_ADDMULTI);
2076     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GCI_GrayIndex)));
2077     SvREADONLY_on(sv);
2078   } while(0) /*@SWIG@*/;
2079   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2080     SV *sv = get_sv((char*) SWIG_prefix "GCI_PaletteIndex", TRUE | 0x2 | GV_ADDMULTI);
2081     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GCI_PaletteIndex)));
2082     SvREADONLY_on(sv);
2083   } while(0) /*@SWIG@*/;
2084   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2085     SV *sv = get_sv((char*) SWIG_prefix "GCI_RedBand", TRUE | 0x2 | GV_ADDMULTI);
2086     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GCI_RedBand)));
2087     SvREADONLY_on(sv);
2088   } while(0) /*@SWIG@*/;
2089   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2090     SV *sv = get_sv((char*) SWIG_prefix "GCI_GreenBand", TRUE | 0x2 | GV_ADDMULTI);
2091     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GCI_GreenBand)));
2092     SvREADONLY_on(sv);
2093   } while(0) /*@SWIG@*/;
2094   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2095     SV *sv = get_sv((char*) SWIG_prefix "GCI_BlueBand", TRUE | 0x2 | GV_ADDMULTI);
2096     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GCI_BlueBand)));
2097     SvREADONLY_on(sv);
2098   } while(0) /*@SWIG@*/;
2099   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2100     SV *sv = get_sv((char*) SWIG_prefix "GCI_AlphaBand", TRUE | 0x2 | GV_ADDMULTI);
2101     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GCI_AlphaBand)));
2102     SvREADONLY_on(sv);
2103   } while(0) /*@SWIG@*/;
2104   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2105     SV *sv = get_sv((char*) SWIG_prefix "GCI_HueBand", TRUE | 0x2 | GV_ADDMULTI);
2106     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GCI_HueBand)));
2107     SvREADONLY_on(sv);
2108   } while(0) /*@SWIG@*/;
2109   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2110     SV *sv = get_sv((char*) SWIG_prefix "GCI_SaturationBand", TRUE | 0x2 | GV_ADDMULTI);
2111     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GCI_SaturationBand)));
2112     SvREADONLY_on(sv);
2113   } while(0) /*@SWIG@*/;
2114   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2115     SV *sv = get_sv((char*) SWIG_prefix "GCI_LightnessBand", TRUE | 0x2 | GV_ADDMULTI);
2116     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GCI_LightnessBand)));
2117     SvREADONLY_on(sv);
2118   } while(0) /*@SWIG@*/;
2119   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2120     SV *sv = get_sv((char*) SWIG_prefix "GCI_CyanBand", TRUE | 0x2 | GV_ADDMULTI);
2121     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GCI_CyanBand)));
2122     SvREADONLY_on(sv);
2123   } while(0) /*@SWIG@*/;
2124   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2125     SV *sv = get_sv((char*) SWIG_prefix "GCI_MagentaBand", TRUE | 0x2 | GV_ADDMULTI);
2126     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GCI_MagentaBand)));
2127     SvREADONLY_on(sv);
2128   } while(0) /*@SWIG@*/;
2129   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2130     SV *sv = get_sv((char*) SWIG_prefix "GCI_YellowBand", TRUE | 0x2 | GV_ADDMULTI);
2131     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GCI_YellowBand)));
2132     SvREADONLY_on(sv);
2133   } while(0) /*@SWIG@*/;
2134   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2135     SV *sv = get_sv((char*) SWIG_prefix "GCI_BlackBand", TRUE | 0x2 | GV_ADDMULTI);
2136     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GCI_BlackBand)));
2137     SvREADONLY_on(sv);
2138   } while(0) /*@SWIG@*/;
2139   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2140     SV *sv = get_sv((char*) SWIG_prefix "GCI_YCbCr_YBand", TRUE | 0x2 | GV_ADDMULTI);
2141     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GCI_YCbCr_YBand)));
2142     SvREADONLY_on(sv);
2143   } while(0) /*@SWIG@*/;
2144   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2145     SV *sv = get_sv((char*) SWIG_prefix "GCI_YCbCr_CrBand", TRUE | 0x2 | GV_ADDMULTI);
2146     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GCI_YCbCr_CrBand)));
2147     SvREADONLY_on(sv);
2148   } while(0) /*@SWIG@*/;
2149   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2150     SV *sv = get_sv((char*) SWIG_prefix "GCI_YCbCr_CbBand", TRUE | 0x2 | GV_ADDMULTI);
2151     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GCI_YCbCr_CbBand)));
2152     SvREADONLY_on(sv);
2153   } while(0) /*@SWIG@*/;
2154   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2155     SV *sv = get_sv((char*) SWIG_prefix "GRA_NearestNeighbour", TRUE | 0x2 | GV_ADDMULTI);
2156     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GRA_NearestNeighbour)));
2157     SvREADONLY_on(sv);
2158   } while(0) /*@SWIG@*/;
2159   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2160     SV *sv = get_sv((char*) SWIG_prefix "GRA_Bilinear", TRUE | 0x2 | GV_ADDMULTI);
2161     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GRA_Bilinear)));
2162     SvREADONLY_on(sv);
2163   } while(0) /*@SWIG@*/;
2164   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2165     SV *sv = get_sv((char*) SWIG_prefix "GRA_Cubic", TRUE | 0x2 | GV_ADDMULTI);
2166     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GRA_Cubic)));
2167     SvREADONLY_on(sv);
2168   } while(0) /*@SWIG@*/;
2169   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2170     SV *sv = get_sv((char*) SWIG_prefix "GRA_CubicSpline", TRUE | 0x2 | GV_ADDMULTI);
2171     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GRA_CubicSpline)));
2172     SvREADONLY_on(sv);
2173   } while(0) /*@SWIG@*/;
2174   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2175     SV *sv = get_sv((char*) SWIG_prefix "GRA_Lanczos", TRUE | 0x2 | GV_ADDMULTI);
2176     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GRA_Lanczos)));
2177     SvREADONLY_on(sv);
2178   } while(0) /*@SWIG@*/;
2179   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2180     SV *sv = get_sv((char*) SWIG_prefix "GRA_Average", TRUE | 0x2 | GV_ADDMULTI);
2181     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GRA_Average)));
2182     SvREADONLY_on(sv);
2183   } while(0) /*@SWIG@*/;
2184   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2185     SV *sv = get_sv((char*) SWIG_prefix "GRA_RMS", TRUE | 0x2 | GV_ADDMULTI);
2186     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GRA_RMS)));
2187     SvREADONLY_on(sv);
2188   } while(0) /*@SWIG@*/;
2189   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2190     SV *sv = get_sv((char*) SWIG_prefix "GRA_Mode", TRUE | 0x2 | GV_ADDMULTI);
2191     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GRA_Mode)));
2192     SvREADONLY_on(sv);
2193   } while(0) /*@SWIG@*/;
2194   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2195     SV *sv = get_sv((char*) SWIG_prefix "GRA_Max", TRUE | 0x2 | GV_ADDMULTI);
2196     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GRA_Max)));
2197     SvREADONLY_on(sv);
2198   } while(0) /*@SWIG@*/;
2199   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2200     SV *sv = get_sv((char*) SWIG_prefix "GRA_Min", TRUE | 0x2 | GV_ADDMULTI);
2201     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GRA_Min)));
2202     SvREADONLY_on(sv);
2203   } while(0) /*@SWIG@*/;
2204   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2205     SV *sv = get_sv((char*) SWIG_prefix "GRA_Med", TRUE | 0x2 | GV_ADDMULTI);
2206     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GRA_Med)));
2207     SvREADONLY_on(sv);
2208   } while(0) /*@SWIG@*/;
2209   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2210     SV *sv = get_sv((char*) SWIG_prefix "GRA_Q1", TRUE | 0x2 | GV_ADDMULTI);
2211     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GRA_Q1)));
2212     SvREADONLY_on(sv);
2213   } while(0) /*@SWIG@*/;
2214   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2215     SV *sv = get_sv((char*) SWIG_prefix "GRA_Q3", TRUE | 0x2 | GV_ADDMULTI);
2216     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GRA_Q3)));
2217     SvREADONLY_on(sv);
2218   } while(0) /*@SWIG@*/;
2219   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2220     SV *sv = get_sv((char*) SWIG_prefix "GRA_Sum", TRUE | 0x2 | GV_ADDMULTI);
2221     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GRA_Sum)));
2222     SvREADONLY_on(sv);
2223   } while(0) /*@SWIG@*/;
2224   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2225     SV *sv = get_sv((char*) SWIG_prefix "GPI_Gray", TRUE | 0x2 | GV_ADDMULTI);
2226     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GPI_Gray)));
2227     SvREADONLY_on(sv);
2228   } while(0) /*@SWIG@*/;
2229   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2230     SV *sv = get_sv((char*) SWIG_prefix "GPI_RGB", TRUE | 0x2 | GV_ADDMULTI);
2231     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GPI_RGB)));
2232     SvREADONLY_on(sv);
2233   } while(0) /*@SWIG@*/;
2234   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2235     SV *sv = get_sv((char*) SWIG_prefix "GPI_CMYK", TRUE | 0x2 | GV_ADDMULTI);
2236     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GPI_CMYK)));
2237     SvREADONLY_on(sv);
2238   } while(0) /*@SWIG@*/;
2239   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2240     SV *sv = get_sv((char*) SWIG_prefix "GPI_HLS", TRUE | 0x2 | GV_ADDMULTI);
2241     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GPI_HLS)));
2242     SvREADONLY_on(sv);
2243   } while(0) /*@SWIG@*/;
2244   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2245     SV *sv = get_sv((char*) SWIG_prefix "CXT_Element", TRUE | 0x2 | GV_ADDMULTI);
2246     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CXT_Element)));
2247     SvREADONLY_on(sv);
2248   } while(0) /*@SWIG@*/;
2249   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2250     SV *sv = get_sv((char*) SWIG_prefix "CXT_Text", TRUE | 0x2 | GV_ADDMULTI);
2251     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CXT_Text)));
2252     SvREADONLY_on(sv);
2253   } while(0) /*@SWIG@*/;
2254   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2255     SV *sv = get_sv((char*) SWIG_prefix "CXT_Attribute", TRUE | 0x2 | GV_ADDMULTI);
2256     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CXT_Attribute)));
2257     SvREADONLY_on(sv);
2258   } while(0) /*@SWIG@*/;
2259   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2260     SV *sv = get_sv((char*) SWIG_prefix "CXT_Comment", TRUE | 0x2 | GV_ADDMULTI);
2261     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CXT_Comment)));
2262     SvREADONLY_on(sv);
2263   } while(0) /*@SWIG@*/;
2264   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2265     SV *sv = get_sv((char*) SWIG_prefix "CXT_Literal", TRUE | 0x2 | GV_ADDMULTI);
2266     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CXT_Literal)));
2267     SvREADONLY_on(sv);
2268   } while(0) /*@SWIG@*/;
2269   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2270     SV *sv = get_sv((char*) SWIG_prefix "CE_None", TRUE | 0x2 | GV_ADDMULTI);
2271     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CE_None)));
2272     SvREADONLY_on(sv);
2273   } while(0) /*@SWIG@*/;
2274   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2275     SV *sv = get_sv((char*) SWIG_prefix "CE_Debug", TRUE | 0x2 | GV_ADDMULTI);
2276     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CE_Debug)));
2277     SvREADONLY_on(sv);
2278   } while(0) /*@SWIG@*/;
2279   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2280     SV *sv = get_sv((char*) SWIG_prefix "CE_Warning", TRUE | 0x2 | GV_ADDMULTI);
2281     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CE_Warning)));
2282     SvREADONLY_on(sv);
2283   } while(0) /*@SWIG@*/;
2284   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2285     SV *sv = get_sv((char*) SWIG_prefix "CE_Failure", TRUE | 0x2 | GV_ADDMULTI);
2286     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CE_Failure)));
2287     SvREADONLY_on(sv);
2288   } while(0) /*@SWIG@*/;
2289   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2290     SV *sv = get_sv((char*) SWIG_prefix "CE_Fatal", TRUE | 0x2 | GV_ADDMULTI);
2291     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CE_Fatal)));
2292     SvREADONLY_on(sv);
2293   } while(0) /*@SWIG@*/;
2294   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2295     SV *sv = get_sv((char*) SWIG_prefix "CPLE_None", TRUE | 0x2 | GV_ADDMULTI);
2296     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CPLE_None)));
2297     SvREADONLY_on(sv);
2298   } while(0) /*@SWIG@*/;
2299   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2300     SV *sv = get_sv((char*) SWIG_prefix "CPLE_AppDefined", TRUE | 0x2 | GV_ADDMULTI);
2301     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CPLE_AppDefined)));
2302     SvREADONLY_on(sv);
2303   } while(0) /*@SWIG@*/;
2304   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2305     SV *sv = get_sv((char*) SWIG_prefix "CPLE_OutOfMemory", TRUE | 0x2 | GV_ADDMULTI);
2306     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CPLE_OutOfMemory)));
2307     SvREADONLY_on(sv);
2308   } while(0) /*@SWIG@*/;
2309   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2310     SV *sv = get_sv((char*) SWIG_prefix "CPLE_FileIO", TRUE | 0x2 | GV_ADDMULTI);
2311     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CPLE_FileIO)));
2312     SvREADONLY_on(sv);
2313   } while(0) /*@SWIG@*/;
2314   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2315     SV *sv = get_sv((char*) SWIG_prefix "CPLE_OpenFailed", TRUE | 0x2 | GV_ADDMULTI);
2316     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CPLE_OpenFailed)));
2317     SvREADONLY_on(sv);
2318   } while(0) /*@SWIG@*/;
2319   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2320     SV *sv = get_sv((char*) SWIG_prefix "CPLE_IllegalArg", TRUE | 0x2 | GV_ADDMULTI);
2321     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CPLE_IllegalArg)));
2322     SvREADONLY_on(sv);
2323   } while(0) /*@SWIG@*/;
2324   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2325     SV *sv = get_sv((char*) SWIG_prefix "CPLE_NotSupported", TRUE | 0x2 | GV_ADDMULTI);
2326     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CPLE_NotSupported)));
2327     SvREADONLY_on(sv);
2328   } while(0) /*@SWIG@*/;
2329   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2330     SV *sv = get_sv((char*) SWIG_prefix "CPLE_AssertionFailed", TRUE | 0x2 | GV_ADDMULTI);
2331     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CPLE_AssertionFailed)));
2332     SvREADONLY_on(sv);
2333   } while(0) /*@SWIG@*/;
2334   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2335     SV *sv = get_sv((char*) SWIG_prefix "CPLE_NoWriteAccess", TRUE | 0x2 | GV_ADDMULTI);
2336     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CPLE_NoWriteAccess)));
2337     SvREADONLY_on(sv);
2338   } while(0) /*@SWIG@*/;
2339   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2340     SV *sv = get_sv((char*) SWIG_prefix "CPLE_UserInterrupt", TRUE | 0x2 | GV_ADDMULTI);
2341     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CPLE_UserInterrupt)));
2342     SvREADONLY_on(sv);
2343   } while(0) /*@SWIG@*/;
2344   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2345     SV *sv = get_sv((char*) SWIG_prefix "CPLE_ObjectNull", TRUE | 0x2 | GV_ADDMULTI);
2346     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CPLE_ObjectNull)));
2347     SvREADONLY_on(sv);
2348   } while(0) /*@SWIG@*/;
2349   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2350     SV *sv = get_sv((char*) SWIG_prefix "CPLE_HttpResponse", TRUE | 0x2 | GV_ADDMULTI);
2351     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CPLE_HttpResponse)));
2352     SvREADONLY_on(sv);
2353   } while(0) /*@SWIG@*/;
2354   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2355     SV *sv = get_sv((char*) SWIG_prefix "CPLE_AWSBucketNotFound", TRUE | 0x2 | GV_ADDMULTI);
2356     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CPLE_AWSBucketNotFound)));
2357     SvREADONLY_on(sv);
2358   } while(0) /*@SWIG@*/;
2359   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2360     SV *sv = get_sv((char*) SWIG_prefix "CPLE_AWSObjectNotFound", TRUE | 0x2 | GV_ADDMULTI);
2361     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CPLE_AWSObjectNotFound)));
2362     SvREADONLY_on(sv);
2363   } while(0) /*@SWIG@*/;
2364   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2365     SV *sv = get_sv((char*) SWIG_prefix "CPLE_AWSAccessDenied", TRUE | 0x2 | GV_ADDMULTI);
2366     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CPLE_AWSAccessDenied)));
2367     SvREADONLY_on(sv);
2368   } while(0) /*@SWIG@*/;
2369   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2370     SV *sv = get_sv((char*) SWIG_prefix "CPLE_AWSInvalidCredentials", TRUE | 0x2 | GV_ADDMULTI);
2371     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CPLE_AWSInvalidCredentials)));
2372     SvREADONLY_on(sv);
2373   } while(0) /*@SWIG@*/;
2374   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2375     SV *sv = get_sv((char*) SWIG_prefix "CPLE_AWSSignatureDoesNotMatch", TRUE | 0x2 | GV_ADDMULTI);
2376     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CPLE_AWSSignatureDoesNotMatch)));
2377     SvREADONLY_on(sv);
2378   } while(0) /*@SWIG@*/;
2379   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2380     SV *sv = get_sv((char*) SWIG_prefix "OF_ALL", TRUE | 0x2 | GV_ADDMULTI);
2381     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GDAL_OF_ALL)));
2382     SvREADONLY_on(sv);
2383   } while(0) /*@SWIG@*/;
2384   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2385     SV *sv = get_sv((char*) SWIG_prefix "OF_RASTER", TRUE | 0x2 | GV_ADDMULTI);
2386     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GDAL_OF_RASTER)));
2387     SvREADONLY_on(sv);
2388   } while(0) /*@SWIG@*/;
2389   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2390     SV *sv = get_sv((char*) SWIG_prefix "OF_VECTOR", TRUE | 0x2 | GV_ADDMULTI);
2391     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GDAL_OF_VECTOR)));
2392     SvREADONLY_on(sv);
2393   } while(0) /*@SWIG@*/;
2394   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2395     SV *sv = get_sv((char*) SWIG_prefix "OF_GNM", TRUE | 0x2 | GV_ADDMULTI);
2396     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GDAL_OF_GNM)));
2397     SvREADONLY_on(sv);
2398   } while(0) /*@SWIG@*/;
2399   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2400     SV *sv = get_sv((char*) SWIG_prefix "OF_MULTIDIM_RASTER", TRUE | 0x2 | GV_ADDMULTI);
2401     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GDAL_OF_MULTIDIM_RASTER)));
2402     SvREADONLY_on(sv);
2403   } while(0) /*@SWIG@*/;
2404   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2405     SV *sv = get_sv((char*) SWIG_prefix "OF_READONLY", TRUE | 0x2 | GV_ADDMULTI);
2406     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GDAL_OF_READONLY)));
2407     SvREADONLY_on(sv);
2408   } while(0) /*@SWIG@*/;
2409   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2410     SV *sv = get_sv((char*) SWIG_prefix "OF_UPDATE", TRUE | 0x2 | GV_ADDMULTI);
2411     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GDAL_OF_UPDATE)));
2412     SvREADONLY_on(sv);
2413   } while(0) /*@SWIG@*/;
2414   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2415     SV *sv = get_sv((char*) SWIG_prefix "OF_SHARED", TRUE | 0x2 | GV_ADDMULTI);
2416     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GDAL_OF_SHARED)));
2417     SvREADONLY_on(sv);
2418   } while(0) /*@SWIG@*/;
2419   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2420     SV *sv = get_sv((char*) SWIG_prefix "OF_VERBOSE_ERROR", TRUE | 0x2 | GV_ADDMULTI);
2421     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GDAL_OF_VERBOSE_ERROR)));
2422     SvREADONLY_on(sv);
2423   } while(0) /*@SWIG@*/;
2424   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2425     SV *sv = get_sv((char*) SWIG_prefix "DMD_LONGNAME", TRUE | 0x2 | GV_ADDMULTI);
2426     sv_setsv(sv, SWIG_FromCharPtr(GDAL_DMD_LONGNAME));
2427     SvREADONLY_on(sv);
2428   } while(0) /*@SWIG@*/;
2429   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2430     SV *sv = get_sv((char*) SWIG_prefix "DMD_HELPTOPIC", TRUE | 0x2 | GV_ADDMULTI);
2431     sv_setsv(sv, SWIG_FromCharPtr(GDAL_DMD_HELPTOPIC));
2432     SvREADONLY_on(sv);
2433   } while(0) /*@SWIG@*/;
2434   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2435     SV *sv = get_sv((char*) SWIG_prefix "DMD_MIMETYPE", TRUE | 0x2 | GV_ADDMULTI);
2436     sv_setsv(sv, SWIG_FromCharPtr(GDAL_DMD_MIMETYPE));
2437     SvREADONLY_on(sv);
2438   } while(0) /*@SWIG@*/;
2439   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2440     SV *sv = get_sv((char*) SWIG_prefix "DMD_EXTENSION", TRUE | 0x2 | GV_ADDMULTI);
2441     sv_setsv(sv, SWIG_FromCharPtr(GDAL_DMD_EXTENSION));
2442     SvREADONLY_on(sv);
2443   } while(0) /*@SWIG@*/;
2444   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2445     SV *sv = get_sv((char*) SWIG_prefix "DMD_EXTENSIONS", TRUE | 0x2 | GV_ADDMULTI);
2446     sv_setsv(sv, SWIG_FromCharPtr(GDAL_DMD_EXTENSIONS));
2447     SvREADONLY_on(sv);
2448   } while(0) /*@SWIG@*/;
2449   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2450     SV *sv = get_sv((char*) SWIG_prefix "DMD_CONNECTION_PREFIX", TRUE | 0x2 | GV_ADDMULTI);
2451     sv_setsv(sv, SWIG_FromCharPtr(GDAL_DMD_CONNECTION_PREFIX));
2452     SvREADONLY_on(sv);
2453   } while(0) /*@SWIG@*/;
2454   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2455     SV *sv = get_sv((char*) SWIG_prefix "DMD_CREATIONOPTIONLIST", TRUE | 0x2 | GV_ADDMULTI);
2456     sv_setsv(sv, SWIG_FromCharPtr(GDAL_DMD_CREATIONOPTIONLIST));
2457     SvREADONLY_on(sv);
2458   } while(0) /*@SWIG@*/;
2459   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2460     SV *sv = get_sv((char*) SWIG_prefix "DMD_CREATIONDATATYPES", TRUE | 0x2 | GV_ADDMULTI);
2461     sv_setsv(sv, SWIG_FromCharPtr(GDAL_DMD_CREATIONDATATYPES));
2462     SvREADONLY_on(sv);
2463   } while(0) /*@SWIG@*/;
2464   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2465     SV *sv = get_sv((char*) SWIG_prefix "DMD_CREATIONFIELDDATATYPES", TRUE | 0x2 | GV_ADDMULTI);
2466     sv_setsv(sv, SWIG_FromCharPtr(GDAL_DMD_CREATIONFIELDDATATYPES));
2467     SvREADONLY_on(sv);
2468   } while(0) /*@SWIG@*/;
2469   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2470     SV *sv = get_sv((char*) SWIG_prefix "DMD_SUBDATASETS", TRUE | 0x2 | GV_ADDMULTI);
2471     sv_setsv(sv, SWIG_FromCharPtr(GDAL_DMD_SUBDATASETS));
2472     SvREADONLY_on(sv);
2473   } while(0) /*@SWIG@*/;
2474   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2475     SV *sv = get_sv((char*) SWIG_prefix "DCAP_OPEN", TRUE | 0x2 | GV_ADDMULTI);
2476     sv_setsv(sv, SWIG_FromCharPtr(GDAL_DCAP_OPEN));
2477     SvREADONLY_on(sv);
2478   } while(0) /*@SWIG@*/;
2479   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2480     SV *sv = get_sv((char*) SWIG_prefix "DCAP_CREATE", TRUE | 0x2 | GV_ADDMULTI);
2481     sv_setsv(sv, SWIG_FromCharPtr(GDAL_DCAP_CREATE));
2482     SvREADONLY_on(sv);
2483   } while(0) /*@SWIG@*/;
2484   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2485     SV *sv = get_sv((char*) SWIG_prefix "DCAP_CREATECOPY", TRUE | 0x2 | GV_ADDMULTI);
2486     sv_setsv(sv, SWIG_FromCharPtr(GDAL_DCAP_CREATECOPY));
2487     SvREADONLY_on(sv);
2488   } while(0) /*@SWIG@*/;
2489   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2490     SV *sv = get_sv((char*) SWIG_prefix "DCAP_VIRTUALIO", TRUE | 0x2 | GV_ADDMULTI);
2491     sv_setsv(sv, SWIG_FromCharPtr(GDAL_DCAP_VIRTUALIO));
2492     SvREADONLY_on(sv);
2493   } while(0) /*@SWIG@*/;
2494   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2495     SV *sv = get_sv((char*) SWIG_prefix "DCAP_RASTER", TRUE | 0x2 | GV_ADDMULTI);
2496     sv_setsv(sv, SWIG_FromCharPtr(GDAL_DCAP_RASTER));
2497     SvREADONLY_on(sv);
2498   } while(0) /*@SWIG@*/;
2499   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2500     SV *sv = get_sv((char*) SWIG_prefix "DCAP_VECTOR", TRUE | 0x2 | GV_ADDMULTI);
2501     sv_setsv(sv, SWIG_FromCharPtr(GDAL_DCAP_VECTOR));
2502     SvREADONLY_on(sv);
2503   } while(0) /*@SWIG@*/;
2504   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2505     SV *sv = get_sv((char*) SWIG_prefix "DCAP_NOTNULL_FIELDS", TRUE | 0x2 | GV_ADDMULTI);
2506     sv_setsv(sv, SWIG_FromCharPtr(GDAL_DCAP_NOTNULL_FIELDS));
2507     SvREADONLY_on(sv);
2508   } while(0) /*@SWIG@*/;
2509   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2510     SV *sv = get_sv((char*) SWIG_prefix "DCAP_DEFAULT_FIELDS", TRUE | 0x2 | GV_ADDMULTI);
2511     sv_setsv(sv, SWIG_FromCharPtr(GDAL_DCAP_DEFAULT_FIELDS));
2512     SvREADONLY_on(sv);
2513   } while(0) /*@SWIG@*/;
2514   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2515     SV *sv = get_sv((char*) SWIG_prefix "DCAP_NOTNULL_GEOMFIELDS", TRUE | 0x2 | GV_ADDMULTI);
2516     sv_setsv(sv, SWIG_FromCharPtr(GDAL_DCAP_NOTNULL_GEOMFIELDS));
2517     SvREADONLY_on(sv);
2518   } while(0) /*@SWIG@*/;
2519   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2520     SV *sv = get_sv((char*) SWIG_prefix "DCAP_UNIQUE_FIELDS", TRUE | 0x2 | GV_ADDMULTI);
2521     sv_setsv(sv, SWIG_FromCharPtr(GDAL_DCAP_UNIQUE_FIELDS));
2522     SvREADONLY_on(sv);
2523   } while(0) /*@SWIG@*/;
2524   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2525     SV *sv = get_sv((char*) SWIG_prefix "DIM_TYPE_HORIZONTAL_X", TRUE | 0x2 | GV_ADDMULTI);
2526     sv_setsv(sv, SWIG_FromCharPtr(GDAL_DIM_TYPE_HORIZONTAL_X));
2527     SvREADONLY_on(sv);
2528   } while(0) /*@SWIG@*/;
2529   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2530     SV *sv = get_sv((char*) SWIG_prefix "DIM_TYPE_HORIZONTAL_Y", TRUE | 0x2 | GV_ADDMULTI);
2531     sv_setsv(sv, SWIG_FromCharPtr(GDAL_DIM_TYPE_HORIZONTAL_Y));
2532     SvREADONLY_on(sv);
2533   } while(0) /*@SWIG@*/;
2534   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2535     SV *sv = get_sv((char*) SWIG_prefix "DIM_TYPE_VERTICAL", TRUE | 0x2 | GV_ADDMULTI);
2536     sv_setsv(sv, SWIG_FromCharPtr(GDAL_DIM_TYPE_VERTICAL));
2537     SvREADONLY_on(sv);
2538   } while(0) /*@SWIG@*/;
2539   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2540     SV *sv = get_sv((char*) SWIG_prefix "DIM_TYPE_TEMPORAL", TRUE | 0x2 | GV_ADDMULTI);
2541     sv_setsv(sv, SWIG_FromCharPtr(GDAL_DIM_TYPE_TEMPORAL));
2542     SvREADONLY_on(sv);
2543   } while(0) /*@SWIG@*/;
2544   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2545     SV *sv = get_sv((char*) SWIG_prefix "DIM_TYPE_PARAMETRIC", TRUE | 0x2 | GV_ADDMULTI);
2546     sv_setsv(sv, SWIG_FromCharPtr(GDAL_DIM_TYPE_PARAMETRIC));
2547     SvREADONLY_on(sv);
2548   } while(0) /*@SWIG@*/;
2549   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2550     SV *sv = get_sv((char*) SWIG_prefix "CPLES_BackslashQuotable", TRUE | 0x2 | GV_ADDMULTI);
2551     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CPLES_BackslashQuotable)));
2552     SvREADONLY_on(sv);
2553   } while(0) /*@SWIG@*/;
2554   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2555     SV *sv = get_sv((char*) SWIG_prefix "CPLES_XML", TRUE | 0x2 | GV_ADDMULTI);
2556     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CPLES_XML)));
2557     SvREADONLY_on(sv);
2558   } while(0) /*@SWIG@*/;
2559   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2560     SV *sv = get_sv((char*) SWIG_prefix "CPLES_XML_BUT_QUOTES", TRUE | 0x2 | GV_ADDMULTI);
2561     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CPLES_XML_BUT_QUOTES)));
2562     SvREADONLY_on(sv);
2563   } while(0) /*@SWIG@*/;
2564   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2565     SV *sv = get_sv((char*) SWIG_prefix "CPLES_URL", TRUE | 0x2 | GV_ADDMULTI);
2566     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CPLES_URL)));
2567     SvREADONLY_on(sv);
2568   } while(0) /*@SWIG@*/;
2569   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2570     SV *sv = get_sv((char*) SWIG_prefix "CPLES_SQL", TRUE | 0x2 | GV_ADDMULTI);
2571     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CPLES_SQL)));
2572     SvREADONLY_on(sv);
2573   } while(0) /*@SWIG@*/;
2574   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2575     SV *sv = get_sv((char*) SWIG_prefix "CPLES_CSV", TRUE | 0x2 | GV_ADDMULTI);
2576     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CPLES_CSV)));
2577     SvREADONLY_on(sv);
2578   } while(0) /*@SWIG@*/;
2579   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2580     SV *sv = get_sv((char*) SWIG_prefix "GFT_Integer", TRUE | 0x2 | GV_ADDMULTI);
2581     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GFT_Integer)));
2582     SvREADONLY_on(sv);
2583   } while(0) /*@SWIG@*/;
2584   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2585     SV *sv = get_sv((char*) SWIG_prefix "GFT_Real", TRUE | 0x2 | GV_ADDMULTI);
2586     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GFT_Real)));
2587     SvREADONLY_on(sv);
2588   } while(0) /*@SWIG@*/;
2589   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2590     SV *sv = get_sv((char*) SWIG_prefix "GFT_String", TRUE | 0x2 | GV_ADDMULTI);
2591     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GFT_String)));
2592     SvREADONLY_on(sv);
2593   } while(0) /*@SWIG@*/;
2594   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2595     SV *sv = get_sv((char*) SWIG_prefix "GFU_Generic", TRUE | 0x2 | GV_ADDMULTI);
2596     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GFU_Generic)));
2597     SvREADONLY_on(sv);
2598   } while(0) /*@SWIG@*/;
2599   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2600     SV *sv = get_sv((char*) SWIG_prefix "GFU_PixelCount", TRUE | 0x2 | GV_ADDMULTI);
2601     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GFU_PixelCount)));
2602     SvREADONLY_on(sv);
2603   } while(0) /*@SWIG@*/;
2604   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2605     SV *sv = get_sv((char*) SWIG_prefix "GFU_Name", TRUE | 0x2 | GV_ADDMULTI);
2606     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GFU_Name)));
2607     SvREADONLY_on(sv);
2608   } while(0) /*@SWIG@*/;
2609   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2610     SV *sv = get_sv((char*) SWIG_prefix "GFU_Min", TRUE | 0x2 | GV_ADDMULTI);
2611     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GFU_Min)));
2612     SvREADONLY_on(sv);
2613   } while(0) /*@SWIG@*/;
2614   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2615     SV *sv = get_sv((char*) SWIG_prefix "GFU_Max", TRUE | 0x2 | GV_ADDMULTI);
2616     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GFU_Max)));
2617     SvREADONLY_on(sv);
2618   } while(0) /*@SWIG@*/;
2619   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2620     SV *sv = get_sv((char*) SWIG_prefix "GFU_MinMax", TRUE | 0x2 | GV_ADDMULTI);
2621     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GFU_MinMax)));
2622     SvREADONLY_on(sv);
2623   } while(0) /*@SWIG@*/;
2624   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2625     SV *sv = get_sv((char*) SWIG_prefix "GFU_Red", TRUE | 0x2 | GV_ADDMULTI);
2626     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GFU_Red)));
2627     SvREADONLY_on(sv);
2628   } while(0) /*@SWIG@*/;
2629   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2630     SV *sv = get_sv((char*) SWIG_prefix "GFU_Green", TRUE | 0x2 | GV_ADDMULTI);
2631     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GFU_Green)));
2632     SvREADONLY_on(sv);
2633   } while(0) /*@SWIG@*/;
2634   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2635     SV *sv = get_sv((char*) SWIG_prefix "GFU_Blue", TRUE | 0x2 | GV_ADDMULTI);
2636     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GFU_Blue)));
2637     SvREADONLY_on(sv);
2638   } while(0) /*@SWIG@*/;
2639   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2640     SV *sv = get_sv((char*) SWIG_prefix "GFU_Alpha", TRUE | 0x2 | GV_ADDMULTI);
2641     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GFU_Alpha)));
2642     SvREADONLY_on(sv);
2643   } while(0) /*@SWIG@*/;
2644   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2645     SV *sv = get_sv((char*) SWIG_prefix "GFU_RedMin", TRUE | 0x2 | GV_ADDMULTI);
2646     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GFU_RedMin)));
2647     SvREADONLY_on(sv);
2648   } while(0) /*@SWIG@*/;
2649   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2650     SV *sv = get_sv((char*) SWIG_prefix "GFU_GreenMin", TRUE | 0x2 | GV_ADDMULTI);
2651     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GFU_GreenMin)));
2652     SvREADONLY_on(sv);
2653   } while(0) /*@SWIG@*/;
2654   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2655     SV *sv = get_sv((char*) SWIG_prefix "GFU_BlueMin", TRUE | 0x2 | GV_ADDMULTI);
2656     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GFU_BlueMin)));
2657     SvREADONLY_on(sv);
2658   } while(0) /*@SWIG@*/;
2659   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2660     SV *sv = get_sv((char*) SWIG_prefix "GFU_AlphaMin", TRUE | 0x2 | GV_ADDMULTI);
2661     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GFU_AlphaMin)));
2662     SvREADONLY_on(sv);
2663   } while(0) /*@SWIG@*/;
2664   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2665     SV *sv = get_sv((char*) SWIG_prefix "GFU_RedMax", TRUE | 0x2 | GV_ADDMULTI);
2666     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GFU_RedMax)));
2667     SvREADONLY_on(sv);
2668   } while(0) /*@SWIG@*/;
2669   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2670     SV *sv = get_sv((char*) SWIG_prefix "GFU_GreenMax", TRUE | 0x2 | GV_ADDMULTI);
2671     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GFU_GreenMax)));
2672     SvREADONLY_on(sv);
2673   } while(0) /*@SWIG@*/;
2674   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2675     SV *sv = get_sv((char*) SWIG_prefix "GFU_BlueMax", TRUE | 0x2 | GV_ADDMULTI);
2676     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GFU_BlueMax)));
2677     SvREADONLY_on(sv);
2678   } while(0) /*@SWIG@*/;
2679   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2680     SV *sv = get_sv((char*) SWIG_prefix "GFU_AlphaMax", TRUE | 0x2 | GV_ADDMULTI);
2681     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GFU_AlphaMax)));
2682     SvREADONLY_on(sv);
2683   } while(0) /*@SWIG@*/;
2684   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2685     SV *sv = get_sv((char*) SWIG_prefix "GFU_MaxCount", TRUE | 0x2 | GV_ADDMULTI);
2686     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GFU_MaxCount)));
2687     SvREADONLY_on(sv);
2688   } while(0) /*@SWIG@*/;
2689   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2690     SV *sv = get_sv((char*) SWIG_prefix "GRTT_THEMATIC", TRUE | 0x2 | GV_ADDMULTI);
2691     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GRTT_THEMATIC)));
2692     SvREADONLY_on(sv);
2693   } while(0) /*@SWIG@*/;
2694   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2695     SV *sv = get_sv((char*) SWIG_prefix "GRTT_ATHEMATIC", TRUE | 0x2 | GV_ADDMULTI);
2696     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GRTT_ATHEMATIC)));
2697     SvREADONLY_on(sv);
2698   } while(0) /*@SWIG@*/;
2699   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2700     SV *sv = get_sv((char*) SWIG_prefix "GMF_ALL_VALID", TRUE | 0x2 | GV_ADDMULTI);
2701     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(0x01)));
2702     SvREADONLY_on(sv);
2703   } while(0) /*@SWIG@*/;
2704   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2705     SV *sv = get_sv((char*) SWIG_prefix "GMF_PER_DATASET", TRUE | 0x2 | GV_ADDMULTI);
2706     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(0x02)));
2707     SvREADONLY_on(sv);
2708   } while(0) /*@SWIG@*/;
2709   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2710     SV *sv = get_sv((char*) SWIG_prefix "GMF_ALPHA", TRUE | 0x2 | GV_ADDMULTI);
2711     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(0x04)));
2712     SvREADONLY_on(sv);
2713   } while(0) /*@SWIG@*/;
2714   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2715     SV *sv = get_sv((char*) SWIG_prefix "GMF_NODATA", TRUE | 0x2 | GV_ADDMULTI);
2716     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(0x08)));
2717     SvREADONLY_on(sv);
2718   } while(0) /*@SWIG@*/;
2719   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2720     SV *sv = get_sv((char*) SWIG_prefix "GDAL_DATA_COVERAGE_STATUS_UNIMPLEMENTED", TRUE | 0x2 | GV_ADDMULTI);
2721     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(0x01)));
2722     SvREADONLY_on(sv);
2723   } while(0) /*@SWIG@*/;
2724   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2725     SV *sv = get_sv((char*) SWIG_prefix "GDAL_DATA_COVERAGE_STATUS_DATA", TRUE | 0x2 | GV_ADDMULTI);
2726     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(0x02)));
2727     SvREADONLY_on(sv);
2728   } while(0) /*@SWIG@*/;
2729   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2730     SV *sv = get_sv((char*) SWIG_prefix "GDAL_DATA_COVERAGE_STATUS_EMPTY", TRUE | 0x2 | GV_ADDMULTI);
2731     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(0x04)));
2732     SvREADONLY_on(sv);
2733   } while(0) /*@SWIG@*/;
2734   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2735     SV *sv = get_sv((char*) SWIG_prefix "GARIO_PENDING", TRUE | 0x2 | GV_ADDMULTI);
2736     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GARIO_PENDING)));
2737     SvREADONLY_on(sv);
2738   } while(0) /*@SWIG@*/;
2739   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2740     SV *sv = get_sv((char*) SWIG_prefix "GARIO_UPDATE", TRUE | 0x2 | GV_ADDMULTI);
2741     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GARIO_UPDATE)));
2742     SvREADONLY_on(sv);
2743   } while(0) /*@SWIG@*/;
2744   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2745     SV *sv = get_sv((char*) SWIG_prefix "GARIO_ERROR", TRUE | 0x2 | GV_ADDMULTI);
2746     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GARIO_ERROR)));
2747     SvREADONLY_on(sv);
2748   } while(0) /*@SWIG@*/;
2749   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2750     SV *sv = get_sv((char*) SWIG_prefix "GARIO_COMPLETE", TRUE | 0x2 | GV_ADDMULTI);
2751     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GARIO_COMPLETE)));
2752     SvREADONLY_on(sv);
2753   } while(0) /*@SWIG@*/;
2754   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2755     SV *sv = get_sv((char*) SWIG_prefix "GTO_TIP", TRUE | 0x2 | GV_ADDMULTI);
2756     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GTO_TIP)));
2757     SvREADONLY_on(sv);
2758   } while(0) /*@SWIG@*/;
2759   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2760     SV *sv = get_sv((char*) SWIG_prefix "GTO_BIT", TRUE | 0x2 | GV_ADDMULTI);
2761     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GTO_BIT)));
2762     SvREADONLY_on(sv);
2763   } while(0) /*@SWIG@*/;
2764   /*@SWIG:/home/even/install-swig-3.0.12/share/swig/3.0.12/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2765     SV *sv = get_sv((char*) SWIG_prefix "GTO_BSQ", TRUE | 0x2 | GV_ADDMULTI);
2766     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(GTO_BSQ)));
2767     SvREADONLY_on(sv);
2768   } while(0) /*@SWIG@*/;
2769   ST(0) = &PL_sv_yes;
2770   XSRETURN(1);
2771 }
2772 
2773