1 /* ----------------------------------------------------------------------------
2 * This file was automatically generated by SWIG (http://www.swig.org).
3 * Version 1.3.24
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 SWIG_TEMPLATE_DISAMBIGUATOR
13 # if defined(__SUNPRO_CC)
14 # define SWIG_TEMPLATE_DISAMBIGUATOR template
15 # else
16 # define SWIG_TEMPLATE_DISAMBIGUATOR
17 # endif
18 #endif
19
20 /***********************************************************************
21 * swigrun.swg
22 *
23 * This file contains generic CAPI SWIG runtime support for pointer
24 * type checking.
25 *
26 ************************************************************************/
27
28 /* This should only be incremented when either the layout of swig_type_info changes,
29 or for whatever reason, the runtime changes incompatibly */
30 #define SWIG_RUNTIME_VERSION "1"
31
32 /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
33 #ifdef SWIG_TYPE_TABLE
34 #define SWIG_QUOTE_STRING(x) #x
35 #define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
36 #define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
37 #else
38 #define SWIG_TYPE_TABLE_NAME
39 #endif
40
41 #include <string.h>
42
43 #ifndef SWIGINLINE
44 #if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
45 # define SWIGINLINE inline
46 #else
47 # define SWIGINLINE
48 #endif
49 #endif
50
51 /*
52 You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
53 creating a static or dynamic library from the swig runtime code.
54 In 99.9% of the cases, swig just needs to declare them as 'static'.
55
56 But only do this if is strictly necessary, ie, if you have problems
57 with your compiler or so.
58 */
59 #ifndef SWIGRUNTIME
60 #define SWIGRUNTIME static
61 #endif
62 #ifndef SWIGRUNTIMEINLINE
63 #define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
64 #endif
65
66 #ifdef __cplusplus
67 extern "C" {
68 #endif
69
70 typedef void *(*swig_converter_func)(void *);
71 typedef struct swig_type_info *(*swig_dycast_func)(void **);
72
73 typedef struct swig_type_info {
74 const char *name;
75 swig_converter_func converter;
76 const char *str;
77 void *clientdata;
78 swig_dycast_func dcast;
79 struct swig_type_info *next;
80 struct swig_type_info *prev;
81 } swig_type_info;
82
83 /*
84 Compare two type names skipping the space characters, therefore
85 "char*" == "char *" and "Class<int>" == "Class<int >", etc.
86
87 Return 0 when the two name types are equivalent, as in
88 strncmp, but skipping ' '.
89 */
90 SWIGRUNTIME int
SWIG_TypeNameComp(const char * f1,const char * l1,const char * f2,const char * l2)91 SWIG_TypeNameComp(const char *f1, const char *l1,
92 const char *f2, const char *l2) {
93 for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
94 while ((*f1 == ' ') && (f1 != l1)) ++f1;
95 while ((*f2 == ' ') && (f2 != l2)) ++f2;
96 if (*f1 != *f2) return *f1 - *f2;
97 }
98 return (l1 - f1) - (l2 - f2);
99 }
100
101 /*
102 Check type equivalence in a name list like <name1>|<name2>|...
103 */
104 SWIGRUNTIME int
SWIG_TypeEquiv(const char * nb,const char * tb)105 SWIG_TypeEquiv(const char *nb, const char *tb) {
106 int equiv = 0;
107 const char* te = tb + strlen(tb);
108 const char* ne = nb;
109 while (!equiv && *ne) {
110 for (nb = ne; *ne; ++ne) {
111 if (*ne == '|') break;
112 }
113 equiv = SWIG_TypeNameComp(nb, ne, tb, te) == 0;
114 if (*ne) ++ne;
115 }
116 return equiv;
117 }
118
119 /*
120 Register a type mapping with the type-checking
121 */
122 SWIGRUNTIME swig_type_info *
SWIG_TypeRegisterTL(swig_type_info ** tl,swig_type_info * ti)123 SWIG_TypeRegisterTL(swig_type_info **tl, swig_type_info *ti) {
124 swig_type_info *tc, *head, *ret, *next;
125 /* Check to see if this type has already been registered */
126 tc = *tl;
127 while (tc) {
128 /* check simple type equivalence */
129 int typeequiv = (strcmp(tc->name, ti->name) == 0);
130 /* check full type equivalence, resolving typedefs */
131 if (!typeequiv) {
132 /* only if tc is not a typedef (no '|' on it) */
133 if (tc->str && ti->str && !strstr(tc->str,"|")) {
134 typeequiv = SWIG_TypeEquiv(ti->str,tc->str);
135 }
136 }
137 if (typeequiv) {
138 /* Already exists in the table. Just add additional types to the list */
139 if (ti->clientdata) tc->clientdata = ti->clientdata;
140 head = tc;
141 next = tc->next;
142 goto l1;
143 }
144 tc = tc->prev;
145 }
146 head = ti;
147 next = 0;
148
149 /* Place in list */
150 ti->prev = *tl;
151 *tl = ti;
152
153 /* Build linked lists */
154 l1:
155 ret = head;
156 tc = ti + 1;
157 /* Patch up the rest of the links */
158 while (tc->name) {
159 head->next = tc;
160 tc->prev = head;
161 head = tc;
162 tc++;
163 }
164 if (next) next->prev = head;
165 head->next = next;
166
167 return ret;
168 }
169
170 /*
171 Check the typename
172 */
173 SWIGRUNTIME swig_type_info *
SWIG_TypeCheck(const char * c,swig_type_info * ty)174 SWIG_TypeCheck(const char *c, swig_type_info *ty) {
175 swig_type_info *s;
176 if (!ty) return 0; /* Void pointer */
177 s = ty->next; /* First element always just a name */
178 do {
179 if (strcmp(s->name,c) == 0) {
180 if (s == ty->next) return s;
181 /* Move s to the top of the linked list */
182 s->prev->next = s->next;
183 if (s->next) {
184 s->next->prev = s->prev;
185 }
186 /* Insert s as second element in the list */
187 s->next = ty->next;
188 if (ty->next) ty->next->prev = s;
189 ty->next = s;
190 s->prev = ty;
191 return s;
192 }
193 s = s->next;
194 } while (s && (s != ty->next));
195 return 0;
196 }
197
198 /*
199 Cast a pointer up an inheritance hierarchy
200 */
201 SWIGRUNTIMEINLINE void *
SWIG_TypeCast(swig_type_info * ty,void * ptr)202 SWIG_TypeCast(swig_type_info *ty, void *ptr) {
203 return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr);
204 }
205
206 /*
207 Dynamic pointer casting. Down an inheritance hierarchy
208 */
209 SWIGRUNTIME swig_type_info *
SWIG_TypeDynamicCast(swig_type_info * ty,void ** ptr)210 SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) {
211 swig_type_info *lastty = ty;
212 if (!ty || !ty->dcast) return ty;
213 while (ty && (ty->dcast)) {
214 ty = (*ty->dcast)(ptr);
215 if (ty) lastty = ty;
216 }
217 return lastty;
218 }
219
220 /*
221 Return the name associated with this type
222 */
223 SWIGRUNTIMEINLINE const char *
SWIG_TypeName(const swig_type_info * ty)224 SWIG_TypeName(const swig_type_info *ty) {
225 return ty->name;
226 }
227
228 /*
229 Return the pretty name associated with this type,
230 that is an unmangled type name in a form presentable to the user.
231 */
232 SWIGRUNTIME const char *
SWIG_TypePrettyName(const swig_type_info * type)233 SWIG_TypePrettyName(const swig_type_info *type) {
234 /* The "str" field contains the equivalent pretty names of the
235 type, separated by vertical-bar characters. We choose
236 to print the last name, as it is often (?) the most
237 specific. */
238 if (type->str != NULL) {
239 const char *last_name = type->str;
240 const char *s;
241 for (s = type->str; *s; s++)
242 if (*s == '|') last_name = s+1;
243 return last_name;
244 }
245 else
246 return type->name;
247 }
248
249 /*
250 Search for a swig_type_info structure
251 */
252 SWIGRUNTIME swig_type_info *
SWIG_TypeQueryTL(swig_type_info * tl,const char * name)253 SWIG_TypeQueryTL(swig_type_info *tl, const char *name) {
254 swig_type_info *ty = tl;
255 while (ty) {
256 if (ty->str && (SWIG_TypeEquiv(ty->str,name))) return ty;
257 if (ty->name && (strcmp(name,ty->name) == 0)) return ty;
258 ty = ty->prev;
259 }
260 return 0;
261 }
262
263 /*
264 Set the clientdata field for a type
265 */
266 SWIGRUNTIME void
SWIG_TypeClientDataTL(swig_type_info * tl,swig_type_info * ti,void * clientdata)267 SWIG_TypeClientDataTL(swig_type_info *tl, swig_type_info *ti, void *clientdata) {
268 swig_type_info *tc, *equiv;
269 if (ti->clientdata) return;
270 /* if (ti->clientdata == clientdata) return; */
271 ti->clientdata = clientdata;
272 equiv = ti->next;
273 while (equiv) {
274 if (!equiv->converter) {
275 tc = tl;
276 while (tc) {
277 if ((strcmp(tc->name, equiv->name) == 0))
278 SWIG_TypeClientDataTL(tl,tc,clientdata);
279 tc = tc->prev;
280 }
281 }
282 equiv = equiv->next;
283 }
284 }
285
286 /*
287 Pack binary data into a string
288 */
289 SWIGRUNTIME char *
SWIG_PackData(char * c,void * ptr,size_t sz)290 SWIG_PackData(char *c, void *ptr, size_t sz) {
291 static char hex[17] = "0123456789abcdef";
292 unsigned char *u = (unsigned char *) ptr;
293 const unsigned char *eu = u + sz;
294 register unsigned char uu;
295 for (; u != eu; ++u) {
296 uu = *u;
297 *(c++) = hex[(uu & 0xf0) >> 4];
298 *(c++) = hex[uu & 0xf];
299 }
300 return c;
301 }
302
303 /*
304 Unpack binary data from a string
305 */
306 SWIGRUNTIME const char *
SWIG_UnpackData(const char * c,void * ptr,size_t sz)307 SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
308 register unsigned char *u = (unsigned char *) ptr;
309 register const unsigned char *eu = u + sz;
310 for (; u != eu; ++u) {
311 register int d = *(c++);
312 register unsigned char uu = 0;
313 if ((d >= '0') && (d <= '9'))
314 uu = ((d - '0') << 4);
315 else if ((d >= 'a') && (d <= 'f'))
316 uu = ((d - ('a'-10)) << 4);
317 else
318 return (char *) 0;
319 d = *(c++);
320 if ((d >= '0') && (d <= '9'))
321 uu |= (d - '0');
322 else if ((d >= 'a') && (d <= 'f'))
323 uu |= (d - ('a'-10));
324 else
325 return (char *) 0;
326 *u = uu;
327 }
328 return c;
329 }
330
331 /*
332 This function will propagate the clientdata field of type to any new
333 swig_type_info structures that have been added into the list of
334 equivalent types. It is like calling SWIG_TypeClientData(type,
335 clientdata) a second time.
336 */
337 SWIGRUNTIME void
SWIG_PropagateClientDataTL(swig_type_info * tl,swig_type_info * type)338 SWIG_PropagateClientDataTL(swig_type_info *tl, swig_type_info *type) {
339 swig_type_info *equiv = type->next;
340 swig_type_info *tc;
341 if (!type->clientdata) return;
342 while (equiv) {
343 if (!equiv->converter) {
344 tc = tl;
345 while (tc) {
346 if ((strcmp(tc->name, equiv->name) == 0) && !tc->clientdata)
347 SWIG_TypeClientDataTL(tl,tc, type->clientdata);
348 tc = tc->prev;
349 }
350 }
351 equiv = equiv->next;
352 }
353 }
354
355 /*
356 Pack 'void *' into a string buffer.
357 */
358 SWIGRUNTIME char *
SWIG_PackVoidPtr(char * buff,void * ptr,const char * name,size_t bsz)359 SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
360 char *r = buff;
361 if ((2*sizeof(void *) + 2) > bsz) return 0;
362 *(r++) = '_';
363 r = SWIG_PackData(r,&ptr,sizeof(void *));
364 if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
365 strcpy(r,name);
366 return buff;
367 }
368
369 SWIGRUNTIME const char *
SWIG_UnpackVoidPtr(const char * c,void ** ptr,const char * name)370 SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) {
371 if (*c != '_') {
372 if (strcmp(c,"NULL") == 0) {
373 *ptr = (void *) 0;
374 return name;
375 } else {
376 return 0;
377 }
378 }
379 return SWIG_UnpackData(++c,ptr,sizeof(void *));
380 }
381
382 SWIGRUNTIME char *
SWIG_PackDataName(char * buff,void * ptr,size_t sz,const char * name,size_t bsz)383 SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) {
384 char *r = buff;
385 size_t lname = (name ? strlen(name) : 0);
386 if ((2*sz + 2 + lname) > bsz) return 0;
387 *(r++) = '_';
388 r = SWIG_PackData(r,ptr,sz);
389 if (lname) {
390 strncpy(r,name,lname+1);
391 } else {
392 *r = 0;
393 }
394 return buff;
395 }
396
397 SWIGRUNTIME const char *
SWIG_UnpackDataName(const char * c,void * ptr,size_t sz,const char * name)398 SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
399 if (*c != '_') {
400 if (strcmp(c,"NULL") == 0) {
401 memset(ptr,0,sz);
402 return name;
403 } else {
404 return 0;
405 }
406 }
407 return SWIG_UnpackData(++c,ptr,sz);
408 }
409
410 #ifdef __cplusplus
411 }
412 #endif
413
414 /***********************************************************************
415 * common.swg
416 *
417 * This file contains generic SWIG runtime support for pointer
418 * type checking as well as a few commonly used macros to control
419 * external linkage.
420 *
421 * Author : David Beazley (beazley@cs.uchicago.edu)
422 *
423 * Copyright (c) 1999-2000, The University of Chicago
424 *
425 * This file may be freely redistributed without license or fee provided
426 * this copyright message remains intact.
427 ************************************************************************/
428
429
430 #if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
431 # if !defined(STATIC_LINKED)
432 # define SWIGEXPORT(a) __declspec(dllexport) a
433 # else
434 # define SWIGEXPORT(a) a
435 # endif
436 #else
437 # define SWIGEXPORT(a) a
438 #endif
439
440 #ifdef __cplusplus
441 extern "C" {
442 #endif
443
444
445 /*************************************************************************/
446
447
448 /* The static type info list */
449
450 static swig_type_info *swig_type_list = 0;
451 static swig_type_info **swig_type_list_handle = &swig_type_list;
452
453
454 /* Register a type mapping with the type-checking */
455 static swig_type_info *
SWIG_TypeRegister(swig_type_info * ti)456 SWIG_TypeRegister(swig_type_info *ti) {
457 return SWIG_TypeRegisterTL(swig_type_list_handle, ti);
458 }
459
460 /* Search for a swig_type_info structure */
461 static swig_type_info *
SWIG_TypeQuery(const char * name)462 SWIG_TypeQuery(const char *name) {
463 return SWIG_TypeQueryTL(*swig_type_list_handle, name);
464 }
465
466 /* Set the clientdata field for a type */
467 static void
SWIG_TypeClientData(swig_type_info * ti,void * clientdata)468 SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
469 SWIG_TypeClientDataTL(*swig_type_list_handle, ti, clientdata);
470 }
471
472 /* This function will propagate the clientdata field of type to
473 * any new swig_type_info structures that have been added into the list
474 * of equivalent types. It is like calling
475 * SWIG_TypeClientData(type, clientdata) a second time.
476 */
477 static void
SWIG_PropagateClientData(swig_type_info * type)478 SWIG_PropagateClientData(swig_type_info *type) {
479 SWIG_PropagateClientDataTL(*swig_type_list_handle, type);
480 }
481
482 #ifdef __cplusplus
483 }
484 #endif
485
486 /* ---------------------------------------------------------------------- -*- c -*-
487 * perl5.swg
488 *
489 * Perl5 runtime library
490 * $Header: /cvsroot/swig/SWIG/Lib/perl5/perlrun.swg,v 1.20 2004/11/29 23:13:57 wuzzeb Exp $
491 * ----------------------------------------------------------------------------- */
492
493 #define SWIGPERL
494 #define SWIGPERL5
495 #ifdef __cplusplus
496 /* Needed on some windows machines---since MS plays funny games with the header files under C++ */
497 #include <math.h>
498 #include <stdlib.h>
499 extern "C" {
500 #endif
501 #include "EXTERN.h"
502 #include "perl.h"
503 #include "XSUB.h"
504
505 /* Get rid of free and malloc defined by perl */
506 #undef free
507 #undef malloc
508
509 #ifndef pTHX_
510 #define pTHX_
511 #endif
512
513 #include <string.h>
514 #ifdef __cplusplus
515 }
516 #endif
517
518 /* Macro to call an XS function */
519
520 #ifdef PERL_OBJECT
521 # define SWIG_CALLXS(_name) _name(cv,pPerl)
522 #else
523 # ifndef MULTIPLICITY
524 # define SWIG_CALLXS(_name) _name(cv)
525 # else
526 # define SWIG_CALLXS(_name) _name(PERL_GET_THX, cv)
527 # endif
528 #endif
529
530 /* Contract support */
531
532 #define SWIG_contract_assert(expr,msg) if (!(expr)) { SWIG_croak(msg); } else
533
534 /* Note: SwigMagicFuncHack is a typedef used to get the C++ compiler to just shut up already */
535
536 #ifdef PERL_OBJECT
537 #define MAGIC_PPERL CPerlObj *pPerl = (CPerlObj *) this;
538 typedef int (CPerlObj::*SwigMagicFunc)(SV *, MAGIC *);
539
540 #ifdef __cplusplus
541 extern "C" {
542 #endif
543 typedef int (CPerlObj::*SwigMagicFuncHack)(SV *, MAGIC *);
544 #ifdef __cplusplus
545 }
546 #endif
547
548 #define SWIG_MAGIC(a,b) (SV *a, MAGIC *b)
549 #define SWIGCLASS_STATIC
550 #else
551 #define MAGIC_PPERL
552 #define SWIGCLASS_STATIC static
553 #ifndef MULTIPLICITY
554 #define SWIG_MAGIC(a,b) (SV *a, MAGIC *b)
555 typedef int (*SwigMagicFunc)(SV *, MAGIC *);
556
557 #ifdef __cplusplus
558 extern "C" {
559 #endif
560 typedef int (*SwigMagicFuncHack)(SV *, MAGIC *);
561 #ifdef __cplusplus
562 }
563 #endif
564
565
566 #else
567 #define SWIG_MAGIC(a,b) (struct interpreter *interp, SV *a, MAGIC *b)
568 typedef int (*SwigMagicFunc)(struct interpreter *, SV *, MAGIC *);
569 #ifdef __cplusplus
570 extern "C" {
571 #endif
572 typedef int (*SwigMagicFuncHack)(struct interpreter *, SV *, MAGIC *);
573 #ifdef __cplusplus
574 }
575 #endif
576
577 #endif
578 #endif
579
580 #if defined(WIN32) && defined(PERL_OBJECT) && !defined(PerlIO_exportFILE)
581 #define PerlIO_exportFILE(fh,fl) (FILE*)(fh)
582 #endif
583
584 /* Modifications for newer Perl 5.005 releases */
585
586 #if !defined(PERL_REVISION) || ((PERL_REVISION >= 5) && ((PERL_VERSION < 5) || ((PERL_VERSION == 5) && (PERL_SUBVERSION < 50))))
587 # ifndef PL_sv_yes
588 # define PL_sv_yes sv_yes
589 # endif
590 # ifndef PL_sv_undef
591 # define PL_sv_undef sv_undef
592 # endif
593 # ifndef PL_na
594 # define PL_na na
595 # endif
596 #endif
597
598 #include <stdlib.h>
599
600 #ifdef __cplusplus
601 extern "C" {
602 #endif
603
604 #define SWIG_OWNER 1
605 #define SWIG_SHADOW 2
606
607 /* Common SWIG API */
608
609 #ifdef PERL_OBJECT
610 # define SWIG_ConvertPtr(obj, pp, type, flags) \
611 SWIG_Perl_ConvertPtr(pPerl, obj, pp, type, flags)
612 # define SWIG_NewPointerObj(p, type, flags) \
613 SWIG_Perl_NewPointerObj(pPerl, p, type, flags)
614 # define SWIG_MakePackedObj(sv, p, s, type) \
615 SWIG_Perl_MakePackedObj(pPerl, sv, p, s, type)
616 # define SWIG_ConvertPacked(obj, p, s, type, flags) \
617 SWIG_Perl_ConvertPacked(pPerl, obj, p, s, type, flags)
618
619 #else
620 # define SWIG_ConvertPtr(obj, pp, type, flags) \
621 SWIG_Perl_ConvertPtr(obj, pp, type, flags)
622 # define SWIG_NewPointerObj(p, type, flags) \
623 SWIG_Perl_NewPointerObj(p, type, flags)
624 # define SWIG_MakePackedObj(sv, p, s, type) \
625 SWIG_Perl_MakePackedObj(sv, p, s, type )
626 # define SWIG_ConvertPacked(obj, p, s, type, flags) \
627 SWIG_Perl_ConvertPacked(obj, p, s, type, flags)
628 #endif
629
630 /* Perl-specific API */
631 #ifdef PERL_OBJECT
632 # define SWIG_MakePtr(sv, ptr, type, flags) \
633 SWIG_Perl_MakePtr(pPerl, sv, ptr, type, flags)
634 # define SWIG_SetError(str) \
635 SWIG_Perl_SetError(pPerl, str)
636 #else
637 # define SWIG_MakePtr(sv, ptr, type, flags) \
638 SWIG_Perl_MakePtr(sv, ptr, type, flags)
639 # define SWIG_SetError(str) \
640 SWIG_Perl_SetError(str)
641 # define SWIG_SetErrorSV(str) \
642 SWIG_Perl_SetErrorSV(str)
643 #endif
644
645 #define SWIG_SetErrorf SWIG_Perl_SetErrorf
646
647
648 #ifdef PERL_OBJECT
649 # define SWIG_MAYBE_PERL_OBJECT CPerlObj *pPerl,
650 #else
651 # define SWIG_MAYBE_PERL_OBJECT
652 #endif
653
654 static swig_type_info **
SWIG_Perl_GetTypeListHandle()655 SWIG_Perl_GetTypeListHandle() {
656 static void *type_pointer = (void *)0;
657 SV *pointer;
658
659 /* first check if pointer already created */
660 if (!type_pointer) {
661 pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, FALSE);
662 if (pointer && SvOK(pointer)) {
663 type_pointer = INT2PTR(swig_type_info **, SvIV(pointer));
664 }
665 }
666
667 return (swig_type_info **) type_pointer;
668 }
669
670 /*
671 Search for a swig_type_info structure
672 */
673 SWIGRUNTIMEINLINE swig_type_info *
SWIG_Perl_GetTypeList()674 SWIG_Perl_GetTypeList() {
675 swig_type_info **tlh = SWIG_Perl_GetTypeListHandle();
676 return tlh ? *tlh : (swig_type_info*)0;
677 }
678
679 #define SWIG_Runtime_GetTypeList SWIG_Perl_GetTypeList
680
681 static swig_type_info *
SWIG_Perl_TypeCheckRV(SWIG_MAYBE_PERL_OBJECT SV * rv,swig_type_info * ty)682 SWIG_Perl_TypeCheckRV(SWIG_MAYBE_PERL_OBJECT SV *rv, swig_type_info *ty) {
683 swig_type_info *s;
684 if (!ty) return 0; /* Void pointer */
685 s = ty->next; /* First element always just a name */
686 do {
687 if (sv_derived_from(rv, (char *) s->name)) {
688 if (s == ty->next) return s;
689 /* Move s to the top of the linked list */
690 s->prev->next = s->next;
691 if (s->next) {
692 s->next->prev = s->prev;
693 }
694 /* Insert s as second element in the list */
695 s->next = ty->next;
696 if (ty->next) ty->next->prev = s;
697 ty->next = s;
698 s->prev = ty;
699 return s;
700 }
701 s = s->next;
702 } while (s && (s != ty->next));
703 return 0;
704 }
705
706 /* Function for getting a pointer value */
707
708 static int
SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJECT SV * sv,void ** ptr,swig_type_info * _t,int flags)709 SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_info *_t, int flags) {
710 swig_type_info *tc;
711 void *voidptr = (void *)0;
712
713 /* If magical, apply more magic */
714 if (SvGMAGICAL(sv))
715 mg_get(sv);
716
717 /* Check to see if this is an object */
718 if (sv_isobject(sv)) {
719 SV *tsv = (SV*) SvRV(sv);
720 IV tmp = 0;
721 if ((SvTYPE(tsv) == SVt_PVHV)) {
722 MAGIC *mg;
723 if (SvMAGICAL(tsv)) {
724 mg = mg_find(tsv,'P');
725 if (mg) {
726 sv = mg->mg_obj;
727 if (sv_isobject(sv)) {
728 tmp = SvIV((SV*)SvRV(sv));
729 }
730 }
731 } else {
732 return -1;
733 }
734 } else {
735 tmp = SvIV((SV*)SvRV(sv));
736 }
737 voidptr = (void *)tmp;
738 if (!_t) {
739 *(ptr) = voidptr;
740 return 0;
741 }
742 } else if (! SvOK(sv)) { /* Check for undef */
743 *(ptr) = (void *) 0;
744 return 0;
745 } else if (SvTYPE(sv) == SVt_RV) { /* Check for NULL pointer */
746 *(ptr) = (void *) 0;
747 if (!SvROK(sv))
748 return 0;
749 else
750 return -1;
751 } else { /* Don't know what it is */
752 *(ptr) = (void *) 0;
753 return -1;
754 }
755 if (_t) {
756 /* Now see if the types match */
757 char *_c = HvNAME(SvSTASH(SvRV(sv)));
758 tc = SWIG_TypeCheck(_c,_t);
759 if (!tc) {
760 *ptr = voidptr;
761 return -1;
762 }
763 *ptr = SWIG_TypeCast(tc,voidptr);
764 return 0;
765 }
766 *ptr = voidptr;
767 return 0;
768 }
769
770 static void
SWIG_Perl_MakePtr(SWIG_MAYBE_PERL_OBJECT SV * sv,void * ptr,swig_type_info * t,int flags)771 SWIG_Perl_MakePtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, swig_type_info *t, int flags) {
772 if (ptr && (flags & SWIG_SHADOW)) {
773 SV *self;
774 SV *obj=newSV(0);
775 HV *hash=newHV();
776 HV *stash;
777 sv_setref_pv(obj, (char *) t->name, ptr);
778 stash=SvSTASH(SvRV(obj));
779 if (flags & SWIG_OWNER) {
780 HV *hv;
781 GV *gv=*(GV**)hv_fetch(stash, "OWNER", 5, TRUE);
782 if (!isGV(gv))
783 gv_init(gv, stash, "OWNER", 5, FALSE);
784 hv=GvHVn(gv);
785 hv_store_ent(hv, obj, newSViv(1), 0);
786 }
787 sv_magic((SV *)hash, (SV *)obj, 'P', Nullch, 0);
788 SvREFCNT_dec(obj);
789 self=newRV_noinc((SV *)hash);
790 sv_setsv(sv, self);
791 SvREFCNT_dec((SV *)self);
792 sv_bless(sv, stash);
793 }
794 else {
795 sv_setref_pv(sv, (char *) t->name, ptr);
796 }
797 }
798
799 static SWIGINLINE SV *
SWIG_Perl_NewPointerObj(SWIG_MAYBE_PERL_OBJECT void * ptr,swig_type_info * t,int flags)800 SWIG_Perl_NewPointerObj(SWIG_MAYBE_PERL_OBJECT void *ptr, swig_type_info *t, int flags) {
801 SV *result = sv_newmortal();
802 SWIG_MakePtr(result, ptr, t, flags);
803 return result;
804 }
805
806 static void
SWIG_Perl_MakePackedObj(SWIG_MAYBE_PERL_OBJECT SV * sv,void * ptr,int sz,swig_type_info * type)807 SWIG_Perl_MakePackedObj(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, int sz, swig_type_info *type) {
808 char result[1024];
809 char *r = result;
810 if ((2*sz + 1 + strlen(type->name)) > 1000) return;
811 *(r++) = '_';
812 r = SWIG_PackData(r,ptr,sz);
813 strcpy(r,type->name);
814 sv_setpv(sv, result);
815 }
816
817 /* Convert a packed value value */
818 static int
SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_OBJECT SV * obj,void * ptr,int sz,swig_type_info * ty,int flags)819 SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_OBJECT SV *obj, void *ptr, int sz, swig_type_info *ty, int flags) {
820 swig_type_info *tc;
821 const char *c = 0;
822
823 if ((!obj) || (!SvOK(obj))) return -1;
824 c = SvPV(obj, PL_na);
825 /* Pointer values must start with leading underscore */
826 if (*c != '_') return -1;
827 c++;
828 c = SWIG_UnpackData(c,ptr,sz);
829 if (ty) {
830 tc = SWIG_TypeCheck(c,ty);
831 if (!tc) return -1;
832 }
833 return 0;
834 }
835
836 static SWIGINLINE void
SWIG_Perl_SetError(SWIG_MAYBE_PERL_OBJECT const char * error)837 SWIG_Perl_SetError(SWIG_MAYBE_PERL_OBJECT const char *error) {
838 if (error) sv_setpv(perl_get_sv("@", TRUE), error);
839 }
840
841 static SWIGINLINE void
SWIG_Perl_SetErrorSV(SWIG_MAYBE_PERL_OBJECT SV * error)842 SWIG_Perl_SetErrorSV(SWIG_MAYBE_PERL_OBJECT SV *error) {
843 if (error) sv_setsv(perl_get_sv("@", TRUE), error);
844 }
845
846 static void
SWIG_Perl_SetErrorf(const char * fmt,...)847 SWIG_Perl_SetErrorf(const char *fmt, ...) {
848 va_list args;
849 va_start(args, fmt);
850 sv_vsetpvfn(perl_get_sv("@", TRUE), fmt, strlen(fmt), &args, Null(SV**), 0, Null(bool*));
851 va_end(args);
852 }
853
854 /* Macros for low-level exception handling */
855 #define SWIG_fail goto fail
856 #define SWIG_croak(x) { SWIG_SetError(x); goto fail; }
857 #define SWIG_croakSV(x) { SWIG_SetErrorSV(x); goto fail; }
858 /* most preprocessors do not support vararg macros :-( */
859 /* #define SWIG_croakf(x...) { SWIG_SetErrorf(x); goto fail; } */
860
861
862 typedef XS(SwigPerlWrapper);
863 typedef SwigPerlWrapper *SwigPerlWrapperPtr;
864
865 /* Structure for command table */
866 typedef struct {
867 const char *name;
868 SwigPerlWrapperPtr wrapper;
869 } swig_command_info;
870
871 /* Information for constant table */
872
873 #define SWIG_INT 1
874 #define SWIG_FLOAT 2
875 #define SWIG_STRING 3
876 #define SWIG_POINTER 4
877 #define SWIG_BINARY 5
878
879 /* Constant information structure */
880 typedef struct swig_constant_info {
881 int type;
882 const char *name;
883 long lvalue;
884 double dvalue;
885 void *pvalue;
886 swig_type_info **ptype;
887 } swig_constant_info;
888
889 #ifdef __cplusplus
890 }
891 #endif
892
893 /* Structure for variable table */
894 typedef struct {
895 const char *name;
896 SwigMagicFunc set;
897 SwigMagicFunc get;
898 swig_type_info **type;
899 } swig_variable_info;
900
901 /* Magic variable code */
902 #ifndef PERL_OBJECT
903 #define swig_create_magic(s,a,b,c) _swig_create_magic(s,a,b,c)
904 #ifndef MULTIPLICITY
_swig_create_magic(SV * sv,char * name,int (* set)(SV *,MAGIC *),int (* get)(SV *,MAGIC *))905 static void _swig_create_magic(SV *sv, char *name, int (*set)(SV *, MAGIC *), int (*get)(SV *,MAGIC *)) {
906 #else
907 static void _swig_create_magic(SV *sv, char *name, int (*set)(struct interpreter*, SV *, MAGIC *), int (*get)(struct interpreter*, SV *,MAGIC *)) {
908 #endif
909 #else
910 # define swig_create_magic(s,a,b,c) _swig_create_magic(pPerl,s,a,b,c)
911 static void _swig_create_magic(CPerlObj *pPerl, SV *sv, const char *name, int (CPerlObj::*set)(SV *, MAGIC *), int (CPerlObj::*get)(SV *, MAGIC *)) {
912 #endif
913 MAGIC *mg;
914 sv_magic(sv,sv,'U',(char *) name,strlen(name));
915 mg = mg_find(sv,'U');
916 mg->mg_virtual = (MGVTBL *) malloc(sizeof(MGVTBL));
917 mg->mg_virtual->svt_get = (SwigMagicFuncHack) get;
918 mg->mg_virtual->svt_set = (SwigMagicFuncHack) set;
919 mg->mg_virtual->svt_len = 0;
920 mg->mg_virtual->svt_clear = 0;
921 mg->mg_virtual->svt_free = 0;
922 }
923
924
925
926
927
928
929 #ifdef do_open
930 #undef do_open
931 #endif
932 #ifdef do_close
933 #undef do_close
934 #endif
935 #ifdef scalar
936 #undef scalar
937 #endif
938 #ifdef list
939 #undef list
940 #endif
941 #ifdef apply
942 #undef apply
943 #endif
944 #ifdef convert
945 #undef convert
946 #endif
947 #ifdef Error
948 #undef Error
949 #endif
950 #ifdef form
951 #undef form
952 #endif
953 #ifdef vform
954 #undef vform
955 #endif
956 #ifdef LABEL
957 #undef LABEL
958 #endif
959 #ifdef METHOD
960 #undef METHOD
961 #endif
962 #ifdef Move
963 #undef Move
964 #endif
965 #ifdef yylex
966 #undef yylex
967 #endif
968 #ifdef yyparse
969 #undef yyparse
970 #endif
971 #ifdef yyerror
972 #undef yyerror
973 #endif
974 #ifdef invert
975 #undef invert
976 #endif
977 #ifdef ref
978 #undef ref
979 #endif
980 #ifdef ENTER
981 #undef ENTER
982 #endif
983
984
985 /* -------- TYPES TABLE (BEGIN) -------- */
986
987 static swig_type_info *swig_types[1];
988
989 /* -------- TYPES TABLE (END) -------- */
990
991 #define SWIG_init boot_DumpRenderTreeSupport
992
993 #define SWIG_name "DumpRenderTreeSupportc::boot_DumpRenderTreeSupport"
994 #define SWIG_prefix "DumpRenderTreeSupportc::"
995
996 #ifdef __cplusplus
997 extern "C"
998 #endif
999 #ifndef PERL_OBJECT
1000 #ifndef MULTIPLICITY
1001 SWIGEXPORT(void) SWIG_init (CV* cv);
1002 #else
1003 SWIGEXPORT(void) SWIG_init (pTHXo_ CV* cv);
1004 #endif
1005 #else
1006 SWIGEXPORT(void) SWIG_init (CV *cv, CPerlObj *);
1007 #endif
1008
1009 int processIsCrashing(int);
1010 #ifdef PERL_OBJECT
1011 #define MAGIC_CLASS _wrap_DumpRenderTreeSupport_var::
1012 class _wrap_DumpRenderTreeSupport_var : public CPerlObj {
1013 public:
1014 #else
1015 #define MAGIC_CLASS
1016 #endif
1017 SWIGCLASS_STATIC int swig_magic_readonly(pTHX_ SV *sv, MAGIC *mg) {
1018 MAGIC_PPERL
1019 sv = sv; mg = mg;
1020 croak("Value is read-only.");
1021 return 0;
1022 }
1023
1024
1025 #ifdef PERL_OBJECT
1026 };
1027 #endif
1028
1029 #ifdef __cplusplus
1030 extern "C" {
1031 #endif
1032 XS(_wrap_processIsCrashing) {
1033 {
1034 int arg1 ;
1035 int result;
1036 int argvi = 0;
1037 dXSARGS;
1038
1039 if ((items < 1) || (items > 1)) {
1040 SWIG_croak("Usage: processIsCrashing(pid);");
1041 }
1042 arg1 = (int) SvIV(ST(0));
1043 result = (int)processIsCrashing(arg1);
1044
1045 ST(argvi) = sv_newmortal();
1046 sv_setiv(ST(argvi++), (IV) result);
1047 XSRETURN(argvi);
1048 fail:
1049 ;
1050 }
1051 croak(Nullch);
1052 }
1053
1054
1055
1056 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
1057
1058
1059 static swig_type_info *swig_types_initial[] = {
1060 0
1061 };
1062
1063
1064 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
1065
1066 static swig_constant_info swig_constants[] = {
1067 {0,0,0,0,0,0}
1068 };
1069 #ifdef __cplusplus
1070 }
1071 #endif
1072 static swig_variable_info swig_variables[] = {
1073 {0,0,0,0}
1074 };
1075 static swig_command_info swig_commands[] = {
1076 {"DumpRenderTreeSupportc::processIsCrashing", _wrap_processIsCrashing},
1077 {0,0}
1078 };
1079
1080
1081 static void SWIG_Perl_SetTypeListHandle(swig_type_info **handle) {
1082 SV *pointer;
1083
1084 /* create a new pointer */
1085 pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, TRUE);
1086 sv_setiv(pointer, PTR2IV(swig_type_list_handle));
1087 }
1088
1089 static swig_type_info **
1090 SWIG_Perl_LookupTypePointer(swig_type_info **type_list_handle) {
1091 swig_type_info **type_pointer;
1092
1093 /* first check if module already created */
1094 type_pointer = SWIG_Perl_GetTypeListHandle();
1095 if (type_pointer) {
1096 return type_pointer;
1097 } else {
1098 /* create a new module and variable */
1099 SWIG_Perl_SetTypeListHandle(type_list_handle);
1100 return type_list_handle;
1101 }
1102 }
1103
1104
1105 #ifdef __cplusplus
1106 extern "C"
1107 #endif
1108
1109 XS(SWIG_init) {
1110 dXSARGS;
1111 int i;
1112 static int _init = 0;
1113 if (!_init) {
1114 swig_type_list_handle = SWIG_Perl_LookupTypePointer(swig_type_list_handle);
1115 for (i = 0; swig_types_initial[i]; i++) {
1116 swig_types[i] = SWIG_TypeRegister(swig_types_initial[i]);
1117 }
1118 _init = 1;
1119 }
1120
1121 /* Install commands */
1122 for (i = 0; swig_commands[i].name; i++) {
1123 newXS((char*) swig_commands[i].name,swig_commands[i].wrapper, (char*)__FILE__);
1124 }
1125
1126 /* Install variables */
1127 for (i = 0; swig_variables[i].name; i++) {
1128 SV *sv;
1129 sv = perl_get_sv((char*) swig_variables[i].name, TRUE | 0x2);
1130 if (swig_variables[i].type) {
1131 SWIG_MakePtr(sv,(void *)1, *swig_variables[i].type,0);
1132 } else {
1133 sv_setiv(sv,(IV) 0);
1134 }
1135 swig_create_magic(sv, (char *) swig_variables[i].name, swig_variables[i].set, swig_variables[i].get);
1136 }
1137
1138 /* Install constant */
1139 for (i = 0; swig_constants[i].type; i++) {
1140 SV *sv;
1141 sv = perl_get_sv((char*)swig_constants[i].name, TRUE | 0x2);
1142 switch(swig_constants[i].type) {
1143 case SWIG_INT:
1144 sv_setiv(sv, (IV) swig_constants[i].lvalue);
1145 break;
1146 case SWIG_FLOAT:
1147 sv_setnv(sv, (double) swig_constants[i].dvalue);
1148 break;
1149 case SWIG_STRING:
1150 sv_setpv(sv, (char *) swig_constants[i].pvalue);
1151 break;
1152 case SWIG_POINTER:
1153 SWIG_MakePtr(sv, swig_constants[i].pvalue, *(swig_constants[i].ptype),0);
1154 break;
1155 case SWIG_BINARY:
1156 SWIG_MakePackedObj(sv, swig_constants[i].pvalue, swig_constants[i].lvalue, *(swig_constants[i].ptype));
1157 break;
1158 default:
1159 break;
1160 }
1161 SvREADONLY_on(sv);
1162 }
1163
1164 ST(0) = &PL_sv_yes;
1165 XSRETURN(1);
1166 }
1167
1168