diff --git a/src/mod/languages/mod_perl/Makefile b/src/mod/languages/mod_perl/Makefile deleted file mode 100644 index 73771bc2a1..0000000000 --- a/src/mod/languages/mod_perl/Makefile +++ /dev/null @@ -1,47 +0,0 @@ -# define these targets in your makefile if you wish -# local_all local_depend local_clean depend_install local_install local_distclean local_extraclean: - -# and define these variables to impact your build - -PERL = `which perl` -PERL_LIBDIR =-L$(shell perl -MConfig -e 'print $$Config{archlib}')/CORE -PERL_LIBS =$(shell perl -MConfig -e 'print $$Config{libs}') - -LOCAL_CFLAGS=-w -DMULTIPLICITY $(shell $(PERL) -MExtUtils::Embed -e ccopts) -DEMBED_PERL -LOCAL_LDFLAGS=$(shell $(PERL) -MExtUtils::Embed -e ldopts) $(shell $(PERL) -MConfig -e 'print $$Config{libs}') -LOCAL_OBJS=perlxsi.o -include ../../../../build/modmake.rules - - -SWIGCFILE=../../../switch_swig.c -SWIGIFILE=../../../switch_swig.i - - - -local_all: fs_perl.$(DYNAMIC_LIB_EXTEN) - -.perlok: - @(${PERL} -V | grep -i usemultiplicity=define >/dev/null && echo Phew, You have the right perl.) \ - || ((echo Sorry, you need to compile perl with threads and multiplicity.&& exit 1)) - @touch .perlok - -reswig: - rm switch_swig_wrap.c - swig -o switch_swig_wrap.c -l$(SWIGIFILE) -ignoremissing -DMULTIPLICITY -perl5 -module fs_perl $(SWIGCFILE) - -switch_swig.o: $(SWIGCFILE) Makefile - $(CC) -w $(ALL_CFLAGS) -c $< -o $@ - -switch_swig_wrap.o: switch_swig_wrap.c - $(CC) -w $(ALL_CFLAGS) -c $< -o $@ - -fs_perl.$(DYNAMIC_LIB_EXTEN): $(MODNAME).$(DYNAMIC_LIB_EXTEN) switch_swig_wrap.o switch_swig.o - $(LINK) $(SOLINK) -o fs_perl.$(DYNAMIC_LIB_EXTEN) switch_swig_wrap.o switch_swig.o $(LDFLAGS) - -local_clean: - rm -fr *~ .perlok - -depend_install: - mkdir -p $(PREFIX)/perl - $(LTINSTALL) fs_perl.$(DYNAMIC_LIB_EXTEN) fs_perl.pm $(PREFIX)/perl - if [ ! -f $(PREFIX)/perl/freeswitch.pm ] ; then $(LTINSTALL) freeswitch.pm $(PREFIX)/perl ; fi diff --git a/src/mod/languages/mod_perl/compiler.opts b/src/mod/languages/mod_perl/compiler.opts deleted file mode 100644 index e5f81c4039..0000000000 --- a/src/mod/languages/mod_perl/compiler.opts +++ /dev/null @@ -1 +0,0 @@ -/IC:\perl\lib\CORE \ No newline at end of file diff --git a/src/mod/languages/mod_perl/compiler.opts.in b/src/mod/languages/mod_perl/compiler.opts.in deleted file mode 100644 index 61b705b080..0000000000 --- a/src/mod/languages/mod_perl/compiler.opts.in +++ /dev/null @@ -1 +0,0 @@ -/I@PERL_INCLUDE@ \ No newline at end of file diff --git a/src/mod/languages/mod_perl/freeswitch.pm b/src/mod/languages/mod_perl/freeswitch.pm deleted file mode 100644 index 784cf29ddc..0000000000 --- a/src/mod/languages/mod_perl/freeswitch.pm +++ /dev/null @@ -1,11 +0,0 @@ -package fs_perl; -use Data::Dumper; - -sub wazzup() { - fs_console_log("WOOHOO!\n"); - $session = fs_core_session_locate($SWITCH_ENV{UUID}); - fs_channel_answer($session); - fs_ivr_play_file($session, "/root/siriusraw.raw", ""); -} - -1; diff --git a/src/mod/languages/mod_perl/fs_perl.pm b/src/mod/languages/mod_perl/fs_perl.pm deleted file mode 100644 index cae70a4c6c..0000000000 --- a/src/mod/languages/mod_perl/fs_perl.pm +++ /dev/null @@ -1,83 +0,0 @@ -# This file was automatically generated by SWIG -package fs_perl; -require Exporter; -require DynaLoader; -@ISA = qw(Exporter DynaLoader); -package fs_perlc; -bootstrap fs_perl; -package fs_perl; -@EXPORT = qw( ); - -# ---------- BASE METHODS ------------- - -package fs_perl; - -sub TIEHASH { - my ($classname,$obj) = @_; - return bless $obj, $classname; -} - -sub CLEAR { } - -sub FIRSTKEY { } - -sub NEXTKEY { } - -sub FETCH { - my ($self,$field) = @_; - my $member_func = "swig_${field}_get"; - $self->$member_func(); -} - -sub STORE { - my ($self,$field,$newval) = @_; - my $member_func = "swig_${field}_set"; - $self->$member_func($newval); -} - -sub this { - my $ptr = shift; - return tied(%$ptr); -} - - -# ------- FUNCTION WRAPPERS -------- - -package fs_perl; - -*fs_core_set_globals = *fs_perlc::fs_core_set_globals; -*fs_core_init = *fs_perlc::fs_core_init; -*fs_core_destroy = *fs_perlc::fs_core_destroy; -*fs_loadable_module_init = *fs_perlc::fs_loadable_module_init; -*fs_loadable_module_shutdown = *fs_perlc::fs_loadable_module_shutdown; -*fs_console_loop = *fs_perlc::fs_console_loop; -*fs_consol_log = *fs_perlc::fs_consol_log; -*fs_consol_clean = *fs_perlc::fs_consol_clean; -*fs_core_session_locate = *fs_perlc::fs_core_session_locate; -*fs_channel_answer = *fs_perlc::fs_channel_answer; -*fs_channel_pre_answer = *fs_perlc::fs_channel_pre_answer; -*fs_channel_hangup = *fs_perlc::fs_channel_hangup; -*fs_channel_set_variable = *fs_perlc::fs_channel_set_variable; -*fs_channel_get_variable = *fs_perlc::fs_channel_get_variable; -*fs_channel_set_state = *fs_perlc::fs_channel_set_state; -*fs_ivr_play_file = *fs_perlc::fs_ivr_play_file; -*fs_switch_ivr_record_file = *fs_perlc::fs_switch_ivr_record_file; -*fs_switch_ivr_sleep = *fs_perlc::fs_switch_ivr_sleep; -*fs_ivr_play_file2 = *fs_perlc::fs_ivr_play_file2; -*fs_switch_ivr_collect_digits_callback = *fs_perlc::fs_switch_ivr_collect_digits_callback; -*fs_switch_ivr_collect_digits_count = *fs_perlc::fs_switch_ivr_collect_digits_count; -*fs_switch_ivr_originate = *fs_perlc::fs_switch_ivr_originate; -*fs_switch_ivr_session_transfer = *fs_perlc::fs_switch_ivr_session_transfer; -*fs_switch_ivr_speak_text = *fs_perlc::fs_switch_ivr_speak_text; -*fs_switch_channel_get_variable = *fs_perlc::fs_switch_channel_get_variable; -*fs_switch_channel_set_variable = *fs_perlc::fs_switch_channel_set_variable; - -# ------- VARIABLE STUBS -------- - -package fs_perl; - -*FREESWITCH_PEN = *fs_perlc::FREESWITCH_PEN; -*FREESWITCH_OID_PREFIX = *fs_perlc::FREESWITCH_OID_PREFIX; -*FREESWITCH_ITAD = *fs_perlc::FREESWITCH_ITAD; -*__EXTENSIONS__ = *fs_perlc::__EXTENSIONS__; -1; diff --git a/src/mod/languages/mod_perl/fs_perl.vcproj b/src/mod/languages/mod_perl/fs_perl.vcproj deleted file mode 100644 index 07a5130355..0000000000 --- a/src/mod/languages/mod_perl/fs_perl.vcproj +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/mod/languages/mod_perl/mod_perl.c b/src/mod/languages/mod_perl/mod_perl.c deleted file mode 100644 index e9759b2e5b..0000000000 --- a/src/mod/languages/mod_perl/mod_perl.c +++ /dev/null @@ -1,131 +0,0 @@ -/* - * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * Copyright (C) 2005/2006, Anthony Minessale II - * - * Version: MPL 1.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - * - * The Initial Developer of the Original Code is - * Anthony Minessale II - * Portions created by the Initial Developer are Copyright (C) - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Anthony Minessale II - * - * - * mod_perl.c -- Perl - * - */ -#ifdef __ICC -#pragma warning (disable:1419) -#endif -#ifdef _MSC_VER -#include -#pragma comment(lib, PERL_LIB) -#endif - -#include -#include -#include -static char *embedding[] = { "", "-e", "" }; -EXTERN_C void xs_init(pTHX); - -SWITCH_MODULE_LOAD_FUNCTION(mod_perl_load); -SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_perl_shutdown); -SWITCH_MODULE_DEFINITION(mod_perl, mod_perl_load, mod_perl_shutdown, NULL); - -static struct { - PerlInterpreter *my_perl; -} globals; - - -static void destroy_perl(PerlInterpreter ** to_destroy) -{ - perl_destruct(*to_destroy); - perl_free(*to_destroy); - *to_destroy = NULL; -} - -static PerlInterpreter *clone_perl(void) -{ - return perl_clone(globals.my_perl, CLONEf_COPY_STACKS | CLONEf_KEEP_PTR_TABLE); -} - - -static void perl_function(switch_core_session_t *session, char *data) -{ - char *uuid = switch_core_session_get_uuid(session); - char code[1024]; - PerlInterpreter *my_perl = clone_perl(); - sprintf(code, "package fs_perl;\n" "$SWITCH_ENV{UUID} = \"%s\";\n" "chdir(\"%s/perl\");\n", uuid, SWITCH_GLOBAL_dirs.base_dir); - - Perl_eval_pv(my_perl, code, TRUE); - - - Perl_eval_pv(my_perl, data, TRUE); - destroy_perl(&my_perl); -} - -SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_perl_shutdown) -{ - if (globals.my_perl) { - perl_destruct(globals.my_perl); - perl_free(globals.my_perl); - globals.my_perl = NULL; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Unallocated perl interpreter.\n"); - } - return SWITCH_STATUS_SUCCESS; -} - -SWITCH_MODULE_LOAD_FUNCTION(mod_perl_load) -{ - switch_application_interface_t *app_interface; - PerlInterpreter *my_perl; - char code[1024]; - - if (!(my_perl = perl_alloc())) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Could not allocate perl intrepreter\n"); - return SWITCH_STATUS_MEMERR; - } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Allocated perl intrepreter.\n"); - - PERL_SET_CONTEXT(my_perl); - perl_construct(my_perl); - perl_parse(my_perl, xs_init, 3, embedding, NULL); - perl_run(my_perl); - globals.my_perl = my_perl; - sprintf(code, "use lib '%s/perl';use fs_perl;use freeswitch\n", SWITCH_GLOBAL_dirs.base_dir); - Perl_eval_pv(my_perl, code, TRUE); - - - /* connect my internal structure to the blank pointer passed to me */ - *module_interface = switch_loadable_module_create_module_interface(pool, modname); - SWITCH_ADD_APP(app_interface, "perl", NULL, NULL, perl_function, NULL, SAF_NONE); - - /* indicate that the module should continue to be loaded */ - return SWITCH_STATUS_SUCCESS; -} - -/* For Emacs: - * Local Variables: - * mode:c - * indent-tabs-mode:t - * tab-width:4 - * c-basic-offset:4 - * End: - * For VIM: - * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab: - */ diff --git a/src/mod/languages/mod_perl/mod_perl.vcproj b/src/mod/languages/mod_perl/mod_perl.vcproj deleted file mode 100644 index 7eb83a8b77..0000000000 --- a/src/mod/languages/mod_perl/mod_perl.vcproj +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/mod/languages/mod_perl/perlibs.h b/src/mod/languages/mod_perl/perlibs.h deleted file mode 100644 index 114bfd42f9..0000000000 --- a/src/mod/languages/mod_perl/perlibs.h +++ /dev/null @@ -1 +0,0 @@ -#define PERL_LIB "C:\\perl\\lib\\CORE\\perl58.lib" diff --git a/src/mod/languages/mod_perl/perlibs.h.in b/src/mod/languages/mod_perl/perlibs.h.in deleted file mode 100644 index 6aa25587d3..0000000000 --- a/src/mod/languages/mod_perl/perlibs.h.in +++ /dev/null @@ -1 +0,0 @@ -#define PERL_LIB "@PERL_LIB@" diff --git a/src/mod/languages/mod_perl/perlxsi.c b/src/mod/languages/mod_perl/perlxsi.c deleted file mode 100644 index 51aea72065..0000000000 --- a/src/mod/languages/mod_perl/perlxsi.c +++ /dev/null @@ -1,18 +0,0 @@ -#ifdef __ICC -#pragma warning (disable:1419) -#endif -#include -#include - -EXTERN_C void xs_init(pTHX); - -EXTERN_C void boot_DynaLoader(pTHX_ CV * cv); - -EXTERN_C void xs_init(pTHX) -{ - char *file = __FILE__; - dXSUB_SYS; - - /* DynaLoader is a special case */ - newXS("DynaLoader::boot_DynaLoader", boot_DynaLoader, file); -} diff --git a/src/mod/languages/mod_perl/switch_swig_wrap.c b/src/mod/languages/mod_perl/switch_swig_wrap.c deleted file mode 100644 index 9a1a2ceab6..0000000000 --- a/src/mod/languages/mod_perl/switch_swig_wrap.c +++ /dev/null @@ -1,1754 +0,0 @@ -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.21 - * - * This file is not intended to be easily readable and contains a number of - * coding conventions designed to improve portability and efficiency. Do not make - * changes to this file unless you know what you are doing--modify the SWIG - * interface file instead. - * ----------------------------------------------------------------------------- */ - -/*************************************************************** -*- c -*- - * perl5/precommon.swg - * - * Rename all exported symbols from common.swg, to avoid symbol - * clashes if multiple interpreters are included - * - ************************************************************************/ -#include "switch.h" -#define SWIG_TypeRegister SWIG_Perl_TypeRegister -#define SWIG_TypeCheck SWIG_Perl_TypeCheck -#define SWIG_TypeCast SWIG_Perl_TypeCast -#define SWIG_TypeDynamicCast SWIG_Perl_TypeDynamicCast -#define SWIG_TypeName SWIG_Perl_TypeName -#define SWIG_TypeQuery SWIG_Perl_TypeQuery -#define SWIG_TypeClientData SWIG_Perl_TypeClientData -#define SWIG_PackData SWIG_Perl_PackData -#define SWIG_UnpackData SWIG_Perl_UnpackData - - -/*********************************************************************** - * common.swg - * - * This file contains generic SWIG runtime support for pointer - * type checking as well as a few commonly used macros to control - * external linkage. - * - * Author : David Beazley (beazley@cs.uchicago.edu) - * - * Copyright (c) 1999-2000, The University of Chicago - * - * This file may be freely redistributed without license or fee provided - * this copyright message remains intact. - ************************************************************************/ - -#include - -#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) -# if defined(_MSC_VER) || defined(__GNUC__) -# if defined(STATIC_LINKED) -# define SWIGEXPORT(a) a -# define SWIGIMPORT(a) extern a -# else -# define SWIGEXPORT(a) __declspec(dllexport) a -# define SWIGIMPORT(a) extern a -# endif -# else -# if defined(__BORLANDC__) -# define SWIGEXPORT(a) a _export -# define SWIGIMPORT(a) a _export -# else -# define SWIGEXPORT(a) a -# define SWIGIMPORT(a) a -# endif -# endif -#else -# define SWIGEXPORT(a) a -# define SWIGIMPORT(a) a -#endif - -#ifdef SWIG_GLOBAL -# define SWIGRUNTIME(a) SWIGEXPORT(a) -#else -# define SWIGRUNTIME(a) static a -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -typedef void *(*swig_converter_func)(void *); -typedef struct swig_type_info *(*swig_dycast_func)(void **); - -typedef struct swig_type_info { - const char *name; - swig_converter_func converter; - const char *str; - void *clientdata; - swig_dycast_func dcast; - struct swig_type_info *next; - struct swig_type_info *prev; -} swig_type_info; - -#ifdef SWIG_NOINCLUDE - -SWIGIMPORT(swig_type_info *) SWIG_TypeRegister(swig_type_info *); -SWIGIMPORT(swig_type_info *) SWIG_TypeCheck(char *c, swig_type_info *); -SWIGIMPORT(void *) SWIG_TypeCast(swig_type_info *, void *); -SWIGIMPORT(swig_type_info *) SWIG_TypeDynamicCast(swig_type_info *, void **); -SWIGIMPORT(const char *) SWIG_TypeName(const swig_type_info *); -SWIGIMPORT(swig_type_info *) SWIG_TypeQuery(const char *); -SWIGIMPORT(void) SWIG_TypeClientData(swig_type_info *, void *); -SWIGIMPORT(char *) SWIG_PackData(char *, void *, int); -SWIGIMPORT(char *) SWIG_UnpackData(char *, void *, int); - -#else - -static swig_type_info *swig_type_list = 0; - -/* Register a type mapping with the type-checking */ -SWIGRUNTIME(swig_type_info *) -SWIG_TypeRegister(swig_type_info *ti) { - swig_type_info *tc, *head, *ret, *next; - /* Check to see if this type has already been registered */ - tc = swig_type_list; - while (tc) { - if (strcmp(tc->name, ti->name) == 0) { - /* Already exists in the table. Just add additional types to the list */ - if (tc->clientdata) ti->clientdata = tc->clientdata; - head = tc; - next = tc->next; - goto l1; - } - tc = tc->prev; - } - head = ti; - next = 0; - - /* Place in list */ - ti->prev = swig_type_list; - swig_type_list = ti; - - /* Build linked lists */ - l1: - ret = head; - tc = ti + 1; - /* Patch up the rest of the links */ - while (tc->name) { - head->next = tc; - tc->prev = head; - head = tc; - tc++; - } - if (next) next->prev = head; - head->next = next; - return ret; -} - -/* Check the typename */ -SWIGRUNTIME(swig_type_info *) -SWIG_TypeCheck(char *c, swig_type_info *ty) { - swig_type_info *s; - if (!ty) return 0; /* Void pointer */ - s = ty->next; /* First element always just a name */ - do { - if (strcmp(s->name,c) == 0) { - if (s == ty->next) return s; - /* Move s to the top of the linked list */ - s->prev->next = s->next; - if (s->next) { - s->next->prev = s->prev; - } - /* Insert s as second element in the list */ - s->next = ty->next; - if (ty->next) ty->next->prev = s; - ty->next = s; - s->prev = ty; - return s; - } - s = s->next; - } while (s && (s != ty->next)); - return 0; -} - -/* Cast a pointer up an inheritance hierarchy */ -SWIGRUNTIME(void *) -SWIG_TypeCast(swig_type_info *ty, void *ptr) { - if ((!ty) || (!ty->converter)) return ptr; - return (*ty->converter)(ptr); -} - -/* Dynamic pointer casting. Down an inheritance hierarchy */ -SWIGRUNTIME(swig_type_info *) -SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) { - swig_type_info *lastty = ty; - if (!ty || !ty->dcast) return ty; - while (ty && (ty->dcast)) { - ty = (*ty->dcast)(ptr); - if (ty) lastty = ty; - } - return lastty; -} - -/* Return the name associated with this type */ -SWIGRUNTIME(const char *) -SWIG_TypeName(const swig_type_info *ty) { - return ty->name; -} - -/* Search for a swig_type_info structure */ -SWIGRUNTIME(swig_type_info *) -SWIG_TypeQuery(const char *name) { - swig_type_info *ty = swig_type_list; - while (ty) { - if (ty->str && (strcmp(name,ty->str) == 0)) return ty; - if (ty->name && (strcmp(name,ty->name) == 0)) return ty; - ty = ty->prev; - } - return 0; -} - -/* Set the clientdata field for a type */ -SWIGRUNTIME(void) -SWIG_TypeClientData(swig_type_info *ti, void *clientdata) { - swig_type_info *tc, *equiv; - if (ti->clientdata == clientdata) return; - ti->clientdata = clientdata; - equiv = ti->next; - while (equiv) { - if (!equiv->converter) { - tc = swig_type_list; - while (tc) { - if ((strcmp(tc->name, equiv->name) == 0)) - SWIG_TypeClientData(tc,clientdata); - tc = tc->prev; - } - } - equiv = equiv->next; - } -} - -/* Pack binary data into a string */ -SWIGRUNTIME(char *) -SWIG_PackData(char *c, void *ptr, int sz) { - static char hex[17] = "0123456789abcdef"; - int i; - unsigned char *u = (unsigned char *) ptr; - register unsigned char uu; - for (i = 0; i < sz; i++,u++) { - uu = *u; - *(c++) = hex[(uu & 0xf0) >> 4]; - *(c++) = hex[uu & 0xf]; - } - return c; -} - -/* Unpack binary data from a string */ -SWIGRUNTIME(char *) -SWIG_UnpackData(char *c, void *ptr, int sz) { - register unsigned char uu = 0; - register int d; - unsigned char *u = (unsigned char *) ptr; - int i; - for (i = 0; i < sz; i++, u++) { - d = *(c++); - if ((d >= '0') && (d <= '9')) - uu = ((d - '0') << 4); - else if ((d >= 'a') && (d <= 'f')) - uu = ((d - ('a'-10)) << 4); - d = *(c++); - if ((d >= '0') && (d <= '9')) - uu |= (d - '0'); - else if ((d >= 'a') && (d <= 'f')) - uu |= (d - ('a'-10)); - *u = uu; - } - return c; -} - -#endif - -#ifdef __cplusplus -} -#endif - -/* ---------------------------------------------------------------------- -*- c -*- - * perl5.swg - * - * Perl5 runtime library - * $Header: /cvsroot/SWIG/Lib/perl5/perlrun.swg,v 1.14 2003/12/04 19:14:14 beazley Exp $ - * ----------------------------------------------------------------------------- */ - -#define SWIGPERL -#define SWIGPERL5 -#ifdef __cplusplus -/* Needed on some windows machines---since MS plays funny games with the header files under C++ */ -#include -#include -extern "C" { -#endif -#include "EXTERN.h" -#include "perl.h" -#include "XSUB.h" - -/* Get rid of free and malloc defined by perl */ -#undef free -#undef malloc - -#ifndef pTHX_ -#define pTHX_ -#endif - -#include -#ifdef __cplusplus -} -#endif - -/* Macro to call an XS function */ - -#ifdef PERL_OBJECT -# define SWIG_CALLXS(_name) _name(cv,pPerl) -#else -# ifndef MULTIPLICITY -# define SWIG_CALLXS(_name) _name(cv) -# else -# define SWIG_CALLXS(_name) _name(PERL_GET_THX, cv) -# endif -#endif - -/* Contract support */ - -#define SWIG_contract_assert(expr,msg) if (!(expr)) { SWIG_croak(msg); } else - -/* Note: SwigMagicFuncHack is a typedef used to get the C++ compiler to just shut up already */ - -#ifdef PERL_OBJECT -#define MAGIC_PPERL CPerlObj *pPerl = (CPerlObj *) this; -typedef int (CPerlObj::*SwigMagicFunc)(SV *, MAGIC *); - -#ifdef __cplusplus -extern "C" { -#endif -typedef int (CPerlObj::*SwigMagicFuncHack)(SV *, MAGIC *); -#ifdef __cplusplus -} -#endif - -#define SWIG_MAGIC(a,b) (SV *a, MAGIC *b) -#define SWIGCLASS_STATIC -#else -#define MAGIC_PPERL -#define SWIGCLASS_STATIC static -#ifndef MULTIPLICITY -#define SWIG_MAGIC(a,b) (SV *a, MAGIC *b) -typedef int (*SwigMagicFunc)(SV *, MAGIC *); - -#ifdef __cplusplus -extern "C" { -#endif -typedef int (*SwigMagicFuncHack)(SV *, MAGIC *); -#ifdef __cplusplus -} -#endif - - -#else -#define SWIG_MAGIC(a,b) (struct interpreter *interp, SV *a, MAGIC *b) -typedef int (*SwigMagicFunc)(struct interpreter *, SV *, MAGIC *); -#ifdef __cplusplus -extern "C" { -#endif -typedef int (*SwigMagicFuncHack)(struct interpreter *, SV *, MAGIC *); -#ifdef __cplusplus -} -#endif - -#endif -#endif - -#if defined(WIN32) && defined(PERL_OBJECT) && !defined(PerlIO_exportFILE) -#define PerlIO_exportFILE(fh,fl) (FILE*)(fh) -#endif - -/* Modifications for newer Perl 5.005 releases */ - -#if !defined(PERL_REVISION) || ((PERL_REVISION >= 5) && ((PERL_VERSION < 5) || ((PERL_VERSION == 5) && (PERL_SUBVERSION < 50)))) -# ifndef PL_sv_yes -# define PL_sv_yes sv_yes -# endif -# ifndef PL_sv_undef -# define PL_sv_undef sv_undef -# endif -# ifndef PL_na -# define PL_na na -# endif -#endif - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#define SWIG_OWNER 1 -#define SWIG_SHADOW 2 - -/* Common SWIG API */ - -#ifdef PERL_OBJECT -# define SWIG_ConvertPtr(obj, pp, type, flags) \ - SWIG_Perl_ConvertPtr(pPerl, obj, pp, type, flags) -# define SWIG_NewPointerObj(p, type, flags) \ - SWIG_Perl_NewPointerObj(pPerl, p, type, flags) -# define SWIG_MakePackedObj(sv, p, s, type) \ - SWIG_Perl_MakePackedObj(pPerl, sv, p, s, type) -# define SWIG_ConvertPacked(obj, p, s, type, flags) \ - SWIG_Perl_ConvertPacked(pPerl, obj, p, s, type, flags) - -#else -# define SWIG_ConvertPtr(obj, pp, type, flags) \ - SWIG_Perl_ConvertPtr(obj, pp, type, flags) -# define SWIG_NewPointerObj(p, type, flags) \ - SWIG_Perl_NewPointerObj(p, type, flags) -# define SWIG_MakePackedObj(sv, p, s, type) \ - SWIG_Perl_MakePackedObj(sv, p, s, type ) -# define SWIG_ConvertPacked(obj, p, s, type, flags) \ - SWIG_Perl_ConvertPacked(obj, p, s, type, flags) -#endif - -/* Perl-specific API */ -#ifdef PERL_OBJECT -# define SWIG_MakePtr(sv, ptr, type, flags) \ - SWIG_Perl_MakePtr(pPerl, sv, ptr, type, flags) -# define SWIG_TypeCheckRV(rv, ty) \ - SWIG_Perl_TypeCheckRV(pPerl, rv, ty) -# define SWIG_SetError(str) \ - SWIG_Perl_SetError(pPerl, str) -#else -# define SWIG_MakePtr(sv, ptr, type, flags) \ - SWIG_Perl_MakePtr(sv, ptr, type, flags) -# define SWIG_TypeCheckRV(rv, ty) \ - SWIG_Perl_TypeCheckRV(rv, ty) -# define SWIG_SetError(str) \ - SWIG_Perl_SetError(str) -# define SWIG_SetErrorSV(str) \ - SWIG_Perl_SetErrorSV(str) -#endif - -#define SWIG_SetErrorf SWIG_Perl_SetErrorf - - -#ifdef PERL_OBJECT -# define SWIG_MAYBE_PERL_OBJECT CPerlObj *pPerl, -#else -# define SWIG_MAYBE_PERL_OBJECT -#endif - -#ifdef SWIG_NOINCLUDE - -SWIGIMPORT(int) SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJECT SV *, void **, swig_type_info *, int flags); -SWIGIMPORT(void) SWIG_Perl_MakePtr(SWIG_MAYBE_PERL_OBJECT SV *, void *, swig_type_info *, int flags); -SWIGIMPORT(SV *) SWIG_Perl_NewPointerObj(SWIG_MAYBE_PERL_OBJECT void *, swig_type_info *, int flags); -SWIGIMPORT(void) SWIG_Perl_MakePackedObj(SWIG_MAYBE_PERL_OBJECT SV *, void *, int, swig_type_info *); -SWIGIMPORT(int) SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_OBJECT SV *, void *, int, swig_type_info *, int flags); -SWIGIMPORT(swig_type_info *) SWIG_Perl_TypeCheckRV(SWIG_MAYBE_PERL_OBJECT SV *rv, swig_type_info *ty); -SWIGIMPORT(SV *) SWIG_Perl_SetError(SWIG_MAYBE_PERL_OBJECT char *); - -#else - -SWIGRUNTIME(swig_type_info *) -SWIG_Perl_TypeCheckRV(SWIG_MAYBE_PERL_OBJECT SV *rv, swig_type_info *ty) { - swig_type_info *s; - if (!ty) return 0; /* Void pointer */ - s = ty->next; /* First element always just a name */ - do { - if (sv_derived_from(rv, (char *) s->name)) { - if (s == ty->next) return s; - /* Move s to the top of the linked list */ - s->prev->next = s->next; - if (s->next) { - s->next->prev = s->prev; - } - /* Insert s as second element in the list */ - s->next = ty->next; - if (ty->next) ty->next->prev = s; - ty->next = s; - s->prev = ty; - return s; - } - s = s->next; - } while (s && (s != ty->next)); - return 0; -} - -/* Function for getting a pointer value */ - -SWIGRUNTIME(int) -SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_info *_t, int flags) { - swig_type_info *tc; - void *voidptr = (void *)0; - - /* If magical, apply more magic */ - if (SvGMAGICAL(sv)) - mg_get(sv); - - /* Check to see if this is an object */ - if (sv_isobject(sv)) { - SV *tsv = (SV*) SvRV(sv); - IV tmp = 0; - if ((SvTYPE(tsv) == SVt_PVHV)) { - MAGIC *mg; - if (SvMAGICAL(tsv)) { - mg = mg_find(tsv,'P'); - if (mg) { - SV *rsv = mg->mg_obj; - if (sv_isobject(rsv)) { - tmp = SvIV((SV*)SvRV(rsv)); - } - } - } else { - return -1; - } - } else { - tmp = SvIV((SV*)SvRV(sv)); - } - voidptr = (void *)tmp; - if (!_t) { - *(ptr) = voidptr; - return 0; - } - } else if (! SvOK(sv)) { /* Check for undef */ - *(ptr) = (void *) 0; - return 0; - } else if (SvTYPE(sv) == SVt_RV) { /* Check for NULL pointer */ - *(ptr) = (void *) 0; - if (!SvROK(sv)) - return 0; - else - return -1; - } else { /* Don't know what it is */ - *(ptr) = (void *) 0; - return -1; - } - if (_t) { - /* Now see if the types match */ - tc = SWIG_TypeCheckRV(sv,_t); - if (!tc) { - *ptr = voidptr; - return -1; - } - *ptr = SWIG_TypeCast(tc,voidptr); - return 0; - } - *ptr = voidptr; - return 0; -} - -SWIGRUNTIME(void) -SWIG_Perl_MakePtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, swig_type_info *t, int flags) { - if (ptr && (flags & SWIG_SHADOW)) { - SV *self; - SV *obj=newSV(0); - HV *hash=newHV(); - HV *stash; - sv_setref_pv(obj, (char *) t->name, ptr); - stash=SvSTASH(SvRV(obj)); - if (flags & SWIG_OWNER) { - HV *hv; - GV *gv=*(GV**)hv_fetch(stash, "OWNER", 5, TRUE); - if (!isGV(gv)) - gv_init(gv, stash, "OWNER", 5, FALSE); - hv=GvHVn(gv); - hv_store_ent(hv, obj, newSViv(1), 0); - } - sv_magic((SV *)hash, (SV *)obj, 'P', Nullch, 0); - SvREFCNT_dec(obj); - self=newRV_noinc((SV *)hash); - sv_setsv(sv, self); - SvREFCNT_dec((SV *)self); - sv_bless(sv, stash); - } - else { - sv_setref_pv(sv, (char *) t->name, ptr); - } -} - -SWIGRUNTIME(SV *) -SWIG_Perl_NewPointerObj(SWIG_MAYBE_PERL_OBJECT void *ptr, swig_type_info *t, int flags) { - SV *result = sv_newmortal(); - SWIG_MakePtr(result, ptr, t, flags); - return result; -} - -SWIGRUNTIME(void) - SWIG_Perl_MakePackedObj(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, int sz, swig_type_info *type) { - char result[1024]; - char *r = result; - if ((2*sz + 1 + strlen(type->name)) > 1000) return; - *(r++) = '_'; - r = SWIG_PackData(r,ptr,sz); - strcpy(r,type->name); - sv_setpv(sv, result); -} - -/* Convert a packed value value */ -SWIGRUNTIME(int) -SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_OBJECT SV *obj, void *ptr, int sz, swig_type_info *ty, int flags) { - swig_type_info *tc; - char *c = 0; - - if ((!obj) || (!SvOK(obj))) return -1; - c = SvPV(obj, PL_na); - /* Pointer values must start with leading underscore */ - if (*c != '_') return -1; - c++; - c = SWIG_UnpackData(c,ptr,sz); - if (ty) { - tc = SWIG_TypeCheck(c,ty); - if (!tc) return -1; - } - return 0; -} - -SWIGRUNTIME(void) -SWIG_Perl_SetError(SWIG_MAYBE_PERL_OBJECT const char *error) { - if (error) sv_setpv(perl_get_sv("@", TRUE), error); -} - -SWIGRUNTIME(void) -SWIG_Perl_SetErrorSV(SWIG_MAYBE_PERL_OBJECT SV *error) { - if (error) sv_setsv(perl_get_sv("@", TRUE), error); -} - -SWIGRUNTIME(void) -SWIG_Perl_SetErrorf(const char *fmt, ...) { - va_list args; - va_start(args, fmt); - sv_vsetpvfn(perl_get_sv("@", TRUE), fmt, strlen(fmt), &args, Null(SV**), 0, Null(bool*)); - va_end(args); -} - -#endif - -/* Macros for low-level exception handling */ -#define SWIG_fail goto fail -#define SWIG_croak(x) { SWIG_SetError(x); goto fail; } -#define SWIG_croakSV(x) { SWIG_SetErrorSV(x); goto fail; } -/* most preprocessors do not support vararg macros :-( */ -/* #define SWIG_croakf(x...) { SWIG_SetErrorf(x); goto fail; } */ - - -typedef XS(SwigPerlWrapper); -typedef SwigPerlWrapper *SwigPerlWrapperPtr; - -/* Structure for command table */ -typedef struct { - const char *name; - SwigPerlWrapperPtr wrapper; -} swig_command_info; - -/* Information for constant table */ - -#define SWIG_INT 1 -#define SWIG_FLOAT 2 -#define SWIG_STRING 3 -#define SWIG_POINTER 4 -#define SWIG_BINARY 5 - -/* Constant information structure */ -typedef struct swig_constant_info { - int type; - const char *name; - long lvalue; - double dvalue; - void *pvalue; - swig_type_info **ptype; -} swig_constant_info; - -#ifdef __cplusplus -} -#endif - -/* Structure for variable table */ -typedef struct { - const char *name; - SwigMagicFunc set; - SwigMagicFunc get; - swig_type_info **type; -} swig_variable_info; - -/* Magic variable code */ -#ifndef PERL_OBJECT -#define swig_create_magic(s,a,b,c) _swig_create_magic(s,a,b,c) - #ifndef MULTIPLICITY - static void _swig_create_magic(SV *sv, char *name, int (*set)(SV *, MAGIC *), int (*get)(SV *,MAGIC *)) { - #else - static void _swig_create_magic(SV *sv, char *name, int (*set)(struct interpreter*, SV *, MAGIC *), int (*get)(struct interpreter*, SV *,MAGIC *)) { - #endif -#else -# define swig_create_magic(s,a,b,c) _swig_create_magic(pPerl,s,a,b,c) -static void _swig_create_magic(CPerlObj *pPerl, SV *sv, const char *name, int (CPerlObj::*set)(SV *, MAGIC *), int (CPerlObj::*get)(SV *, MAGIC *)) { -#endif - MAGIC *mg; - sv_magic(sv,sv,'U',(char *) name,strlen(name)); - mg = mg_find(sv,'U'); - mg->mg_virtual = (MGVTBL *) malloc(sizeof(MGVTBL)); - mg->mg_virtual->svt_get = (SwigMagicFuncHack) get; - mg->mg_virtual->svt_set = (SwigMagicFuncHack) set; - mg->mg_virtual->svt_len = 0; - mg->mg_virtual->svt_clear = 0; - mg->mg_virtual->svt_free = 0; -} - - - - - - -#ifdef do_open - #undef do_open -#endif -#ifdef do_close - #undef do_close -#endif -#ifdef scalar - #undef scalar -#endif -#ifdef list - #undef list -#endif -#ifdef apply - #undef apply -#endif -#ifdef convert - #undef convert -#endif -#ifdef Error - #undef Error -#endif -#ifdef form - #undef form -#endif -#ifdef vform - #undef vform -#endif -#ifdef LABEL - #undef LABEL -#endif -#ifdef METHOD - #undef METHOD -#endif -#ifdef Move - #undef Move -#endif -#ifdef yylex - #undef yylex -#endif -#ifdef yyparse - #undef yyparse -#endif -#ifdef yyerror - #undef yyerror -#endif -#ifdef invert - #undef invert -#endif -#ifdef ref - #undef ref -#endif -#ifdef ENTER - #undef ENTER -#endif - - -/* -------- TYPES TABLE (BEGIN) -------- */ - -#define SWIGTYPE_p_switch_channel_t swig_types[0] -#define SWIGTYPE_p_switch_file_handle_t swig_types[1] -#define SWIGTYPE_p_switch_core_session_t swig_types[2] -#define SWIGTYPE_p_p_switch_core_session_t swig_types[3] -#define SWIGTYPE_p_uint32_t swig_types[4] -#define SWIGTYPE_p_switch_input_args_t swig_types[5] -static swig_type_info *swig_types[7]; - -/* -------- TYPES TABLE (END) -------- */ - -#define SWIG_init boot_fs_perl - -#define SWIG_name "fs_perlc::boot_fs_perl" -#define SWIG_prefix "fs_perlc::" - -#ifdef __cplusplus -extern "C" -#endif -#ifndef PERL_OBJECT -#ifndef MULTIPLICITY -SWIGEXPORT(void) SWIG_init (CV* cv); -#else -SWIGEXPORT(void) SWIG_init (pTHXo_ CV* cv); -#endif -#else -SWIGEXPORT(void) SWIG_init (CV *cv, CPerlObj *); -#endif - -extern void fs_core_set_globals(void); -extern int fs_core_init(char *); -extern int fs_core_destroy(void); -extern int fs_loadable_module_init(void); -extern int fs_loadable_module_shutdown(void); -extern int fs_console_loop(void); -extern void fs_consol_log(char *,char *); -extern void fs_consol_clean(char *); -extern switch_core_session_t *fs_core_session_locate(char *); -extern void fs_channel_answer(switch_core_session_t *); -extern void fs_channel_pre_answer(switch_core_session_t *); -extern void fs_channel_hangup(switch_core_session_t *,char *); -extern void fs_channel_set_variable(switch_core_session_t *,char *,char *); -extern void fs_channel_get_variable(switch_core_session_t *,char *); -extern void fs_channel_set_state(switch_core_session_t *,char *); -extern int fs_ivr_play_file(switch_core_session_t *,switch_file_handle_t *,char *,switch_input_args_t *); -extern int fs_switch_ivr_record_file(switch_core_session_t *,switch_file_handle_t *,char *,switch_input_args_t *,unsigned int); -extern int fs_switch_ivr_sleep(switch_core_session_t *,uint32_t); -extern int fs_ivr_play_file2(switch_core_session_t *,char *); -extern int fs_switch_ivr_collect_digits_callback(switch_core_session_t *,switch_input_args_t *,unsigned int); -extern int fs_switch_ivr_collect_digits_count(switch_core_session_t *,char *,unsigned int,unsigned int,char const *,char *,unsigned int); -extern int fs_switch_ivr_originate(switch_core_session_t *,switch_core_session_t **,char *,uint32_t); -extern int fs_switch_ivr_session_transfer(switch_core_session_t *,char *,char *,char *); -extern int fs_switch_ivr_speak_text(switch_core_session_t *,char *,char *,uint32_t,char *); -extern char *fs_switch_channel_get_variable(switch_channel_t *,char *); -extern int fs_switch_channel_set_variable(switch_channel_t *,char *,char *); - - - -#ifdef PERL_OBJECT -#define MAGIC_CLASS _wrap_fs_perl_var:: -class _wrap_fs_perl_var : public CPerlObj { -public: -#else -#define MAGIC_CLASS -#endif -SWIGCLASS_STATIC int swig_magic_readonly(pTHX_ SV *sv, MAGIC *mg) { - MAGIC_PPERL - sv = sv; mg = mg; - croak("Value is read-only."); - return 0; -} - - -#ifdef PERL_OBJECT -}; -#endif - -#ifdef __cplusplus -extern "C" { -#endif -XS(_wrap_fs_core_set_globals) { - { - int argvi = 0; - dXSARGS; - - if ((items < 0) || (items > 0)) { - SWIG_croak("Usage: fs_core_set_globals();"); - } - fs_core_set_globals(); - - - XSRETURN(argvi); - fail: - ; - } - croak(Nullch); -} - - -XS(_wrap_fs_core_init) { - { - char *arg1 ; - int result; - int argvi = 0; - dXSARGS; - - if ((items < 1) || (items > 1)) { - SWIG_croak("Usage: fs_core_init(path);"); - } - if (!SvOK((SV*) ST(0))) arg1 = 0; - else arg1 = (char *) SvPV(ST(0), PL_na); - result = (int)fs_core_init(arg1); - - ST(argvi) = sv_newmortal(); - sv_setiv(ST(argvi++), (IV) result); - XSRETURN(argvi); - fail: - ; - } - croak(Nullch); -} - - -XS(_wrap_fs_core_destroy) { - { - int result; - int argvi = 0; - dXSARGS; - - if ((items < 0) || (items > 0)) { - SWIG_croak("Usage: fs_core_destroy();"); - } - result = (int)fs_core_destroy(); - - ST(argvi) = sv_newmortal(); - sv_setiv(ST(argvi++), (IV) result); - XSRETURN(argvi); - fail: - ; - } - croak(Nullch); -} - - -XS(_wrap_fs_loadable_module_init) { - { - int result; - int argvi = 0; - dXSARGS; - - if ((items < 0) || (items > 0)) { - SWIG_croak("Usage: fs_loadable_module_init();"); - } - result = (int)fs_loadable_module_init(); - - ST(argvi) = sv_newmortal(); - sv_setiv(ST(argvi++), (IV) result); - XSRETURN(argvi); - fail: - ; - } - croak(Nullch); -} - - -XS(_wrap_fs_loadable_module_shutdown) { - { - int result; - int argvi = 0; - dXSARGS; - - if ((items < 0) || (items > 0)) { - SWIG_croak("Usage: fs_loadable_module_shutdown();"); - } - result = (int)fs_loadable_module_shutdown(); - - ST(argvi) = sv_newmortal(); - sv_setiv(ST(argvi++), (IV) result); - XSRETURN(argvi); - fail: - ; - } - croak(Nullch); -} - - -XS(_wrap_fs_console_loop) { - { - int result; - int argvi = 0; - dXSARGS; - - if ((items < 0) || (items > 0)) { - SWIG_croak("Usage: fs_console_loop();"); - } - result = (int)fs_console_loop(); - - ST(argvi) = sv_newmortal(); - sv_setiv(ST(argvi++), (IV) result); - XSRETURN(argvi); - fail: - ; - } - croak(Nullch); -} - - -XS(_wrap_fs_consol_log) { - { - char *arg1 ; - char *arg2 ; - int argvi = 0; - dXSARGS; - - if ((items < 2) || (items > 2)) { - SWIG_croak("Usage: fs_consol_log(level_str,msg);"); - } - if (!SvOK((SV*) ST(0))) arg1 = 0; - else arg1 = (char *) SvPV(ST(0), PL_na); - if (!SvOK((SV*) ST(1))) arg2 = 0; - else arg2 = (char *) SvPV(ST(1), PL_na); - fs_consol_log(arg1,arg2); - - - XSRETURN(argvi); - fail: - ; - } - croak(Nullch); -} - - -XS(_wrap_fs_consol_clean) { - { - char *arg1 ; - int argvi = 0; - dXSARGS; - - if ((items < 1) || (items > 1)) { - SWIG_croak("Usage: fs_consol_clean(msg);"); - } - if (!SvOK((SV*) ST(0))) arg1 = 0; - else arg1 = (char *) SvPV(ST(0), PL_na); - fs_consol_clean(arg1); - - - XSRETURN(argvi); - fail: - ; - } - croak(Nullch); -} - - -XS(_wrap_fs_core_session_locate) { - { - char *arg1 ; - switch_core_session_t *result; - int argvi = 0; - dXSARGS; - - if ((items < 1) || (items > 1)) { - SWIG_croak("Usage: fs_core_session_locate(uuid);"); - } - if (!SvOK((SV*) ST(0))) arg1 = 0; - else arg1 = (char *) SvPV(ST(0), PL_na); - result = (switch_core_session_t *)fs_core_session_locate(arg1); - - ST(argvi) = sv_newmortal(); - SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_switch_core_session_t, 0|0); - XSRETURN(argvi); - fail: - ; - } - croak(Nullch); -} - - -XS(_wrap_fs_channel_answer) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 1) || (items > 1)) { - SWIG_croak("Usage: fs_channel_answer(session);"); - } - { - if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { - SWIG_croak("Type error in argument 1 of fs_channel_answer. Expected _p_switch_core_session_t"); - } - } - fs_channel_answer(arg1); - - - XSRETURN(argvi); - fail: - ; - } - croak(Nullch); -} - - -XS(_wrap_fs_channel_pre_answer) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 1) || (items > 1)) { - SWIG_croak("Usage: fs_channel_pre_answer(session);"); - } - { - if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { - SWIG_croak("Type error in argument 1 of fs_channel_pre_answer. Expected _p_switch_core_session_t"); - } - } - fs_channel_pre_answer(arg1); - - - XSRETURN(argvi); - fail: - ; - } - croak(Nullch); -} - - -XS(_wrap_fs_channel_hangup) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 ; - int argvi = 0; - dXSARGS; - - if ((items < 2) || (items > 2)) { - SWIG_croak("Usage: fs_channel_hangup(session,cause);"); - } - { - if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { - SWIG_croak("Type error in argument 1 of fs_channel_hangup. Expected _p_switch_core_session_t"); - } - } - if (!SvOK((SV*) ST(1))) arg2 = 0; - else arg2 = (char *) SvPV(ST(1), PL_na); - fs_channel_hangup(arg1,arg2); - - - XSRETURN(argvi); - fail: - ; - } - croak(Nullch); -} - - -XS(_wrap_fs_channel_set_variable) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 ; - char *arg3 ; - int argvi = 0; - dXSARGS; - - if ((items < 3) || (items > 3)) { - SWIG_croak("Usage: fs_channel_set_variable(session,var,val);"); - } - { - if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { - SWIG_croak("Type error in argument 1 of fs_channel_set_variable. Expected _p_switch_core_session_t"); - } - } - if (!SvOK((SV*) ST(1))) arg2 = 0; - else arg2 = (char *) SvPV(ST(1), PL_na); - if (!SvOK((SV*) ST(2))) arg3 = 0; - else arg3 = (char *) SvPV(ST(2), PL_na); - fs_channel_set_variable(arg1,arg2,arg3); - - - XSRETURN(argvi); - fail: - ; - } - croak(Nullch); -} - - -XS(_wrap_fs_channel_get_variable) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 ; - int argvi = 0; - dXSARGS; - - if ((items < 2) || (items > 2)) { - SWIG_croak("Usage: fs_channel_get_variable(session,var);"); - } - { - if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { - SWIG_croak("Type error in argument 1 of fs_channel_get_variable. Expected _p_switch_core_session_t"); - } - } - if (!SvOK((SV*) ST(1))) arg2 = 0; - else arg2 = (char *) SvPV(ST(1), PL_na); - fs_channel_get_variable(arg1,arg2); - - - XSRETURN(argvi); - fail: - ; - } - croak(Nullch); -} - - -XS(_wrap_fs_channel_set_state) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 ; - int argvi = 0; - dXSARGS; - - if ((items < 2) || (items > 2)) { - SWIG_croak("Usage: fs_channel_set_state(session,state);"); - } - { - if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { - SWIG_croak("Type error in argument 1 of fs_channel_set_state. Expected _p_switch_core_session_t"); - } - } - if (!SvOK((SV*) ST(1))) arg2 = 0; - else arg2 = (char *) SvPV(ST(1), PL_na); - fs_channel_set_state(arg1,arg2); - - - XSRETURN(argvi); - fail: - ; - } - croak(Nullch); -} - - -XS(_wrap_fs_ivr_play_file) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - switch_file_handle_t *arg2 = (switch_file_handle_t *) 0 ; - char *arg3 ; - switch_input_args_t *arg4 = (switch_input_args_t *) 0 ; - int result; - int argvi = 0; - dXSARGS; - - if ((items < 4) || (items > 4)) { - SWIG_croak("Usage: fs_ivr_play_file(session,fh,file,args);"); - } - { - if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { - SWIG_croak("Type error in argument 1 of fs_ivr_play_file. Expected _p_switch_core_session_t"); - } - } - { - if (SWIG_ConvertPtr(ST(1), (void **) &arg2, SWIGTYPE_p_switch_file_handle_t,0) < 0) { - SWIG_croak("Type error in argument 2 of fs_ivr_play_file. Expected _p_switch_file_handle_t"); - } - } - if (!SvOK((SV*) ST(2))) arg3 = 0; - else arg3 = (char *) SvPV(ST(2), PL_na); - { - if (SWIG_ConvertPtr(ST(3), (void **) &arg4, SWIGTYPE_p_switch_input_args_t,0) < 0) { - SWIG_croak("Type error in argument 4 of fs_ivr_play_file. Expected _p_switch_input_args_t"); - } - } - result = (int)fs_ivr_play_file(arg1,arg2,arg3,arg4); - - ST(argvi) = sv_newmortal(); - sv_setiv(ST(argvi++), (IV) result); - XSRETURN(argvi); - fail: - ; - } - croak(Nullch); -} - - -XS(_wrap_fs_switch_ivr_record_file) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - switch_file_handle_t *arg2 = (switch_file_handle_t *) 0 ; - char *arg3 ; - switch_input_args_t *arg4 = (switch_input_args_t *) 0 ; - unsigned int arg5 ; - int result; - int argvi = 0; - dXSARGS; - - if ((items < 5) || (items > 5)) { - SWIG_croak("Usage: fs_switch_ivr_record_file(session,fh,file,args,limit);"); - } - { - if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { - SWIG_croak("Type error in argument 1 of fs_switch_ivr_record_file. Expected _p_switch_core_session_t"); - } - } - { - if (SWIG_ConvertPtr(ST(1), (void **) &arg2, SWIGTYPE_p_switch_file_handle_t,0) < 0) { - SWIG_croak("Type error in argument 2 of fs_switch_ivr_record_file. Expected _p_switch_file_handle_t"); - } - } - if (!SvOK((SV*) ST(2))) arg3 = 0; - else arg3 = (char *) SvPV(ST(2), PL_na); - { - if (SWIG_ConvertPtr(ST(3), (void **) &arg4, SWIGTYPE_p_switch_input_args_t,0) < 0) { - SWIG_croak("Type error in argument 4 of fs_switch_ivr_record_file. Expected _p_switch_input_args_t"); - } - } - arg5 = (unsigned int) SvUV(ST(4)); - result = (int)fs_switch_ivr_record_file(arg1,arg2,arg3,arg4,arg5); - - ST(argvi) = sv_newmortal(); - sv_setiv(ST(argvi++), (IV) result); - XSRETURN(argvi); - fail: - ; - } - croak(Nullch); -} - - -XS(_wrap_fs_switch_ivr_sleep) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - uint32_t arg2 ; - int result; - int argvi = 0; - dXSARGS; - - if ((items < 2) || (items > 2)) { - SWIG_croak("Usage: fs_switch_ivr_sleep(session,ms);"); - } - { - if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { - SWIG_croak("Type error in argument 1 of fs_switch_ivr_sleep. Expected _p_switch_core_session_t"); - } - } - { - uint32_t * argp; - if (SWIG_ConvertPtr(ST(1),(void **) &argp, SWIGTYPE_p_uint32_t,0) < 0) { - SWIG_croak("Type error in argument 2 of fs_switch_ivr_sleep. Expected _p_uint32_t"); - } - arg2 = *argp; - } - result = (int)fs_switch_ivr_sleep(arg1,arg2); - - ST(argvi) = sv_newmortal(); - sv_setiv(ST(argvi++), (IV) result); - XSRETURN(argvi); - fail: - ; - } - croak(Nullch); -} - - -XS(_wrap_fs_ivr_play_file2) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 ; - int result; - int argvi = 0; - dXSARGS; - - if ((items < 2) || (items > 2)) { - SWIG_croak("Usage: fs_ivr_play_file2(session,file);"); - } - { - if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { - SWIG_croak("Type error in argument 1 of fs_ivr_play_file2. Expected _p_switch_core_session_t"); - } - } - if (!SvOK((SV*) ST(1))) arg2 = 0; - else arg2 = (char *) SvPV(ST(1), PL_na); - result = (int)fs_ivr_play_file2(arg1,arg2); - - ST(argvi) = sv_newmortal(); - sv_setiv(ST(argvi++), (IV) result); - XSRETURN(argvi); - fail: - ; - } - croak(Nullch); -} - - -XS(_wrap_fs_switch_ivr_collect_digits_callback) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - switch_input_args_t *arg2 = (switch_input_args_t *) 0 ; - unsigned int arg3 ; - int result; - int argvi = 0; - dXSARGS; - - if ((items < 3) || (items > 3)) { - SWIG_croak("Usage: fs_switch_ivr_collect_digits_callback(session,args,timeout);"); - } - { - if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { - SWIG_croak("Type error in argument 1 of fs_switch_ivr_collect_digits_callback. Expected _p_switch_core_session_t"); - } - } - { - if (SWIG_ConvertPtr(ST(1), (void **) &arg2, SWIGTYPE_p_switch_input_args_t,0) < 0) { - SWIG_croak("Type error in argument 2 of fs_switch_ivr_collect_digits_callback. Expected _p_switch_input_args_t"); - } - } - arg3 = (unsigned int) SvUV(ST(2)); - result = (int)fs_switch_ivr_collect_digits_callback(arg1,arg2,arg3); - - ST(argvi) = sv_newmortal(); - sv_setiv(ST(argvi++), (IV) result); - XSRETURN(argvi); - fail: - ; - } - croak(Nullch); -} - - -XS(_wrap_fs_switch_ivr_collect_digits_count) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 ; - unsigned int arg3 ; - unsigned int arg4 ; - char *arg5 ; - char *arg6 ; - unsigned int arg7 ; - int result; - int argvi = 0; - dXSARGS; - - if ((items < 7) || (items > 7)) { - SWIG_croak("Usage: fs_switch_ivr_collect_digits_count(session,buf,buflen,maxdigits,terminators,terminator,timeout);"); - } - { - if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { - SWIG_croak("Type error in argument 1 of fs_switch_ivr_collect_digits_count. Expected _p_switch_core_session_t"); - } - } - if (!SvOK((SV*) ST(1))) arg2 = 0; - else arg2 = (char *) SvPV(ST(1), PL_na); - arg3 = (unsigned int) SvUV(ST(2)); - arg4 = (unsigned int) SvUV(ST(3)); - if (!SvOK((SV*) ST(4))) arg5 = 0; - else arg5 = (char *) SvPV(ST(4), PL_na); - if (!SvOK((SV*) ST(5))) arg6 = 0; - else arg6 = (char *) SvPV(ST(5), PL_na); - arg7 = (unsigned int) SvUV(ST(6)); - result = (int)fs_switch_ivr_collect_digits_count(arg1,arg2,arg3,arg4,(char const *)arg5,arg6,arg7); - - ST(argvi) = sv_newmortal(); - sv_setiv(ST(argvi++), (IV) result); - XSRETURN(argvi); - fail: - ; - } - croak(Nullch); -} - - -XS(_wrap_fs_switch_ivr_originate) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - switch_core_session_t **arg2 = (switch_core_session_t **) 0 ; - char *arg3 ; - uint32_t arg4 ; - int result; - int argvi = 0; - dXSARGS; - - if ((items < 4) || (items > 4)) { - SWIG_croak("Usage: fs_switch_ivr_originate(session,bleg,bridgeto,timelimit_sec);"); - } - { - if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { - SWIG_croak("Type error in argument 1 of fs_switch_ivr_originate. Expected _p_switch_core_session_t"); - } - } - { - if (SWIG_ConvertPtr(ST(1), (void **) &arg2, SWIGTYPE_p_p_switch_core_session_t,0) < 0) { - SWIG_croak("Type error in argument 2 of fs_switch_ivr_originate. Expected _p_p_switch_core_session_t"); - } - } - if (!SvOK((SV*) ST(2))) arg3 = 0; - else arg3 = (char *) SvPV(ST(2), PL_na); - { - uint32_t * argp; - if (SWIG_ConvertPtr(ST(3),(void **) &argp, SWIGTYPE_p_uint32_t,0) < 0) { - SWIG_croak("Type error in argument 4 of fs_switch_ivr_originate. Expected _p_uint32_t"); - } - arg4 = *argp; - } - result = (int)fs_switch_ivr_originate(arg1,arg2,arg3,arg4); - - ST(argvi) = sv_newmortal(); - sv_setiv(ST(argvi++), (IV) result); - XSRETURN(argvi); - fail: - ; - } - croak(Nullch); -} - - -XS(_wrap_fs_switch_ivr_session_transfer) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 ; - char *arg3 ; - char *arg4 ; - int result; - int argvi = 0; - dXSARGS; - - if ((items < 4) || (items > 4)) { - SWIG_croak("Usage: fs_switch_ivr_session_transfer(session,extension,dialplan,context);"); - } - { - if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { - SWIG_croak("Type error in argument 1 of fs_switch_ivr_session_transfer. Expected _p_switch_core_session_t"); - } - } - if (!SvOK((SV*) ST(1))) arg2 = 0; - else arg2 = (char *) SvPV(ST(1), PL_na); - if (!SvOK((SV*) ST(2))) arg3 = 0; - else arg3 = (char *) SvPV(ST(2), PL_na); - if (!SvOK((SV*) ST(3))) arg4 = 0; - else arg4 = (char *) SvPV(ST(3), PL_na); - result = (int)fs_switch_ivr_session_transfer(arg1,arg2,arg3,arg4); - - ST(argvi) = sv_newmortal(); - sv_setiv(ST(argvi++), (IV) result); - XSRETURN(argvi); - fail: - ; - } - croak(Nullch); -} - - -XS(_wrap_fs_switch_ivr_speak_text) { - { - switch_core_session_t *arg1 = (switch_core_session_t *) 0 ; - char *arg2 ; - char *arg3 ; - uint32_t arg4 ; - char *arg5 ; - int result; - int argvi = 0; - dXSARGS; - - if ((items < 5) || (items > 5)) { - SWIG_croak("Usage: fs_switch_ivr_speak_text(session,tts_name,voice_name,rate,text);"); - } - { - if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_core_session_t,0) < 0) { - SWIG_croak("Type error in argument 1 of fs_switch_ivr_speak_text. Expected _p_switch_core_session_t"); - } - } - if (!SvOK((SV*) ST(1))) arg2 = 0; - else arg2 = (char *) SvPV(ST(1), PL_na); - if (!SvOK((SV*) ST(2))) arg3 = 0; - else arg3 = (char *) SvPV(ST(2), PL_na); - { - uint32_t * argp; - if (SWIG_ConvertPtr(ST(3),(void **) &argp, SWIGTYPE_p_uint32_t,0) < 0) { - SWIG_croak("Type error in argument 4 of fs_switch_ivr_speak_text. Expected _p_uint32_t"); - } - arg4 = *argp; - } - if (!SvOK((SV*) ST(4))) arg5 = 0; - else arg5 = (char *) SvPV(ST(4), PL_na); - result = (int)fs_switch_ivr_speak_text(arg1,arg2,arg3,arg4,arg5); - - ST(argvi) = sv_newmortal(); - sv_setiv(ST(argvi++), (IV) result); - XSRETURN(argvi); - fail: - ; - } - croak(Nullch); -} - - -XS(_wrap_fs_switch_channel_get_variable) { - { - switch_channel_t *arg1 = (switch_channel_t *) 0 ; - char *arg2 ; - char *result; - int argvi = 0; - dXSARGS; - - if ((items < 2) || (items > 2)) { - SWIG_croak("Usage: fs_switch_channel_get_variable(channel,varname);"); - } - { - if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_channel_t,0) < 0) { - SWIG_croak("Type error in argument 1 of fs_switch_channel_get_variable. Expected _p_switch_channel_t"); - } - } - if (!SvOK((SV*) ST(1))) arg2 = 0; - else arg2 = (char *) SvPV(ST(1), PL_na); - result = (char *)fs_switch_channel_get_variable(arg1,arg2); - - ST(argvi) = sv_newmortal(); - if (result) { - sv_setpv((SV*)ST(argvi++), (char *) result); - } else { - sv_setsv((SV*)ST(argvi++), &PL_sv_undef); - } - XSRETURN(argvi); - fail: - ; - } - croak(Nullch); -} - - -XS(_wrap_fs_switch_channel_set_variable) { - { - switch_channel_t *arg1 = (switch_channel_t *) 0 ; - char *arg2 ; - char *arg3 ; - int result; - int argvi = 0; - dXSARGS; - - if ((items < 3) || (items > 3)) { - SWIG_croak("Usage: fs_switch_channel_set_variable(channel,varname,value);"); - } - { - if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_switch_channel_t,0) < 0) { - SWIG_croak("Type error in argument 1 of fs_switch_channel_set_variable. Expected _p_switch_channel_t"); - } - } - if (!SvOK((SV*) ST(1))) arg2 = 0; - else arg2 = (char *) SvPV(ST(1), PL_na); - if (!SvOK((SV*) ST(2))) arg3 = 0; - else arg3 = (char *) SvPV(ST(2), PL_na); - result = (int)fs_switch_channel_set_variable(arg1,arg2,arg3); - - ST(argvi) = sv_newmortal(); - sv_setiv(ST(argvi++), (IV) result); - XSRETURN(argvi); - fail: - ; - } - croak(Nullch); -} - - - -/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */ - -static swig_type_info _swigt__p_switch_channel_t[] = {{"_p_switch_channel_t", 0, "switch_channel_t *", 0},{"_p_switch_channel_t"},{0}}; -static swig_type_info _swigt__p_switch_file_handle_t[] = {{"_p_switch_file_handle_t", 0, "switch_file_handle_t *", 0},{"_p_switch_file_handle_t"},{0}}; -static swig_type_info _swigt__p_switch_core_session_t[] = {{"_p_switch_core_session_t", 0, "switch_core_session_t *", 0},{"_p_switch_core_session_t"},{0}}; -static swig_type_info _swigt__p_p_switch_core_session_t[] = {{"_p_p_switch_core_session_t", 0, "switch_core_session_t **", 0},{"_p_p_switch_core_session_t"},{0}}; -static swig_type_info _swigt__p_uint32_t[] = {{"_p_uint32_t", 0, "uint32_t *", 0},{"_p_uint32_t"},{0}}; -static swig_type_info _swigt__p_switch_input_args_t[] = {{"_p_switch_input_args_t", 0, "switch_input_args_t *", 0},{"_p_switch_input_args_t"},{0}}; - -static swig_type_info *swig_types_initial[] = { -_swigt__p_switch_channel_t, -_swigt__p_switch_file_handle_t, -_swigt__p_switch_core_session_t, -_swigt__p_p_switch_core_session_t, -_swigt__p_uint32_t, -_swigt__p_switch_input_args_t, -0 -}; - - -/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */ - -static swig_constant_info swig_constants[] = { -{ SWIG_STRING, (char *) SWIG_prefix "FREESWITCH_PEN", 0, 0, (void *)"27880", 0}, -{ SWIG_STRING, (char *) SWIG_prefix "FREESWITCH_OID_PREFIX", 0, 0, (void *)".1.3.6.1.4.1.27880", 0}, -{ SWIG_STRING, (char *) SWIG_prefix "FREESWITCH_ITAD", 0, 0, (void *)"543", 0}, -{ SWIG_INT, (char *) SWIG_prefix "__EXTENSIONS__", (long) 1, 0, 0, 0}, -{0} -}; -#ifdef __cplusplus -} -#endif -static swig_variable_info swig_variables[] = { -{0} -}; -static swig_command_info swig_commands[] = { -{"fs_perlc::fs_core_set_globals", _wrap_fs_core_set_globals}, -{"fs_perlc::fs_core_init", _wrap_fs_core_init}, -{"fs_perlc::fs_core_destroy", _wrap_fs_core_destroy}, -{"fs_perlc::fs_loadable_module_init", _wrap_fs_loadable_module_init}, -{"fs_perlc::fs_loadable_module_shutdown", _wrap_fs_loadable_module_shutdown}, -{"fs_perlc::fs_console_loop", _wrap_fs_console_loop}, -{"fs_perlc::fs_consol_log", _wrap_fs_consol_log}, -{"fs_perlc::fs_consol_clean", _wrap_fs_consol_clean}, -{"fs_perlc::fs_core_session_locate", _wrap_fs_core_session_locate}, -{"fs_perlc::fs_channel_answer", _wrap_fs_channel_answer}, -{"fs_perlc::fs_channel_pre_answer", _wrap_fs_channel_pre_answer}, -{"fs_perlc::fs_channel_hangup", _wrap_fs_channel_hangup}, -{"fs_perlc::fs_channel_set_variable", _wrap_fs_channel_set_variable}, -{"fs_perlc::fs_channel_get_variable", _wrap_fs_channel_get_variable}, -{"fs_perlc::fs_channel_set_state", _wrap_fs_channel_set_state}, -{"fs_perlc::fs_ivr_play_file", _wrap_fs_ivr_play_file}, -{"fs_perlc::fs_switch_ivr_record_file", _wrap_fs_switch_ivr_record_file}, -{"fs_perlc::fs_switch_ivr_sleep", _wrap_fs_switch_ivr_sleep}, -{"fs_perlc::fs_ivr_play_file2", _wrap_fs_ivr_play_file2}, -{"fs_perlc::fs_switch_ivr_collect_digits_callback", _wrap_fs_switch_ivr_collect_digits_callback}, -{"fs_perlc::fs_switch_ivr_collect_digits_count", _wrap_fs_switch_ivr_collect_digits_count}, -{"fs_perlc::fs_switch_ivr_originate", _wrap_fs_switch_ivr_originate}, -{"fs_perlc::fs_switch_ivr_session_transfer", _wrap_fs_switch_ivr_session_transfer}, -{"fs_perlc::fs_switch_ivr_speak_text", _wrap_fs_switch_ivr_speak_text}, -{"fs_perlc::fs_switch_channel_get_variable", _wrap_fs_switch_channel_get_variable}, -{"fs_perlc::fs_switch_channel_set_variable", _wrap_fs_switch_channel_set_variable}, -{0,0} -}; - -#ifdef __cplusplus -extern "C" -#endif - -XS(SWIG_init) { - dXSARGS; - int i; - static int _init = 0; - if (!_init) { - for (i = 0; swig_types_initial[i]; i++) { - swig_types[i] = SWIG_TypeRegister(swig_types_initial[i]); - } - _init = 1; - } - - /* Install commands */ - for (i = 0; swig_commands[i].name; i++) { - newXS((char*) swig_commands[i].name,swig_commands[i].wrapper, (char*)__FILE__); - } - - /* Install variables */ - for (i = 0; swig_variables[i].name; i++) { - SV *sv; - sv = perl_get_sv((char*) swig_variables[i].name, TRUE | 0x2); - if (swig_variables[i].type) { - SWIG_MakePtr(sv,(void *)1, *swig_variables[i].type,0); - } else { - sv_setiv(sv,(IV) 0); - } - swig_create_magic(sv, (char *) swig_variables[i].name, swig_variables[i].set, swig_variables[i].get); - } - - /* Install constant */ - for (i = 0; swig_constants[i].type; i++) { - SV *sv; - sv = perl_get_sv((char*)swig_constants[i].name, TRUE | 0x2); - switch(swig_constants[i].type) { - case SWIG_INT: - sv_setiv(sv, (IV) swig_constants[i].lvalue); - break; - case SWIG_FLOAT: - sv_setnv(sv, (double) swig_constants[i].dvalue); - break; - case SWIG_STRING: - sv_setpv(sv, (char *) swig_constants[i].pvalue); - break; - case SWIG_POINTER: - SWIG_MakePtr(sv, swig_constants[i].pvalue, *(swig_constants[i].ptype),0); - break; - case SWIG_BINARY: - SWIG_MakePackedObj(sv, swig_constants[i].pvalue, swig_constants[i].lvalue, *(swig_constants[i].ptype)); - break; - default: - break; - } - SvREADONLY_on(sv); - } - - ST(0) = &PL_sv_yes; - XSRETURN(1); -} -