File: | src/mod/endpoints/mod_verto/mcast/mcast_wrap.cpp |
Location: | line 2036, column 5 |
Description: | Value stored to 'module_head' is never read |
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; |
Value stored to 'module_head' is never read | |
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 |