File: | src/mod/endpoints/mod_verto/mcast/mcast_wrap.cpp |
Location: | line 1086, column 3 |
Description: | Null pointer passed as an argument to a 'nonnull' parameter |
1 | /* ---------------------------------------------------------------------------- | |||||
2 | * This file was automatically generated by SWIG (http://www.swig.org). | |||||
3 | * Version 1.3.35 | |||||
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 | #define SWIGPERL | |||||
12 | #define SWIG_CASTRANK_MODE | |||||
13 | ||||||
14 | #ifdef __cplusplus199711L | |||||
15 | template<typename T> class SwigValueWrapper { | |||||
16 | T *tt; | |||||
17 | public: | |||||
18 | SwigValueWrapper() : tt(0) { } | |||||
19 | SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { } | |||||
20 | SwigValueWrapper(const T& t) : tt(new T(t)) { } | |||||
21 | ~SwigValueWrapper() { delete tt; } | |||||
22 | SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; } | |||||
23 | operator T&() const { return *tt; } | |||||
24 | T *operator&() { return tt; } | |||||
25 | private: | |||||
26 | SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs); | |||||
27 | }; | |||||
28 | ||||||
29 | template <typename T> T SwigValueInit() { | |||||
30 | return T(); | |||||
31 | } | |||||
32 | #endif | |||||
33 | ||||||
34 | /* ----------------------------------------------------------------------------- | |||||
35 | * This section contains generic SWIG labels for method/variable | |||||
36 | * declarations/attributes, and other compiler dependent labels. | |||||
37 | * ----------------------------------------------------------------------------- */ | |||||
38 | ||||||
39 | /* template workaround for compilers that cannot correctly implement the C++ standard */ | |||||
40 | #ifndef SWIGTEMPLATEDISAMBIGUATOR | |||||
41 | # if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560) | |||||
42 | # define SWIGTEMPLATEDISAMBIGUATOR template | |||||
43 | # elif defined(__HP_aCC) | |||||
44 | /* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */ | |||||
45 | /* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */ | |||||
46 | # define SWIGTEMPLATEDISAMBIGUATOR template | |||||
47 | # else | |||||
48 | # define SWIGTEMPLATEDISAMBIGUATOR | |||||
49 | # endif | |||||
50 | #endif | |||||
51 | ||||||
52 | /* inline attribute */ | |||||
53 | #ifndef SWIGINLINEinline | |||||
54 | # if defined(__cplusplus199711L) || (defined(__GNUC__4) && !defined(__STRICT_ANSI__)) | |||||
55 | # define SWIGINLINEinline inline | |||||
56 | # else | |||||
57 | # define SWIGINLINEinline | |||||
58 | # endif | |||||
59 | #endif | |||||
60 | ||||||
61 | /* attribute recognised by some compilers to avoid 'unused' warnings */ | |||||
62 | #ifndef SWIGUNUSED__attribute__ ((__unused__)) | |||||
63 | # if defined(__GNUC__4) | |||||
64 | # if !(defined(__cplusplus199711L)) || (__GNUC__4 > 3 || (__GNUC__4 == 3 && __GNUC_MINOR__2 >= 4)) | |||||
65 | # define SWIGUNUSED__attribute__ ((__unused__)) __attribute__ ((__unused__)) | |||||
66 | # else | |||||
67 | # define SWIGUNUSED__attribute__ ((__unused__)) | |||||
68 | # endif | |||||
69 | # elif defined(__ICC) | |||||
70 | # define SWIGUNUSED__attribute__ ((__unused__)) __attribute__ ((__unused__)) | |||||
71 | # else | |||||
72 | # define SWIGUNUSED__attribute__ ((__unused__)) | |||||
73 | # endif | |||||
74 | #endif | |||||
75 | ||||||
76 | #ifndef SWIGUNUSEDPARM | |||||
77 | # ifdef __cplusplus199711L | |||||
78 | # define SWIGUNUSEDPARM(p) | |||||
79 | # else | |||||
80 | # define SWIGUNUSEDPARM(p) p SWIGUNUSED__attribute__ ((__unused__)) | |||||
81 | # endif | |||||
82 | #endif | |||||
83 | ||||||
84 | /* internal SWIG method */ | |||||
85 | #ifndef SWIGINTERNstatic __attribute__ ((__unused__)) | |||||
86 | # define SWIGINTERNstatic __attribute__ ((__unused__)) static SWIGUNUSED__attribute__ ((__unused__)) | |||||
87 | #endif | |||||
88 | ||||||
89 | /* internal inline SWIG method */ | |||||
90 | #ifndef SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline | |||||
91 | # define SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline SWIGINTERNstatic __attribute__ ((__unused__)) SWIGINLINEinline | |||||
92 | #endif | |||||
93 | ||||||
94 | /* exporting methods */ | |||||
95 | #if (__GNUC__4 >= 4) || (__GNUC__4 == 3 && __GNUC_MINOR__2 >= 4) | |||||
96 | # ifndef GCC_HASCLASSVISIBILITY | |||||
97 | # define GCC_HASCLASSVISIBILITY | |||||
98 | # endif | |||||
99 | #endif | |||||
100 | ||||||
101 | #ifndef SWIGEXPORT__attribute__ ((visibility("default"))) | |||||
102 | # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) | |||||
103 | # if defined(STATIC_LINKED) | |||||
104 | # define SWIGEXPORT__attribute__ ((visibility("default"))) | |||||
105 | # else | |||||
106 | # define SWIGEXPORT__attribute__ ((visibility("default"))) __declspec(dllexport) | |||||
107 | # endif | |||||
108 | # else | |||||
109 | # if defined(__GNUC__4) && defined(GCC_HASCLASSVISIBILITY) | |||||
110 | # define SWIGEXPORT__attribute__ ((visibility("default"))) __attribute__ ((visibility("default"))) | |||||
111 | # else | |||||
112 | # define SWIGEXPORT__attribute__ ((visibility("default"))) | |||||
113 | # endif | |||||
114 | # endif | |||||
115 | #endif | |||||
116 | ||||||
117 | /* calling conventions for Windows */ | |||||
118 | #ifndef SWIGSTDCALL | |||||
119 | # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) | |||||
120 | # define SWIGSTDCALL __stdcall | |||||
121 | # else | |||||
122 | # define SWIGSTDCALL | |||||
123 | # endif | |||||
124 | #endif | |||||
125 | ||||||
126 | /* Deal with Microsoft's attempt at deprecating C standard runtime functions */ | |||||
127 | #if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) | |||||
128 | # define _CRT_SECURE_NO_DEPRECATE | |||||
129 | #endif | |||||
130 | ||||||
131 | /* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */ | |||||
132 | #if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE) | |||||
133 | # define _SCL_SECURE_NO_DEPRECATE | |||||
134 | #endif | |||||
135 | ||||||
136 | ||||||
137 | /* ----------------------------------------------------------------------------- | |||||
138 | * swigrun.swg | |||||
139 | * | |||||
140 | * This file contains generic CAPI SWIG runtime support for pointer | |||||
141 | * type checking. | |||||
142 | * ----------------------------------------------------------------------------- */ | |||||
143 | ||||||
144 | /* This should only be incremented when either the layout of swig_type_info changes, | |||||
145 | or for whatever reason, the runtime changes incompatibly */ | |||||
146 | #define SWIG_RUNTIME_VERSION"4" "4" | |||||
147 | ||||||
148 | /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */ | |||||
149 | #ifdef SWIG_TYPE_TABLE | |||||
150 | # define SWIG_QUOTE_STRING(x) #x | |||||
151 | # define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x) | |||||
152 | # define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE) | |||||
153 | #else | |||||
154 | # define SWIG_TYPE_TABLE_NAME | |||||
155 | #endif | |||||
156 | ||||||
157 | /* | |||||
158 | You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for | |||||
159 | creating a static or dynamic library from the swig runtime code. | |||||
160 | In 99.9% of the cases, swig just needs to declare them as 'static'. | |||||
161 | ||||||
162 | But only do this if is strictly necessary, ie, if you have problems | |||||
163 | with your compiler or so. | |||||
164 | */ | |||||
165 | ||||||
166 | #ifndef SWIGRUNTIMEstatic __attribute__ ((__unused__)) | |||||
167 | # define SWIGRUNTIMEstatic __attribute__ ((__unused__)) SWIGINTERNstatic __attribute__ ((__unused__)) | |||||
168 | #endif | |||||
169 | ||||||
170 | #ifndef SWIGRUNTIMEINLINEstatic __attribute__ ((__unused__)) inline | |||||
171 | # define SWIGRUNTIMEINLINEstatic __attribute__ ((__unused__)) inline SWIGRUNTIMEstatic __attribute__ ((__unused__)) SWIGINLINEinline | |||||
172 | #endif | |||||
173 | ||||||
174 | /* Generic buffer size */ | |||||
175 | #ifndef SWIG_BUFFER_SIZE1024 | |||||
176 | # define SWIG_BUFFER_SIZE1024 1024 | |||||
177 | #endif | |||||
178 | ||||||
179 | /* Flags for pointer conversions */ | |||||
180 | #define SWIG_POINTER_DISOWN0x1 0x1 | |||||
181 | #define SWIG_CAST_NEW_MEMORY0x2 0x2 | |||||
182 | ||||||
183 | /* Flags for new pointer objects */ | |||||
184 | #define SWIG_POINTER_OWN0x1 0x1 | |||||
185 | ||||||
186 | ||||||
187 | /* | |||||
188 | Flags/methods for returning states. | |||||
189 | ||||||
190 | The swig conversion methods, as ConvertPtr, return and integer | |||||
191 | that tells if the conversion was successful or not. And if not, | |||||
192 | an error code can be returned (see swigerrors.swg for the codes). | |||||
193 | ||||||
194 | Use the following macros/flags to set or process the returning | |||||
195 | states. | |||||
196 | ||||||
197 | In old swig versions, you usually write code as: | |||||
198 | ||||||
199 | if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) { | |||||
200 | // success code | |||||
201 | } else { | |||||
202 | //fail code | |||||
203 | } | |||||
204 | ||||||
205 | Now you can be more explicit as: | |||||
206 | ||||||
207 | int res = SWIG_ConvertPtr(obj,vptr,ty.flags); | |||||
208 | if (SWIG_IsOK(res)) { | |||||
209 | // success code | |||||
210 | } else { | |||||
211 | // fail code | |||||
212 | } | |||||
213 | ||||||
214 | that seems to be the same, but now you can also do | |||||
215 | ||||||
216 | Type *ptr; | |||||
217 | int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags); | |||||
218 | if (SWIG_IsOK(res)) { | |||||
219 | // success code | |||||
220 | if (SWIG_IsNewObj(res) { | |||||
221 | ... | |||||
222 | delete *ptr; | |||||
223 | } else { | |||||
224 | ... | |||||
225 | } | |||||
226 | } else { | |||||
227 | // fail code | |||||
228 | } | |||||
229 | ||||||
230 | I.e., now SWIG_ConvertPtr can return new objects and you can | |||||
231 | identify the case and take care of the deallocation. Of course that | |||||
232 | requires also to SWIG_ConvertPtr to return new result values, as | |||||
233 | ||||||
234 | int SWIG_ConvertPtr(obj, ptr,...) { | |||||
235 | if (<obj is ok>) { | |||||
236 | if (<need new object>) { | |||||
237 | *ptr = <ptr to new allocated object>; | |||||
238 | return SWIG_NEWOBJ; | |||||
239 | } else { | |||||
240 | *ptr = <ptr to old object>; | |||||
241 | return SWIG_OLDOBJ; | |||||
242 | } | |||||
243 | } else { | |||||
244 | return SWIG_BADOBJ; | |||||
245 | } | |||||
246 | } | |||||
247 | ||||||
248 | Of course, returning the plain '0(success)/-1(fail)' still works, but you can be | |||||
249 | more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the | |||||
250 | swig errors code. | |||||
251 | ||||||
252 | Finally, if the SWIG_CASTRANK_MODE is enabled, the result code | |||||
253 | allows to return the 'cast rank', for example, if you have this | |||||
254 | ||||||
255 | int food(double) | |||||
256 | int fooi(int); | |||||
257 | ||||||
258 | and you call | |||||
259 | ||||||
260 | food(1) // cast rank '1' (1 -> 1.0) | |||||
261 | fooi(1) // cast rank '0' | |||||
262 | ||||||
263 | just use the SWIG_AddCast()/SWIG_CheckState() | |||||
264 | ||||||
265 | ||||||
266 | */ | |||||
267 | #define SWIG_OK(0) (0) | |||||
268 | #define SWIG_ERROR(-1) (-1) | |||||
269 | #define SWIG_IsOK(r)(r >= 0) (r >= 0) | |||||
270 | #define SWIG_ArgError(r)((r != (-1)) ? r : -5) ((r != SWIG_ERROR(-1)) ? r : SWIG_TypeError-5) | |||||
271 | ||||||
272 | /* The CastRankLimit says how many bits are used for the cast rank */ | |||||
273 | #define SWIG_CASTRANKLIMIT(1 << 8) (1 << 8) | |||||
274 | /* The NewMask denotes the object was created (using new/malloc) */ | |||||
275 | #define SWIG_NEWOBJMASK((1 << 8) << 1) (SWIG_CASTRANKLIMIT(1 << 8) << 1) | |||||
276 | /* The TmpMask is for in/out typemaps that use temporal objects */ | |||||
277 | #define SWIG_TMPOBJMASK(((1 << 8) << 1) << 1) (SWIG_NEWOBJMASK((1 << 8) << 1) << 1) | |||||
278 | /* Simple returning values */ | |||||
279 | #define SWIG_BADOBJ((-1)) (SWIG_ERROR(-1)) | |||||
280 | #define SWIG_OLDOBJ((0)) (SWIG_OK(0)) | |||||
281 | #define SWIG_NEWOBJ((0) | ((1 << 8) << 1)) (SWIG_OK(0) | SWIG_NEWOBJMASK((1 << 8) << 1)) | |||||
282 | #define SWIG_TMPOBJ((0) | (((1 << 8) << 1) << 1)) (SWIG_OK(0) | SWIG_TMPOBJMASK(((1 << 8) << 1) << 1)) | |||||
283 | /* Check, add and del mask methods */ | |||||
284 | #define SWIG_AddNewMask(r)((r >= 0) ? (r | ((1 << 8) << 1)) : r) (SWIG_IsOK(r)(r >= 0) ? (r | SWIG_NEWOBJMASK((1 << 8) << 1)) : r) | |||||
285 | #define SWIG_DelNewMask(r)((r >= 0) ? (r & ~((1 << 8) << 1)) : r) (SWIG_IsOK(r)(r >= 0) ? (r & ~SWIG_NEWOBJMASK((1 << 8) << 1)) : r) | |||||
286 | #define SWIG_IsNewObj(r)((r >= 0) && (r & ((1 << 8) << 1)) ) (SWIG_IsOK(r)(r >= 0) && (r & SWIG_NEWOBJMASK((1 << 8) << 1))) | |||||
287 | #define SWIG_AddTmpMask(r)((r >= 0) ? (r | (((1 << 8) << 1) << 1)) : r) (SWIG_IsOK(r)(r >= 0) ? (r | SWIG_TMPOBJMASK(((1 << 8) << 1) << 1)) : r) | |||||
288 | #define SWIG_DelTmpMask(r)((r >= 0) ? (r & ~(((1 << 8) << 1) << 1)) : r) (SWIG_IsOK(r)(r >= 0) ? (r & ~SWIG_TMPOBJMASK(((1 << 8) << 1) << 1)) : r) | |||||
289 | #define SWIG_IsTmpObj(r)((r >= 0) && (r & (((1 << 8) << 1) << 1))) (SWIG_IsOK(r)(r >= 0) && (r & SWIG_TMPOBJMASK(((1 << 8) << 1) << 1))) | |||||
290 | ||||||
291 | ||||||
292 | /* Cast-Rank Mode */ | |||||
293 | #if defined(SWIG_CASTRANK_MODE) | |||||
294 | # ifndef SWIG_TypeRankunsigned long | |||||
295 | # define SWIG_TypeRankunsigned long unsigned long | |||||
296 | # endif | |||||
297 | # ifndef SWIG_MAXCASTRANK(2) /* Default cast allowed */ | |||||
298 | # define SWIG_MAXCASTRANK(2) (2) | |||||
299 | # endif | |||||
300 | # define SWIG_CASTRANKMASK(((1 << 8)) -1) ((SWIG_CASTRANKLIMIT(1 << 8)) -1) | |||||
301 | # define SWIG_CastRank(r)(r & (((1 << 8)) -1)) (r & SWIG_CASTRANKMASK(((1 << 8)) -1)) | |||||
302 | SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline int SWIG_AddCast(int r) { | |||||
303 | return SWIG_IsOK(r)(r >= 0) ? ((SWIG_CastRank(r)(r & (((1 << 8)) -1)) < SWIG_MAXCASTRANK(2)) ? (r + 1) : SWIG_ERROR(-1)) : r; | |||||
304 | } | |||||
305 | SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline int SWIG_CheckState(int r) { | |||||
306 | return SWIG_IsOK(r)(r >= 0) ? SWIG_CastRank(r)(r & (((1 << 8)) -1)) + 1 : 0; | |||||
307 | } | |||||
308 | #else /* no cast-rank mode */ | |||||
309 | # define SWIG_AddCast | |||||
310 | # define SWIG_CheckState(r) (SWIG_IsOK(r)(r >= 0) ? 1 : 0) | |||||
311 | #endif | |||||
312 | ||||||
313 | ||||||
314 | ||||||
315 | ||||||
316 | #include <string.h> | |||||
317 | ||||||
318 | #ifdef __cplusplus199711L | |||||
319 | extern "C" { | |||||
320 | #endif | |||||
321 | ||||||
322 | typedef void *(*swig_converter_func)(void *, int *); | |||||
323 | typedef struct swig_type_info *(*swig_dycast_func)(void **); | |||||
324 | ||||||
325 | /* Structure to store information on one type */ | |||||
326 | typedef struct swig_type_info { | |||||
327 | const char *name; /* mangled name of this type */ | |||||
328 | const char *str; /* human readable name of this type */ | |||||
329 | swig_dycast_func dcast; /* dynamic cast function down a hierarchy */ | |||||
330 | struct swig_cast_info *cast; /* linked list of types that can cast into this type */ | |||||
331 | void *clientdata; /* language specific type data */ | |||||
332 | int owndata; /* flag if the structure owns the clientdata */ | |||||
333 | } swig_type_info; | |||||
334 | ||||||
335 | /* Structure to store a type and conversion function used for casting */ | |||||
336 | typedef struct swig_cast_info { | |||||
337 | swig_type_info *type; /* pointer to type that is equivalent to this type */ | |||||
338 | swig_converter_func converter; /* function to cast the void pointers */ | |||||
339 | struct swig_cast_info *next; /* pointer to next cast in linked list */ | |||||
340 | struct swig_cast_info *prev; /* pointer to the previous cast */ | |||||
341 | } swig_cast_info; | |||||
342 | ||||||
343 | /* Structure used to store module information | |||||
344 | * Each module generates one structure like this, and the runtime collects | |||||
345 | * all of these structures and stores them in a circularly linked list.*/ | |||||
346 | typedef struct swig_module_info { | |||||
347 | swig_type_info **types; /* Array of pointers to swig_type_info structures that are in this module */ | |||||
348 | size_t size; /* Number of types in this module */ | |||||
349 | struct swig_module_info *next; /* Pointer to next element in circularly linked list */ | |||||
350 | swig_type_info **type_initial; /* Array of initially generated type structures */ | |||||
351 | swig_cast_info **cast_initial; /* Array of initially generated casting structures */ | |||||
352 | void *clientdata; /* Language specific module data */ | |||||
353 | } swig_module_info; | |||||
354 | ||||||
355 | /* | |||||
356 | Compare two type names skipping the space characters, therefore | |||||
357 | "char*" == "char *" and "Class<int>" == "Class<int >", etc. | |||||
358 | ||||||
359 | Return 0 when the two name types are equivalent, as in | |||||
360 | strncmp, but skipping ' '. | |||||
361 | */ | |||||
362 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) int | |||||
363 | SWIG_TypeNameComp(const char *f1, const char *l1, | |||||
364 | const char *f2, const char *l2) { | |||||
365 | for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) { | |||||
366 | while ((*f1 == ' ') && (f1 != l1)) ++f1; | |||||
367 | while ((*f2 == ' ') && (f2 != l2)) ++f2; | |||||
368 | if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1; | |||||
369 | } | |||||
370 | return (int)((l1 - f1) - (l2 - f2)); | |||||
371 | } | |||||
372 | ||||||
373 | /* | |||||
374 | Check type equivalence in a name list like <name1>|<name2>|... | |||||
375 | Return 0 if not equal, 1 if equal | |||||
376 | */ | |||||
377 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) int | |||||
378 | SWIG_TypeEquiv(const char *nb, const char *tb) { | |||||
379 | int equiv = 0; | |||||
380 | const char* te = tb + strlen(tb); | |||||
381 | const char* ne = nb; | |||||
382 | while (!equiv && *ne) { | |||||
383 | for (nb = ne; *ne; ++ne) { | |||||
384 | if (*ne == '|') break; | |||||
385 | } | |||||
386 | equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0; | |||||
387 | if (*ne) ++ne; | |||||
388 | } | |||||
389 | return equiv; | |||||
390 | } | |||||
391 | ||||||
392 | /* | |||||
393 | Check type equivalence in a name list like <name1>|<name2>|... | |||||
394 | Return 0 if equal, -1 if nb < tb, 1 if nb > tb | |||||
395 | */ | |||||
396 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) int | |||||
397 | SWIG_TypeCompare(const char *nb, const char *tb) { | |||||
398 | int equiv = 0; | |||||
399 | const char* te = tb + strlen(tb); | |||||
400 | const char* ne = nb; | |||||
401 | while (!equiv && *ne) { | |||||
402 | for (nb = ne; *ne; ++ne) { | |||||
403 | if (*ne == '|') break; | |||||
404 | } | |||||
405 | equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0; | |||||
406 | if (*ne) ++ne; | |||||
407 | } | |||||
408 | return equiv; | |||||
409 | } | |||||
410 | ||||||
411 | ||||||
412 | /* think of this as a c++ template<> or a scheme macro */ | |||||
413 | #define SWIG_TypeCheck_Template(comparison, ty)if (ty) { swig_cast_info *iter = ty->cast; while (iter) { if (comparison) { if (iter == ty->cast) return iter; iter-> prev->next = iter->next; if (iter->next) iter->next ->prev = iter->prev; iter->next = ty->cast; iter-> prev = 0; if (ty->cast) ty->cast->prev = iter; ty-> cast = iter; return iter; } iter = iter->next; } } return 0 \ | |||||
414 | if (ty) { \ | |||||
415 | swig_cast_info *iter = ty->cast; \ | |||||
416 | while (iter) { \ | |||||
417 | if (comparison) { \ | |||||
418 | if (iter == ty->cast) return iter; \ | |||||
419 | /* Move iter to the top of the linked list */ \ | |||||
420 | iter->prev->next = iter->next; \ | |||||
421 | if (iter->next) \ | |||||
422 | iter->next->prev = iter->prev; \ | |||||
423 | iter->next = ty->cast; \ | |||||
424 | iter->prev = 0; \ | |||||
425 | if (ty->cast) ty->cast->prev = iter; \ | |||||
426 | ty->cast = iter; \ | |||||
427 | return iter; \ | |||||
428 | } \ | |||||
429 | iter = iter->next; \ | |||||
430 | } \ | |||||
431 | } \ | |||||
432 | return 0 | |||||
433 | ||||||
434 | /* | |||||
435 | Check the typename | |||||
436 | */ | |||||
437 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) swig_cast_info * | |||||
438 | SWIG_TypeCheck(const char *c, swig_type_info *ty) { | |||||
439 | SWIG_TypeCheck_Template(strcmp(iter->type->name, c) == 0, ty)if (ty) { swig_cast_info *iter = ty->cast; while (iter) { if (strcmp(iter->type->name, c) == 0) { if (iter == ty-> cast) return iter; iter->prev->next = iter->next; if (iter->next) iter->next->prev = iter->prev; iter ->next = ty->cast; iter->prev = 0; if (ty->cast) ty ->cast->prev = iter; ty->cast = iter; return iter; } iter = iter->next; } } return 0; | |||||
440 | } | |||||
441 | ||||||
442 | /* Same as previous function, except strcmp is replaced with a pointer comparison */ | |||||
443 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) swig_cast_info * | |||||
444 | SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *into) { | |||||
445 | SWIG_TypeCheck_Template(iter->type == from, into)if (into) { swig_cast_info *iter = into->cast; while (iter ) { if (iter->type == from) { if (iter == into->cast) return iter; iter->prev->next = iter->next; if (iter->next ) iter->next->prev = iter->prev; iter->next = into ->cast; iter->prev = 0; if (into->cast) into->cast ->prev = iter; into->cast = iter; return iter; } iter = iter->next; } } return 0; | |||||
446 | } | |||||
447 | ||||||
448 | /* | |||||
449 | Cast a pointer up an inheritance hierarchy | |||||
450 | */ | |||||
451 | SWIGRUNTIMEINLINEstatic __attribute__ ((__unused__)) inline void * | |||||
452 | SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) { | |||||
453 | return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory); | |||||
454 | } | |||||
455 | ||||||
456 | /* | |||||
457 | Dynamic pointer casting. Down an inheritance hierarchy | |||||
458 | */ | |||||
459 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) swig_type_info * | |||||
460 | SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) { | |||||
461 | swig_type_info *lastty = ty; | |||||
462 | if (!ty || !ty->dcast) return ty; | |||||
463 | while (ty && (ty->dcast)) { | |||||
464 | ty = (*ty->dcast)(ptr); | |||||
465 | if (ty) lastty = ty; | |||||
466 | } | |||||
467 | return lastty; | |||||
468 | } | |||||
469 | ||||||
470 | /* | |||||
471 | Return the name associated with this type | |||||
472 | */ | |||||
473 | SWIGRUNTIMEINLINEstatic __attribute__ ((__unused__)) inline const char * | |||||
474 | SWIG_TypeName(const swig_type_info *ty) { | |||||
475 | return ty->name; | |||||
476 | } | |||||
477 | ||||||
478 | /* | |||||
479 | Return the pretty name associated with this type, | |||||
480 | that is an unmangled type name in a form presentable to the user. | |||||
481 | */ | |||||
482 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) const char * | |||||
483 | SWIG_TypePrettyName(const swig_type_info *type) { | |||||
484 | /* The "str" field contains the equivalent pretty names of the | |||||
485 | type, separated by vertical-bar characters. We choose | |||||
486 | to print the last name, as it is often (?) the most | |||||
487 | specific. */ | |||||
488 | if (!type) return NULL__null; | |||||
489 | if (type->str != NULL__null) { | |||||
490 | const char *last_name = type->str; | |||||
491 | const char *s; | |||||
492 | for (s = type->str; *s; s++) | |||||
493 | if (*s == '|') last_name = s+1; | |||||
494 | return last_name; | |||||
495 | } | |||||
496 | else | |||||
497 | return type->name; | |||||
498 | } | |||||
499 | ||||||
500 | /* | |||||
501 | Set the clientdata field for a type | |||||
502 | */ | |||||
503 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) void | |||||
504 | SWIG_TypeClientData(swig_type_info *ti, void *clientdata) { | |||||
505 | swig_cast_info *cast = ti->cast; | |||||
506 | /* if (ti->clientdata == clientdata) return; */ | |||||
507 | ti->clientdata = clientdata; | |||||
508 | ||||||
509 | while (cast) { | |||||
510 | if (!cast->converter) { | |||||
511 | swig_type_info *tc = cast->type; | |||||
512 | if (!tc->clientdata) { | |||||
513 | SWIG_TypeClientData(tc, clientdata); | |||||
514 | } | |||||
515 | } | |||||
516 | cast = cast->next; | |||||
517 | } | |||||
518 | } | |||||
519 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) void | |||||
520 | SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) { | |||||
521 | SWIG_TypeClientData(ti, clientdata); | |||||
522 | ti->owndata = 1; | |||||
523 | } | |||||
524 | ||||||
525 | /* | |||||
526 | Search for a swig_type_info structure only by mangled name | |||||
527 | Search is a O(log #types) | |||||
528 | ||||||
529 | We start searching at module start, and finish searching when start == end. | |||||
530 | Note: if start == end at the beginning of the function, we go all the way around | |||||
531 | the circular list. | |||||
532 | */ | |||||
533 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) swig_type_info * | |||||
534 | SWIG_MangledTypeQueryModule(swig_module_info *start, | |||||
535 | swig_module_info *end, | |||||
536 | const char *name) { | |||||
537 | swig_module_info *iter = start; | |||||
538 | do { | |||||
539 | if (iter->size) { | |||||
540 | register size_t l = 0; | |||||
541 | register size_t r = iter->size - 1; | |||||
542 | do { | |||||
543 | /* since l+r >= 0, we can (>> 1) instead (/ 2) */ | |||||
544 | register size_t i = (l + r) >> 1; | |||||
545 | const char *iname = iter->types[i]->name; | |||||
546 | if (iname) { | |||||
547 | register int compare = strcmp(name, iname); | |||||
548 | if (compare == 0) { | |||||
549 | return iter->types[i]; | |||||
550 | } else if (compare < 0) { | |||||
551 | if (i) { | |||||
552 | r = i - 1; | |||||
553 | } else { | |||||
554 | break; | |||||
555 | } | |||||
556 | } else if (compare > 0) { | |||||
557 | l = i + 1; | |||||
558 | } | |||||
559 | } else { | |||||
560 | break; /* should never happen */ | |||||
561 | } | |||||
562 | } while (l <= r); | |||||
563 | } | |||||
564 | iter = iter->next; | |||||
565 | } while (iter != end); | |||||
566 | return 0; | |||||
567 | } | |||||
568 | ||||||
569 | /* | |||||
570 | Search for a swig_type_info structure for either a mangled name or a human readable name. | |||||
571 | It first searches the mangled names of the types, which is a O(log #types) | |||||
572 | If a type is not found it then searches the human readable names, which is O(#types). | |||||
573 | ||||||
574 | We start searching at module start, and finish searching when start == end. | |||||
575 | Note: if start == end at the beginning of the function, we go all the way around | |||||
576 | the circular list. | |||||
577 | */ | |||||
578 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) swig_type_info * | |||||
579 | SWIG_TypeQueryModule(swig_module_info *start, | |||||
580 | swig_module_info *end, | |||||
581 | const char *name) { | |||||
582 | /* STEP 1: Search the name field using binary search */ | |||||
583 | swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name); | |||||
584 | if (ret) { | |||||
585 | return ret; | |||||
586 | } else { | |||||
587 | /* STEP 2: If the type hasn't been found, do a complete search | |||||
588 | of the str field (the human readable name) */ | |||||
589 | swig_module_info *iter = start; | |||||
590 | do { | |||||
591 | register size_t i = 0; | |||||
592 | for (; i < iter->size; ++i) { | |||||
593 | if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name))) | |||||
594 | return iter->types[i]; | |||||
595 | } | |||||
596 | iter = iter->next; | |||||
597 | } while (iter != end); | |||||
598 | } | |||||
599 | ||||||
600 | /* neither found a match */ | |||||
601 | return 0; | |||||
602 | } | |||||
603 | ||||||
604 | /* | |||||
605 | Pack binary data into a string | |||||
606 | */ | |||||
607 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) char * | |||||
608 | SWIG_PackData(char *c, void *ptr, size_t sz) { | |||||
609 | static const char hex[17] = "0123456789abcdef"; | |||||
610 | register const unsigned char *u = (unsigned char *) ptr; | |||||
611 | register const unsigned char *eu = u + sz; | |||||
612 | for (; u != eu; ++u) { | |||||
613 | register unsigned char uu = *u; | |||||
614 | *(c++) = hex[(uu & 0xf0) >> 4]; | |||||
615 | *(c++) = hex[uu & 0xf]; | |||||
616 | } | |||||
617 | return c; | |||||
618 | } | |||||
619 | ||||||
620 | /* | |||||
621 | Unpack binary data from a string | |||||
622 | */ | |||||
623 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) const char * | |||||
624 | SWIG_UnpackData(const char *c, void *ptr, size_t sz) { | |||||
625 | register unsigned char *u = (unsigned char *) ptr; | |||||
626 | register const unsigned char *eu = u + sz; | |||||
627 | for (; u != eu; ++u) { | |||||
628 | register char d = *(c++); | |||||
629 | register unsigned char uu; | |||||
630 | if ((d >= '0') && (d <= '9')) | |||||
631 | uu = ((d - '0') << 4); | |||||
632 | else if ((d >= 'a') && (d <= 'f')) | |||||
633 | uu = ((d - ('a'-10)) << 4); | |||||
634 | else | |||||
635 | return (char *) 0; | |||||
636 | d = *(c++); | |||||
637 | if ((d >= '0') && (d <= '9')) | |||||
638 | uu |= (d - '0'); | |||||
639 | else if ((d >= 'a') && (d <= 'f')) | |||||
640 | uu |= (d - ('a'-10)); | |||||
641 | else | |||||
642 | return (char *) 0; | |||||
643 | *u = uu; | |||||
644 | } | |||||
645 | return c; | |||||
646 | } | |||||
647 | ||||||
648 | /* | |||||
649 | Pack 'void *' into a string buffer. | |||||
650 | */ | |||||
651 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) char * | |||||
652 | SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) { | |||||
653 | char *r = buff; | |||||
654 | if ((2*sizeof(void *) + 2) > bsz) return 0; | |||||
655 | *(r++) = '_'; | |||||
656 | r = SWIG_PackData(r,&ptr,sizeof(void *)); | |||||
657 | if (strlen(name) + 1 > (bsz - (r - buff))) return 0; | |||||
658 | strcpy(r,name); | |||||
659 | return buff; | |||||
660 | } | |||||
661 | ||||||
662 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) const char * | |||||
663 | SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) { | |||||
664 | if (*c != '_') { | |||||
665 | if (strcmp(c,"NULL") == 0) { | |||||
666 | *ptr = (void *) 0; | |||||
667 | return name; | |||||
668 | } else { | |||||
669 | return 0; | |||||
670 | } | |||||
671 | } | |||||
672 | return SWIG_UnpackData(++c,ptr,sizeof(void *)); | |||||
673 | } | |||||
674 | ||||||
675 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) char * | |||||
676 | SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) { | |||||
677 | char *r = buff; | |||||
678 | size_t lname = (name ? strlen(name) : 0); | |||||
679 | if ((2*sz + 2 + lname) > bsz) return 0; | |||||
680 | *(r++) = '_'; | |||||
681 | r = SWIG_PackData(r,ptr,sz); | |||||
682 | if (lname) { | |||||
683 | strncpy(r,name,lname+1); | |||||
684 | } else { | |||||
685 | *r = 0; | |||||
686 | } | |||||
687 | return buff; | |||||
688 | } | |||||
689 | ||||||
690 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) const char * | |||||
691 | SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) { | |||||
692 | if (*c != '_') { | |||||
693 | if (strcmp(c,"NULL") == 0) { | |||||
694 | memset(ptr,0,sz); | |||||
695 | return name; | |||||
696 | } else { | |||||
697 | return 0; | |||||
698 | } | |||||
699 | } | |||||
700 | return SWIG_UnpackData(++c,ptr,sz); | |||||
701 | } | |||||
702 | ||||||
703 | #ifdef __cplusplus199711L | |||||
704 | } | |||||
705 | #endif | |||||
706 | ||||||
707 | /* Errors in SWIG */ | |||||
708 | #define SWIG_UnknownError-1 -1 | |||||
709 | #define SWIG_IOError-2 -2 | |||||
710 | #define SWIG_RuntimeError-3 -3 | |||||
711 | #define SWIG_IndexError-4 -4 | |||||
712 | #define SWIG_TypeError-5 -5 | |||||
713 | #define SWIG_DivisionByZero-6 -6 | |||||
714 | #define SWIG_OverflowError-7 -7 | |||||
715 | #define SWIG_SyntaxError-8 -8 | |||||
716 | #define SWIG_ValueError-9 -9 | |||||
717 | #define SWIG_SystemError-10 -10 | |||||
718 | #define SWIG_AttributeError-11 -11 | |||||
719 | #define SWIG_MemoryError-12 -12 | |||||
720 | #define SWIG_NullReferenceError-13 -13 | |||||
721 | ||||||
722 | ||||||
723 | ||||||
724 | #ifdef __cplusplus199711L | |||||
725 | /* Needed on some windows machines---since MS plays funny games with the header files under C++ */ | |||||
726 | #include <math.h> | |||||
727 | #include <stdlib.h> | |||||
728 | extern "C" { | |||||
729 | #endif | |||||
730 | #include "EXTERN.h" | |||||
731 | #include "perl.h" | |||||
732 | #include "XSUB.h" | |||||
733 | ||||||
734 | /* Add in functionality missing in older versions of Perl. Much of this is based on Devel-PPPort on cpan. */ | |||||
735 | ||||||
736 | /* Add PERL_REVISION, PERL_VERSION, PERL_SUBVERSION if missing */ | |||||
737 | #ifndef PERL_REVISION5 | |||||
738 | # if !defined(__PATCHLEVEL_H_INCLUDED__) && !(defined(PATCHLEVEL) && defined(SUBVERSION)) | |||||
739 | # define PERL_PATCHLEVEL_H_IMPLICIT | |||||
740 | # include <patchlevel.h> | |||||
741 | # endif | |||||
742 | # if !(defined(PERL_VERSION20) || (defined(SUBVERSION) && defined(PATCHLEVEL))) | |||||
743 | # include <could_not_find_Perl_patchlevel.h> | |||||
744 | # endif | |||||
745 | # ifndef PERL_REVISION5 | |||||
746 | # define PERL_REVISION5 (5) | |||||
747 | # define PERL_VERSION20 PATCHLEVEL | |||||
748 | # define PERL_SUBVERSION1 SUBVERSION | |||||
749 | # endif | |||||
750 | #endif | |||||
751 | ||||||
752 | #if defined(WIN32) && defined(PERL_OBJECT) && !defined(PerlIO_exportFILE) | |||||
753 | #define PerlIO_exportFILE(fh,fl) (FILE*)(fh) | |||||
754 | #endif | |||||
755 | ||||||
756 | #ifndef SvIOK_UV | |||||
757 | # define SvIOK_UV(sv)(((sv)->sv_flags & (0x00000100|0x80000000)) == (0x00000100 |0x80000000)) (SvIOK(sv)((sv)->sv_flags & 0x00000100) && (SvUVX(sv)((XPVUV*) (sv)->sv_any)->xuv_u.xivu_uv == SvIVX(sv)((XPVIV*) (sv)->sv_any)->xiv_u.xivu_iv)) | |||||
758 | #endif | |||||
759 | ||||||
760 | #ifndef SvUOK | |||||
761 | # define SvUOK(sv)(((sv)->sv_flags & (0x00000100|0x80000000)) == (0x00000100 |0x80000000)) SvIOK_UV(sv)(((sv)->sv_flags & (0x00000100|0x80000000)) == (0x00000100 |0x80000000)) | |||||
762 | #endif | |||||
763 | ||||||
764 | #if ((PERL_VERSION20 < 4) || ((PERL_VERSION20 == 4) && (PERL_SUBVERSION1 <= 5))) | |||||
765 | # define PL_sv_undef(((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Isv_undef ) sv_undef | |||||
766 | # define PL_na(((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Ina ) na | |||||
767 | # define PL_errgv(((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Ierrgv ) errgv | |||||
768 | # define PL_sv_no(((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Isv_no ) sv_no | |||||
769 | # define PL_sv_yes(((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Isv_yes ) sv_yes | |||||
770 | # define PL_markstack_ptr(((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Imarkstack_ptr ) markstack_ptr | |||||
771 | #endif | |||||
772 | ||||||
773 | #ifndef IVSIZE8 | |||||
774 | # ifdef LONGSIZE8 | |||||
775 | # define IVSIZE8 LONGSIZE8 | |||||
776 | # else | |||||
777 | # define IVSIZE8 4 /* A bold guess, but the best we can make. */ | |||||
778 | # endif | |||||
779 | #endif | |||||
780 | ||||||
781 | #ifndef INT2PTR | |||||
782 | # if (IVSIZE8 == PTRSIZE8) && (UVSIZE8 == PTRSIZE8) | |||||
783 | # define PTRVUV UV | |||||
784 | # define INT2PTR(any,d)(any)(d) (any)(d) | |||||
785 | # else | |||||
786 | # if PTRSIZE8 == LONGSIZE8 | |||||
787 | # define PTRVUV unsigned long | |||||
788 | # else | |||||
789 | # define PTRVUV unsigned | |||||
790 | # endif | |||||
791 | # define INT2PTR(any,d)(any)(d) (any)(PTRVUV)(d) | |||||
792 | # endif | |||||
793 | ||||||
794 | # define NUM2PTR(any,d)(any)(UV)(d) (any)(PTRVUV)(d) | |||||
795 | # define PTR2IV(p)(IV)(p) INT2PTR(IV,p)(IV)(p) | |||||
796 | # define PTR2UV(p)(UV)(p) INT2PTR(UV,p)(UV)(p) | |||||
797 | # define PTR2NV(p)(NV)(UV)(p) NUM2PTR(NV,p)(NV)(UV)(p) | |||||
798 | ||||||
799 | # if PTRSIZE8 == LONGSIZE8 | |||||
800 | # define PTR2ul(p)(unsigned long)(p) (unsigned long)(p) | |||||
801 | # else | |||||
802 | # define PTR2ul(p)(unsigned long)(p) INT2PTR(unsigned long,p)(unsigned long)(p) | |||||
803 | # endif | |||||
804 | #endif /* !INT2PTR */ | |||||
805 | ||||||
806 | #ifndef SvPV_nolen | |||||
807 | # define SvPV_nolen(x)((((x)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((x)->sv_u.svu_pv) : Perl_sv_2pv_flags(((PerlInterpreter *)pthread_getspecific(PL_thr_key)), x,0,2)) SvPV(x,PL_na)((((x)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? (((((PerlInterpreter *)pthread_getspecific(PL_thr_key))-> Ina) = ((XPV*) (x)->sv_any)->xpv_cur), ((x)->sv_u.svu_pv )) : Perl_sv_2pv_flags(((PerlInterpreter *)pthread_getspecific (PL_thr_key)), x,&(((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Ina),2)) | |||||
808 | #endif | |||||
809 | ||||||
810 | #ifndef get_sv | |||||
811 | # define get_sv perl_get_sv | |||||
812 | #endif | |||||
813 | ||||||
814 | #ifndef ERRSV(*((0+((((PerlInterpreter *)pthread_getspecific(PL_thr_key))-> Ierrgv))->sv_u.svu_gp)->gp_sv ? &((0+((((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Ierrgv))->sv_u.svu_gp )->gp_sv) : &((0+(Perl_gv_add_by_type(((PerlInterpreter *)pthread_getspecific(PL_thr_key)), ((((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Ierrgv)),SVt_NULL))->sv_u.svu_gp)->gp_sv ))) | |||||
815 | # define ERRSV(*((0+((((PerlInterpreter *)pthread_getspecific(PL_thr_key))-> Ierrgv))->sv_u.svu_gp)->gp_sv ? &((0+((((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Ierrgv))->sv_u.svu_gp )->gp_sv) : &((0+(Perl_gv_add_by_type(((PerlInterpreter *)pthread_getspecific(PL_thr_key)), ((((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Ierrgv)),SVt_NULL))->sv_u.svu_gp)->gp_sv ))) get_sv("@",FALSE)Perl_get_sv(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), "@",(0)) | |||||
816 | #endif | |||||
817 | ||||||
818 | #ifndef pTHX_PerlInterpreter* my_perl , | |||||
819 | #define pTHX_PerlInterpreter* my_perl , | |||||
820 | #endif | |||||
821 | ||||||
822 | #include <string.h> | |||||
823 | #ifdef __cplusplus199711L | |||||
824 | } | |||||
825 | #endif | |||||
826 | ||||||
827 | /* ----------------------------------------------------------------------------- | |||||
828 | * error manipulation | |||||
829 | * ----------------------------------------------------------------------------- */ | |||||
830 | ||||||
831 | SWIGINTERNstatic __attribute__ ((__unused__)) const char* | |||||
832 | SWIG_Perl_ErrorType(int code) { | |||||
833 | const char* type = 0; | |||||
834 | switch(code) { | |||||
835 | case SWIG_MemoryError-12: | |||||
836 | type = "MemoryError"; | |||||
837 | break; | |||||
838 | case SWIG_IOError-2: | |||||
839 | type = "IOError"; | |||||
840 | break; | |||||
841 | case SWIG_RuntimeError-3: | |||||
842 | type = "RuntimeError"; | |||||
843 | break; | |||||
844 | case SWIG_IndexError-4: | |||||
845 | type = "IndexError"; | |||||
846 | break; | |||||
847 | case SWIG_TypeError-5: | |||||
848 | type = "TypeError"; | |||||
849 | break; | |||||
850 | case SWIG_DivisionByZero-6: | |||||
851 | type = "ZeroDivisionError"; | |||||
852 | break; | |||||
853 | case SWIG_OverflowError-7: | |||||
854 | type = "OverflowError"; | |||||
855 | break; | |||||
856 | case SWIG_SyntaxError-8: | |||||
857 | type = "SyntaxError"; | |||||
858 | break; | |||||
859 | case SWIG_ValueError-9: | |||||
860 | type = "ValueError"; | |||||
861 | break; | |||||
862 | case SWIG_SystemError-10: | |||||
863 | type = "SystemError"; | |||||
864 | break; | |||||
865 | case SWIG_AttributeError-11: | |||||
866 | type = "AttributeError"; | |||||
867 | break; | |||||
868 | default: | |||||
869 | type = "RuntimeError"; | |||||
870 | } | |||||
871 | return type; | |||||
872 | } | |||||
873 | ||||||
874 | ||||||
875 | ||||||
876 | ||||||
877 | /* ----------------------------------------------------------------------------- | |||||
878 | * perlrun.swg | |||||
879 | * | |||||
880 | * This file contains the runtime support for Perl modules | |||||
881 | * and includes code for managing global variables and pointer | |||||
882 | * type checking. | |||||
883 | * ----------------------------------------------------------------------------- */ | |||||
884 | ||||||
885 | #ifdef PERL_OBJECT | |||||
886 | #define SWIG_PERL_OBJECT_DECL CPerlObj *SWIGUNUSEDPARM(pPerl), | |||||
887 | #define SWIG_PERL_OBJECT_CALL pPerl, | |||||
888 | #else | |||||
889 | #define SWIG_PERL_OBJECT_DECL | |||||
890 | #define SWIG_PERL_OBJECT_CALL | |||||
891 | #endif | |||||
892 | ||||||
893 | /* Common SWIG API */ | |||||
894 | ||||||
895 | /* for raw pointers */ | |||||
896 | #define SWIG_ConvertPtr(obj, pp, type, flags)SWIG_Perl_ConvertPtr( obj, pp, type, flags) SWIG_Perl_ConvertPtr(SWIG_PERL_OBJECT_CALL obj, pp, type, flags) | |||||
897 | #define SWIG_NewPointerObj(p, type, flags)SWIG_Perl_NewPointerObj( p, type, flags) SWIG_Perl_NewPointerObj(SWIG_PERL_OBJECT_CALL p, type, flags) | |||||
898 | ||||||
899 | /* for raw packed data */ | |||||
900 | #define SWIG_ConvertPacked(obj, p, s, type)SWIG_Perl_ConvertPacked( obj, p, s, type) SWIG_Perl_ConvertPacked(SWIG_PERL_OBJECT_CALL obj, p, s, type) | |||||
901 | #define SWIG_NewPackedObj(p, s, type)SWIG_Perl_NewPackedObj( p, s, type) SWIG_Perl_NewPackedObj(SWIG_PERL_OBJECT_CALL p, s, type) | |||||
902 | ||||||
903 | /* for class or struct pointers */ | |||||
904 | #define SWIG_ConvertInstance(obj, pptr, type, flags)SWIG_Perl_ConvertPtr( obj, pptr, type, flags) SWIG_ConvertPtr(obj, pptr, type, flags)SWIG_Perl_ConvertPtr( obj, pptr, type, flags) | |||||
905 | #define SWIG_NewInstanceObj(ptr, type, flags)SWIG_Perl_NewPointerObj( ptr, type, flags) SWIG_NewPointerObj(ptr, type, flags)SWIG_Perl_NewPointerObj( ptr, type, flags) | |||||
906 | ||||||
907 | /* for C or C++ function pointers */ | |||||
908 | #define SWIG_ConvertFunctionPtr(obj, pptr, type)SWIG_Perl_ConvertPtr( obj, pptr, type, 0) SWIG_ConvertPtr(obj, pptr, type, 0)SWIG_Perl_ConvertPtr( obj, pptr, type, 0) | |||||
909 | #define SWIG_NewFunctionPtrObj(ptr, type)SWIG_Perl_NewPointerObj( ptr, type, 0) SWIG_NewPointerObj(ptr, type, 0)SWIG_Perl_NewPointerObj( ptr, type, 0) | |||||
910 | ||||||
911 | /* for C++ member pointers, ie, member methods */ | |||||
912 | #define SWIG_ConvertMember(obj, ptr, sz, ty)SWIG_Perl_ConvertPacked( obj, ptr, sz, ty) SWIG_ConvertPacked(obj, ptr, sz, ty)SWIG_Perl_ConvertPacked( obj, ptr, sz, ty) | |||||
913 | #define SWIG_NewMemberObj(ptr, sz, type)SWIG_Perl_NewPackedObj( ptr, sz, type) SWIG_NewPackedObj(ptr, sz, type)SWIG_Perl_NewPackedObj( ptr, sz, type) | |||||
914 | ||||||
915 | ||||||
916 | /* Runtime API */ | |||||
917 | ||||||
918 | #define SWIG_GetModule(clientdata)SWIG_Perl_GetModule() SWIG_Perl_GetModule() | |||||
919 | #define SWIG_SetModule(clientdata, pointer)SWIG_Perl_SetModule(pointer) SWIG_Perl_SetModule(pointer) | |||||
920 | ||||||
921 | ||||||
922 | /* Error manipulation */ | |||||
923 | ||||||
924 | #define SWIG_ErrorType(code)SWIG_Perl_ErrorType(code) SWIG_Perl_ErrorType(code) | |||||
925 | #define SWIG_Error(code, msg)Perl_sv_setpvf_nocontext(((0+((((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Ierrgv))->sv_u.svu_gp)->gp_sv),"%s %s\n" , SWIG_Perl_ErrorType(code), msg) sv_setpvfPerl_sv_setpvf_nocontext(GvSV(PL_errgv)((0+((((PerlInterpreter *)pthread_getspecific(PL_thr_key))-> Ierrgv))->sv_u.svu_gp)->gp_sv),"%s %s\n", SWIG_ErrorType(code)SWIG_Perl_ErrorType(code), msg) | |||||
926 | #define SWIG_failgoto fail goto fail | |||||
927 | ||||||
928 | /* Perl-specific SWIG API */ | |||||
929 | ||||||
930 | #define SWIG_MakePtr(sv, ptr, type, flags)SWIG_Perl_MakePtr( sv, ptr, type, flags) SWIG_Perl_MakePtr(SWIG_PERL_OBJECT_CALL sv, ptr, type, flags) | |||||
931 | #define SWIG_MakePackedObj(sv, p, s, type)SWIG_Perl_MakePackedObj( sv, p, s, type) SWIG_Perl_MakePackedObj(SWIG_PERL_OBJECT_CALL sv, p, s, type) | |||||
932 | #define SWIG_SetError(str)Perl_sv_setpvf_nocontext(((0+((((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Ierrgv))->sv_u.svu_gp)->gp_sv),"%s %s\n" , SWIG_Perl_ErrorType(-3), str) SWIG_Error(SWIG_RuntimeError, str)Perl_sv_setpvf_nocontext(((0+((((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Ierrgv))->sv_u.svu_gp)->gp_sv),"%s %s\n" , SWIG_Perl_ErrorType(-3), str) | |||||
933 | ||||||
934 | ||||||
935 | #define SWIG_PERL_DECL_ARGS_1(arg1)( arg1) (SWIG_PERL_OBJECT_DECL arg1) | |||||
936 | #define SWIG_PERL_CALL_ARGS_1(arg1)( arg1) (SWIG_PERL_OBJECT_CALL arg1) | |||||
937 | #define SWIG_PERL_DECL_ARGS_2(arg1, arg2)( arg1, arg2) (SWIG_PERL_OBJECT_DECL arg1, arg2) | |||||
938 | #define SWIG_PERL_CALL_ARGS_2(arg1, arg2)( arg1, arg2) (SWIG_PERL_OBJECT_CALL arg1, arg2) | |||||
939 | ||||||
940 | /* ----------------------------------------------------------------------------- | |||||
941 | * pointers/data manipulation | |||||
942 | * ----------------------------------------------------------------------------- */ | |||||
943 | ||||||
944 | /* For backward compatibility only */ | |||||
945 | #define SWIG_POINTER_EXCEPTION0 0 | |||||
946 | ||||||
947 | #ifdef __cplusplus199711L | |||||
948 | extern "C" { | |||||
949 | #endif | |||||
950 | ||||||
951 | #define SWIG_OWNER0x1 SWIG_POINTER_OWN0x1 | |||||
952 | #define SWIG_SHADOW0x1 << 1 SWIG_OWNER0x1 << 1 | |||||
953 | ||||||
954 | #define SWIG_MAYBE_PERL_OBJECT SWIG_PERL_OBJECT_DECL | |||||
955 | ||||||
956 | /* SWIG Perl macros */ | |||||
957 | ||||||
958 | /* Macro to declare an XS function */ | |||||
959 | #ifndef XSPROTO | |||||
960 | # define XSPROTO(name)void name(PerlInterpreter* my_perl , CV* cv) void name(pTHX_PerlInterpreter* my_perl , CV* cv) | |||||
961 | #endif | |||||
962 | ||||||
963 | /* Macro to call an XS function */ | |||||
964 | #ifdef PERL_OBJECT | |||||
965 | # define SWIG_CALLXS(_name)_name(((PerlInterpreter *)pthread_getspecific(PL_thr_key)), cv ) _name(cv,pPerl) | |||||
966 | #else | |||||
967 | # ifndef MULTIPLICITY | |||||
968 | # define SWIG_CALLXS(_name)_name(((PerlInterpreter *)pthread_getspecific(PL_thr_key)), cv ) _name(cv) | |||||
969 | # else | |||||
970 | # define SWIG_CALLXS(_name)_name(((PerlInterpreter *)pthread_getspecific(PL_thr_key)), cv ) _name(PERL_GET_THX((PerlInterpreter *)pthread_getspecific(PL_thr_key)), cv) | |||||
971 | # endif | |||||
972 | #endif | |||||
973 | ||||||
974 | #ifdef PERL_OBJECT | |||||
975 | #define MAGIC_PPERL CPerlObj *pPerl = (CPerlObj *) this; | |||||
976 | ||||||
977 | #ifdef __cplusplus199711L | |||||
978 | extern "C" { | |||||
979 | #endif | |||||
980 | typedef int (CPerlObj::*SwigMagicFunc)(SV *, MAGIC *); | |||||
981 | #ifdef __cplusplus199711L | |||||
982 | } | |||||
983 | #endif | |||||
984 | ||||||
985 | #define SWIG_MAGIC(a,b)(struct interpreter *interp, SV *a, MAGIC *b) (SV *a, MAGIC *b) | |||||
986 | #define SWIGCLASS_STATICstatic __attribute__ ((__unused__)) | |||||
987 | ||||||
988 | #else /* PERL_OBJECT */ | |||||
989 | ||||||
990 | #define MAGIC_PPERL | |||||
991 | #define SWIGCLASS_STATICstatic __attribute__ ((__unused__)) static SWIGUNUSED__attribute__ ((__unused__)) | |||||
992 | ||||||
993 | #ifndef MULTIPLICITY | |||||
994 | #define SWIG_MAGIC(a,b)(struct interpreter *interp, SV *a, MAGIC *b) (SV *a, MAGIC *b) | |||||
995 | ||||||
996 | #ifdef __cplusplus199711L | |||||
997 | extern "C" { | |||||
998 | #endif | |||||
999 | typedef int (*SwigMagicFunc)(SV *, MAGIC *); | |||||
1000 | #ifdef __cplusplus199711L | |||||
1001 | } | |||||
1002 | #endif | |||||
1003 | ||||||
1004 | #else /* MULTIPLICITY */ | |||||
1005 | ||||||
1006 | #define SWIG_MAGIC(a,b)(struct interpreter *interp, SV *a, MAGIC *b) (struct interpreter *interp, SV *a, MAGIC *b) | |||||
1007 | ||||||
1008 | #ifdef __cplusplus199711L | |||||
1009 | extern "C" { | |||||
1010 | #endif | |||||
1011 | typedef int (*SwigMagicFunc)(struct interpreter *, SV *, MAGIC *); | |||||
1012 | #ifdef __cplusplus199711L | |||||
1013 | } | |||||
1014 | #endif | |||||
1015 | ||||||
1016 | #endif /* MULTIPLICITY */ | |||||
1017 | #endif /* PERL_OBJECT */ | |||||
1018 | ||||||
1019 | /* Workaround for bug in perl 5.6.x croak and earlier */ | |||||
1020 | #if (PERL_VERSION20 < 8) | |||||
1021 | # ifdef PERL_OBJECT | |||||
1022 | # define SWIG_croak_null()Perl_croak_nocontext(((char*)__null)) SWIG_Perl_croak_null(pPerl) | |||||
1023 | static void SWIG_Perl_croak_null(CPerlObj *pPerl) | |||||
1024 | # else | |||||
1025 | static void SWIG_croak_null()Perl_croak_nocontext(((char*)__null)) | |||||
1026 | # endif | |||||
1027 | { | |||||
1028 | SV *err=ERRSV(*((0+((((PerlInterpreter *)pthread_getspecific(PL_thr_key))-> Ierrgv))->sv_u.svu_gp)->gp_sv ? &((0+((((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Ierrgv))->sv_u.svu_gp )->gp_sv) : &((0+(Perl_gv_add_by_type(((PerlInterpreter *)pthread_getspecific(PL_thr_key)), ((((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Ierrgv)),SVt_NULL))->sv_u.svu_gp)->gp_sv ))); | |||||
1029 | # if (PERL_VERSION20 < 6) | |||||
1030 | croakPerl_croak_nocontext("%_", err); | |||||
1031 | # else | |||||
1032 | if (SvOK(err)((err)->sv_flags & (0x00000100|0x00000200|0x00000400|0x00000800 | 0x00001000|0x00002000|0x00004000|0x00008000) || (((svtype)( (err)->sv_flags & 0xff)) == SVt_REGEXP || ((err)->sv_flags & (0xff|0x00004000|0x00008000|0x01000000)) == (SVt_PVLV| 0x01000000))) && !SvROK(err)((err)->sv_flags & 0x00000800)) croakPerl_croak_nocontext("%_", err); | |||||
1033 | croakPerl_croak_nocontext(Nullch((char*)__null)); | |||||
1034 | # endif | |||||
1035 | } | |||||
1036 | #else | |||||
1037 | # define SWIG_croak_null()Perl_croak_nocontext(((char*)__null)) croakPerl_croak_nocontext(Nullch((char*)__null)) | |||||
1038 | #endif | |||||
1039 | ||||||
1040 | ||||||
1041 | /* | |||||
1042 | Define how strict is the cast between strings and integers/doubles | |||||
1043 | when overloading between these types occurs. | |||||
1044 | ||||||
1045 | The default is making it as strict as possible by using SWIG_AddCast | |||||
1046 | when needed. | |||||
1047 | ||||||
1048 | You can use -DSWIG_PERL_NO_STRICT_STR2NUM at compilation time to | |||||
1049 | disable the SWIG_AddCast, making the casting between string and | |||||
1050 | numbers less strict. | |||||
1051 | ||||||
1052 | In the end, we try to solve the overloading between strings and | |||||
1053 | numerical types in the more natural way, but if you can avoid it, | |||||
1054 | well, avoid it using %rename, for example. | |||||
1055 | */ | |||||
1056 | #ifndef SWIG_PERL_NO_STRICT_STR2NUM | |||||
1057 | # ifndef SWIG_PERL_STRICT_STR2NUM | |||||
1058 | # define SWIG_PERL_STRICT_STR2NUM | |||||
1059 | # endif | |||||
1060 | #endif | |||||
1061 | #ifdef SWIG_PERL_STRICT_STR2NUM | |||||
1062 | /* string takes precedence */ | |||||
1063 | #define SWIG_Str2NumCast(x)SWIG_AddCast(x) SWIG_AddCast(x) | |||||
1064 | #else | |||||
1065 | /* number takes precedence */ | |||||
1066 | #define SWIG_Str2NumCast(x)SWIG_AddCast(x) x | |||||
1067 | #endif | |||||
1068 | ||||||
1069 | ||||||
1070 | ||||||
1071 | #include <stdlib.h> | |||||
1072 | ||||||
1073 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) const char * | |||||
1074 | SWIG_Perl_TypeProxyName(const swig_type_info *type) { | |||||
1075 | if (!type) return NULL__null; | |||||
1076 | if (type->clientdata != NULL__null) { | |||||
1077 | return (const char*) type->clientdata; | |||||
1078 | } | |||||
1079 | else { | |||||
1080 | return type->name; | |||||
1081 | } | |||||
1082 | } | |||||
1083 | ||||||
1084 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) swig_cast_info * | |||||
1085 | SWIG_TypeProxyCheck(const char *c, swig_type_info *ty) { | |||||
1086 | SWIG_TypeCheck_Template(( (!iter->type->clientdata && (strcmp(iter->type->name, c) == 0))if (ty) { swig_cast_info *iter = ty->cast; while (iter) { if (( (!iter->type->clientdata && (strcmp(iter-> type->name, c) == 0)) || (iter->type->clientdata && (strcmp((char*)iter->type->clientdata, c) == 0)))) { if (iter == ty->cast) return iter; iter->prev->next = iter ->next; if (iter->next) iter->next->prev = iter-> prev; iter->next = ty->cast; iter->prev = 0; if (ty-> cast) ty->cast->prev = iter; ty->cast = iter; return iter; } iter = iter->next; } } return 0 | |||||
| ||||||
1087 | || (iter->type->clientdata && (strcmp((char*)iter->type->clientdata, c) == 0))), ty)if (ty) { swig_cast_info *iter = ty->cast; while (iter) { if (( (!iter->type->clientdata && (strcmp(iter-> type->name, c) == 0)) || (iter->type->clientdata && (strcmp((char*)iter->type->clientdata, c) == 0)))) { if (iter == ty->cast) return iter; iter->prev->next = iter ->next; if (iter->next) iter->next->prev = iter-> prev; iter->next = ty->cast; iter->prev = 0; if (ty-> cast) ty->cast->prev = iter; ty->cast = iter; return iter; } iter = iter->next; } } return 0; | |||||
1088 | } | |||||
1089 | ||||||
1090 | ||||||
1091 | /* Function for getting a pointer value */ | |||||
1092 | ||||||
1093 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) int | |||||
1094 | SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_info *_t, int flags) { | |||||
1095 | swig_cast_info *tc; | |||||
1096 | void *voidptr = (void *)0; | |||||
1097 | SV *tsv = 0; | |||||
1098 | /* If magical, apply more magic */ | |||||
1099 | if (SvGMAGICAL(sv)((sv)->sv_flags & 0x00200000)) | |||||
| ||||||
1100 | mg_get(sv)Perl_mg_get(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), sv); | |||||
1101 | ||||||
1102 | /* Check to see if this is an object */ | |||||
1103 | if (sv_isobject(sv)Perl_sv_isobject(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), sv)) { | |||||
1104 | IV tmp = 0; | |||||
1105 | tsv = (SV*) SvRV(sv)((sv)->sv_u.svu_rv); | |||||
1106 | if ((SvTYPE(tsv)((svtype)((tsv)->sv_flags & 0xff)) == SVt_PVHV)) { | |||||
1107 | MAGIC *mg; | |||||
1108 | if (SvMAGICAL(tsv)((tsv)->sv_flags & (0x00200000|0x00400000|0x00800000))) { | |||||
1109 | mg = mg_find(tsv,'P')Perl_mg_find(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), tsv,'P'); | |||||
1110 | if (mg) { | |||||
1111 | sv = mg->mg_obj; | |||||
1112 | if (sv_isobject(sv)Perl_sv_isobject(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), sv)) { | |||||
1113 | tsv = (SV*)SvRV(sv)((sv)->sv_u.svu_rv); | |||||
1114 | tmp = SvIV(tsv)((((tsv)->sv_flags & (0x00000100|0x00200000)) == 0x00000100 ) ? ((XPVIV*) (tsv)->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags (((PerlInterpreter *)pthread_getspecific(PL_thr_key)), tsv,2) ); | |||||
1115 | } | |||||
1116 | } | |||||
1117 | } else { | |||||
1118 | return SWIG_ERROR(-1); | |||||
1119 | } | |||||
1120 | } else { | |||||
1121 | tmp = SvIV(tsv)((((tsv)->sv_flags & (0x00000100|0x00200000)) == 0x00000100 ) ? ((XPVIV*) (tsv)->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags (((PerlInterpreter *)pthread_getspecific(PL_thr_key)), tsv,2) ); | |||||
1122 | } | |||||
1123 | voidptr = INT2PTR(void *,tmp)(void *)(tmp); | |||||
1124 | } else if (! SvOK(sv)((sv)->sv_flags & (0x00000100|0x00000200|0x00000400|0x00000800 | 0x00001000|0x00002000|0x00004000|0x00008000) || (((svtype)( (sv)->sv_flags & 0xff)) == SVt_REGEXP || ((sv)->sv_flags & (0xff|0x00004000|0x00008000|0x01000000)) == (SVt_PVLV| 0x01000000)))) { /* Check for undef */ | |||||
1125 | *(ptr) = (void *) 0; | |||||
1126 | return SWIG_OK(0); | |||||
1127 | } else if (SvTYPE(sv)((svtype)((sv)->sv_flags & 0xff)) == SVt_RVSVt_IV) { /* Check for NULL pointer */ | |||||
1128 | if (!SvROK(sv)((sv)->sv_flags & 0x00000800)) { | |||||
1129 | *(ptr) = (void *) 0; | |||||
1130 | return SWIG_OK(0); | |||||
1131 | } else { | |||||
1132 | return SWIG_ERROR(-1); | |||||
1133 | } | |||||
1134 | } else { /* Don't know what it is */ | |||||
1135 | return SWIG_ERROR(-1); | |||||
1136 | } | |||||
1137 | if (_t) { | |||||
1138 | /* Now see if the types match */ | |||||
1139 | char *_c = HvNAME(SvSTASH(SvRV(sv)))((((((XPVMG*) (((sv)->sv_u.svu_rv))->sv_any)->xmg_stash )->sv_flags & 0x02000000) && ((struct xpvhv_aux *)&(((((XPVMG*) (((sv)->sv_u.svu_rv))->sv_any)-> xmg_stash)->sv_u.svu_hash)[((XPVHV*) (((XPVMG*) (((sv)-> sv_u.svu_rv))->sv_any)->xmg_stash)->sv_any)->xhv_max +1]))->xhv_name_u.xhvnameu_name && ( ((struct xpvhv_aux *)&(((((XPVMG*) (((sv)->sv_u.svu_rv))->sv_any)-> xmg_stash)->sv_u.svu_hash)[((XPVHV*) (((XPVMG*) (((sv)-> sv_u.svu_rv))->sv_any)->xmg_stash)->sv_any)->xhv_max +1]))->xhv_name_count ? *((struct xpvhv_aux*)&(((((XPVMG *) (((sv)->sv_u.svu_rv))->sv_any)->xmg_stash)->sv_u .svu_hash)[((XPVHV*) (((XPVMG*) (((sv)->sv_u.svu_rv))-> sv_any)->xmg_stash)->sv_any)->xhv_max+1]))->xhv_name_u .xhvnameu_names : ((struct xpvhv_aux*)&(((((XPVMG*) (((sv )->sv_u.svu_rv))->sv_any)->xmg_stash)->sv_u.svu_hash )[((XPVHV*) (((XPVMG*) (((sv)->sv_u.svu_rv))->sv_any)-> xmg_stash)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name )) ? (( ((struct xpvhv_aux*)&(((((XPVMG*) (((sv)->sv_u .svu_rv))->sv_any)->xmg_stash)->sv_u.svu_hash)[((XPVHV *) (((XPVMG*) (((sv)->sv_u.svu_rv))->sv_any)->xmg_stash )->sv_any)->xhv_max+1]))->xhv_name_count ? *((struct xpvhv_aux*)&(((((XPVMG*) (((sv)->sv_u.svu_rv))->sv_any )->xmg_stash)->sv_u.svu_hash)[((XPVHV*) (((XPVMG*) (((sv )->sv_u.svu_rv))->sv_any)->xmg_stash)->sv_any)-> xhv_max+1]))->xhv_name_u.xhvnameu_names : ((struct xpvhv_aux *)&(((((XPVMG*) (((sv)->sv_u.svu_rv))->sv_any)-> xmg_stash)->sv_u.svu_hash)[((XPVHV*) (((XPVMG*) (((sv)-> sv_u.svu_rv))->sv_any)->xmg_stash)->sv_any)->xhv_max +1]))->xhv_name_u.xhvnameu_name ))->hek_key : __null); | |||||
1140 | tc = SWIG_TypeProxyCheck(_c,_t); | |||||
1141 | if (!tc) { | |||||
1142 | return SWIG_ERROR(-1); | |||||
1143 | } | |||||
1144 | { | |||||
1145 | int newmemory = 0; | |||||
1146 | *ptr = SWIG_TypeCast(tc,voidptr,&newmemory); | |||||
1147 | assert(!newmemory); /* newmemory handling not yet implemented */ | |||||
1148 | } | |||||
1149 | } else { | |||||
1150 | *ptr = voidptr; | |||||
1151 | } | |||||
1152 | ||||||
1153 | /* | |||||
1154 | * DISOWN implementation: we need a perl guru to check this one. | |||||
1155 | */ | |||||
1156 | if (tsv && (flags & SWIG_POINTER_DISOWN0x1)) { | |||||
1157 | /* | |||||
1158 | * almost copy paste code from below SWIG_POINTER_OWN setting | |||||
1159 | */ | |||||
1160 | SV *obj = sv; | |||||
1161 | HV *stash = SvSTASH(SvRV(obj))((XPVMG*) (((obj)->sv_u.svu_rv))->sv_any)->xmg_stash; | |||||
1162 | GV *gv = *(GV**) hv_fetch(stash, "OWNER", 5, TRUE)((SV**) Perl_hv_common_key_len(((PerlInterpreter *)pthread_getspecific (PL_thr_key)), (stash),("OWNER"),(5),((1)) ? (0x20 | 0x10) : 0x20 ,__null,0)); | |||||
1163 | if (isGV(gv)(((svtype)((gv)->sv_flags & 0xff)) == SVt_PVGV)) { | |||||
1164 | HV *hv = GvHVn(gv)((0+(gv)->sv_u.svu_gp)->gp_hv ? (0+(gv)->sv_u.svu_gp )->gp_hv : (0+(Perl_gv_add_by_type(((PerlInterpreter *)pthread_getspecific (PL_thr_key)), (gv),SVt_PVHV))->sv_u.svu_gp)->gp_hv); | |||||
1165 | /* | |||||
1166 | * To set ownership (see below), a newSViv(1) entry is added. | |||||
1167 | * Hence, to remove ownership, we delete the entry. | |||||
1168 | */ | |||||
1169 | if (hv_exists_ent(hv, obj, 0)(Perl_hv_common(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), (hv),(obj),__null,0,0,0x08,0,(0)) ? (1) : (0))) { | |||||
1170 | hv_delete_ent(hv, obj, 0, 0)(((SV *)({ void *_p = (Perl_hv_common(((PerlInterpreter *)pthread_getspecific (PL_thr_key)), (hv),(obj),__null,0,0,(0) | 0x40,__null,(0))); _p; }))); | |||||
1171 | } | |||||
1172 | } | |||||
1173 | } | |||||
1174 | return SWIG_OK(0); | |||||
1175 | } | |||||
1176 | ||||||
1177 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) void | |||||
1178 | SWIG_Perl_MakePtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, swig_type_info *t, int flags) { | |||||
1179 | if (ptr && (flags & SWIG_SHADOW0x1 << 1)) { | |||||
1180 | SV *self; | |||||
1181 | SV *obj=newSV(0)Perl_newSV(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), 0); | |||||
1182 | HV *hash=newHV()((HV *)({ void *_p = (Perl_newSV_type(((PerlInterpreter *)pthread_getspecific (PL_thr_key)), SVt_PVHV)); _p; })); | |||||
1183 | HV *stash; | |||||
1184 | sv_setref_pv(obj, (char *) SWIG_Perl_TypeProxyName(t), ptr)Perl_sv_setref_pv(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), obj,(char *) SWIG_Perl_TypeProxyName(t),ptr); | |||||
1185 | stash=SvSTASH(SvRV(obj))((XPVMG*) (((obj)->sv_u.svu_rv))->sv_any)->xmg_stash; | |||||
1186 | if (flags & SWIG_POINTER_OWN0x1) { | |||||
1187 | HV *hv; | |||||
1188 | GV *gv=*(GV**)hv_fetch(stash, "OWNER", 5, TRUE)((SV**) Perl_hv_common_key_len(((PerlInterpreter *)pthread_getspecific (PL_thr_key)), (stash),("OWNER"),(5),((1)) ? (0x20 | 0x10) : 0x20 ,__null,0)); | |||||
1189 | if (!isGV(gv)(((svtype)((gv)->sv_flags & 0xff)) == SVt_PVGV)) | |||||
1190 | gv_init(gv, stash, "OWNER", 5, FALSE)Perl_gv_init_pvn(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), gv,stash,"OWNER",5,0x02*!!((0))); | |||||
1191 | hv=GvHVn(gv)((0+(gv)->sv_u.svu_gp)->gp_hv ? (0+(gv)->sv_u.svu_gp )->gp_hv : (0+(Perl_gv_add_by_type(((PerlInterpreter *)pthread_getspecific (PL_thr_key)), (gv),SVt_PVHV))->sv_u.svu_gp)->gp_hv); | |||||
1192 | hv_store_ent(hv, obj, newSViv(1), 0)((HE *) Perl_hv_common(((PerlInterpreter *)pthread_getspecific (PL_thr_key)), (hv),(obj),__null,0,0,0x04,(Perl_newSViv(((PerlInterpreter *)pthread_getspecific(PL_thr_key)), 1)),(0))); | |||||
1193 | } | |||||
1194 | sv_magic((SV *)hash, (SV *)obj, 'P', Nullch, 0)Perl_sv_magic(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), (SV *)hash,(SV *)obj,'P',((char*)__null),0); | |||||
1195 | SvREFCNT_dec(obj)S_SvREFCNT_dec(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), ((SV *)({ void *_p = (obj); _p; }))); | |||||
1196 | self=newRV_noinc((SV *)hash)Perl_newRV_noinc(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), (SV *)hash); | |||||
1197 | sv_setsv(sv, self)Perl_sv_setsv_flags(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), sv,self,2|0); | |||||
1198 | SvREFCNT_dec((SV *)self)S_SvREFCNT_dec(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), ((SV *)({ void *_p = ((SV *)self); _p; }))); | |||||
1199 | sv_bless(sv, stash)Perl_sv_bless(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), sv,stash); | |||||
1200 | } | |||||
1201 | else { | |||||
1202 | sv_setref_pv(sv, (char *) SWIG_Perl_TypeProxyName(t), ptr)Perl_sv_setref_pv(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), sv,(char *) SWIG_Perl_TypeProxyName(t),ptr); | |||||
1203 | } | |||||
1204 | } | |||||
1205 | ||||||
1206 | SWIGRUNTIMEINLINEstatic __attribute__ ((__unused__)) inline SV * | |||||
1207 | SWIG_Perl_NewPointerObj(SWIG_MAYBE_PERL_OBJECT void *ptr, swig_type_info *t, int flags) { | |||||
1208 | SV *result = sv_newmortal()Perl_sv_newmortal(((PerlInterpreter *)pthread_getspecific(PL_thr_key ))); | |||||
1209 | SWIG_MakePtr(result, ptr, t, flags)SWIG_Perl_MakePtr( result, ptr, t, flags); | |||||
1210 | return result; | |||||
1211 | } | |||||
1212 | ||||||
1213 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) void | |||||
1214 | SWIG_Perl_MakePackedObj(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, int sz, swig_type_info *type) { | |||||
1215 | char result[1024]; | |||||
1216 | char *r = result; | |||||
1217 | if ((2*sz + 1 + strlen(SWIG_Perl_TypeProxyName(type))) > 1000) return; | |||||
1218 | *(r++) = '_'; | |||||
1219 | r = SWIG_PackData(r,ptr,sz); | |||||
1220 | strcpy(r,SWIG_Perl_TypeProxyName(type)); | |||||
1221 | sv_setpv(sv, result)Perl_sv_setpv(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), sv,result); | |||||
1222 | } | |||||
1223 | ||||||
1224 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) SV * | |||||
1225 | SWIG_Perl_NewPackedObj(SWIG_MAYBE_PERL_OBJECT void *ptr, int sz, swig_type_info *type) { | |||||
1226 | SV *result = sv_newmortal()Perl_sv_newmortal(((PerlInterpreter *)pthread_getspecific(PL_thr_key ))); | |||||
1227 | SWIG_Perl_MakePackedObj(result, ptr, sz, type); | |||||
1228 | return result; | |||||
1229 | } | |||||
1230 | ||||||
1231 | /* Convert a packed value value */ | |||||
1232 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) int | |||||
1233 | SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_OBJECT SV *obj, void *ptr, int sz, swig_type_info *ty) { | |||||
1234 | swig_cast_info *tc; | |||||
1235 | const char *c = 0; | |||||
1236 | ||||||
1237 | if ((!obj) || (!SvOK(obj)((obj)->sv_flags & (0x00000100|0x00000200|0x00000400|0x00000800 | 0x00001000|0x00002000|0x00004000|0x00008000) || (((svtype)( (obj)->sv_flags & 0xff)) == SVt_REGEXP || ((obj)->sv_flags & (0xff|0x00004000|0x00008000|0x01000000)) == (SVt_PVLV| 0x01000000))))) return SWIG_ERROR(-1); | |||||
1238 | c = SvPV_nolen(obj)((((obj)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((obj)->sv_u.svu_pv) : Perl_sv_2pv_flags(((PerlInterpreter *)pthread_getspecific(PL_thr_key)), obj,0,2)); | |||||
1239 | /* Pointer values must start with leading underscore */ | |||||
1240 | if (*c != '_') return SWIG_ERROR(-1); | |||||
1241 | c++; | |||||
1242 | c = SWIG_UnpackData(c,ptr,sz); | |||||
1243 | if (ty) { | |||||
1244 | tc = SWIG_TypeCheck(c,ty); | |||||
1245 | if (!tc) return SWIG_ERROR(-1); | |||||
1246 | } | |||||
1247 | return SWIG_OK(0); | |||||
1248 | } | |||||
1249 | ||||||
1250 | ||||||
1251 | /* Macros for low-level exception handling */ | |||||
1252 | #define SWIG_croak(x){ Perl_sv_setpvf_nocontext(((0+((((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Ierrgv))->sv_u.svu_gp)->gp_sv),"%s %s\n" , SWIG_Perl_ErrorType(-3), x); goto fail; } { SWIG_Error(SWIG_RuntimeError, x)Perl_sv_setpvf_nocontext(((0+((((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Ierrgv))->sv_u.svu_gp)->gp_sv),"%s %s\n" , SWIG_Perl_ErrorType(-3), x); SWIG_failgoto fail; } | |||||
1253 | ||||||
1254 | ||||||
1255 | typedef XSPROTO(SwigPerlWrapper)void SwigPerlWrapper(PerlInterpreter* my_perl , CV* cv); | |||||
1256 | typedef SwigPerlWrapper *SwigPerlWrapperPtr; | |||||
1257 | ||||||
1258 | /* Structure for command table */ | |||||
1259 | typedef struct { | |||||
1260 | const char *name; | |||||
1261 | SwigPerlWrapperPtr wrapper; | |||||
1262 | } swig_command_info; | |||||
1263 | ||||||
1264 | /* Information for constant table */ | |||||
1265 | ||||||
1266 | #define SWIG_INT1 1 | |||||
1267 | #define SWIG_FLOAT2 2 | |||||
1268 | #define SWIG_STRING3 3 | |||||
1269 | #define SWIG_POINTER4 4 | |||||
1270 | #define SWIG_BINARY5 5 | |||||
1271 | ||||||
1272 | /* Constant information structure */ | |||||
1273 | typedef struct swig_constant_info { | |||||
1274 | int type; | |||||
1275 | const char *name; | |||||
1276 | long lvalue; | |||||
1277 | double dvalue; | |||||
1278 | void *pvalue; | |||||
1279 | swig_type_info **ptype; | |||||
1280 | } swig_constant_info; | |||||
1281 | ||||||
1282 | ||||||
1283 | /* Structure for variable table */ | |||||
1284 | typedef struct { | |||||
1285 | const char *name; | |||||
1286 | SwigMagicFunc set; | |||||
1287 | SwigMagicFunc get; | |||||
1288 | swig_type_info **type; | |||||
1289 | } swig_variable_info; | |||||
1290 | ||||||
1291 | /* Magic variable code */ | |||||
1292 | #ifndef PERL_OBJECT | |||||
1293 | #define swig_create_magic(s,a,b,c)_swig_create_magic(s,a,b,c) _swig_create_magic(s,a,b,c) | |||||
1294 | #ifndef MULTIPLICITY | |||||
1295 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) void _swig_create_magic(SV *sv, char *name, int (*set)(SV *, MAGIC *), int (*get)(SV *,MAGIC *)) | |||||
1296 | #else | |||||
1297 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) void _swig_create_magic(SV *sv, char *name, int (*set)(struct interpreter*, SV *, MAGIC *), int (*get)(struct interpreter*, SV *,MAGIC *)) | |||||
1298 | #endif | |||||
1299 | #else | |||||
1300 | # define swig_create_magic(s,a,b,c)_swig_create_magic(s,a,b,c) _swig_create_magic(pPerl,s,a,b,c) | |||||
1301 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) void _swig_create_magic(CPerlObj *pPerl, SV *sv, const char *name, int (CPerlObj::*set)(SV *, MAGIC *), int (CPerlObj::*get)(SV *, MAGIC *)) | |||||
1302 | #endif | |||||
1303 | { | |||||
1304 | MAGIC *mg; | |||||
1305 | sv_magic(sv,sv,'U',(char *) name,strlen(name))Perl_sv_magic(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), sv,sv,'U',(char *) name,strlen(name)); | |||||
1306 | mg = mg_find(sv,'U')Perl_mg_find(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), sv,'U'); | |||||
1307 | mg->mg_virtual = (MGVTBL *) malloc(sizeof(MGVTBL)); | |||||
1308 | mg->mg_virtual->svt_get = (SwigMagicFunc) get; | |||||
1309 | mg->mg_virtual->svt_set = (SwigMagicFunc) set; | |||||
1310 | mg->mg_virtual->svt_len = 0; | |||||
1311 | mg->mg_virtual->svt_clear = 0; | |||||
1312 | mg->mg_virtual->svt_free = 0; | |||||
1313 | } | |||||
1314 | ||||||
1315 | ||||||
1316 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) swig_module_info * | |||||
1317 | SWIG_Perl_GetModule(void) { | |||||
1318 | static void *type_pointer = (void *)0; | |||||
1319 | SV *pointer; | |||||
1320 | ||||||
1321 | /* first check if pointer already created */ | |||||
1322 | if (!type_pointer) { | |||||
1323 | pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, FALSE | GV_ADDMULTI)Perl_get_sv(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), "swig_runtime_data::type_pointer" "4",(0) | 0x02); | |||||
1324 | if (pointer && SvOK(pointer)((pointer)->sv_flags & (0x00000100|0x00000200|0x00000400 |0x00000800| 0x00001000|0x00002000|0x00004000|0x00008000) || ( ((svtype)((pointer)->sv_flags & 0xff)) == SVt_REGEXP || ((pointer)->sv_flags & (0xff|0x00004000|0x00008000|0x01000000 )) == (SVt_PVLV|0x01000000)))) { | |||||
1325 | type_pointer = INT2PTR(swig_type_info **, SvIV(pointer))(swig_type_info **)(((((pointer)->sv_flags & (0x00000100 |0x00200000)) == 0x00000100) ? ((XPVIV*) (pointer)->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags(((PerlInterpreter *)pthread_getspecific (PL_thr_key)), pointer,2))); | |||||
1326 | } | |||||
1327 | } | |||||
1328 | ||||||
1329 | return (swig_module_info *) type_pointer; | |||||
1330 | } | |||||
1331 | ||||||
1332 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) void | |||||
1333 | SWIG_Perl_SetModule(swig_module_info *module) { | |||||
1334 | SV *pointer; | |||||
1335 | ||||||
1336 | /* create a new pointer */ | |||||
1337 | pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, TRUE | GV_ADDMULTI)Perl_get_sv(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), "swig_runtime_data::type_pointer" "4",(1) | 0x02); | |||||
1338 | sv_setiv(pointer, PTR2IV(module))Perl_sv_setiv(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), pointer,(IV)(module)); | |||||
1339 | } | |||||
1340 | ||||||
1341 | #ifdef __cplusplus199711L | |||||
1342 | } | |||||
1343 | #endif | |||||
1344 | ||||||
1345 | /* Workaround perl5 global namespace pollution. Note that undefining library | |||||
1346 | * functions like fopen will not solve the problem on all platforms as fopen | |||||
1347 | * might be a macro on Windows but not necessarily on other operating systems. */ | |||||
1348 | #ifdef do_open | |||||
1349 | #undef do_open | |||||
1350 | #endif | |||||
1351 | #ifdef do_close | |||||
1352 | #undef do_close | |||||
1353 | #endif | |||||
1354 | #ifdef scalar | |||||
1355 | #undef scalar | |||||
1356 | #endif | |||||
1357 | #ifdef list | |||||
1358 | #undef list | |||||
1359 | #endif | |||||
1360 | #ifdef apply | |||||
1361 | #undef apply | |||||
1362 | #endif | |||||
1363 | #ifdef convert | |||||
1364 | #undef convert | |||||
1365 | #endif | |||||
1366 | #ifdef Error | |||||
1367 | #undef Error | |||||
1368 | #endif | |||||
1369 | #ifdef form | |||||
1370 | #undef form | |||||
1371 | #endif | |||||
1372 | #ifdef vform | |||||
1373 | #undef vform | |||||
1374 | #endif | |||||
1375 | #ifdef LABEL | |||||
1376 | #undef LABEL | |||||
1377 | #endif | |||||
1378 | #ifdef METHOD | |||||
1379 | #undef METHOD | |||||
1380 | #endif | |||||
1381 | #ifdef Move | |||||
1382 | #undef Move | |||||
1383 | #endif | |||||
1384 | #ifdef yylex | |||||
1385 | #undef yylex | |||||
1386 | #endif | |||||
1387 | #ifdef yyparse | |||||
1388 | #undef yyparse | |||||
1389 | #endif | |||||
1390 | #ifdef yyerror | |||||
1391 | #undef yyerror | |||||
1392 | #endif | |||||
1393 | #ifdef invert | |||||
1394 | #undef invert | |||||
1395 | #endif | |||||
1396 | #ifdef ref | |||||
1397 | #undef ref | |||||
1398 | #endif | |||||
1399 | #ifdef read | |||||
1400 | #undef read | |||||
1401 | #endif | |||||
1402 | #ifdef write | |||||
1403 | #undef write | |||||
1404 | #endif | |||||
1405 | #ifdef eof | |||||
1406 | #undef eof | |||||
1407 | #endif | |||||
1408 | #ifdef bool | |||||
1409 | #undef bool | |||||
1410 | #endif | |||||
1411 | #ifdef close | |||||
1412 | #undef close | |||||
1413 | #endif | |||||
1414 | #ifdef rewind | |||||
1415 | #undef rewind | |||||
1416 | #endif | |||||
1417 | #ifdef free | |||||
1418 | #undef free | |||||
1419 | #endif | |||||
1420 | #ifdef malloc | |||||
1421 | #undef malloc | |||||
1422 | #endif | |||||
1423 | #ifdef calloc | |||||
1424 | #undef calloc | |||||
1425 | #endif | |||||
1426 | #ifdef Stat | |||||
1427 | #undef Stat | |||||
1428 | #endif | |||||
1429 | #ifdef check | |||||
1430 | #undef check | |||||
1431 | #endif | |||||
1432 | #ifdef seekdir | |||||
1433 | #undef seekdir | |||||
1434 | #endif | |||||
1435 | #ifdef open | |||||
1436 | #undef open | |||||
1437 | #endif | |||||
1438 | ||||||
1439 | ||||||
1440 | ||||||
1441 | #define SWIG_exception_fail(code, msg)do { Perl_sv_setpvf_nocontext(((0+((((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Ierrgv))->sv_u.svu_gp)->gp_sv),"%s %s\n" , SWIG_Perl_ErrorType(code), msg); goto fail; } while(0) do { SWIG_Error(code, msg)Perl_sv_setpvf_nocontext(((0+((((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Ierrgv))->sv_u.svu_gp)->gp_sv),"%s %s\n" , SWIG_Perl_ErrorType(code), msg); SWIG_failgoto fail; } while(0) | |||||
1442 | ||||||
1443 | #define SWIG_contract_assert(expr, msg)if (!(expr)) { Perl_sv_setpvf_nocontext(((0+((((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Ierrgv))->sv_u.svu_gp )->gp_sv),"%s %s\n", SWIG_Perl_ErrorType(-3), msg); goto fail ; } else if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg)Perl_sv_setpvf_nocontext(((0+((((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Ierrgv))->sv_u.svu_gp)->gp_sv),"%s %s\n" , SWIG_Perl_ErrorType(-3), msg); SWIG_failgoto fail; } else | |||||
1444 | ||||||
1445 | ||||||
1446 | ||||||
1447 | /* -------- TYPES TABLE (BEGIN) -------- */ | |||||
1448 | ||||||
1449 | #define SWIGTYPE_p_McastHandleswig_types[0] swig_types[0] | |||||
1450 | #define SWIGTYPE_p_charswig_types[1] swig_types[1] | |||||
1451 | static swig_type_info *swig_types[3]; | |||||
1452 | static swig_module_info swig_module = {swig_types, 2, 0, 0, 0, 0}; | |||||
1453 | #define SWIG_TypeQuery(name)SWIG_TypeQueryModule(&swig_module, &swig_module, name ) SWIG_TypeQueryModule(&swig_module, &swig_module, name) | |||||
1454 | #define SWIG_MangledTypeQuery(name)SWIG_MangledTypeQueryModule(&swig_module, &swig_module , name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name) | |||||
1455 | ||||||
1456 | /* -------- TYPES TABLE (END) -------- */ | |||||
1457 | ||||||
1458 | #define SWIG_initboot_MCAST boot_MCAST | |||||
1459 | ||||||
1460 | #define SWIG_name"MCASTc::boot_MCAST" "MCASTc::boot_MCAST" | |||||
1461 | #define SWIG_prefix"MCASTc::" "MCASTc::" | |||||
1462 | ||||||
1463 | #define SWIGVERSION0x010335 0x010335 | |||||
1464 | #define SWIG_VERSION0x010335 SWIGVERSION0x010335 | |||||
1465 | ||||||
1466 | ||||||
1467 | #define SWIG_as_voidptr(a)const_cast< void * >(static_cast< const void * >( a)) const_cast< void * >(static_cast< const void * >(a)) | |||||
1468 | #define SWIG_as_voidptrptr(a)((void)const_cast< void * >(static_cast< const void * >(*a)),reinterpret_cast< void** >(a)) ((void)SWIG_as_voidptr(*a)const_cast< void * >(static_cast< const void * >( *a)),reinterpret_cast< void** >(a)) | |||||
1469 | ||||||
1470 | ||||||
1471 | #include <stdexcept> | |||||
1472 | ||||||
1473 | ||||||
1474 | #ifdef __cplusplus199711L | |||||
1475 | extern "C" | |||||
1476 | #endif | |||||
1477 | #ifndef PERL_OBJECT | |||||
1478 | #ifndef MULTIPLICITY | |||||
1479 | SWIGEXPORT__attribute__ ((visibility("default"))) void SWIG_initboot_MCAST (CV* cv); | |||||
1480 | #else | |||||
1481 | SWIGEXPORT__attribute__ ((visibility("default"))) void SWIG_initboot_MCAST (pTHXo_PerlInterpreter* my_perl , CV* cv); | |||||
1482 | #endif | |||||
1483 | #else | |||||
1484 | SWIGEXPORT__attribute__ ((visibility("default"))) void SWIG_initboot_MCAST (CV *cv, CPerlObj *); | |||||
1485 | #endif | |||||
1486 | ||||||
1487 | ||||||
1488 | #include "mcast.h" | |||||
1489 | #include "mcast_cpp.h" | |||||
1490 | ||||||
1491 | ||||||
1492 | SWIGINTERNstatic __attribute__ ((__unused__)) swig_type_info* | |||||
1493 | SWIG_pchar_descriptor(void) | |||||
1494 | { | |||||
1495 | static int init = 0; | |||||
1496 | static swig_type_info* info = 0; | |||||
1497 | if (!init) { | |||||
1498 | info = SWIG_TypeQuery("_p_char")SWIG_TypeQueryModule(&swig_module, &swig_module, "_p_char" ); | |||||
1499 | init = 1; | |||||
1500 | } | |||||
1501 | return info; | |||||
1502 | } | |||||
1503 | ||||||
1504 | ||||||
1505 | SWIGINTERNstatic __attribute__ ((__unused__)) int | |||||
1506 | SWIG_AsCharPtrAndSize(SV *obj, char** cptr, size_t* psize, int *alloc) | |||||
1507 | { | |||||
1508 | if (SvPOK(obj)((obj)->sv_flags & 0x00000400)) { | |||||
1509 | STRLEN len = 0; | |||||
1510 | char *cstr = SvPV(obj, len)((((obj)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (obj)->sv_any)->xpv_cur), ((obj)-> sv_u.svu_pv)) : Perl_sv_2pv_flags(((PerlInterpreter *)pthread_getspecific (PL_thr_key)), obj,&len,2)); | |||||
1511 | size_t size = len + 1; | |||||
1512 | if (cptr) { | |||||
1513 | if (alloc) { | |||||
1514 | if (*alloc == SWIG_NEWOBJ((0) | ((1 << 8) << 1))) { | |||||
1515 | *cptr = reinterpret_cast< char* >(memcpy((new char[size]), cstr, sizeof(char)*(size))); | |||||
1516 | } else { | |||||
1517 | *cptr = cstr; | |||||
1518 | *alloc = SWIG_OLDOBJ((0)); | |||||
1519 | } | |||||
1520 | } | |||||
1521 | } | |||||
1522 | if (psize) *psize = size; | |||||
1523 | return SWIG_OK(0); | |||||
1524 | } else { | |||||
1525 | swig_type_info* pchar_descriptor = SWIG_pchar_descriptor(); | |||||
1526 | if (pchar_descriptor) { | |||||
1527 | char* vptr = 0; | |||||
1528 | if (SWIG_ConvertPtr(obj, (void**)&vptr, pchar_descriptor, 0)SWIG_Perl_ConvertPtr( obj, (void**)&vptr, pchar_descriptor , 0) == SWIG_OK(0)) { | |||||
1529 | if (cptr) *cptr = vptr; | |||||
1530 | if (psize) *psize = vptr ? (strlen(vptr) + 1) : 0; | |||||
1531 | if (alloc) *alloc = SWIG_OLDOBJ((0)); | |||||
1532 | return SWIG_OK(0); | |||||
1533 | } | |||||
1534 | } | |||||
1535 | } | |||||
1536 | return SWIG_TypeError-5; | |||||
1537 | } | |||||
1538 | ||||||
1539 | ||||||
1540 | ||||||
1541 | ||||||
1542 | ||||||
1543 | #include <limits.h> | |||||
1544 | #if !defined(SWIG_NO_LLONG_MAX) | |||||
1545 | # if !defined(LLONG_MAX9223372036854775807LL) && defined(__GNUC__4) && defined (__LONG_LONG_MAX__9223372036854775807LL) | |||||
1546 | # define LLONG_MAX9223372036854775807LL __LONG_LONG_MAX__9223372036854775807LL | |||||
1547 | # define LLONG_MIN(-9223372036854775807LL -1) (-LLONG_MAX9223372036854775807LL - 1LL) | |||||
1548 | # define ULLONG_MAX(9223372036854775807LL * 2ULL + 1) (LLONG_MAX9223372036854775807LL * 2ULL + 1ULL) | |||||
1549 | # endif | |||||
1550 | #endif | |||||
1551 | ||||||
1552 | ||||||
1553 | SWIGINTERNstatic __attribute__ ((__unused__)) int | |||||
1554 | SWIG_AsVal_double SWIG_PERL_DECL_ARGS_2(SV *obj, double *val)( SV *obj, double *val) | |||||
1555 | { | |||||
1556 | if (SvNIOK(obj)((obj)->sv_flags & (0x00000100|0x00000200))) { | |||||
1557 | if (val) *val = SvNV(obj)((((obj)->sv_flags & (0x00000200|0x00200000)) == 0x00000200 ) ? ((XPVNV*) (obj)->sv_any)->xnv_u.xnv_nv : Perl_sv_2nv_flags (((PerlInterpreter *)pthread_getspecific(PL_thr_key)), obj,2) ); | |||||
1558 | return SWIG_OK(0); | |||||
1559 | } else if (SvIOK(obj)((obj)->sv_flags & 0x00000100)) { | |||||
1560 | if (val) *val = (double) SvIV(obj)((((obj)->sv_flags & (0x00000100|0x00200000)) == 0x00000100 ) ? ((XPVIV*) (obj)->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags (((PerlInterpreter *)pthread_getspecific(PL_thr_key)), obj,2) ); | |||||
1561 | return SWIG_AddCast(SWIG_OK(0)); | |||||
1562 | } else { | |||||
1563 | const char *nptr = SvPV_nolen(obj)((((obj)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((obj)->sv_u.svu_pv) : Perl_sv_2pv_flags(((PerlInterpreter *)pthread_getspecific(PL_thr_key)), obj,0,2)); | |||||
1564 | if (nptr) { | |||||
1565 | char *endptr; | |||||
1566 | double v = strtod(nptr, &endptr); | |||||
1567 | if (errno(*__errno_location ()) == ERANGE34) { | |||||
1568 | errno(*__errno_location ()) = 0; | |||||
1569 | return SWIG_OverflowError-7; | |||||
1570 | } else { | |||||
1571 | if (*endptr == '\0') { | |||||
1572 | if (val) *val = v; | |||||
1573 | return SWIG_Str2NumCast(SWIG_OK)SWIG_AddCast((0)); | |||||
1574 | } | |||||
1575 | } | |||||
1576 | } | |||||
1577 | } | |||||
1578 | return SWIG_TypeError-5; | |||||
1579 | } | |||||
1580 | ||||||
1581 | ||||||
1582 | #include <float.h> | |||||
1583 | ||||||
1584 | ||||||
1585 | #include <math.h> | |||||
1586 | ||||||
1587 | ||||||
1588 | SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline int | |||||
1589 | SWIG_CanCastAsInteger(double *d, double min, double max) { | |||||
1590 | double x = *d; | |||||
1591 | if ((min <= x && x <= max)) { | |||||
1592 | double fx = floor(x); | |||||
1593 | double cx = ceil(x); | |||||
1594 | double rd = ((x - fx) < 0.5) ? fx : cx; /* simple rint */ | |||||
1595 | if ((errno(*__errno_location ()) == EDOM33) || (errno(*__errno_location ()) == ERANGE34)) { | |||||
1596 | errno(*__errno_location ()) = 0; | |||||
1597 | } else { | |||||
1598 | double summ, reps, diff; | |||||
1599 | if (rd < x) { | |||||
1600 | diff = x - rd; | |||||
1601 | } else if (rd > x) { | |||||
1602 | diff = rd - x; | |||||
1603 | } else { | |||||
1604 | return 1; | |||||
1605 | } | |||||
1606 | summ = rd + x; | |||||
1607 | reps = diff/summ; | |||||
1608 | if (reps < 8*DBL_EPSILON2.2204460492503131e-16) { | |||||
1609 | *d = rd; | |||||
1610 | return 1; | |||||
1611 | } | |||||
1612 | } | |||||
1613 | } | |||||
1614 | return 0; | |||||
1615 | } | |||||
1616 | ||||||
1617 | ||||||
1618 | SWIGINTERNstatic __attribute__ ((__unused__)) int | |||||
1619 | SWIG_AsVal_long SWIG_PERL_DECL_ARGS_2(SV *obj, long* val)( SV *obj, long* val) | |||||
1620 | { | |||||
1621 | if (SvIOK(obj)((obj)->sv_flags & 0x00000100)) { | |||||
1622 | if (val) *val = SvIV(obj)((((obj)->sv_flags & (0x00000100|0x00200000)) == 0x00000100 ) ? ((XPVIV*) (obj)->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags (((PerlInterpreter *)pthread_getspecific(PL_thr_key)), obj,2) ); | |||||
1623 | return SWIG_OK(0); | |||||
1624 | } else { | |||||
1625 | int dispatch = 0; | |||||
1626 | const char *nptr = SvPV_nolen(obj)((((obj)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((obj)->sv_u.svu_pv) : Perl_sv_2pv_flags(((PerlInterpreter *)pthread_getspecific(PL_thr_key)), obj,0,2)); | |||||
1627 | if (nptr) { | |||||
1628 | char *endptr; | |||||
1629 | long v; | |||||
1630 | errno(*__errno_location ()) = 0; | |||||
1631 | v = strtol(nptr, &endptr,0); | |||||
1632 | if (errno(*__errno_location ()) == ERANGE34) { | |||||
1633 | errno(*__errno_location ()) = 0; | |||||
1634 | return SWIG_OverflowError-7; | |||||
1635 | } else { | |||||
1636 | if (*endptr == '\0') { | |||||
1637 | if (val) *val = v; | |||||
1638 | return SWIG_Str2NumCast(SWIG_OK)SWIG_AddCast((0)); | |||||
1639 | } | |||||
1640 | } | |||||
1641 | } | |||||
1642 | if (!dispatch) { | |||||
1643 | double d; | |||||
1644 | int res = SWIG_AddCast(SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(obj,&d)( obj, &d)); | |||||
1645 | if (SWIG_IsOK(res)(res >= 0) && SWIG_CanCastAsInteger(&d, LONG_MIN(-9223372036854775807L -1L), LONG_MAX9223372036854775807L)) { | |||||
1646 | if (val) *val = (long)(d); | |||||
1647 | return res; | |||||
1648 | } | |||||
1649 | } | |||||
1650 | } | |||||
1651 | return SWIG_TypeError-5; | |||||
1652 | } | |||||
1653 | ||||||
1654 | ||||||
1655 | SWIGINTERNstatic __attribute__ ((__unused__)) int | |||||
1656 | SWIG_AsVal_int SWIG_PERL_DECL_ARGS_2(SV * obj, int *val)( SV * obj, int *val) | |||||
1657 | { | |||||
1658 | long v; | |||||
1659 | int res = SWIG_AsVal_long SWIG_PERL_CALL_ARGS_2(obj, &v)( obj, &v); | |||||
1660 | if (SWIG_IsOK(res)(res >= 0)) { | |||||
1661 | if ((v < INT_MIN(-2147483647 -1) || v > INT_MAX2147483647)) { | |||||
1662 | return SWIG_OverflowError-7; | |||||
1663 | } else { | |||||
1664 | if (val) *val = static_cast< int >(v); | |||||
1665 | } | |||||
1666 | } | |||||
1667 | return res; | |||||
1668 | } | |||||
1669 | ||||||
1670 | ||||||
1671 | SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline SV * | |||||
1672 | SWIG_From_long SWIG_PERL_DECL_ARGS_1(long value)( long value) | |||||
1673 | { | |||||
1674 | SV *obj = sv_newmortal()Perl_sv_newmortal(((PerlInterpreter *)pthread_getspecific(PL_thr_key ))); | |||||
1675 | sv_setiv(obj, (IV) value)Perl_sv_setiv(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), obj,(IV) value); | |||||
1676 | return obj; | |||||
1677 | } | |||||
1678 | ||||||
1679 | ||||||
1680 | SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline SV * | |||||
1681 | SWIG_From_int SWIG_PERL_DECL_ARGS_1(int value)( int value) | |||||
1682 | { | |||||
1683 | return SWIG_From_long SWIG_PERL_CALL_ARGS_1(value)( value); | |||||
1684 | } | |||||
1685 | ||||||
1686 | ||||||
1687 | SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline SV * | |||||
1688 | SWIG_FromCharPtrAndSize(const char* carray, size_t size) | |||||
1689 | { | |||||
1690 | SV *obj = sv_newmortal()Perl_sv_newmortal(((PerlInterpreter *)pthread_getspecific(PL_thr_key ))); | |||||
1691 | if (carray) { | |||||
1692 | sv_setpvn(obj, carray, size)Perl_sv_setpvn(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), obj,carray,size); | |||||
1693 | } else { | |||||
1694 | sv_setsv(obj, &PL_sv_undef)Perl_sv_setsv_flags(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), obj,&(((PerlInterpreter *)pthread_getspecific(PL_thr_key ))->Isv_undef),2|0); | |||||
1695 | } | |||||
1696 | return obj; | |||||
1697 | } | |||||
1698 | ||||||
1699 | ||||||
1700 | SWIGINTERNINLINEstatic __attribute__ ((__unused__)) inline SV * | |||||
1701 | SWIG_FromCharPtr(const char *cptr) | |||||
1702 | { | |||||
1703 | return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0)); | |||||
1704 | } | |||||
1705 | ||||||
1706 | #ifdef __cplusplus199711L | |||||
1707 | extern "C" { | |||||
1708 | #endif | |||||
1709 | ||||||
1710 | #ifdef PERL_OBJECT | |||||
1711 | #define MAGIC_CLASS _wrap_MCAST_var:: | |||||
1712 | class _wrap_MCAST_var : public CPerlObj { | |||||
1713 | public: | |||||
1714 | #else | |||||
1715 | #define MAGIC_CLASS | |||||
1716 | #endif | |||||
1717 | SWIGCLASS_STATICstatic __attribute__ ((__unused__)) int swig_magic_readonly(pTHX_PerlInterpreter* my_perl , SV *SWIGUNUSEDPARM(sv), MAGIC *SWIGUNUSEDPARM(mg)) { | |||||
1718 | MAGIC_PPERL | |||||
1719 | croakPerl_croak_nocontext("Value is read-only."); | |||||
1720 | return 0; | |||||
1721 | } | |||||
1722 | ||||||
1723 | ||||||
1724 | #ifdef PERL_OBJECT | |||||
1725 | }; | |||||
1726 | #endif | |||||
1727 | ||||||
1728 | #ifdef __cplusplus199711L | |||||
1729 | } | |||||
1730 | #endif | |||||
1731 | ||||||
1732 | #ifdef __cplusplus199711L | |||||
1733 | extern "C" { | |||||
1734 | #endif | |||||
1735 | XS(_wrap_new_McastHandle)extern "C" void _wrap_new_McastHandle(PerlInterpreter* my_perl , CV* cv) { | |||||
1736 | { | |||||
1737 | char *arg1 = (char *) 0 ; | |||||
1738 | int arg2 ; | |||||
1739 | int arg3 ; | |||||
1740 | McastHandle *result = 0 ; | |||||
1741 | int res1 ; | |||||
1742 | char *buf1 = 0 ; | |||||
1743 | int alloc1 = 0 ; | |||||
1744 | int val2 ; | |||||
1745 | int ecode2 = 0 ; | |||||
1746 | int val3 ; | |||||
1747 | int ecode3 = 0 ; | |||||
1748 | int argvi = 0; | |||||
1749 | dXSARGSSV **sp = (((PerlInterpreter *)pthread_getspecific(PL_thr_key ))->Istack_sp); I32 ax = (*(((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Imarkstack_ptr)--); SV **mark = (((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Istack_base) + ax++; I32 items = (I32)(sp - mark); | |||||
1750 | ||||||
1751 | if ((items < 3) || (items > 3)) { | |||||
1752 | SWIG_croak("Usage: new_McastHandle(host,port,flags);"){ Perl_sv_setpvf_nocontext(((0+((((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Ierrgv))->sv_u.svu_gp)->gp_sv),"%s %s\n" , SWIG_Perl_ErrorType(-3), "Usage: new_McastHandle(host,port,flags);" ); goto fail; }; | |||||
1753 | } | |||||
1754 | res1 = SWIG_AsCharPtrAndSize(ST(0)(((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Istack_base )[ax + (0)], &buf1, NULL__null, &alloc1); | |||||
1755 | if (!SWIG_IsOK(res1)(res1 >= 0)) { | |||||
1756 | SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_McastHandle" "', argument " "1"" of type '" "char const *""'")do { Perl_sv_setpvf_nocontext(((0+((((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Ierrgv))->sv_u.svu_gp)->gp_sv),"%s %s\n" , SWIG_Perl_ErrorType(((res1 != (-1)) ? res1 : -5)), "in method '" "new_McastHandle" "', argument " "1"" of type '" "char const *" "'"); goto fail; } while(0); | |||||
1757 | } | |||||
1758 | arg1 = reinterpret_cast< char * >(buf1); | |||||
1759 | ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2)( (((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Istack_base )[ax + (1)], &val2); | |||||
1760 | if (!SWIG_IsOK(ecode2)(ecode2 >= 0)) { | |||||
1761 | SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_McastHandle" "', argument " "2"" of type '" "int""'")do { Perl_sv_setpvf_nocontext(((0+((((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Ierrgv))->sv_u.svu_gp)->gp_sv),"%s %s\n" , SWIG_Perl_ErrorType(((ecode2 != (-1)) ? ecode2 : -5)), "in method '" "new_McastHandle" "', argument " "2"" of type '" "int""'"); goto fail; } while(0); | |||||
1762 | } | |||||
1763 | arg2 = static_cast< int >(val2); | |||||
1764 | ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3)( (((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Istack_base )[ax + (2)], &val3); | |||||
1765 | if (!SWIG_IsOK(ecode3)(ecode3 >= 0)) { | |||||
1766 | SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_McastHandle" "', argument " "3"" of type '" "int""'")do { Perl_sv_setpvf_nocontext(((0+((((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Ierrgv))->sv_u.svu_gp)->gp_sv),"%s %s\n" , SWIG_Perl_ErrorType(((ecode3 != (-1)) ? ecode3 : -5)), "in method '" "new_McastHandle" "', argument " "3"" of type '" "int""'"); goto fail; } while(0); | |||||
1767 | } | |||||
1768 | arg3 = static_cast< int >(val3); | |||||
1769 | result = (McastHandle *)new McastHandle((char const *)arg1,arg2,arg3); | |||||
1770 | ST(argvi)(((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Istack_base )[ax + (argvi)] = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_McastHandle, SWIG_OWNER | SWIG_SHADOW)SWIG_Perl_NewPointerObj( const_cast< void * >(static_cast < const void * >(result)), swig_types[0], 0x1 | 0x1 << 1); argvi++ ; | |||||
1771 | if (alloc1 == SWIG_NEWOBJ((0) | ((1 << 8) << 1))) delete[] buf1; | |||||
1772 | ||||||
1773 | ||||||
1774 | XSRETURN(argvi)do { const IV tmpXSoff = (argvi); (((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Istack_sp) = (((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Istack_base) + ax + (tmpXSoff - 1); return; } while (0); | |||||
1775 | fail: | |||||
1776 | if (alloc1 == SWIG_NEWOBJ((0) | ((1 << 8) << 1))) delete[] buf1; | |||||
1777 | ||||||
1778 | ||||||
1779 | SWIG_croak_null()Perl_croak_nocontext(((char*)__null)); | |||||
1780 | } | |||||
1781 | } | |||||
1782 | ||||||
1783 | ||||||
1784 | XS(_wrap_delete_McastHandle)extern "C" void _wrap_delete_McastHandle(PerlInterpreter* my_perl , CV* cv) { | |||||
1785 | { | |||||
1786 | McastHandle *arg1 = (McastHandle *) 0 ; | |||||
1787 | void *argp1 = 0 ; | |||||
1788 | int res1 = 0 ; | |||||
1789 | int argvi = 0; | |||||
1790 | dXSARGSSV **sp = (((PerlInterpreter *)pthread_getspecific(PL_thr_key ))->Istack_sp); I32 ax = (*(((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Imarkstack_ptr)--); SV **mark = (((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Istack_base) + ax++; I32 items = (I32)(sp - mark); | |||||
1791 | ||||||
1792 | if ((items < 1) || (items > 1)) { | |||||
1793 | SWIG_croak("Usage: delete_McastHandle(self);"){ Perl_sv_setpvf_nocontext(((0+((((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Ierrgv))->sv_u.svu_gp)->gp_sv),"%s %s\n" , SWIG_Perl_ErrorType(-3), "Usage: delete_McastHandle(self);" ); goto fail; }; | |||||
1794 | } | |||||
1795 | res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_McastHandle, SWIG_POINTER_DISOWN | 0 )SWIG_Perl_ConvertPtr( (((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Istack_base)[ax + (0)], &argp1, swig_types [0], 0x1 | 0); | |||||
1796 | if (!SWIG_IsOK(res1)(res1 >= 0)) { | |||||
1797 | SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_McastHandle" "', argument " "1"" of type '" "McastHandle *""'")do { Perl_sv_setpvf_nocontext(((0+((((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Ierrgv))->sv_u.svu_gp)->gp_sv),"%s %s\n" , SWIG_Perl_ErrorType(((res1 != (-1)) ? res1 : -5)), "in method '" "delete_McastHandle" "', argument " "1"" of type '" "McastHandle *" "'"); goto fail; } while(0); | |||||
1798 | } | |||||
1799 | arg1 = reinterpret_cast< McastHandle * >(argp1); | |||||
1800 | delete arg1; | |||||
1801 | ||||||
1802 | ||||||
1803 | ||||||
1804 | XSRETURN(argvi)do { const IV tmpXSoff = (argvi); (((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Istack_sp) = (((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Istack_base) + ax + (tmpXSoff - 1); return; } while (0); | |||||
1805 | fail: | |||||
1806 | ||||||
1807 | SWIG_croak_null()Perl_croak_nocontext(((char*)__null)); | |||||
1808 | } | |||||
1809 | } | |||||
1810 | ||||||
1811 | ||||||
1812 | XS(_wrap_McastHandle_send)extern "C" void _wrap_McastHandle_send(PerlInterpreter* my_perl , CV* cv) { | |||||
1813 | { | |||||
1814 | McastHandle *arg1 = (McastHandle *) 0 ; | |||||
1815 | char *arg2 = (char *) 0 ; | |||||
1816 | int result; | |||||
1817 | void *argp1 = 0 ; | |||||
1818 | int res1 = 0 ; | |||||
1819 | int res2 ; | |||||
1820 | char *buf2 = 0 ; | |||||
1821 | int alloc2 = 0 ; | |||||
1822 | int argvi = 0; | |||||
1823 | dXSARGSSV **sp = (((PerlInterpreter *)pthread_getspecific(PL_thr_key ))->Istack_sp); I32 ax = (*(((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Imarkstack_ptr)--); SV **mark = (((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Istack_base) + ax++; I32 items = (I32)(sp - mark); | |||||
1824 | ||||||
1825 | if ((items < 2) || (items > 2)) { | |||||
1826 | SWIG_croak("Usage: McastHandle_send(self,data);"){ Perl_sv_setpvf_nocontext(((0+((((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Ierrgv))->sv_u.svu_gp)->gp_sv),"%s %s\n" , SWIG_Perl_ErrorType(-3), "Usage: McastHandle_send(self,data);" ); goto fail; }; | |||||
1827 | } | |||||
1828 | res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_McastHandle, 0 | 0 )SWIG_Perl_ConvertPtr( (((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Istack_base)[ax + (0)], &argp1, swig_types [0], 0 | 0); | |||||
1829 | if (!SWIG_IsOK(res1)(res1 >= 0)) { | |||||
1830 | SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "McastHandle_send" "', argument " "1"" of type '" "McastHandle *""'")do { Perl_sv_setpvf_nocontext(((0+((((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Ierrgv))->sv_u.svu_gp)->gp_sv),"%s %s\n" , SWIG_Perl_ErrorType(((res1 != (-1)) ? res1 : -5)), "in method '" "McastHandle_send" "', argument " "1"" of type '" "McastHandle *" "'"); goto fail; } while(0); | |||||
1831 | } | |||||
1832 | arg1 = reinterpret_cast< McastHandle * >(argp1); | |||||
1833 | res2 = SWIG_AsCharPtrAndSize(ST(1)(((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Istack_base )[ax + (1)], &buf2, NULL__null, &alloc2); | |||||
1834 | if (!SWIG_IsOK(res2)(res2 >= 0)) { | |||||
1835 | SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "McastHandle_send" "', argument " "2"" of type '" "char const *""'")do { Perl_sv_setpvf_nocontext(((0+((((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Ierrgv))->sv_u.svu_gp)->gp_sv),"%s %s\n" , SWIG_Perl_ErrorType(((res2 != (-1)) ? res2 : -5)), "in method '" "McastHandle_send" "', argument " "2"" of type '" "char const *" "'"); goto fail; } while(0); | |||||
1836 | } | |||||
1837 | arg2 = reinterpret_cast< char * >(buf2); | |||||
1838 | result = (int)(arg1)->send((char const *)arg2); | |||||
1839 | ST(argvi)(((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Istack_base )[ax + (argvi)] = SWIG_From_int SWIG_PERL_CALL_ARGS_1(static_cast< int >(result))( static_cast< int >(result)); argvi++ ; | |||||
1840 | ||||||
1841 | if (alloc2 == SWIG_NEWOBJ((0) | ((1 << 8) << 1))) delete[] buf2; | |||||
1842 | XSRETURN(argvi)do { const IV tmpXSoff = (argvi); (((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Istack_sp) = (((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Istack_base) + ax + (tmpXSoff - 1); return; } while (0); | |||||
1843 | fail: | |||||
1844 | ||||||
1845 | if (alloc2 == SWIG_NEWOBJ((0) | ((1 << 8) << 1))) delete[] buf2; | |||||
1846 | SWIG_croak_null()Perl_croak_nocontext(((char*)__null)); | |||||
1847 | } | |||||
1848 | } | |||||
1849 | ||||||
1850 | ||||||
1851 | XS(_wrap_McastHandle_recv)extern "C" void _wrap_McastHandle_recv(PerlInterpreter* my_perl , CV* cv) { | |||||
1852 | { | |||||
1853 | McastHandle *arg1 = (McastHandle *) 0 ; | |||||
1854 | int arg2 = (int) 0 ; | |||||
1855 | char *result = 0 ; | |||||
1856 | void *argp1 = 0 ; | |||||
1857 | int res1 = 0 ; | |||||
1858 | int val2 ; | |||||
1859 | int ecode2 = 0 ; | |||||
1860 | int argvi = 0; | |||||
1861 | dXSARGSSV **sp = (((PerlInterpreter *)pthread_getspecific(PL_thr_key ))->Istack_sp); I32 ax = (*(((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Imarkstack_ptr)--); SV **mark = (((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Istack_base) + ax++; I32 items = (I32)(sp - mark); | |||||
1862 | ||||||
1863 | if ((items < 1) || (items > 2)) { | |||||
1864 | SWIG_croak("Usage: McastHandle_recv(self,ms);"){ Perl_sv_setpvf_nocontext(((0+((((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Ierrgv))->sv_u.svu_gp)->gp_sv),"%s %s\n" , SWIG_Perl_ErrorType(-3), "Usage: McastHandle_recv(self,ms);" ); goto fail; }; | |||||
1865 | } | |||||
1866 | res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_McastHandle, 0 | 0 )SWIG_Perl_ConvertPtr( (((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Istack_base)[ax + (0)], &argp1, swig_types [0], 0 | 0); | |||||
1867 | if (!SWIG_IsOK(res1)(res1 >= 0)) { | |||||
1868 | SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "McastHandle_recv" "', argument " "1"" of type '" "McastHandle *""'")do { Perl_sv_setpvf_nocontext(((0+((((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Ierrgv))->sv_u.svu_gp)->gp_sv),"%s %s\n" , SWIG_Perl_ErrorType(((res1 != (-1)) ? res1 : -5)), "in method '" "McastHandle_recv" "', argument " "1"" of type '" "McastHandle *" "'"); goto fail; } while(0); | |||||
1869 | } | |||||
1870 | arg1 = reinterpret_cast< McastHandle * >(argp1); | |||||
1871 | if (items > 1) { | |||||
1872 | ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2)( (((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Istack_base )[ax + (1)], &val2); | |||||
1873 | if (!SWIG_IsOK(ecode2)(ecode2 >= 0)) { | |||||
1874 | SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "McastHandle_recv" "', argument " "2"" of type '" "int""'")do { Perl_sv_setpvf_nocontext(((0+((((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Ierrgv))->sv_u.svu_gp)->gp_sv),"%s %s\n" , SWIG_Perl_ErrorType(((ecode2 != (-1)) ? ecode2 : -5)), "in method '" "McastHandle_recv" "', argument " "2"" of type '" "int""'"); goto fail; } while(0); | |||||
1875 | } | |||||
1876 | arg2 = static_cast< int >(val2); | |||||
1877 | } | |||||
1878 | result = (char *)(arg1)->recv(arg2); | |||||
1879 | ST(argvi)(((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Istack_base )[ax + (argvi)] = SWIG_FromCharPtr((const char *)result); argvi++ ; | |||||
1880 | ||||||
1881 | ||||||
1882 | XSRETURN(argvi)do { const IV tmpXSoff = (argvi); (((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Istack_sp) = (((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Istack_base) + ax + (tmpXSoff - 1); return; } while (0); | |||||
1883 | fail: | |||||
1884 | ||||||
1885 | ||||||
1886 | SWIG_croak_null()Perl_croak_nocontext(((char*)__null)); | |||||
1887 | } | |||||
1888 | } | |||||
1889 | ||||||
1890 | ||||||
1891 | XS(_wrap_McastHandle_filenum)extern "C" void _wrap_McastHandle_filenum(PerlInterpreter* my_perl , CV* cv) { | |||||
1892 | { | |||||
1893 | McastHandle *arg1 = (McastHandle *) 0 ; | |||||
1894 | int result; | |||||
1895 | void *argp1 = 0 ; | |||||
1896 | int res1 = 0 ; | |||||
1897 | int argvi = 0; | |||||
1898 | dXSARGSSV **sp = (((PerlInterpreter *)pthread_getspecific(PL_thr_key ))->Istack_sp); I32 ax = (*(((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Imarkstack_ptr)--); SV **mark = (((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Istack_base) + ax++; I32 items = (I32)(sp - mark); | |||||
1899 | ||||||
1900 | if ((items < 1) || (items > 1)) { | |||||
1901 | SWIG_croak("Usage: McastHandle_filenum(self);"){ Perl_sv_setpvf_nocontext(((0+((((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Ierrgv))->sv_u.svu_gp)->gp_sv),"%s %s\n" , SWIG_Perl_ErrorType(-3), "Usage: McastHandle_filenum(self);" ); goto fail; }; | |||||
1902 | } | |||||
1903 | res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_McastHandle, 0 | 0 )SWIG_Perl_ConvertPtr( (((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Istack_base)[ax + (0)], &argp1, swig_types [0], 0 | 0); | |||||
1904 | if (!SWIG_IsOK(res1)(res1 >= 0)) { | |||||
1905 | SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "McastHandle_filenum" "', argument " "1"" of type '" "McastHandle *""'")do { Perl_sv_setpvf_nocontext(((0+((((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Ierrgv))->sv_u.svu_gp)->gp_sv),"%s %s\n" , SWIG_Perl_ErrorType(((res1 != (-1)) ? res1 : -5)), "in method '" "McastHandle_filenum" "', argument " "1"" of type '" "McastHandle *" "'"); goto fail; } while(0); | |||||
1906 | } | |||||
1907 | arg1 = reinterpret_cast< McastHandle * >(argp1); | |||||
1908 | result = (int)(arg1)->filenum(); | |||||
1909 | ST(argvi)(((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Istack_base )[ax + (argvi)] = SWIG_From_int SWIG_PERL_CALL_ARGS_1(static_cast< int >(result))( static_cast< int >(result)); argvi++ ; | |||||
1910 | ||||||
1911 | XSRETURN(argvi)do { const IV tmpXSoff = (argvi); (((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Istack_sp) = (((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Istack_base) + ax + (tmpXSoff - 1); return; } while (0); | |||||
1912 | fail: | |||||
1913 | ||||||
1914 | SWIG_croak_null()Perl_croak_nocontext(((char*)__null)); | |||||
1915 | } | |||||
1916 | } | |||||
1917 | ||||||
1918 | ||||||
1919 | ||||||
1920 | /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */ | |||||
1921 | ||||||
1922 | static swig_type_info _swigt__p_McastHandle = {"_p_McastHandle", "McastHandle *", 0, 0, (void*)"MCAST::McastHandle", 0}; | |||||
1923 | static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0}; | |||||
1924 | ||||||
1925 | static swig_type_info *swig_type_initial[] = { | |||||
1926 | &_swigt__p_McastHandle, | |||||
1927 | &_swigt__p_char, | |||||
1928 | }; | |||||
1929 | ||||||
1930 | static swig_cast_info _swigc__p_McastHandle[] = { {&_swigt__p_McastHandle, 0, 0, 0},{0, 0, 0, 0}}; | |||||
1931 | static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}}; | |||||
1932 | ||||||
1933 | static swig_cast_info *swig_cast_initial[] = { | |||||
1934 | _swigc__p_McastHandle, | |||||
1935 | _swigc__p_char, | |||||
1936 | }; | |||||
1937 | ||||||
1938 | ||||||
1939 | /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */ | |||||
1940 | ||||||
1941 | static swig_constant_info swig_constants[] = { | |||||
1942 | {0,0,0,0,0,0} | |||||
1943 | }; | |||||
1944 | #ifdef __cplusplus199711L | |||||
1945 | } | |||||
1946 | #endif | |||||
1947 | static swig_variable_info swig_variables[] = { | |||||
1948 | {0,0,0,0} | |||||
1949 | }; | |||||
1950 | static swig_command_info swig_commands[] = { | |||||
1951 | {"MCASTc::new_McastHandle", _wrap_new_McastHandle}, | |||||
1952 | {"MCASTc::delete_McastHandle", _wrap_delete_McastHandle}, | |||||
1953 | {"MCASTc::McastHandle_send", _wrap_McastHandle_send}, | |||||
1954 | {"MCASTc::McastHandle_recv", _wrap_McastHandle_recv}, | |||||
1955 | {"MCASTc::McastHandle_filenum", _wrap_McastHandle_filenum}, | |||||
1956 | {0,0} | |||||
1957 | }; | |||||
1958 | /* ----------------------------------------------------------------------------- | |||||
1959 | * Type initialization: | |||||
1960 | * This problem is tough by the requirement that no dynamic | |||||
1961 | * memory is used. Also, since swig_type_info structures store pointers to | |||||
1962 | * swig_cast_info structures and swig_cast_info structures store pointers back | |||||
1963 | * to swig_type_info structures, we need some lookup code at initialization. | |||||
1964 | * The idea is that swig generates all the structures that are needed. | |||||
1965 | * The runtime then collects these partially filled structures. | |||||
1966 | * The SWIG_InitializeModule function takes these initial arrays out of | |||||
1967 | * swig_module, and does all the lookup, filling in the swig_module.types | |||||
1968 | * array with the correct data and linking the correct swig_cast_info | |||||
1969 | * structures together. | |||||
1970 | * | |||||
1971 | * The generated swig_type_info structures are assigned staticly to an initial | |||||
1972 | * array. We just loop through that array, and handle each type individually. | |||||
1973 | * First we lookup if this type has been already loaded, and if so, use the | |||||
1974 | * loaded structure instead of the generated one. Then we have to fill in the | |||||
1975 | * cast linked list. The cast data is initially stored in something like a | |||||
1976 | * two-dimensional array. Each row corresponds to a type (there are the same | |||||
1977 | * number of rows as there are in the swig_type_initial array). Each entry in | |||||
1978 | * a column is one of the swig_cast_info structures for that type. | |||||
1979 | * The cast_initial array is actually an array of arrays, because each row has | |||||
1980 | * a variable number of columns. So to actually build the cast linked list, | |||||
1981 | * we find the array of casts associated with the type, and loop through it | |||||
1982 | * adding the casts to the list. The one last trick we need to do is making | |||||
1983 | * sure the type pointer in the swig_cast_info struct is correct. | |||||
1984 | * | |||||
1985 | * First off, we lookup the cast->type name to see if it is already loaded. | |||||
1986 | * There are three cases to handle: | |||||
1987 | * 1) If the cast->type has already been loaded AND the type we are adding | |||||
1988 | * casting info to has not been loaded (it is in this module), THEN we | |||||
1989 | * replace the cast->type pointer with the type pointer that has already | |||||
1990 | * been loaded. | |||||
1991 | * 2) If BOTH types (the one we are adding casting info to, and the | |||||
1992 | * cast->type) are loaded, THEN the cast info has already been loaded by | |||||
1993 | * the previous module so we just ignore it. | |||||
1994 | * 3) Finally, if cast->type has not already been loaded, then we add that | |||||
1995 | * swig_cast_info to the linked list (because the cast->type) pointer will | |||||
1996 | * be correct. | |||||
1997 | * ----------------------------------------------------------------------------- */ | |||||
1998 | ||||||
1999 | #ifdef __cplusplus199711L | |||||
2000 | extern "C" { | |||||
2001 | #if 0 | |||||
2002 | } /* c-mode */ | |||||
2003 | #endif | |||||
2004 | #endif | |||||
2005 | ||||||
2006 | #if 0 | |||||
2007 | #define SWIGRUNTIME_DEBUG | |||||
2008 | #endif | |||||
2009 | ||||||
2010 | ||||||
2011 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) void | |||||
2012 | SWIG_InitializeModule(void *clientdata) { | |||||
2013 | size_t i; | |||||
2014 | swig_module_info *module_head, *iter; | |||||
2015 | int found, init; | |||||
2016 | ||||||
2017 | clientdata = clientdata; | |||||
2018 | ||||||
2019 | /* check to see if the circular list has been setup, if not, set it up */ | |||||
2020 | if (swig_module.next==0) { | |||||
2021 | /* Initialize the swig_module */ | |||||
2022 | swig_module.type_initial = swig_type_initial; | |||||
2023 | swig_module.cast_initial = swig_cast_initial; | |||||
2024 | swig_module.next = &swig_module; | |||||
2025 | init = 1; | |||||
2026 | } else { | |||||
2027 | init = 0; | |||||
2028 | } | |||||
2029 | ||||||
2030 | /* Try and load any already created modules */ | |||||
2031 | module_head = SWIG_GetModule(clientdata)SWIG_Perl_GetModule(); | |||||
2032 | if (!module_head) { | |||||
2033 | /* This is the first module loaded for this interpreter */ | |||||
2034 | /* so set the swig module into the interpreter */ | |||||
2035 | SWIG_SetModule(clientdata, &swig_module)SWIG_Perl_SetModule(&swig_module); | |||||
2036 | module_head = &swig_module; | |||||
2037 | } else { | |||||
2038 | /* the interpreter has loaded a SWIG module, but has it loaded this one? */ | |||||
2039 | found=0; | |||||
2040 | iter=module_head; | |||||
2041 | do { | |||||
2042 | if (iter==&swig_module) { | |||||
2043 | found=1; | |||||
2044 | break; | |||||
2045 | } | |||||
2046 | iter=iter->next; | |||||
2047 | } while (iter!= module_head); | |||||
2048 | ||||||
2049 | /* if the is found in the list, then all is done and we may leave */ | |||||
2050 | if (found) return; | |||||
2051 | /* otherwise we must add out module into the list */ | |||||
2052 | swig_module.next = module_head->next; | |||||
2053 | module_head->next = &swig_module; | |||||
2054 | } | |||||
2055 | ||||||
2056 | /* When multiple interpeters are used, a module could have already been initialized in | |||||
2057 | a different interpreter, but not yet have a pointer in this interpreter. | |||||
2058 | In this case, we do not want to continue adding types... everything should be | |||||
2059 | set up already */ | |||||
2060 | if (init == 0) return; | |||||
2061 | ||||||
2062 | /* Now work on filling in swig_module.types */ | |||||
2063 | #ifdef SWIGRUNTIME_DEBUG | |||||
2064 | printf("SWIG_InitializeModule: size %d\n", swig_module.size); | |||||
2065 | #endif | |||||
2066 | for (i = 0; i < swig_module.size; ++i) { | |||||
2067 | swig_type_info *type = 0; | |||||
2068 | swig_type_info *ret; | |||||
2069 | swig_cast_info *cast; | |||||
2070 | ||||||
2071 | #ifdef SWIGRUNTIME_DEBUG | |||||
2072 | printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name); | |||||
2073 | #endif | |||||
2074 | ||||||
2075 | /* if there is another module already loaded */ | |||||
2076 | if (swig_module.next != &swig_module) { | |||||
2077 | type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name); | |||||
2078 | } | |||||
2079 | if (type) { | |||||
2080 | /* Overwrite clientdata field */ | |||||
2081 | #ifdef SWIGRUNTIME_DEBUG | |||||
2082 | printf("SWIG_InitializeModule: found type %s\n", type->name); | |||||
2083 | #endif | |||||
2084 | if (swig_module.type_initial[i]->clientdata) { | |||||
2085 | type->clientdata = swig_module.type_initial[i]->clientdata; | |||||
2086 | #ifdef SWIGRUNTIME_DEBUG | |||||
2087 | printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name); | |||||
2088 | #endif | |||||
2089 | } | |||||
2090 | } else { | |||||
2091 | type = swig_module.type_initial[i]; | |||||
2092 | } | |||||
2093 | ||||||
2094 | /* Insert casting types */ | |||||
2095 | cast = swig_module.cast_initial[i]; | |||||
2096 | while (cast->type) { | |||||
2097 | /* Don't need to add information already in the list */ | |||||
2098 | ret = 0; | |||||
2099 | #ifdef SWIGRUNTIME_DEBUG | |||||
2100 | printf("SWIG_InitializeModule: look cast %s\n", cast->type->name); | |||||
2101 | #endif | |||||
2102 | if (swig_module.next != &swig_module) { | |||||
2103 | ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name); | |||||
2104 | #ifdef SWIGRUNTIME_DEBUG | |||||
2105 | if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name); | |||||
2106 | #endif | |||||
2107 | } | |||||
2108 | if (ret) { | |||||
2109 | if (type == swig_module.type_initial[i]) { | |||||
2110 | #ifdef SWIGRUNTIME_DEBUG | |||||
2111 | printf("SWIG_InitializeModule: skip old type %s\n", ret->name); | |||||
2112 | #endif | |||||
2113 | cast->type = ret; | |||||
2114 | ret = 0; | |||||
2115 | } else { | |||||
2116 | /* Check for casting already in the list */ | |||||
2117 | swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type); | |||||
2118 | #ifdef SWIGRUNTIME_DEBUG | |||||
2119 | if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name); | |||||
2120 | #endif | |||||
2121 | if (!ocast) ret = 0; | |||||
2122 | } | |||||
2123 | } | |||||
2124 | ||||||
2125 | if (!ret) { | |||||
2126 | #ifdef SWIGRUNTIME_DEBUG | |||||
2127 | printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name); | |||||
2128 | #endif | |||||
2129 | if (type->cast) { | |||||
2130 | type->cast->prev = cast; | |||||
2131 | cast->next = type->cast; | |||||
2132 | } | |||||
2133 | type->cast = cast; | |||||
2134 | } | |||||
2135 | cast++; | |||||
2136 | } | |||||
2137 | /* Set entry in modules->types array equal to the type */ | |||||
2138 | swig_module.types[i] = type; | |||||
2139 | } | |||||
2140 | swig_module.types[i] = 0; | |||||
2141 | ||||||
2142 | #ifdef SWIGRUNTIME_DEBUG | |||||
2143 | printf("**** SWIG_InitializeModule: Cast List ******\n"); | |||||
2144 | for (i = 0; i < swig_module.size; ++i) { | |||||
2145 | int j = 0; | |||||
2146 | swig_cast_info *cast = swig_module.cast_initial[i]; | |||||
2147 | printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name); | |||||
2148 | while (cast->type) { | |||||
2149 | printf("SWIG_InitializeModule: cast type %s\n", cast->type->name); | |||||
2150 | cast++; | |||||
2151 | ++j; | |||||
2152 | } | |||||
2153 | printf("---- Total casts: %d\n",j); | |||||
2154 | } | |||||
2155 | printf("**** SWIG_InitializeModule: Cast List ******\n"); | |||||
2156 | #endif | |||||
2157 | } | |||||
2158 | ||||||
2159 | /* This function will propagate the clientdata field of type to | |||||
2160 | * any new swig_type_info structures that have been added into the list | |||||
2161 | * of equivalent types. It is like calling | |||||
2162 | * SWIG_TypeClientData(type, clientdata) a second time. | |||||
2163 | */ | |||||
2164 | SWIGRUNTIMEstatic __attribute__ ((__unused__)) void | |||||
2165 | SWIG_PropagateClientData(void) { | |||||
2166 | size_t i; | |||||
2167 | swig_cast_info *equiv; | |||||
2168 | static int init_run = 0; | |||||
2169 | ||||||
2170 | if (init_run) return; | |||||
2171 | init_run = 1; | |||||
2172 | ||||||
2173 | for (i = 0; i < swig_module.size; i++) { | |||||
2174 | if (swig_module.types[i]->clientdata) { | |||||
2175 | equiv = swig_module.types[i]->cast; | |||||
2176 | while (equiv) { | |||||
2177 | if (!equiv->converter) { | |||||
2178 | if (equiv->type && !equiv->type->clientdata) | |||||
2179 | SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata); | |||||
2180 | } | |||||
2181 | equiv = equiv->next; | |||||
2182 | } | |||||
2183 | } | |||||
2184 | } | |||||
2185 | } | |||||
2186 | ||||||
2187 | #ifdef __cplusplus199711L | |||||
2188 | #if 0 | |||||
2189 | { | |||||
2190 | /* c-mode */ | |||||
2191 | #endif | |||||
2192 | } | |||||
2193 | #endif | |||||
2194 | ||||||
2195 | ||||||
2196 | ||||||
2197 | #ifdef __cplusplus199711L | |||||
2198 | extern "C" | |||||
2199 | #endif | |||||
2200 | ||||||
2201 | XS(SWIG_init)extern "C" void boot_MCAST(PerlInterpreter* my_perl , CV* cv) { | |||||
2202 | dXSARGSSV **sp = (((PerlInterpreter *)pthread_getspecific(PL_thr_key ))->Istack_sp); I32 ax = (*(((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Imarkstack_ptr)--); SV **mark = (((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Istack_base) + ax++; I32 items = (I32)(sp - mark); | |||||
2203 | int i; | |||||
2204 | ||||||
2205 | SWIG_InitializeModule(0); | |||||
2206 | ||||||
2207 | /* Install commands */ | |||||
2208 | for (i = 0; swig_commands[i].name; i++) { | |||||
2209 | newXS((char*) swig_commands[i].name,swig_commands[i].wrapper, (char*)__FILE__)Perl_newXS(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), (char*) swig_commands[i].name,swig_commands[i].wrapper,(char *)"mcast/mcast_wrap.cpp"); | |||||
2210 | } | |||||
2211 | ||||||
2212 | /* Install variables */ | |||||
2213 | for (i = 0; swig_variables[i].name; i++) { | |||||
2214 | SV *sv; | |||||
2215 | sv = get_sv((char*) swig_variables[i].name, TRUE | 0x2 | GV_ADDMULTI)Perl_get_sv(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), (char*) swig_variables[i].name,(1) | 0x2 | 0x02); | |||||
2216 | if (swig_variables[i].type) { | |||||
2217 | SWIG_MakePtr(sv,(void *)1, *swig_variables[i].type,0)SWIG_Perl_MakePtr( sv, (void *)1, *swig_variables[i].type, 0); | |||||
2218 | } else { | |||||
2219 | sv_setiv(sv,(IV) 0)Perl_sv_setiv(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), sv,(IV) 0); | |||||
2220 | } | |||||
2221 | swig_create_magic(sv, (char *) swig_variables[i].name, swig_variables[i].set, swig_variables[i].get)_swig_create_magic(sv,(char *) swig_variables[i].name,swig_variables [i].set,swig_variables[i].get); | |||||
2222 | } | |||||
2223 | ||||||
2224 | /* Install constant */ | |||||
2225 | for (i = 0; swig_constants[i].type; i++) { | |||||
2226 | SV *sv; | |||||
2227 | sv = get_sv((char*)swig_constants[i].name, TRUE | 0x2 | GV_ADDMULTI)Perl_get_sv(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), (char*)swig_constants[i].name,(1) | 0x2 | 0x02); | |||||
2228 | switch(swig_constants[i].type) { | |||||
2229 | case SWIG_INT1: | |||||
2230 | sv_setiv(sv, (IV) swig_constants[i].lvalue)Perl_sv_setiv(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), sv,(IV) swig_constants[i].lvalue); | |||||
2231 | break; | |||||
2232 | case SWIG_FLOAT2: | |||||
2233 | sv_setnv(sv, (double) swig_constants[i].dvalue)Perl_sv_setnv(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), sv,(double) swig_constants[i].dvalue); | |||||
2234 | break; | |||||
2235 | case SWIG_STRING3: | |||||
2236 | sv_setpv(sv, (char *) swig_constants[i].pvalue)Perl_sv_setpv(((PerlInterpreter *)pthread_getspecific(PL_thr_key )), sv,(char *) swig_constants[i].pvalue); | |||||
2237 | break; | |||||
2238 | case SWIG_POINTER4: | |||||
2239 | SWIG_MakePtr(sv, swig_constants[i].pvalue, *(swig_constants[i].ptype),0)SWIG_Perl_MakePtr( sv, swig_constants[i].pvalue, *(swig_constants [i].ptype), 0); | |||||
2240 | break; | |||||
2241 | case SWIG_BINARY5: | |||||
2242 | SWIG_MakePackedObj(sv, swig_constants[i].pvalue, swig_constants[i].lvalue, *(swig_constants[i].ptype))SWIG_Perl_MakePackedObj( sv, swig_constants[i].pvalue, swig_constants [i].lvalue, *(swig_constants[i].ptype)); | |||||
2243 | break; | |||||
2244 | default: | |||||
2245 | break; | |||||
2246 | } | |||||
2247 | SvREADONLY_on(sv)((sv)->sv_flags |= 0x08000000); | |||||
2248 | } | |||||
2249 | ||||||
2250 | SWIG_TypeClientData(SWIGTYPE_p_McastHandleswig_types[0], (void*) "MCAST::McastHandle"); | |||||
2251 | ST(0)(((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Istack_base )[ax + (0)] = &PL_sv_yes(((PerlInterpreter *)pthread_getspecific(PL_thr_key))->Isv_yes ); | |||||
2252 | XSRETURN(1)do { const IV tmpXSoff = (1); (((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Istack_sp) = (((PerlInterpreter *)pthread_getspecific (PL_thr_key))->Istack_base) + ax + (tmpXSoff - 1); return; } while (0); | |||||
2253 | } | |||||
2254 |