[svn:parrot] r44150 - in trunk: . config/gen/makefiles include/parrot src/nci t/codingstd tools/build tools/dev
plobsing at svn.parrot.org
plobsing at svn.parrot.org
Fri Feb 19 01:01:31 UTC 2010
Author: plobsing
Date: Fri Feb 19 01:01:29 2010
New Revision: 44150
URL: https://trac.parrot.org/parrot/changeset/44150
Log:
convert from nativecall.pl to nativecall.pir
Added:
trunk/src/nci/ (props changed)
trunk/src/nci/api.c (contents, props changed)
trunk/src/nci/core_thunks.c (contents, props changed)
trunk/src/nci/core_thunks.nci (contents, props changed)
trunk/src/nci/extra_thunks.c (contents, props changed)
trunk/src/nci/extra_thunks.nci (contents, props changed)
trunk/tools/dev/mk_nci_thunks.pl (contents, props changed)
Modified:
trunk/MANIFEST
trunk/MANIFEST.SKIP
trunk/config/gen/makefiles/root.in
trunk/include/parrot/nci.h
trunk/t/codingstd/linelength.t
trunk/t/codingstd/trailing_space.t
trunk/tools/build/nativecall.pir
Modified: trunk/MANIFEST
==============================================================================
--- trunk/MANIFEST Fri Feb 19 00:55:33 2010 (r44149)
+++ trunk/MANIFEST Fri Feb 19 01:01:29 2010 (r44150)
@@ -1,7 +1,7 @@
# ex: set ro:
# $Id$
#
-# generated by tools/dev/mk_manifest_and_skip.pl Wed Feb 17 22:09:58 2010 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Thu Feb 18 23:48:02 2010 UT
#
# See below for documentation on the format of this file.
#
@@ -1370,6 +1370,11 @@
src/main.c []
src/misc.c []
src/multidispatch.c []
+src/nci/api.c []
+src/nci/core_thunks.c []
+src/nci/core_thunks.nci []
+src/nci/extra_thunks.c []
+src/nci/extra_thunks.nci []
src/nci_test.c []
src/oo.c []
src/ops/bit.ops []
@@ -2166,6 +2171,7 @@
tools/dev/mk_language_shell.pl [devel]
tools/dev/mk_manifest_and_skip.pl []
tools/dev/mk_native_pbc []
+tools/dev/mk_nci_thunks.pl []
tools/dev/mk_rpm_manifests.pl []
tools/dev/nci_test_gen.pl []
tools/dev/nm.pl []
Modified: trunk/MANIFEST.SKIP
==============================================================================
--- trunk/MANIFEST.SKIP Fri Feb 19 00:55:33 2010 (r44149)
+++ trunk/MANIFEST.SKIP Fri Feb 19 01:01:29 2010 (r44150)
@@ -1,6 +1,6 @@
# ex: set ro:
# $Id$
-# generated by tools/dev/mk_manifest_and_skip.pl Wed Feb 10 13:22:49 2010 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Thu Feb 18 23:54:32 2010 UT
#
# This file should contain a transcript of the svn:ignore properties
# of the directories in the Parrot subversion repository. (Needed for
@@ -811,6 +811,13 @@
^src/io/.*\.obj/
^src/io/.*\.str$
^src/io/.*\.str/
+# generated from svn:ignore of 'src/nci/'
+^src/nci/.*\.o$
+^src/nci/.*\.o/
+^src/nci/.*\.obj$
+^src/nci/.*\.obj/
+^src/nci/.*\.str$
+^src/nci/.*\.str/
# generated from svn:ignore of 'src/ops/'
^src/ops/.*\.c$
^src/ops/.*\.c/
Modified: trunk/config/gen/makefiles/root.in
==============================================================================
--- trunk/config/gen/makefiles/root.in Fri Feb 19 00:55:33 2010 (r44149)
+++ trunk/config/gen/makefiles/root.in Fri Feb 19 01:01:29 2010 (r44150)
@@ -477,7 +477,9 @@
src/misc$(O) \
src/multidispatch$(O) \
src/frame_builder$(O) \
- src/nci$(O) \
+ src/nci/api$(O) \
+ src/nci/core_thunks$(O) \
+ src/nci/extra_thunks$(O) \
src/oo$(O) \
src/packfile$(O) \
src/packout$(O) \
@@ -650,7 +652,9 @@
src/library.str \
src/multidispatch.str \
src/frame_builder.str \
- src/nci.str \
+ src/nci/api.str \
+ src/nci/core_thunks.str \
+ src/nci/extra_thunks.str \
src/packfile.str \
src/pmc.str \
src/pmc_freeze.str \
@@ -1381,12 +1385,20 @@
src/exit$(O) : $(PARROT_H_HEADERS)
-src/nci$(O) : src/nci.str \
- $(INC_DIR)/oplib/ops.h $(PARROT_H_HEADERS) \
- src/frame_builder.h \
- include/pmc/pmc_managedstruct.h \
- include/pmc/pmc_nci.h \
- include/pmc/pmc_pointer.h
+src/nci/api$(O) : src/nci/api.str \
+ $(PARROT_H_HEADERS) \
+ include/pmc/pmc_unmanagedstruct.h \
+ include/pmc/pmc_nci.h
+
+src/nci/core_thunks$(O) : src/nci/core_thunks.str \
+ $(PARROT_H_HEADERS) \
+ include/pmc/pmc_unmanagedstruct.h \
+ include/pmc/pmc_nci.h
+
+src/nci/extra_thunks$(O) : src/nci/extra_thunks.str \
+ $(PARROT_H_HEADERS) \
+ include/pmc/pmc_unmanagedstruct.h \
+ include/pmc/pmc_nci.h
src/frame_builder$(O) : $(PARROT_H_HEADERS) src/frame_builder.h \
include/pmc/pmc_fixedintegerarray.h \
@@ -1399,10 +1411,6 @@
src/gc/system$(O) : $(PARROT_H_HEADERS) src/gc/gc_private.h
src/gc/gc_private.h : $(INC_DIR)/settings.h
-src/nci.c : src/call_list.txt $(BUILD_TOOLS_DIR)/nativecall.pl \
- include/pmc/pmc_nci.h
- $(PERL) $(BUILD_TOOLS_DIR)/nativecall.pl src/call_list.txt
-
src/warnings$(O) : $(PARROT_H_HEADERS)
src/misc$(O) : $(PARROT_H_HEADERS)
@@ -2411,8 +2419,8 @@
$(PARROT) tools/build/nativecall.pir \
--loader-name=Parrot_glut_nci_loader \
--loader-storage-class=PARROT_DYNEXT_EXPORT \
- <src/glut_nci_thunks.nci \
- >src/glut_nci_thunks.c
+ --output=src/glut_nci_thunks.c \
+ <src/glut_nci_thunks.nci
src/glut_nci_thunks$(O): $(GENERAL_H_FILES)
Modified: trunk/include/parrot/nci.h
==============================================================================
--- trunk/include/parrot/nci.h Fri Feb 19 00:55:33 2010 (r44149)
+++ trunk/include/parrot/nci.h Fri Feb 19 01:01:29 2010 (r44150)
@@ -17,6 +17,10 @@
void *build_call_func(PARROT_INTERP, SHIM(PMC *pmc_nci), NOTNULL(STRING *signature), NOTNULL(int *jitted));
+void Parrot_nci_load_core_thunks(PARROT_INTERP);
+
+void Parrot_nci_load_extra_thunks(PARROT_INTERP);
+
#endif /* PARROT_NCI_H_GUARD */
/*
Added: trunk/src/nci/api.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/src/nci/api.c Fri Feb 19 01:01:29 2010 (r44150)
@@ -0,0 +1,85 @@
+/* nci.c
+ * Copyright (C) 2001-2009, Parrot Foundation.
+ * SVN Info
+ * $Id$
+ * Overview:
+ * Native Call Interface routines. The code needed to build a
+ * parrot to C call frame is in here
+ * Data Structure and Algorithms:
+ * History:
+ * Notes:
+ * References:
+ */
+
+#include "parrot/parrot.h"
+#include "parrot/nci.h"
+#include "api.str"
+
+/* HEADERIZER HFILE: include/parrot/nci.h */
+/* HEADERIZER STOP */
+
+static void
+init_nci_funcs(PARROT_INTERP) {
+ VTABLE_set_pmc_keyed_int(interp, interp->iglobals, IGLOBALS_NCI_FUNCS,
+ pmc_new(interp, enum_class_Hash));
+ Parrot_nci_load_core_thunks(interp);
+ Parrot_nci_load_extra_thunks(interp);
+}
+
+/* This function serves a single purpose. It takes the function
+ signature for a C function we want to call and returns a pointer
+ to a function that can call it. */
+
+void *
+build_call_func(PARROT_INTERP, SHIM(PMC *pmc_nci), NOTNULL(STRING *signature), SHIM(int *jitted)) {
+ PMC *iglobals;
+ PMC *nci_funcs;
+ PMC *thunk;
+
+ /* fixup empty signatures */
+ if (STRING_IS_EMPTY(signature))
+ signature = CONST_STRING(interp, "v");
+
+ iglobals = interp->iglobals;
+ if (PMC_IS_NULL(iglobals))
+ PANIC(interp, "iglobals isn't created yet");
+
+ nci_funcs = VTABLE_get_pmc_keyed_int(interp, iglobals, IGLOBALS_NCI_FUNCS);
+ if (PMC_IS_NULL(nci_funcs)) {
+ init_nci_funcs(interp);
+ nci_funcs = VTABLE_get_pmc_keyed_int(interp, iglobals, IGLOBALS_NCI_FUNCS);
+ }
+
+ thunk = VTABLE_get_pmc_keyed_str(interp, nci_funcs, signature);
+
+ PARROT_ASSERT(PMC_IS_NULL(thunk) || thunk->vtable);
+
+ if ((!PMC_IS_NULL(thunk)) && thunk->vtable->base_type == enum_class_UnManagedStruct)
+ return F2DPTR(VTABLE_get_pointer(interp, thunk));
+
+ /*
+ These lines have been added to aid debugging. I want to be able to
+ see which signature has an unknown type. I am sure someone can come up
+ with a neater way to do this.
+ */
+ {
+ STRING *ns = CONST_STRING(interp, " is an unknown signature type");
+ STRING *message = Parrot_str_concat(interp, signature, ns, 0);
+
+ ns = CONST_STRING(interp, ".\nCAN_BUILD_CALL_FRAMES is disabled, add the signature to src/nci/extra_call_list.nci");
+ message = Parrot_str_concat(interp, message, ns, 0);
+
+ /*
+ * I think there may be memory issues with this but if we get to here we are
+ * aborting.
+ */
+ PANIC(interp, Parrot_str_to_cstring(interp, message));
+ }
+}
+
+/*
+ * Local variables:
+ * c-file-style: "parrot"
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */
Added: trunk/src/nci/core_thunks.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/src/nci/core_thunks.c Fri Feb 19 01:01:29 2010 (r44150)
@@ -0,0 +1,1246 @@
+/* ex: set ro ft=c:
+ * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+ *
+ * This file is generated automatically by tools/build/nativecall.pir
+ *
+ * Any changes made here will be lost!
+ *
+ */
+
+/* src/nci/core_thunks.c
+ * Copyright (C) 2010, Parrot Foundation.
+ * SVN Info
+ * $Id$
+ * Overview:
+ * Native Call Interface routines. The code needed to build a
+ * parrot to C call frame is in here
+ * Data Structure and Algorithms:
+ * History:
+ * Notes:
+ * References:
+ */
+
+
+#include "parrot/parrot.h"
+#include "pmc/pmc_nci.h"
+
+
+#ifdef PARROT_IN_EXTENSION
+/* external libraries can't have strings statically compiled into parrot */
+# define CONST_STRING(i, s) Parrot_str_new_constant((i), (s))
+#else
+# include "core_thunks.str"
+#endif
+
+/* HEADERIZER HFILE: none */
+/* HEADERIZER STOP */
+
+/* All our static functions that call in various ways. Yes, terribly
+ hackish, but that is just fine */
+
+
+static void
+pcf_d_JOd(PARROT_INTERP, PMC *self)
+{
+ typedef double(* func_t)(PARROT_INTERP, PMC *, double);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ FLOATVAL return_data;
+
+ PMC * t_1;
+ FLOATVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiN", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (double)(*fn_pointer)(interp, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "N", return_data);
+
+
+
+}
+static void
+pcf_I_JOS(PARROT_INTERP, PMC *self)
+{
+ typedef INTVAL(* func_t)(PARROT_INTERP, PMC *, STRING *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC * t_1;
+ STRING * t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiS", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (INTVAL)(*fn_pointer)(interp, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_P_JOl(PARROT_INTERP, PMC *self)
+{
+ typedef PMC *(* func_t)(PARROT_INTERP, PMC *, long);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ PMC * return_data;
+
+ PMC * t_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiI", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (PMC *)(*fn_pointer)(interp, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", return_data);
+
+
+
+}
+static void
+pcf_P_Jt(PARROT_INTERP, PMC *self)
+{
+ typedef PMC *(* func_t)(PARROT_INTERP, char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ PMC * return_data;
+
+ char *t_1; STRING *ts_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "S", &ts_1);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (PMC *)(*fn_pointer)(interp, t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", return_data);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+}
+static void
+pcf_S_JOS(PARROT_INTERP, PMC *self)
+{
+ typedef STRING *(* func_t)(PARROT_INTERP, PMC *, STRING *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ STRING * return_data;
+
+ PMC * t_1;
+ STRING * t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiS", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (STRING *)(*fn_pointer)(interp, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "S", return_data);
+
+
+
+}
+static void
+pcf_I_JI(PARROT_INTERP, PMC *self)
+{
+ typedef INTVAL(* func_t)(PARROT_INTERP, INTVAL);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "I", &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (INTVAL)(*fn_pointer)(interp, t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+}
+static void
+pcf_v_JOSP(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, PMC *, STRING *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC * t_1;
+ STRING * t_2;
+ PMC * t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiSP", &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, t_1, t_2, t_3);
+
+
+
+
+
+}
+static void
+pcf_v_JOS(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, PMC *, STRING *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC * t_1;
+ STRING * t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiS", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, t_1, t_2);
+
+
+
+
+}
+static void
+pcf_P_JOS(PARROT_INTERP, PMC *self)
+{
+ typedef PMC *(* func_t)(PARROT_INTERP, PMC *, STRING *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ PMC * return_data;
+
+ PMC * t_1;
+ STRING * t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiS", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (PMC *)(*fn_pointer)(interp, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", return_data);
+
+
+
+}
+static void
+pcf_I_JOI(PARROT_INTERP, PMC *self)
+{
+ typedef INTVAL(* func_t)(PARROT_INTERP, PMC *, INTVAL);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC * t_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiI", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (INTVAL)(*fn_pointer)(interp, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_P_JOP(PARROT_INTERP, PMC *self)
+{
+ typedef PMC *(* func_t)(PARROT_INTERP, PMC *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ PMC * return_data;
+
+ PMC * t_1;
+ PMC * t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiP", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (PMC *)(*fn_pointer)(interp, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", return_data);
+
+
+
+}
+static void
+pcf_P_JOPS(PARROT_INTERP, PMC *self)
+{
+ typedef PMC *(* func_t)(PARROT_INTERP, PMC *, PMC *, STRING *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ PMC * return_data;
+
+ PMC * t_1;
+ PMC * t_2;
+ STRING * t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiPS", &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (PMC *)(*fn_pointer)(interp, t_1, t_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", return_data);
+
+
+
+
+}
+static void
+pcf_v_JOPSP(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, PMC *, PMC *, STRING *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC * t_1;
+ PMC * t_2;
+ STRING * t_3;
+ PMC * t_4;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiPSP", &t_1, &t_2, &t_3, &t_4);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, t_1, t_2, t_3, t_4);
+
+
+
+
+
+
+}
+static void
+pcf_v_JPPP(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, PMC *, PMC *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC * t_1;
+ PMC * t_2;
+ PMC * t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPP", &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, t_1, t_2, t_3);
+
+
+
+
+
+}
+static void
+pcf_v_JPIP(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, PMC *, INTVAL, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC * t_1;
+ INTVAL t_2;
+ PMC * t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIP", &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, t_1, t_2, t_3);
+
+
+
+
+
+}
+static void
+pcf_v_JPSP(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, PMC *, STRING *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC * t_1;
+ STRING * t_2;
+ PMC * t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PSP", &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, t_1, t_2, t_3);
+
+
+
+
+
+}
+static void
+pcf_v_JPNP(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, PMC *, FLOATVAL, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC * t_1;
+ FLOATVAL t_2;
+ PMC * t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PNP", &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, t_1, t_2, t_3);
+
+
+
+
+
+}
+static void
+pcf_v_JPP(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, PMC *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC * t_1;
+ PMC * t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PP", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, t_1, t_2);
+
+
+
+
+}
+static void
+pcf_v_JPI(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, PMC *, INTVAL);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC * t_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PI", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, t_1, t_2);
+
+
+
+
+}
+static void
+pcf_v_JPS(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, PMC *, STRING *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC * t_1;
+ STRING * t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PS", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, t_1, t_2);
+
+
+
+
+}
+static void
+pcf_v_JPN(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, PMC *, FLOATVAL);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC * t_1;
+ FLOATVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PN", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, t_1, t_2);
+
+
+
+
+}
+static void
+pcf_P_JPPP(PARROT_INTERP, PMC *self)
+{
+ typedef PMC *(* func_t)(PARROT_INTERP, PMC *, PMC *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ PMC * return_data;
+
+ PMC * t_1;
+ PMC * t_2;
+ PMC * t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPP", &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (PMC *)(*fn_pointer)(interp, t_1, t_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", return_data);
+
+
+
+
+}
+static void
+pcf_P_JPIP(PARROT_INTERP, PMC *self)
+{
+ typedef PMC *(* func_t)(PARROT_INTERP, PMC *, INTVAL, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ PMC * return_data;
+
+ PMC * t_1;
+ INTVAL t_2;
+ PMC * t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIP", &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (PMC *)(*fn_pointer)(interp, t_1, t_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", return_data);
+
+
+
+
+}
+static void
+pcf_P_JPSP(PARROT_INTERP, PMC *self)
+{
+ typedef PMC *(* func_t)(PARROT_INTERP, PMC *, STRING *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ PMC * return_data;
+
+ PMC * t_1;
+ STRING * t_2;
+ PMC * t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PSP", &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (PMC *)(*fn_pointer)(interp, t_1, t_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", return_data);
+
+
+
+
+}
+static void
+pcf_P_JPNP(PARROT_INTERP, PMC *self)
+{
+ typedef PMC *(* func_t)(PARROT_INTERP, PMC *, FLOATVAL, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ PMC * return_data;
+
+ PMC * t_1;
+ FLOATVAL t_2;
+ PMC * t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PNP", &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (PMC *)(*fn_pointer)(interp, t_1, t_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", return_data);
+
+
+
+
+}
+static void
+pcf_I_JPP(PARROT_INTERP, PMC *self)
+{
+ typedef INTVAL(* func_t)(PARROT_INTERP, PMC *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC * t_1;
+ PMC * t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PP", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (INTVAL)(*fn_pointer)(interp, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_I_JPS(PARROT_INTERP, PMC *self)
+{
+ typedef INTVAL(* func_t)(PARROT_INTERP, PMC *, STRING *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC * t_1;
+ STRING * t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PS", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (INTVAL)(*fn_pointer)(interp, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_I_JPN(PARROT_INTERP, PMC *self)
+{
+ typedef INTVAL(* func_t)(PARROT_INTERP, PMC *, FLOATVAL);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC * t_1;
+ FLOATVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PN", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (INTVAL)(*fn_pointer)(interp, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_i_JP(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(PARROT_INTERP, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC * t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "P", &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(interp, t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+}
+static void
+pcf_v_JP(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC * t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "P", &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, t_1);
+
+
+
+}
+static void
+pcf_i_JPi(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(PARROT_INTERP, PMC *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC * t_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PI", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(interp, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_i_JPii(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(PARROT_INTERP, PMC *, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC * t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PII", &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(interp, t_1, t_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+}
+static void
+pcf_i_JPiii(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(PARROT_INTERP, PMC *, int, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC * t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ INTVAL t_4;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIII", &t_1, &t_2, &t_3, &t_4);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(interp, t_1, t_2, t_3, t_4);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+
+}
+static void
+pcf_i_JPt(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(PARROT_INTERP, PMC *, char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC * t_1;
+ char *t_2; STRING *ts_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PS", &t_1, &ts_2);
+ t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(interp, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+if (t_2) Parrot_str_free_cstring(t_2);
+}
+static void
+pcf_P_JOSSS(PARROT_INTERP, PMC *self)
+{
+ typedef PMC *(* func_t)(PARROT_INTERP, PMC *, STRING *, STRING *, STRING *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ PMC * return_data;
+
+ PMC * t_1;
+ STRING * t_2;
+ STRING * t_3;
+ STRING * t_4;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiSSS", &t_1, &t_2, &t_3, &t_4);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (PMC *)(*fn_pointer)(interp, t_1, t_2, t_3, t_4);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", return_data);
+
+
+
+
+
+}
+static void
+pcf_v_JOSS(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, PMC *, STRING *, STRING *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC * t_1;
+ STRING * t_2;
+ STRING * t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiSS", &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, t_1, t_2, t_3);
+
+
+
+
+
+}
+static void
+pcf_S_JOI(PARROT_INTERP, PMC *self)
+{
+ typedef STRING *(* func_t)(PARROT_INTERP, PMC *, INTVAL);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ STRING * return_data;
+
+ PMC * t_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiI", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (STRING *)(*fn_pointer)(interp, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "S", return_data);
+
+
+
+}
+static void
+pcf_v_JOb(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, PMC *, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC * t_1;
+ STRING *t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiS", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, t_1, Buffer_bufstart(t_2));
+
+
+
+
+}
+static void
+pcf_i_JOPxAT_(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(PARROT_INTERP, PMC *, PMC *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC * t_1;
+ PMC * t_2;
+ PMC * t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiPPs", &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(interp, t_1, t_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+}
+static void
+pcf_I_JOPxAT_(PARROT_INTERP, PMC *self)
+{
+ typedef INTVAL(* func_t)(PARROT_INTERP, PMC *, PMC *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC * t_1;
+ PMC * t_2;
+ PMC * t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiPPs", &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (INTVAL)(*fn_pointer)(interp, t_1, t_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+}
+static void
+pcf_I_JOIPxAT_(PARROT_INTERP, PMC *self)
+{
+ typedef INTVAL(* func_t)(PARROT_INTERP, PMC *, INTVAL, PMC *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC * t_1;
+ INTVAL t_2;
+ PMC * t_3;
+ PMC * t_4;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiIPPs", &t_1, &t_2, &t_3, &t_4);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (INTVAL)(*fn_pointer)(interp, t_1, t_2, t_3, t_4);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+
+}
+static void
+pcf_P_JO(PARROT_INTERP, PMC *self)
+{
+ typedef PMC *(* func_t)(PARROT_INTERP, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ PMC * return_data;
+
+ PMC * t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "Pi", &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (PMC *)(*fn_pointer)(interp, t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", return_data);
+
+
+}
+static void
+pcf_v_JOP(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, PMC *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC * t_1;
+ PMC * t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiP", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, t_1, t_2);
+
+
+
+
+}
+static void
+pcf_P_Ji(PARROT_INTERP, PMC *self)
+{
+ typedef PMC *(* func_t)(PARROT_INTERP, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ PMC * return_data;
+
+ INTVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "I", &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (PMC *)(*fn_pointer)(interp, t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", return_data);
+
+
+}
+
+
+ void
+Parrot_nci_load_core_thunks(PARROT_INTERP)
+{
+ PMC *iglobals;
+ PMC *temp_pmc;
+
+ PMC *HashPointer = NULL;
+
+ iglobals = interp->iglobals;
+ if (PMC_IS_NULL(iglobals))
+ PANIC(interp, "iglobals isn't created yet");
+
+ HashPointer = VTABLE_get_pmc_keyed_int(interp, iglobals,
+ IGLOBALS_NCI_FUNCS);
+ if (PMC_IS_NULL(HashPointer))
+ PANIC(interp, "iglobals.nci_funcs isn't created yet");
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_d_JOd);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "dJOd"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_I_JOS);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "IJOS"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_P_JOl);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "PJOl"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_P_Jt);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "PJt"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_S_JOS);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "SJOS"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_I_JI);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "IJI"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_JOSP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJOSP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_JOS);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJOS"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_P_JOS);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "PJOS"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_I_JOI);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "IJOI"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_P_JOP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "PJOP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_P_JOPS);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "PJOPS"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_JOPSP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJOPSP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_JPPP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJPPP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_JPIP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJPIP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_JPSP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJPSP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_JPNP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJPNP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_JPP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJPP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_JPI);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJPI"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_JPS);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJPS"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_JPN);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJPN"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_P_JPPP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "PJPPP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_P_JPIP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "PJPIP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_P_JPSP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "PJPSP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_P_JPNP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "PJPNP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_I_JPP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "IJPP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_I_JPS);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "IJPS"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_I_JPN);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "IJPN"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_JP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iJP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_JP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_JPi);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iJPi"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_JPii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iJPii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_JPiii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iJPiii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_JPt);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iJPt"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_P_JOSSS);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "PJOSSS"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_JOSS);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJOSS"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_S_JOI);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "SJOI"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_JOb);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJOb"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_JOPxAT_);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iJOP@"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_I_JOPxAT_);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "IJOP@"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_I_JOIPxAT_);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "IJOIP@"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_P_JO);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "PJO"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_JOP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJOP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_P_Ji);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "PJi"), temp_pmc);
+
+}
+
+
+/*
+ * Local variables:
+ * c-file-style: "parrot"
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */
+
Added: trunk/src/nci/core_thunks.nci
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/src/nci/core_thunks.nci Fri Feb 19 01:01:29 2010 (r44150)
@@ -0,0 +1,119 @@
+# Copyright (C) 2002-2008, Parrot Foundation.
+
+# DO NOT EDIT THIS FILE.
+#
+# Any changes made here will be lost.
+#
+# This file is generated automatically by config/gen/call_list.pm
+# using config/gen/call_list/*.in .
+
+
+# Function signature declarations for Parrot Native Call Interface.
+# The first alphanumeric is the type of the return value,
+# the other alphanumerics denote the input parameter types.
+
+# Types
+
+# INT register stuff
+# I - INTVAL
+# c - char
+# s - short
+# i - int
+# l - long
+
+# NUM register stuff
+# N - FLOATVAL
+# f - float
+# d - double
+
+# STR register stuff
+# S - pointer to a STRING-register
+# t - character string (0-terminated)
+# Buffers are not valid return parameters,
+# use 'p' when the native function returns a pointer value
+# b - void *
+# B - void **
+
+# PMC register stuff
+# P - pointer to a PMC-register
+# O - pointer to PMC-register (object)
+# p - data pointer from PMC (on store into a new UnManagedStruct PMC)
+# 2 - pointer to short
+# 3 - pointer to int
+# 4 - pointer to long
+
+# void stuff
+# v - void
+
+# special stuff
+# 0 - insert a NULL (pointer) - doesn't consume a register
+# J - Parrot_Interp param
+# @ - slurpy array
+
+# callback stuff
+# U - Single PMC parameter to pass into callback - user data
+
+# Signatures
+
+d JOd # Parrot builtins
+I JOS
+P JOl
+P Jt
+S JOS # ParrotIO.readline
+I JI # Parrot_is_char_*
+v JOSP # String.trans
+v JOS # String.reverse
+P JOS # Added for os.stat
+I JOI # os.umask
+P JOP # atan2
+P JOPS # Namespace.get_global
+v JOPSP # Namespace.set_global
+
+v JPPP # infix MMD
+v JPIP
+v JPSP
+v JPNP
+
+v JPP # inplace infix MMD
+v JPI
+v JPS
+v JPN
+
+P JPPP # infix MMD new
+P JPIP
+P JPSP
+P JPNP
+
+I JPP # MMD compare
+
+# These are needed for packfileconstanttable.pmc
+I JPS
+I JPN
+
+# These are needed for parrotio.pmc
+i JP
+v JP
+i JPi
+i JPii
+i JPiii
+i JPt
+P JOSSS
+
+# Needed by string.pmc
+v JOSS
+
+# Needed by integer.pmc
+S JOI
+
+# src/pmc/nci.pmc
+v JOb
+
+# ParrotThread creation
+i JOP@
+I JOP@
+I JOIP@
+
+# other ParrotThread
+P JO
+v JOP
+P Ji
Added: trunk/src/nci/extra_thunks.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/src/nci/extra_thunks.c Fri Feb 19 01:01:29 2010 (r44150)
@@ -0,0 +1,7238 @@
+/* ex: set ro ft=c:
+ * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+ *
+ * This file is generated automatically by tools/build/nativecall.pir
+ *
+ * Any changes made here will be lost!
+ *
+ */
+
+/* src/nci/extra_thunks.c
+ * Copyright (C) 2010, Parrot Foundation.
+ * SVN Info
+ * $Id$
+ * Overview:
+ * Native Call Interface routines. The code needed to build a
+ * parrot to C call frame is in here
+ * Data Structure and Algorithms:
+ * History:
+ * Notes:
+ * References:
+ */
+
+
+#include "parrot/parrot.h"
+#include "pmc/pmc_nci.h"
+
+
+#ifdef PARROT_IN_EXTENSION
+/* external libraries can't have strings statically compiled into parrot */
+# define CONST_STRING(i, s) Parrot_str_new_constant((i), (s))
+#else
+# include "extra_thunks.str"
+#endif
+
+/* HEADERIZER HFILE: none */
+/* HEADERIZER STOP */
+
+/* All our static functions that call in various ways. Yes, terribly
+ hackish, but that is just fine */
+
+
+static void
+pcf_v_J(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ ;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "");
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp);
+
+
+}
+static void
+pcf_i_ip(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(int, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ PMC *t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IP", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+}
+static void
+pcf_i_JPip(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(PARROT_INTERP, PMC *, int, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC * t_1;
+ INTVAL t_2;
+ PMC *t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIP", &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(interp, t_1, t_2, PMC_IS_NULL((PMC*)t_3) ? (void *)NULL : VTABLE_get_pointer(interp, t_3));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+}
+static void
+pcf_i_JpP(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(PARROT_INTERP, void *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_1;
+ PMC * t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PP", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(interp, PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_i_Jpii(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(PARROT_INTERP, void *, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PII", &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(interp, PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), t_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+}
+static void
+pcf_i_p(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "P", &t_0);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+}
+static void
+pcf_i_tp(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(char *, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ char *t_0; STRING *ts_0;
+ PMC *t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "SP", &ts_0, &t_1);
+ t_0 = ts_0 ? Parrot_str_to_cstring(interp, ts_0) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+ if (t_0) Parrot_str_free_cstring(t_0);
+
+}
+static void
+pcf_p_J(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(PARROT_INTERP);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ ;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "");
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(interp);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+}
+static void
+pcf_p_Jp(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(PARROT_INTERP, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ PMC *t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "P", &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(interp, PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1));
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+
+}
+static void
+pcf_t_J(PARROT_INTERP, PMC *self)
+{
+ typedef char *(* func_t)(PARROT_INTERP);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ char * return_data;
+STRING *final_destination;
+
+ ;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "");
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (char *)(*fn_pointer)(interp);
+ final_destination = Parrot_str_new(interp, return_data, 0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "S", final_destination);
+
+}
+static void
+pcf_t_Jpti(PARROT_INTERP, PMC *self)
+{
+ typedef char *(* func_t)(PARROT_INTERP, void *, char *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ char * return_data;
+STRING *final_destination;
+
+ PMC *t_1;
+ char *t_2; STRING *ts_2;
+ INTVAL t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PSI", &t_1, &ts_2, &t_3);
+ t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (char *)(*fn_pointer)(interp, PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), t_2, t_3);
+ final_destination = Parrot_str_new(interp, return_data, 0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "S", final_destination);
+
+
+if (t_2) Parrot_str_free_cstring(t_2);
+
+}
+static void
+pcf_t_p(PARROT_INTERP, PMC *self)
+{
+ typedef char *(* func_t)(void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ char * return_data;
+STRING *final_destination;
+
+ PMC *t_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "P", &t_0);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (char *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0));
+ final_destination = Parrot_str_new(interp, return_data, 0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "S", final_destination);
+
+}
+static void
+pcf_t_pt(PARROT_INTERP, PMC *self)
+{
+ typedef char *(* func_t)(void *, char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ char * return_data;
+STRING *final_destination;
+
+ PMC *t_0;
+ char *t_1; STRING *ts_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PS", &t_0, &ts_1);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (char *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1);
+ final_destination = Parrot_str_new(interp, return_data, 0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "S", final_destination);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+}
+static void
+pcf_v_p(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC *t_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "P", &t_0);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0));
+
+
+}
+static void
+pcf_v_pit(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(void *, int, char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ char *t_2; STRING *ts_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIS", &t_0, &t_1, &ts_2);
+ t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2);
+
+
+
+if (t_2) Parrot_str_free_cstring(t_2);
+}
+static void
+pcf_v_ptt(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(void *, char *, char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC *t_0;
+ char *t_1; STRING *ts_1;
+ char *t_2; STRING *ts_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PSS", &t_0, &ts_1, &ts_2);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2);
+
+
+if (t_1) Parrot_str_free_cstring(t_1);
+if (t_2) Parrot_str_free_cstring(t_2);
+}
+static void
+pcf_v_Jtiiipt(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, char *, int, int, int, void *, char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ char *t_1; STRING *ts_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ INTVAL t_4;
+ PMC *t_5;
+ char *t_6; STRING *ts_6;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "SIIIPS", &ts_1, &t_2, &t_3, &t_4, &t_5, &ts_6);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;t_6 = ts_6 ? Parrot_str_to_cstring(interp, ts_6) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, t_1, t_2, t_3, t_4, PMC_IS_NULL((PMC*)t_5) ? (void *)NULL : VTABLE_get_pointer(interp, t_5), t_6);
+
+
+if (t_1) Parrot_str_free_cstring(t_1);
+
+
+
+
+if (t_6) Parrot_str_free_cstring(t_6);
+}
+static void
+pcf_p_JttPP(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(PARROT_INTERP, char *, char *, PMC *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ char *t_1; STRING *ts_1;
+ char *t_2; STRING *ts_2;
+ PMC * t_3;
+ PMC * t_4;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "SSPP", &ts_1, &ts_2, &t_3, &t_4);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(interp, t_1, t_2, t_3, t_4);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+if (t_2) Parrot_str_free_cstring(t_2);
+
+
+}
+static void
+pcf_P_Jtpi(PARROT_INTERP, PMC *self)
+{
+ typedef PMC *(* func_t)(PARROT_INTERP, char *, void *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ PMC * return_data;
+
+ char *t_1; STRING *ts_1;
+ PMC *t_2;
+ INTVAL t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "SPI", &ts_1, &t_2, &t_3);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (PMC *)(*fn_pointer)(interp, t_1, PMC_IS_NULL((PMC*)t_2) ? (void *)NULL : VTABLE_get_pointer(interp, t_2), t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", return_data);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+
+
+}
+static void
+pcf_i_Vppp(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void **, void *, void *, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0; void *v_0;
+ PMC *t_1;
+ PMC *t_2;
+ PMC *t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPPP", &t_0, &t_1, &t_2, &t_3);
+ v_0 = VTABLE_get_pointer(interp, t_0);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(&v_0, PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), PMC_IS_NULL((PMC*)t_2) ? (void *)NULL : VTABLE_get_pointer(interp, t_2), PMC_IS_NULL((PMC*)t_3) ? (void *)NULL : VTABLE_get_pointer(interp, t_3));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+ VTABLE_set_pointer(interp, t_0, v_0);
+
+
+
+}
+static void
+pcf_v_JpPP(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, void *, PMC *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC *t_1;
+ PMC * t_2;
+ PMC * t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPP", &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), t_2, t_3);
+
+
+
+
+
+}
+static void
+pcf_v_pt(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(void *, char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC *t_0;
+ char *t_1; STRING *ts_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PS", &t_0, &ts_1);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1);
+
+
+if (t_1) Parrot_str_free_cstring(t_1);
+}
+static void
+pcf_v_Jpt(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, void *, char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC *t_1;
+ char *t_2; STRING *ts_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PS", &t_1, &ts_2);
+ t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), t_2);
+
+
+
+if (t_2) Parrot_str_free_cstring(t_2);
+}
+static void
+pcf_v_(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)();
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ ;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)();
+
+
+}
+static void
+pcf_v_Jiiip(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, int, int, int, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ INTVAL t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ PMC *t_4;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IIIP", &t_1, &t_2, &t_3, &t_4);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, t_1, t_2, t_3, PMC_IS_NULL((PMC*)t_4) ? (void *)NULL : VTABLE_get_pointer(interp, t_4));
+
+
+
+
+
+
+}
+static void
+pcf_v_i(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ INTVAL t_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "I", &t_0);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(t_0);
+
+
+}
+static void
+pcf_v_ii(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "II", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(t_0, t_1);
+
+
+
+}
+static void
+pcf_v_illllllll(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(int, long, long, long, long, long, long, long, long);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ INTVAL t_4;
+ INTVAL t_5;
+ INTVAL t_6;
+ INTVAL t_7;
+ INTVAL t_8;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IIIIIIIII", &t_0, &t_1, &t_2, &t_3, &t_4, &t_5, &t_6, &t_7, &t_8);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(t_0, t_1, t_2, t_3, t_4, t_5, t_6, t_7, t_8);
+
+
+
+
+
+
+
+
+
+
+}
+static void
+pcf_v_l(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(long);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ INTVAL t_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "I", &t_0);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(t_0);
+
+
+}
+static void
+pcf_v_pbip(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(void *, void *, int, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC *t_0;
+ STRING *t_1;
+ INTVAL t_2;
+ PMC *t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PSIP", &t_0, &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), Buffer_bufstart(t_1), t_2, PMC_IS_NULL((PMC*)t_3) ? (void *)NULL : VTABLE_get_pointer(interp, t_3));
+
+
+
+
+
+}
+static void
+pcf_v_pi(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(void *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PI", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1);
+
+
+
+}
+static void
+pcf_v_piiii(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(void *, int, int, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ INTVAL t_4;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIIII", &t_0, &t_1, &t_2, &t_3, &t_4);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, t_3, t_4);
+
+
+
+
+
+
+}
+static void
+pcf_v_pl(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(void *, long);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PI", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1);
+
+
+
+}
+static void
+pcf_v_pp(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(void *, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC *t_0;
+ PMC *t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PP", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1));
+
+
+
+}
+static void
+pcf_i_JPP(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(PARROT_INTERP, PMC *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC * t_1;
+ PMC * t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PP", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(interp, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_P_JP(PARROT_INTERP, PMC *self)
+{
+ typedef PMC *(* func_t)(PARROT_INTERP, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ PMC * return_data;
+
+ PMC * t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "P", &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (PMC *)(*fn_pointer)(interp, t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", return_data);
+
+
+}
+static void
+pcf_P_JPP(PARROT_INTERP, PMC *self)
+{
+ typedef PMC *(* func_t)(PARROT_INTERP, PMC *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ PMC * return_data;
+
+ PMC * t_1;
+ PMC * t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PP", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (PMC *)(*fn_pointer)(interp, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", return_data);
+
+
+
+}
+static void
+pcf_P_JO(PARROT_INTERP, PMC *self)
+{
+ typedef PMC *(* func_t)(PARROT_INTERP, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ PMC * return_data;
+
+ PMC * t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "Pi", &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (PMC *)(*fn_pointer)(interp, t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", return_data);
+
+
+}
+static void
+pcf_S_JO(PARROT_INTERP, PMC *self)
+{
+ typedef STRING *(* func_t)(PARROT_INTERP, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ STRING * return_data;
+
+ PMC * t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "Pi", &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (STRING *)(*fn_pointer)(interp, t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "S", return_data);
+
+
+}
+static void
+pcf_i_P(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC * t_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "P", &t_0);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+}
+static void
+pcf_P_JOPP(PARROT_INTERP, PMC *self)
+{
+ typedef PMC *(* func_t)(PARROT_INTERP, PMC *, PMC *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ PMC * return_data;
+
+ PMC * t_1;
+ PMC * t_2;
+ PMC * t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiPP", &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (PMC *)(*fn_pointer)(interp, t_1, t_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", return_data);
+
+
+
+
+}
+static void
+pcf_P_JOPPP(PARROT_INTERP, PMC *self)
+{
+ typedef PMC *(* func_t)(PARROT_INTERP, PMC *, PMC *, PMC *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ PMC * return_data;
+
+ PMC * t_1;
+ PMC * t_2;
+ PMC * t_3;
+ PMC * t_4;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiPPP", &t_1, &t_2, &t_3, &t_4);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (PMC *)(*fn_pointer)(interp, t_1, t_2, t_3, t_4);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", return_data);
+
+
+
+
+
+}
+static void
+pcf_v_JOPP(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, PMC *, PMC *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC * t_1;
+ PMC * t_2;
+ PMC * t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiPP", &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, t_1, t_2, t_3);
+
+
+
+
+
+}
+static void
+pcf_v_JOPPP(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, PMC *, PMC *, PMC *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC * t_1;
+ PMC * t_2;
+ PMC * t_3;
+ PMC * t_4;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiPPP", &t_1, &t_2, &t_3, &t_4);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, t_1, t_2, t_3, t_4);
+
+
+
+
+
+
+}
+static void
+pcf_P_JOPPPP(PARROT_INTERP, PMC *self)
+{
+ typedef PMC *(* func_t)(PARROT_INTERP, PMC *, PMC *, PMC *, PMC *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ PMC * return_data;
+
+ PMC * t_1;
+ PMC * t_2;
+ PMC * t_3;
+ PMC * t_4;
+ PMC * t_5;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiPPPP", &t_1, &t_2, &t_3, &t_4, &t_5);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (PMC *)(*fn_pointer)(interp, t_1, t_2, t_3, t_4, t_5);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", return_data);
+
+
+
+
+
+
+}
+static void
+pcf_P_JOPPPPP(PARROT_INTERP, PMC *self)
+{
+ typedef PMC *(* func_t)(PARROT_INTERP, PMC *, PMC *, PMC *, PMC *, PMC *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ PMC * return_data;
+
+ PMC * t_1;
+ PMC * t_2;
+ PMC * t_3;
+ PMC * t_4;
+ PMC * t_5;
+ PMC * t_6;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiPPPPP", &t_1, &t_2, &t_3, &t_4, &t_5, &t_6);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (PMC *)(*fn_pointer)(interp, t_1, t_2, t_3, t_4, t_5, t_6);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", return_data);
+
+
+
+
+
+
+
+}
+static void
+pcf_I_JOSI(PARROT_INTERP, PMC *self)
+{
+ typedef INTVAL(* func_t)(PARROT_INTERP, PMC *, STRING *, INTVAL);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC * t_1;
+ STRING * t_2;
+ INTVAL t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiSI", &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (INTVAL)(*fn_pointer)(interp, t_1, t_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+}
+static void
+pcf_P_JOSII(PARROT_INTERP, PMC *self)
+{
+ typedef PMC *(* func_t)(PARROT_INTERP, PMC *, STRING *, INTVAL, INTVAL);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ PMC * return_data;
+
+ PMC * t_1;
+ STRING * t_2;
+ INTVAL t_3;
+ INTVAL t_4;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiSII", &t_1, &t_2, &t_3, &t_4);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (PMC *)(*fn_pointer)(interp, t_1, t_2, t_3, t_4);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", return_data);
+
+
+
+
+
+}
+static void
+pcf_t_p3(PARROT_INTERP, PMC *self)
+{
+ typedef char *(* func_t)(void *, int *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ char * return_data;
+STRING *final_destination;
+
+ PMC *t_0;
+ PMC *t_1; int i_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PP", &t_0, &t_1);
+ i_1 = VTABLE_get_integer(interp, t_1);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (char *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), &i_1);
+ final_destination = Parrot_str_new(interp, return_data, 0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "S", final_destination);
+
+VTABLE_set_integer_native(interp, t_1, i_1);
+}
+static void
+pcf_i_pp3p(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, void *, int *, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC *t_1;
+ PMC *t_2; int i_2;
+ PMC *t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPPP", &t_0, &t_1, &t_2, &t_3);
+ i_2 = VTABLE_get_integer(interp, t_2);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), &i_2, PMC_IS_NULL((PMC*)t_3) ? (void *)NULL : VTABLE_get_pointer(interp, t_3));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+VTABLE_set_integer_native(interp, t_2, i_2);
+
+}
+static void
+pcf_i_pp3(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, void *, int *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC *t_1;
+ PMC *t_2; int i_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPP", &t_0, &t_1, &t_2);
+ i_2 = VTABLE_get_integer(interp, t_2);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), &i_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+VTABLE_set_integer_native(interp, t_2, i_2);
+}
+static void
+pcf_i_ppd(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, void *, double);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC *t_1;
+ FLOATVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPN", &t_0, &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_i_ptii(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, char *, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ char *t_1; STRING *ts_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PSII", &t_0, &ts_1, &t_2, &t_3);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+
+
+}
+static void
+pcf_i_pipi(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, int, void *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ PMC *t_2;
+ INTVAL t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIPI", &t_0, &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, PMC_IS_NULL((PMC*)t_2) ? (void *)NULL : VTABLE_get_pointer(interp, t_2), t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+}
+static void
+pcf_t_ptti(PARROT_INTERP, PMC *self)
+{
+ typedef char *(* func_t)(void *, char *, char *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ char * return_data;
+STRING *final_destination;
+
+ PMC *t_0;
+ char *t_1; STRING *ts_1;
+ char *t_2; STRING *ts_2;
+ INTVAL t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PSSI", &t_0, &ts_1, &ts_2, &t_3);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (char *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, t_3);
+ final_destination = Parrot_str_new(interp, return_data, 0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "S", final_destination);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+if (t_2) Parrot_str_free_cstring(t_2);
+
+}
+static void
+pcf_t_pti(PARROT_INTERP, PMC *self)
+{
+ typedef char *(* func_t)(void *, char *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ char * return_data;
+STRING *final_destination;
+
+ PMC *t_0;
+ char *t_1; STRING *ts_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PSI", &t_0, &ts_1, &t_2);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (char *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2);
+ final_destination = Parrot_str_new(interp, return_data, 0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "S", final_destination);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+
+}
+static void
+pcf_t_pttti(PARROT_INTERP, PMC *self)
+{
+ typedef char *(* func_t)(void *, char *, char *, char *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ char * return_data;
+STRING *final_destination;
+
+ PMC *t_0;
+ char *t_1; STRING *ts_1;
+ char *t_2; STRING *ts_2;
+ char *t_3; STRING *ts_3;
+ INTVAL t_4;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PSSSI", &t_0, &ts_1, &ts_2, &ts_3, &t_4);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *)NULL;t_3 = ts_3 ? Parrot_str_to_cstring(interp, ts_3) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (char *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, t_3, t_4);
+ final_destination = Parrot_str_new(interp, return_data, 0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "S", final_destination);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+if (t_2) Parrot_str_free_cstring(t_2);
+if (t_3) Parrot_str_free_cstring(t_3);
+
+}
+static void
+pcf_p_Ji(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(PARROT_INTERP, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ INTVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "I", &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(interp, t_1);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+
+}
+static void
+pcf_p_Jipp(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(PARROT_INTERP, int, void *, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ INTVAL t_1;
+ PMC *t_2;
+ PMC *t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IPP", &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(interp, t_1, PMC_IS_NULL((PMC*)t_2) ? (void *)NULL : VTABLE_get_pointer(interp, t_2), PMC_IS_NULL((PMC*)t_3) ? (void *)NULL : VTABLE_get_pointer(interp, t_3));
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+
+
+
+}
+static void
+pcf_p_Jbip(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(PARROT_INTERP, void *, int, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ STRING *t_1;
+ INTVAL t_2;
+ PMC *t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "SIP", &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(interp, Buffer_bufstart(t_1), t_2, PMC_IS_NULL((PMC*)t_3) ? (void *)NULL : VTABLE_get_pointer(interp, t_3));
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+
+
+
+}
+static void
+pcf_v_Jp(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC *t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "P", &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1));
+
+
+
+}
+static void
+pcf_v_JS(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, STRING *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ STRING * t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "S", &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, t_1);
+
+
+
+}
+static void
+pcf_t_tt(PARROT_INTERP, PMC *self)
+{
+ typedef char *(* func_t)(char *, char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ char * return_data;
+STRING *final_destination;
+
+ char *t_0; STRING *ts_0;
+ char *t_1; STRING *ts_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "SS", &ts_0, &ts_1);
+ t_0 = ts_0 ? Parrot_str_to_cstring(interp, ts_0) : (char *)NULL;t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (char *)(*fn_pointer)(t_0, t_1);
+ final_destination = Parrot_str_new(interp, return_data, 0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "S", final_destination);
+ if (t_0) Parrot_str_free_cstring(t_0);
+if (t_1) Parrot_str_free_cstring(t_1);
+}
+static void
+pcf_I_JOt(PARROT_INTERP, PMC *self)
+{
+ typedef INTVAL(* func_t)(PARROT_INTERP, PMC *, char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC * t_1;
+ char *t_2; STRING *ts_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiS", &t_1, &ts_2);
+ t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (INTVAL)(*fn_pointer)(interp, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+if (t_2) Parrot_str_free_cstring(t_2);
+}
+static void
+pcf_v_JOSI(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, PMC *, STRING *, INTVAL);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC * t_1;
+ STRING * t_2;
+ INTVAL t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiSI", &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, t_1, t_2, t_3);
+
+
+
+
+
+}
+static void
+pcf_S_JOi(PARROT_INTERP, PMC *self)
+{
+ typedef STRING *(* func_t)(PARROT_INTERP, PMC *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ STRING * return_data;
+
+ PMC * t_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiI", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (STRING *)(*fn_pointer)(interp, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "S", return_data);
+
+
+
+}
+static void
+pcf_v_JOi(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, PMC *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC * t_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiI", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, t_1, t_2);
+
+
+
+
+}
+static void
+pcf_I_JO(PARROT_INTERP, PMC *self)
+{
+ typedef INTVAL(* func_t)(PARROT_INTERP, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC * t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "Pi", &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (INTVAL)(*fn_pointer)(interp, t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+}
+static void
+pcf_N_JO(PARROT_INTERP, PMC *self)
+{
+ typedef FLOATVAL(* func_t)(PARROT_INTERP, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ FLOATVAL return_data;
+
+ PMC * t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "Pi", &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (FLOATVAL)(*fn_pointer)(interp, t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "N", return_data);
+
+
+}
+static void
+pcf_v_JON(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, PMC *, FLOATVAL);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC * t_1;
+ FLOATVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiN", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, t_1, t_2);
+
+
+
+
+}
+static void
+pcf_P_JOi(PARROT_INTERP, PMC *self)
+{
+ typedef PMC *(* func_t)(PARROT_INTERP, PMC *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ PMC * return_data;
+
+ PMC * t_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiI", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (PMC *)(*fn_pointer)(interp, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", return_data);
+
+
+
+}
+static void
+pcf_v_JOI(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, PMC *, INTVAL);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC * t_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiI", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, t_1, t_2);
+
+
+
+
+}
+static void
+pcf_P_JOI(PARROT_INTERP, PMC *self)
+{
+ typedef PMC *(* func_t)(PARROT_INTERP, PMC *, INTVAL);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ PMC * return_data;
+
+ PMC * t_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiI", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (PMC *)(*fn_pointer)(interp, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", return_data);
+
+
+
+}
+static void
+pcf_P_JOIS(PARROT_INTERP, PMC *self)
+{
+ typedef PMC *(* func_t)(PARROT_INTERP, PMC *, INTVAL, STRING *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ PMC * return_data;
+
+ PMC * t_1;
+ INTVAL t_2;
+ STRING * t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiIS", &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (PMC *)(*fn_pointer)(interp, t_1, t_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", return_data);
+
+
+
+
+}
+static void
+pcf_S_JOSP(PARROT_INTERP, PMC *self)
+{
+ typedef STRING *(* func_t)(PARROT_INTERP, PMC *, STRING *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ STRING * return_data;
+
+ PMC * t_1;
+ STRING * t_2;
+ PMC * t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiSP", &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (STRING *)(*fn_pointer)(interp, t_1, t_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "S", return_data);
+
+
+
+
+}
+static void
+pcf_i_(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)();
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ ;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)();
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+}
+static void
+pcf_i_i3i(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(int, int *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ PMC *t_1; int i_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IPI", &t_0, &t_1, &t_2);
+ i_1 = VTABLE_get_integer(interp, t_1);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, &i_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+VTABLE_set_integer_native(interp, t_1, i_1);
+
+}
+static void
+pcf_i_ibi(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(int, void *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ STRING *t_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "ISI", &t_0, &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, Buffer_bufstart(t_1), t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_l_lttl(PARROT_INTERP, PMC *self)
+{
+ typedef long(* func_t)(long, char *, char *, long);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ char *t_1; STRING *ts_1;
+ char *t_2; STRING *ts_2;
+ INTVAL t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "ISSI", &t_0, &ts_1, &ts_2, &t_3);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (long)(*fn_pointer)(t_0, t_1, t_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+if (t_2) Parrot_str_free_cstring(t_2);
+
+}
+static void
+pcf_i_pip(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, int, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ PMC *t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIP", &t_0, &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, PMC_IS_NULL((PMC*)t_2) ? (void *)NULL : VTABLE_get_pointer(interp, t_2));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_i_piS(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, int, STRING *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ STRING * t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIS", &t_0, &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_S_i(PARROT_INTERP, PMC *self)
+{
+ typedef STRING *(* func_t)(int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ STRING * return_data;
+
+ INTVAL t_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "I", &t_0);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (STRING *)(*fn_pointer)(t_0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "S", return_data);
+
+}
+static void
+pcf_l_p(PARROT_INTERP, PMC *self)
+{
+ typedef long(* func_t)(void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "P", &t_0);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (long)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+}
+static void
+pcf_c_p(PARROT_INTERP, PMC *self)
+{
+ typedef char(* func_t)(void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "P", &t_0);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (char)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+}
+static void
+pcf_p_pi(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(void *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ PMC *t_0;
+ INTVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PI", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+
+}
+static void
+pcf_p_p(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ PMC *t_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "P", &t_0);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0));
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+}
+static void
+pcf_i_pttttt(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, char *, char *, char *, char *, char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ char *t_1; STRING *ts_1;
+ char *t_2; STRING *ts_2;
+ char *t_3; STRING *ts_3;
+ char *t_4; STRING *ts_4;
+ char *t_5; STRING *ts_5;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PSSSSS", &t_0, &ts_1, &ts_2, &ts_3, &ts_4, &ts_5);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *)NULL;t_3 = ts_3 ? Parrot_str_to_cstring(interp, ts_3) : (char *)NULL;t_4 = ts_4 ? Parrot_str_to_cstring(interp, ts_4) : (char *)NULL;t_5 = ts_5 ? Parrot_str_to_cstring(interp, ts_5) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, t_3, t_4, t_5);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+if (t_2) Parrot_str_free_cstring(t_2);
+if (t_3) Parrot_str_free_cstring(t_3);
+if (t_4) Parrot_str_free_cstring(t_4);
+if (t_5) Parrot_str_free_cstring(t_5);
+}
+static void
+pcf_c_pttt(PARROT_INTERP, PMC *self)
+{
+ typedef char(* func_t)(void *, char *, char *, char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ char *t_1; STRING *ts_1;
+ char *t_2; STRING *ts_2;
+ char *t_3; STRING *ts_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PSSS", &t_0, &ts_1, &ts_2, &ts_3);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *)NULL;t_3 = ts_3 ? Parrot_str_to_cstring(interp, ts_3) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (char)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+if (t_2) Parrot_str_free_cstring(t_2);
+if (t_3) Parrot_str_free_cstring(t_3);
+}
+static void
+pcf_p_pttttiti(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(void *, char *, char *, char *, char *, int, char *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ PMC *t_0;
+ char *t_1; STRING *ts_1;
+ char *t_2; STRING *ts_2;
+ char *t_3; STRING *ts_3;
+ char *t_4; STRING *ts_4;
+ INTVAL t_5;
+ char *t_6; STRING *ts_6;
+ INTVAL t_7;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PSSSSISI", &t_0, &ts_1, &ts_2, &ts_3, &ts_4, &t_5, &ts_6, &t_7);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *)NULL;t_3 = ts_3 ? Parrot_str_to_cstring(interp, ts_3) : (char *)NULL;t_4 = ts_4 ? Parrot_str_to_cstring(interp, ts_4) : (char *)NULL;t_6 = ts_6 ? Parrot_str_to_cstring(interp, ts_6) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, t_3, t_4, t_5, t_6, t_7);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+if (t_2) Parrot_str_free_cstring(t_2);
+if (t_3) Parrot_str_free_cstring(t_3);
+if (t_4) Parrot_str_free_cstring(t_4);
+
+if (t_6) Parrot_str_free_cstring(t_6);
+
+}
+static void
+pcf_i_pt(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ char *t_1; STRING *ts_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PS", &t_0, &ts_1);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+}
+static void
+pcf_i_ptl(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, char *, long);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ char *t_1; STRING *ts_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PSI", &t_0, &ts_1, &t_2);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+
+}
+static void
+pcf_i_pi(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PI", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+}
+static void
+pcf_i_pl(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, long);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PI", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+}
+static void
+pcf_l_(PARROT_INTERP, PMC *self)
+{
+ typedef long(* func_t)();
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ ;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (long)(*fn_pointer)();
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+}
+static void
+pcf_p_pt(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(void *, char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ PMC *t_0;
+ char *t_1; STRING *ts_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PS", &t_0, &ts_1);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+}
+static void
+pcf_p_ptt(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(void *, char *, char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ PMC *t_0;
+ char *t_1; STRING *ts_1;
+ char *t_2; STRING *ts_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PSS", &t_0, &ts_1, &ts_2);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+if (t_2) Parrot_str_free_cstring(t_2);
+}
+static void
+pcf_i_pit(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, int, char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ char *t_2; STRING *ts_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIS", &t_0, &t_1, &ts_2);
+ t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+if (t_2) Parrot_str_free_cstring(t_2);
+}
+static void
+pcf_p_pp(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(void *, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ PMC *t_0;
+ PMC *t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PP", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1));
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+
+}
+static void
+pcf_l_ttl(PARROT_INTERP, PMC *self)
+{
+ typedef long(* func_t)(char *, char *, long);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ char *t_0; STRING *ts_0;
+ char *t_1; STRING *ts_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "SSI", &ts_0, &ts_1, &t_2);
+ t_0 = ts_0 ? Parrot_str_to_cstring(interp, ts_0) : (char *)NULL;t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (long)(*fn_pointer)(t_0, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+ if (t_0) Parrot_str_free_cstring(t_0);
+if (t_1) Parrot_str_free_cstring(t_1);
+
+}
+static void
+pcf_l_pttl(PARROT_INTERP, PMC *self)
+{
+ typedef long(* func_t)(void *, char *, char *, long);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ char *t_1; STRING *ts_1;
+ char *t_2; STRING *ts_2;
+ INTVAL t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PSSI", &t_0, &ts_1, &ts_2, &t_3);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (long)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+if (t_2) Parrot_str_free_cstring(t_2);
+
+}
+static void
+pcf_v_t(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ char *t_0; STRING *ts_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "S", &ts_0);
+ t_0 = ts_0 ? Parrot_str_to_cstring(interp, ts_0) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(t_0);
+
+ if (t_0) Parrot_str_free_cstring(t_0);
+}
+static void
+pcf_p_pttttitl(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(void *, char *, char *, char *, char *, int, char *, long);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ PMC *t_0;
+ char *t_1; STRING *ts_1;
+ char *t_2; STRING *ts_2;
+ char *t_3; STRING *ts_3;
+ char *t_4; STRING *ts_4;
+ INTVAL t_5;
+ char *t_6; STRING *ts_6;
+ INTVAL t_7;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PSSSSISI", &t_0, &ts_1, &ts_2, &ts_3, &ts_4, &t_5, &ts_6, &t_7);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *)NULL;t_3 = ts_3 ? Parrot_str_to_cstring(interp, ts_3) : (char *)NULL;t_4 = ts_4 ? Parrot_str_to_cstring(interp, ts_4) : (char *)NULL;t_6 = ts_6 ? Parrot_str_to_cstring(interp, ts_6) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, t_3, t_4, t_5, t_6, t_7);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+if (t_2) Parrot_str_free_cstring(t_2);
+if (t_3) Parrot_str_free_cstring(t_3);
+if (t_4) Parrot_str_free_cstring(t_4);
+
+if (t_6) Parrot_str_free_cstring(t_6);
+
+}
+static void
+pcf_p_tiB3P(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(char *, int, char **, int *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ char *t_0; STRING *ts_0;
+ INTVAL t_1;
+ char *t_2; STRING *ts_2;
+ PMC *t_3; int i_3;
+ PMC * t_4;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "SISPP", &ts_0, &t_1, &ts_2, &t_3, &t_4);
+ t_0 = ts_0 ? Parrot_str_to_cstring(interp, ts_0) : (char *)NULL;t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *) NULL;i_3 = VTABLE_get_integer(interp, t_3);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(t_0, t_1, &t_2, &i_3, t_4);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+ if (t_0) Parrot_str_free_cstring(t_0);
+
+if (t_2) Parrot_str_free_cstring(t_2);
+VTABLE_set_integer_native(interp, t_3, i_3);
+
+}
+static void
+pcf_p_tip3P(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(char *, int, void *, int *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ char *t_0; STRING *ts_0;
+ INTVAL t_1;
+ PMC *t_2;
+ PMC *t_3; int i_3;
+ PMC * t_4;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "SIPPP", &ts_0, &t_1, &t_2, &t_3, &t_4);
+ t_0 = ts_0 ? Parrot_str_to_cstring(interp, ts_0) : (char *)NULL;i_3 = VTABLE_get_integer(interp, t_3);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(t_0, t_1, PMC_IS_NULL((PMC*)t_2) ? (void *)NULL : VTABLE_get_pointer(interp, t_2), &i_3, t_4);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+ if (t_0) Parrot_str_free_cstring(t_0);
+
+
+VTABLE_set_integer_native(interp, t_3, i_3);
+
+}
+static void
+pcf_i_pPtiiipi(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, PMC *, char *, int, int, int, void *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC * t_1;
+ char *t_2; STRING *ts_2;
+ INTVAL t_3;
+ INTVAL t_4;
+ INTVAL t_5;
+ PMC *t_6;
+ INTVAL t_7;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPSIIIPI", &t_0, &t_1, &ts_2, &t_3, &t_4, &t_5, &t_6, &t_7);
+ t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, t_3, t_4, t_5, PMC_IS_NULL((PMC*)t_6) ? (void *)NULL : VTABLE_get_pointer(interp, t_6), t_7);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+if (t_2) Parrot_str_free_cstring(t_2);
+
+
+
+
+
+}
+static void
+pcf_i_tpiibi(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(char *, void *, int, int, void *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ char *t_0; STRING *ts_0;
+ PMC *t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ STRING *t_4;
+ INTVAL t_5;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "SPIISI", &ts_0, &t_1, &t_2, &t_3, &t_4, &t_5);
+ t_0 = ts_0 ? Parrot_str_to_cstring(interp, ts_0) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), t_2, t_3, Buffer_bufstart(t_4), t_5);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+ if (t_0) Parrot_str_free_cstring(t_0);
+
+
+
+
+
+}
+static void
+pcf_p_ptippppi(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(void *, char *, int, void *, void *, void *, void *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ PMC *t_0;
+ char *t_1; STRING *ts_1;
+ INTVAL t_2;
+ PMC *t_3;
+ PMC *t_4;
+ PMC *t_5;
+ PMC *t_6;
+ INTVAL t_7;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PSIPPPPI", &t_0, &ts_1, &t_2, &t_3, &t_4, &t_5, &t_6, &t_7);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, PMC_IS_NULL((PMC*)t_3) ? (void *)NULL : VTABLE_get_pointer(interp, t_3), PMC_IS_NULL((PMC*)t_4) ? (void *)NULL : VTABLE_get_pointer(interp, t_4), PMC_IS_NULL((PMC*)t_5) ? (void *)NULL : VTABLE_get_pointer(interp, t_5), PMC_IS_NULL((PMC*)t_6) ? (void *)NULL : VTABLE_get_pointer(interp, t_6), t_7);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+
+
+
+
+
+
+}
+static void
+pcf_p_pi33ipi(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(void *, int, int *, int *, int, void *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ PMC *t_0;
+ INTVAL t_1;
+ PMC *t_2; int i_2;
+ PMC *t_3; int i_3;
+ INTVAL t_4;
+ PMC *t_5;
+ INTVAL t_6;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIPPIPI", &t_0, &t_1, &t_2, &t_3, &t_4, &t_5, &t_6);
+ i_2 = VTABLE_get_integer(interp, t_2);i_3 = VTABLE_get_integer(interp, t_3);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, &i_2, &i_3, t_4, PMC_IS_NULL((PMC*)t_5) ? (void *)NULL : VTABLE_get_pointer(interp, t_5), t_6);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+
+VTABLE_set_integer_native(interp, t_2, i_2);
+VTABLE_set_integer_native(interp, t_3, i_3);
+
+
+
+}
+static void
+pcf_p_pttip(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(void *, char *, char *, int, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ PMC *t_0;
+ char *t_1; STRING *ts_1;
+ char *t_2; STRING *ts_2;
+ INTVAL t_3;
+ PMC *t_4;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PSSIP", &t_0, &ts_1, &ts_2, &t_3, &t_4);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, t_3, PMC_IS_NULL((PMC*)t_4) ? (void *)NULL : VTABLE_get_pointer(interp, t_4));
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+if (t_2) Parrot_str_free_cstring(t_2);
+
+
+}
+static void
+pcf_p_ptipppi(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(void *, char *, int, void *, void *, void *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ PMC *t_0;
+ char *t_1; STRING *ts_1;
+ INTVAL t_2;
+ PMC *t_3;
+ PMC *t_4;
+ PMC *t_5;
+ INTVAL t_6;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PSIPPPI", &t_0, &ts_1, &t_2, &t_3, &t_4, &t_5, &t_6);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, PMC_IS_NULL((PMC*)t_3) ? (void *)NULL : VTABLE_get_pointer(interp, t_3), PMC_IS_NULL((PMC*)t_4) ? (void *)NULL : VTABLE_get_pointer(interp, t_4), PMC_IS_NULL((PMC*)t_5) ? (void *)NULL : VTABLE_get_pointer(interp, t_5), t_6);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+
+
+
+
+
+}
+static void
+pcf_p_ppP(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(void *, void *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ PMC *t_0;
+ PMC *t_1;
+ PMC * t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPP", &t_0, &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), t_2);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+
+
+}
+static void
+pcf_p_iiil(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(int, int, int, long);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IIII", &t_0, &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(t_0, t_1, t_2, t_3);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+
+
+
+}
+static void
+pcf_i_ppl(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, void *, long);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC *t_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPI", &t_0, &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_v_pip(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(void *, int, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ PMC *t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIP", &t_0, &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, PMC_IS_NULL((PMC*)t_2) ? (void *)NULL : VTABLE_get_pointer(interp, t_2));
+
+
+
+
+}
+static void
+pcf_p_pti(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(void *, char *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ PMC *t_0;
+ char *t_1; STRING *ts_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PSI", &t_0, &ts_1, &t_2);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+
+}
+static void
+pcf_i_ppp(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, void *, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC *t_1;
+ PMC *t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPP", &t_0, &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), PMC_IS_NULL((PMC*)t_2) ? (void *)NULL : VTABLE_get_pointer(interp, t_2));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_p_ptii(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(void *, char *, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ PMC *t_0;
+ char *t_1; STRING *ts_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PSII", &t_0, &ts_1, &t_2, &t_3);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, t_3);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+
+
+}
+static void
+pcf_p_ti(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(char *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ char *t_0; STRING *ts_0;
+ INTVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "SI", &ts_0, &t_1);
+ t_0 = ts_0 ? Parrot_str_to_cstring(interp, ts_0) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(t_0, t_1);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+ if (t_0) Parrot_str_free_cstring(t_0);
+
+}
+static void
+pcf_p_ptp(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(void *, char *, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ PMC *t_0;
+ char *t_1; STRING *ts_1;
+ PMC *t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PSP", &t_0, &ts_1, &t_2);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, PMC_IS_NULL((PMC*)t_2) ? (void *)NULL : VTABLE_get_pointer(interp, t_2));
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+
+}
+static void
+pcf_i_pt33(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, char *, int *, int *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ char *t_1; STRING *ts_1;
+ PMC *t_2; int i_2;
+ PMC *t_3; int i_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PSPP", &t_0, &ts_1, &t_2, &t_3);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;i_2 = VTABLE_get_integer(interp, t_2);i_3 = VTABLE_get_integer(interp, t_3);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, &i_2, &i_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+VTABLE_set_integer_native(interp, t_2, i_2);
+VTABLE_set_integer_native(interp, t_3, i_3);
+}
+static void
+pcf_c_(PARROT_INTERP, PMC *self)
+{
+ typedef char(* func_t)();
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ ;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (char)(*fn_pointer)();
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+}
+static void
+pcf_c_pi(PARROT_INTERP, PMC *self)
+{
+ typedef char(* func_t)(void *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PI", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (char)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+}
+static void
+pcf_d_(PARROT_INTERP, PMC *self)
+{
+ typedef double(* func_t)();
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ FLOATVAL return_data;
+
+ ;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (double)(*fn_pointer)();
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "N", return_data);
+
+}
+static void
+pcf_d_d(PARROT_INTERP, PMC *self)
+{
+ typedef double(* func_t)(double);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ FLOATVAL return_data;
+
+ FLOATVAL t_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "N", &t_0);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (double)(*fn_pointer)(t_0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "N", return_data);
+
+}
+static void
+pcf_f_(PARROT_INTERP, PMC *self)
+{
+ typedef float(* func_t)();
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ FLOATVAL return_data;
+
+ ;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (float)(*fn_pointer)();
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "N", return_data);
+
+}
+static void
+pcf_f_ff(PARROT_INTERP, PMC *self)
+{
+ typedef float(* func_t)(float, float);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ FLOATVAL return_data;
+
+ FLOATVAL t_0;
+ FLOATVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "NN", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (float)(*fn_pointer)(t_0, t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "N", return_data);
+
+
+}
+static void
+pcf_f_is(PARROT_INTERP, PMC *self)
+{
+ typedef float(* func_t)(int, short);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ FLOATVAL return_data;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "II", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (float)(*fn_pointer)(t_0, t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "N", return_data);
+
+
+}
+static void
+pcf_i_b(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ STRING *t_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "S", &t_0);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(Buffer_bufstart(t_0));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+}
+static void
+pcf_i_d(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(double);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ FLOATVAL t_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "N", &t_0);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+}
+static void
+pcf_i_i(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "I", &t_0);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+}
+static void
+pcf_i_ii(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "II", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+}
+static void
+pcf_i_ii4(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(int, int, long *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ PMC *t_2; long i_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IIP", &t_0, &t_1, &t_2);
+ i_2 = VTABLE_get_integer(interp, t_2);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, t_1, &i_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+VTABLE_set_integer_native(interp, t_2, i_2);
+}
+static void
+pcf_i_ii4i(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(int, int, long *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ PMC *t_2; long i_2;
+ INTVAL t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IIPI", &t_0, &t_1, &t_2, &t_3);
+ i_2 = VTABLE_get_integer(interp, t_2);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, t_1, &i_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+VTABLE_set_integer_native(interp, t_2, i_2);
+
+}
+static void
+pcf_i_iiii(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(int, int, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IIII", &t_0, &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, t_1, t_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+}
+static void
+pcf_i_iiilsp(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(int, int, int, long, short, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ INTVAL t_4;
+ PMC *t_5;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IIIIIP", &t_0, &t_1, &t_2, &t_3, &t_4, &t_5);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, t_1, t_2, t_3, t_4, PMC_IS_NULL((PMC*)t_5) ? (void *)NULL : VTABLE_get_pointer(interp, t_5));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+
+
+}
+static void
+pcf_i_iil(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(int, int, long);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "III", &t_0, &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_i_iili(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(int, int, long, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IIII", &t_0, &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, t_1, t_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+}
+static void
+pcf_i_iip(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(int, int, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ PMC *t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IIP", &t_0, &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, t_1, PMC_IS_NULL((PMC*)t_2) ? (void *)NULL : VTABLE_get_pointer(interp, t_2));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_i_iit(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(int, int, char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ char *t_2; STRING *ts_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IIS", &t_0, &t_1, &ts_2);
+ t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+if (t_2) Parrot_str_free_cstring(t_2);
+}
+static void
+pcf_i_iiti(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(int, int, char *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ char *t_2; STRING *ts_2;
+ INTVAL t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IISI", &t_0, &t_1, &ts_2, &t_3);
+ t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, t_1, t_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+if (t_2) Parrot_str_free_cstring(t_2);
+
+}
+static void
+pcf_i_ilsp(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(int, long, short, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ PMC *t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IIIP", &t_0, &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, t_1, t_2, PMC_IS_NULL((PMC*)t_3) ? (void *)NULL : VTABLE_get_pointer(interp, t_3));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+}
+static void
+pcf_i_iti(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(int, char *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ char *t_1; STRING *ts_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "ISI", &t_0, &ts_1, &t_2);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+
+}
+static void
+pcf_i_l(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(long);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "I", &t_0);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+}
+static void
+pcf_i_li(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(long, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "II", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+}
+static void
+pcf_i_lp(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(long, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ PMC *t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IP", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+}
+static void
+pcf_i_lsp(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(long, short, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ PMC *t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IIP", &t_0, &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, t_1, PMC_IS_NULL((PMC*)t_2) ? (void *)NULL : VTABLE_get_pointer(interp, t_2));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_i_p33(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, int *, int *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC *t_1; int i_1;
+ PMC *t_2; int i_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPP", &t_0, &t_1, &t_2);
+ i_1 = VTABLE_get_integer(interp, t_1);i_2 = VTABLE_get_integer(interp, t_2);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), &i_1, &i_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+VTABLE_set_integer_native(interp, t_1, i_1);
+VTABLE_set_integer_native(interp, t_2, i_2);
+}
+static void
+pcf_i_p333(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, int *, int *, int *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC *t_1; int i_1;
+ PMC *t_2; int i_2;
+ PMC *t_3; int i_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPPP", &t_0, &t_1, &t_2, &t_3);
+ i_1 = VTABLE_get_integer(interp, t_1);i_2 = VTABLE_get_integer(interp, t_2);i_3 = VTABLE_get_integer(interp, t_3);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), &i_1, &i_2, &i_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+VTABLE_set_integer_native(interp, t_1, i_1);
+VTABLE_set_integer_native(interp, t_2, i_2);
+VTABLE_set_integer_native(interp, t_3, i_3);
+}
+static void
+pcf_i_p333333(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, int *, int *, int *, int *, int *, int *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC *t_1; int i_1;
+ PMC *t_2; int i_2;
+ PMC *t_3; int i_3;
+ PMC *t_4; int i_4;
+ PMC *t_5; int i_5;
+ PMC *t_6; int i_6;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPPPPPP", &t_0, &t_1, &t_2, &t_3, &t_4, &t_5, &t_6);
+ i_1 = VTABLE_get_integer(interp, t_1);i_2 = VTABLE_get_integer(interp, t_2);i_3 = VTABLE_get_integer(interp, t_3);i_4 = VTABLE_get_integer(interp, t_4);i_5 = VTABLE_get_integer(interp, t_5);i_6 = VTABLE_get_integer(interp, t_6);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), &i_1, &i_2, &i_3, &i_4, &i_5, &i_6);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+VTABLE_set_integer_native(interp, t_1, i_1);
+VTABLE_set_integer_native(interp, t_2, i_2);
+VTABLE_set_integer_native(interp, t_3, i_3);
+VTABLE_set_integer_native(interp, t_4, i_4);
+VTABLE_set_integer_native(interp, t_5, i_5);
+VTABLE_set_integer_native(interp, t_6, i_6);
+}
+static void
+pcf_i_p4(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, long *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC *t_1; long i_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PP", &t_0, &t_1);
+ i_1 = VTABLE_get_integer(interp, t_1);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), &i_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+VTABLE_set_integer_native(interp, t_1, i_1);
+}
+static void
+pcf_i_p42p(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, long *, short *, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC *t_1; long i_1;
+ PMC *t_2; short i_2;
+ PMC *t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPPP", &t_0, &t_1, &t_2, &t_3);
+ i_1 = VTABLE_get_integer(interp, t_1);i_2 = VTABLE_get_integer(interp, t_2);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), &i_1, &i_2, PMC_IS_NULL((PMC*)t_3) ? (void *)NULL : VTABLE_get_pointer(interp, t_3));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+VTABLE_set_integer_native(interp, t_1, i_1);
+VTABLE_set_integer_native(interp, t_2, i_2);
+
+}
+static void
+pcf_i_p4i(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, long *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC *t_1; long i_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPI", &t_0, &t_1, &t_2);
+ i_1 = VTABLE_get_integer(interp, t_1);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), &i_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+VTABLE_set_integer_native(interp, t_1, i_1);
+
+}
+static void
+pcf_i_pb(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ STRING *t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PS", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), Buffer_bufstart(t_1));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+}
+static void
+pcf_i_pii(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PII", &t_0, &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_i_pii4(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, int, int, long *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ PMC *t_3; long i_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIIP", &t_0, &t_1, &t_2, &t_3);
+ i_3 = VTABLE_get_integer(interp, t_3);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, &i_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+VTABLE_set_integer_native(interp, t_3, i_3);
+}
+static void
+pcf_i_pii4i(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, int, int, long *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ PMC *t_3; long i_3;
+ INTVAL t_4;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIIPI", &t_0, &t_1, &t_2, &t_3, &t_4);
+ i_3 = VTABLE_get_integer(interp, t_3);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, &i_3, t_4);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+VTABLE_set_integer_native(interp, t_3, i_3);
+
+}
+static void
+pcf_i_piii(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, int, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIII", &t_0, &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+}
+static void
+pcf_i_piiiiii(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, int, int, int, int, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ INTVAL t_4;
+ INTVAL t_5;
+ INTVAL t_6;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIIIIII", &t_0, &t_1, &t_2, &t_3, &t_4, &t_5, &t_6);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, t_3, t_4, t_5, t_6);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+
+
+
+}
+static void
+pcf_i_piiilsp(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, int, int, int, long, short, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ INTVAL t_4;
+ INTVAL t_5;
+ PMC *t_6;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIIIIIP", &t_0, &t_1, &t_2, &t_3, &t_4, &t_5, &t_6);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, t_3, t_4, t_5, PMC_IS_NULL((PMC*)t_6) ? (void *)NULL : VTABLE_get_pointer(interp, t_6));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+
+
+
+}
+static void
+pcf_i_piil(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, int, int, long);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIII", &t_0, &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+}
+static void
+pcf_i_piili(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, int, int, long, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ INTVAL t_4;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIIII", &t_0, &t_1, &t_2, &t_3, &t_4);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, t_3, t_4);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+
+}
+static void
+pcf_i_piit(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, int, int, char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ char *t_3; STRING *ts_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIIS", &t_0, &t_1, &t_2, &ts_3);
+ t_3 = ts_3 ? Parrot_str_to_cstring(interp, ts_3) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+if (t_3) Parrot_str_free_cstring(t_3);
+}
+static void
+pcf_i_piiti(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, int, int, char *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ char *t_3; STRING *ts_3;
+ INTVAL t_4;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIISI", &t_0, &t_1, &t_2, &ts_3, &t_4);
+ t_3 = ts_3 ? Parrot_str_to_cstring(interp, ts_3) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, t_3, t_4);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+if (t_3) Parrot_str_free_cstring(t_3);
+
+}
+static void
+pcf_i_pilsp(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, int, long, short, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ PMC *t_4;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIIIP", &t_0, &t_1, &t_2, &t_3, &t_4);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, t_3, PMC_IS_NULL((PMC*)t_4) ? (void *)NULL : VTABLE_get_pointer(interp, t_4));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+
+}
+static void
+pcf_i_pli(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, long, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PII", &t_0, &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_i_pll(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, long, long);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PII", &t_0, &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_i_pllllllll(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, long, long, long, long, long, long, long, long);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ INTVAL t_4;
+ INTVAL t_5;
+ INTVAL t_6;
+ INTVAL t_7;
+ INTVAL t_8;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIIIIIIII", &t_0, &t_1, &t_2, &t_3, &t_4, &t_5, &t_6, &t_7, &t_8);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, t_3, t_4, t_5, t_6, t_7, t_8);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+
+
+
+
+
+}
+static void
+pcf_i_plp(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, long, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ PMC *t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIP", &t_0, &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, PMC_IS_NULL((PMC*)t_2) ? (void *)NULL : VTABLE_get_pointer(interp, t_2));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_i_plsp(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, long, short, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ PMC *t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIIP", &t_0, &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, PMC_IS_NULL((PMC*)t_3) ? (void *)NULL : VTABLE_get_pointer(interp, t_3));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+}
+static void
+pcf_i_pp(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC *t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PP", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+}
+static void
+pcf_i_ppi(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, void *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC *t_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPI", &t_0, &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_i_ppiiiiiiii(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, void *, int, int, int, int, int, int, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC *t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ INTVAL t_4;
+ INTVAL t_5;
+ INTVAL t_6;
+ INTVAL t_7;
+ INTVAL t_8;
+ INTVAL t_9;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPIIIIIIII", &t_0, &t_1, &t_2, &t_3, &t_4, &t_5, &t_6, &t_7, &t_8, &t_9);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), t_2, t_3, t_4, t_5, t_6, t_7, t_8, t_9);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+
+
+
+
+
+
+}
+static void
+pcf_i_pppp(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, void *, void *, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC *t_1;
+ PMC *t_2;
+ PMC *t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPPP", &t_0, &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), PMC_IS_NULL((PMC*)t_2) ? (void *)NULL : VTABLE_get_pointer(interp, t_2), PMC_IS_NULL((PMC*)t_3) ? (void *)NULL : VTABLE_get_pointer(interp, t_3));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+}
+static void
+pcf_i_psp(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, short, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ PMC *t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIP", &t_0, &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, PMC_IS_NULL((PMC*)t_2) ? (void *)NULL : VTABLE_get_pointer(interp, t_2));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_i_pti(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, char *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ char *t_1; STRING *ts_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PSI", &t_0, &ts_1, &t_2);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+
+}
+static void
+pcf_i_pitl(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, int, char *, long);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ char *t_2; STRING *ts_2;
+ INTVAL t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PISI", &t_0, &t_1, &ts_2, &t_3);
+ t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+if (t_2) Parrot_str_free_cstring(t_2);
+
+}
+static void
+pcf_i_s(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(short);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "I", &t_0);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+}
+static void
+pcf_i_s22(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(short, short *, short *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ PMC *t_1; short i_1;
+ PMC *t_2; short i_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IPP", &t_0, &t_1, &t_2);
+ i_1 = VTABLE_get_integer(interp, t_1);i_2 = VTABLE_get_integer(interp, t_2);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, &i_1, &i_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+VTABLE_set_integer_native(interp, t_1, i_1);
+VTABLE_set_integer_native(interp, t_2, i_2);
+}
+static void
+pcf_i_s222(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(short, short *, short *, short *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ PMC *t_1; short i_1;
+ PMC *t_2; short i_2;
+ PMC *t_3; short i_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IPPP", &t_0, &t_1, &t_2, &t_3);
+ i_1 = VTABLE_get_integer(interp, t_1);i_2 = VTABLE_get_integer(interp, t_2);i_3 = VTABLE_get_integer(interp, t_3);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, &i_1, &i_2, &i_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+VTABLE_set_integer_native(interp, t_1, i_1);
+VTABLE_set_integer_native(interp, t_2, i_2);
+VTABLE_set_integer_native(interp, t_3, i_3);
+}
+static void
+pcf_i_sp(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(short, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ PMC *t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IP", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+}
+static void
+pcf_i_sss(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(short, short, short);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "III", &t_0, &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_i_ssss(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(short, short, short, short);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IIII", &t_0, &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, t_1, t_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+}
+static void
+pcf_i_t(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ char *t_0; STRING *ts_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "S", &ts_0);
+ t_0 = ts_0 ? Parrot_str_to_cstring(interp, ts_0) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+ if (t_0) Parrot_str_free_cstring(t_0);
+}
+static void
+pcf_i_ti(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(char *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ char *t_0; STRING *ts_0;
+ INTVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "SI", &ts_0, &t_1);
+ t_0 = ts_0 ? Parrot_str_to_cstring(interp, ts_0) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+ if (t_0) Parrot_str_free_cstring(t_0);
+
+}
+static void
+pcf_i_4(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(long *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0; long i_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "P", &t_0);
+ i_0 = VTABLE_get_integer(interp, t_0);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(&i_0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+ VTABLE_set_integer_native(interp, t_0, i_0);
+}
+static void
+pcf_i_4i(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(long *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0; long i_0;
+ INTVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PI", &t_0, &t_1);
+ i_0 = VTABLE_get_integer(interp, t_0);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(&i_0, t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+ VTABLE_set_integer_native(interp, t_0, i_0);
+
+}
+static void
+pcf_i_42p(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(long *, short *, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0; long i_0;
+ PMC *t_1; short i_1;
+ PMC *t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPP", &t_0, &t_1, &t_2);
+ i_0 = VTABLE_get_integer(interp, t_0);i_1 = VTABLE_get_integer(interp, t_1);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(&i_0, &i_1, PMC_IS_NULL((PMC*)t_2) ? (void *)NULL : VTABLE_get_pointer(interp, t_2));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+ VTABLE_set_integer_native(interp, t_0, i_0);
+VTABLE_set_integer_native(interp, t_1, i_1);
+
+}
+static void
+pcf_l_ii(PARROT_INTERP, PMC *self)
+{
+ typedef long(* func_t)(int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "II", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (long)(*fn_pointer)(t_0, t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+}
+static void
+pcf_l_l4(PARROT_INTERP, PMC *self)
+{
+ typedef long(* func_t)(long, long *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ PMC *t_1; long i_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IP", &t_0, &t_1);
+ i_1 = VTABLE_get_integer(interp, t_1);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (long)(*fn_pointer)(t_0, &i_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+VTABLE_set_integer_native(interp, t_1, i_1);
+}
+static void
+pcf_l_pi(PARROT_INTERP, PMC *self)
+{
+ typedef long(* func_t)(void *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PI", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (long)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+}
+static void
+pcf_l_pii(PARROT_INTERP, PMC *self)
+{
+ typedef long(* func_t)(void *, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PII", &t_0, &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (long)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_l_p33l(PARROT_INTERP, PMC *self)
+{
+ typedef long(* func_t)(void *, int *, int *, long);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC *t_1; int i_1;
+ PMC *t_2; int i_2;
+ INTVAL t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPPI", &t_0, &t_1, &t_2, &t_3);
+ i_1 = VTABLE_get_integer(interp, t_1);i_2 = VTABLE_get_integer(interp, t_2);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (long)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), &i_1, &i_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+VTABLE_set_integer_native(interp, t_1, i_1);
+VTABLE_set_integer_native(interp, t_2, i_2);
+
+}
+static void
+pcf_l_33l(PARROT_INTERP, PMC *self)
+{
+ typedef long(* func_t)(int *, int *, long);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0; int i_0;
+ PMC *t_1; int i_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPI", &t_0, &t_1, &t_2);
+ i_0 = VTABLE_get_integer(interp, t_0);i_1 = VTABLE_get_integer(interp, t_1);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (long)(*fn_pointer)(&i_0, &i_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+ VTABLE_set_integer_native(interp, t_0, i_0);
+VTABLE_set_integer_native(interp, t_1, i_1);
+
+}
+static void
+pcf_p_(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)();
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ ;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)();
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+}
+static void
+pcf_p_B(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(char **);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ char *t_0; STRING *ts_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "S", &ts_0);
+ t_0 = ts_0 ? Parrot_str_to_cstring(interp, ts_0) : (char *) NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(&t_0);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+ if (t_0) Parrot_str_free_cstring(t_0);
+}
+static void
+pcf_p_b(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ STRING *t_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "S", &t_0);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(Buffer_bufstart(t_0));
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+}
+static void
+pcf_p_Jt(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(PARROT_INTERP, char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ char *t_1; STRING *ts_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "S", &ts_1);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(interp, t_1);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+}
+static void
+pcf_p_i(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ INTVAL t_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "I", &t_0);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(t_0);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+}
+static void
+pcf_p_ii(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "II", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(t_0, t_1);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+
+}
+static void
+pcf_p_iiii(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(int, int, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IIII", &t_0, &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(t_0, t_1, t_2, t_3);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+
+
+
+}
+static void
+pcf_p_iiiiii(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(int, int, int, int, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ INTVAL t_4;
+ INTVAL t_5;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IIIIII", &t_0, &t_1, &t_2, &t_3, &t_4, &t_5);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(t_0, t_1, t_2, t_3, t_4, t_5);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+
+
+
+
+
+}
+static void
+pcf_p_iiiiiiii(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(int, int, int, int, int, int, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ INTVAL t_4;
+ INTVAL t_5;
+ INTVAL t_6;
+ INTVAL t_7;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IIIIIIII", &t_0, &t_1, &t_2, &t_3, &t_4, &t_5, &t_6, &t_7);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(t_0, t_1, t_2, t_3, t_4, t_5, t_6, t_7);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+
+
+
+
+
+
+
+}
+static void
+pcf_p_pii(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(void *, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ PMC *t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PII", &t_0, &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+
+
+}
+static void
+pcf_p_piiii(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(void *, int, int, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ PMC *t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ INTVAL t_4;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIIII", &t_0, &t_1, &t_2, &t_3, &t_4);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, t_3, t_4);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+
+
+
+
+}
+static void
+pcf_p_t(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ char *t_0; STRING *ts_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "S", &ts_0);
+ t_0 = ts_0 ? Parrot_str_to_cstring(interp, ts_0) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(t_0);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+ if (t_0) Parrot_str_free_cstring(t_0);
+}
+static void
+pcf_p_tpp(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(char *, void *, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ char *t_0; STRING *ts_0;
+ PMC *t_1;
+ PMC *t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "SPP", &ts_0, &t_1, &t_2);
+ t_0 = ts_0 ? Parrot_str_to_cstring(interp, ts_0) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(t_0, PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), PMC_IS_NULL((PMC*)t_2) ? (void *)NULL : VTABLE_get_pointer(interp, t_2));
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+ if (t_0) Parrot_str_free_cstring(t_0);
+
+
+}
+static void
+pcf_p_ttttttt(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(char *, char *, char *, char *, char *, char *, char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ char *t_0; STRING *ts_0;
+ char *t_1; STRING *ts_1;
+ char *t_2; STRING *ts_2;
+ char *t_3; STRING *ts_3;
+ char *t_4; STRING *ts_4;
+ char *t_5; STRING *ts_5;
+ char *t_6; STRING *ts_6;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "SSSSSSS", &ts_0, &ts_1, &ts_2, &ts_3, &ts_4, &ts_5, &ts_6);
+ t_0 = ts_0 ? Parrot_str_to_cstring(interp, ts_0) : (char *)NULL;t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *)NULL;t_3 = ts_3 ? Parrot_str_to_cstring(interp, ts_3) : (char *)NULL;t_4 = ts_4 ? Parrot_str_to_cstring(interp, ts_4) : (char *)NULL;t_5 = ts_5 ? Parrot_str_to_cstring(interp, ts_5) : (char *)NULL;t_6 = ts_6 ? Parrot_str_to_cstring(interp, ts_6) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(t_0, t_1, t_2, t_3, t_4, t_5, t_6);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+ if (t_0) Parrot_str_free_cstring(t_0);
+if (t_1) Parrot_str_free_cstring(t_1);
+if (t_2) Parrot_str_free_cstring(t_2);
+if (t_3) Parrot_str_free_cstring(t_3);
+if (t_4) Parrot_str_free_cstring(t_4);
+if (t_5) Parrot_str_free_cstring(t_5);
+if (t_6) Parrot_str_free_cstring(t_6);
+}
+static void
+pcf_s_(PARROT_INTERP, PMC *self)
+{
+ typedef short(* func_t)();
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ ;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (short)(*fn_pointer)();
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+}
+static void
+pcf_t_(PARROT_INTERP, PMC *self)
+{
+ typedef char *(* func_t)();
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ char * return_data;
+STRING *final_destination;
+
+ ;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (char *)(*fn_pointer)();
+ final_destination = Parrot_str_new(interp, return_data, 0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "S", final_destination);
+
+}
+static void
+pcf_t_i(PARROT_INTERP, PMC *self)
+{
+ typedef char *(* func_t)(int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ char * return_data;
+STRING *final_destination;
+
+ INTVAL t_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "I", &t_0);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (char *)(*fn_pointer)(t_0);
+ final_destination = Parrot_str_new(interp, return_data, 0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "S", final_destination);
+
+}
+static void
+pcf_t_ii(PARROT_INTERP, PMC *self)
+{
+ typedef char *(* func_t)(int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ char * return_data;
+STRING *final_destination;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "II", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (char *)(*fn_pointer)(t_0, t_1);
+ final_destination = Parrot_str_new(interp, return_data, 0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "S", final_destination);
+
+
+}
+static void
+pcf_t_pi(PARROT_INTERP, PMC *self)
+{
+ typedef char *(* func_t)(void *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ char * return_data;
+STRING *final_destination;
+
+ PMC *t_0;
+ INTVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PI", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (char *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1);
+ final_destination = Parrot_str_new(interp, return_data, 0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "S", final_destination);
+
+
+}
+static void
+pcf_t_pii(PARROT_INTERP, PMC *self)
+{
+ typedef char *(* func_t)(void *, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ char * return_data;
+STRING *final_destination;
+
+ PMC *t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PII", &t_0, &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (char *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2);
+ final_destination = Parrot_str_new(interp, return_data, 0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "S", final_destination);
+
+
+
+}
+static void
+pcf_t_t(PARROT_INTERP, PMC *self)
+{
+ typedef char *(* func_t)(char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ char * return_data;
+STRING *final_destination;
+
+ char *t_0; STRING *ts_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "S", &ts_0);
+ t_0 = ts_0 ? Parrot_str_to_cstring(interp, ts_0) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (char *)(*fn_pointer)(t_0);
+ final_destination = Parrot_str_new(interp, return_data, 0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "S", final_destination);
+ if (t_0) Parrot_str_free_cstring(t_0);
+}
+static void
+pcf_t_tl4(PARROT_INTERP, PMC *self)
+{
+ typedef char *(* func_t)(char *, long, long *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ char * return_data;
+STRING *final_destination;
+
+ char *t_0; STRING *ts_0;
+ INTVAL t_1;
+ PMC *t_2; long i_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "SIP", &ts_0, &t_1, &t_2);
+ t_0 = ts_0 ? Parrot_str_to_cstring(interp, ts_0) : (char *)NULL;i_2 = VTABLE_get_integer(interp, t_2);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (char *)(*fn_pointer)(t_0, t_1, &i_2);
+ final_destination = Parrot_str_new(interp, return_data, 0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "S", final_destination);
+ if (t_0) Parrot_str_free_cstring(t_0);
+
+VTABLE_set_integer_native(interp, t_2, i_2);
+}
+static void
+pcf_t_t4(PARROT_INTERP, PMC *self)
+{
+ typedef char *(* func_t)(char *, long *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ char * return_data;
+STRING *final_destination;
+
+ char *t_0; STRING *ts_0;
+ PMC *t_1; long i_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "SP", &ts_0, &t_1);
+ t_0 = ts_0 ? Parrot_str_to_cstring(interp, ts_0) : (char *)NULL;i_1 = VTABLE_get_integer(interp, t_1);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (char *)(*fn_pointer)(t_0, &i_1);
+ final_destination = Parrot_str_new(interp, return_data, 0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "S", final_destination);
+ if (t_0) Parrot_str_free_cstring(t_0);
+VTABLE_set_integer_native(interp, t_1, i_1);
+}
+static void
+pcf_i_sc(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(short, char);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "II", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+}
+static void
+pcf_s_sc(PARROT_INTERP, PMC *self)
+{
+ typedef short(* func_t)(short, char);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "II", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (short)(*fn_pointer)(t_0, t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+}
+static void
+pcf_c_sc(PARROT_INTERP, PMC *self)
+{
+ typedef char(* func_t)(short, char);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "II", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (char)(*fn_pointer)(t_0, t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+}
+static void
+pcf_i_iii(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(int, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "III", &t_0, &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_i_i3(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(int, int *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_0;
+ PMC *t_1; int i_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IP", &t_0, &t_1);
+ i_1 = VTABLE_get_integer(interp, t_1);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, &i_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+VTABLE_set_integer_native(interp, t_1, i_1);
+}
+static void
+pcf_t_b(PARROT_INTERP, PMC *self)
+{
+ typedef char *(* func_t)(void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ char * return_data;
+STRING *final_destination;
+
+ STRING *t_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "S", &t_0);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (char *)(*fn_pointer)(Buffer_bufstart(t_0));
+ final_destination = Parrot_str_new(interp, return_data, 0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "S", final_destination);
+
+}
+static void
+pcf_t_B(PARROT_INTERP, PMC *self)
+{
+ typedef char *(* func_t)(char **);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ char * return_data;
+STRING *final_destination;
+
+ char *t_0; STRING *ts_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "S", &ts_0);
+ t_0 = ts_0 ? Parrot_str_to_cstring(interp, ts_0) : (char *) NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (char *)(*fn_pointer)(&t_0);
+ final_destination = Parrot_str_new(interp, return_data, 0);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "S", final_destination);
+ if (t_0) Parrot_str_free_cstring(t_0);
+}
+static void
+pcf_v_P(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC * t_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "P", &t_0);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(t_0);
+
+
+}
+static void
+pcf_v_pP(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(void *, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC *t_0;
+ PMC * t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PP", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1);
+
+
+
+}
+static void
+pcf_p_ip(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(int, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ INTVAL t_0;
+ PMC *t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "IP", &t_0, &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(t_0, PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1));
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+
+}
+static void
+pcf_i_33(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(int *, int *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0; int i_0;
+ PMC *t_1; int i_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PP", &t_0, &t_1);
+ i_0 = VTABLE_get_integer(interp, t_0);i_1 = VTABLE_get_integer(interp, t_1);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(&i_0, &i_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+ VTABLE_set_integer_native(interp, t_0, i_0);
+VTABLE_set_integer_native(interp, t_1, i_1);
+}
+static void
+pcf_v_pii(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(void *, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PII", &t_0, &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2);
+
+
+
+
+}
+static void
+pcf_v_JO(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(PARROT_INTERP, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC * t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "Pi", &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(interp, t_1);
+
+
+
+}
+static void
+pcf_i_JO(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(PARROT_INTERP, PMC *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC * t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "Pi", &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(interp, t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+}
+static void
+pcf_i_JOi(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(PARROT_INTERP, PMC *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC * t_1;
+ INTVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiI", &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(interp, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_i_JOt(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(PARROT_INTERP, PMC *, char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC * t_1;
+ char *t_2; STRING *ts_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PiS", &t_1, &ts_2);
+ t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(interp, t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+if (t_2) Parrot_str_free_cstring(t_2);
+}
+static void
+pcf_i_Jt(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(PARROT_INTERP, char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ char *t_1; STRING *ts_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "S", &ts_1);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(interp, t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+}
+static void
+pcf_i_Ji(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(PARROT_INTERP, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ INTVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "I", &t_1);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(interp, t_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+}
+static void
+pcf_v_Vi(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(void **, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC *t_0; void *v_0;
+ INTVAL t_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PI", &t_0, &t_1);
+ v_0 = VTABLE_get_pointer(interp, t_0);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(&v_0, t_1);
+
+ VTABLE_set_pointer(interp, t_0, v_0);
+
+}
+static void
+pcf_p_ppiii(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(void *, void *, int, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ PMC *t_0;
+ PMC *t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ INTVAL t_4;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPIII", &t_0, &t_1, &t_2, &t_3, &t_4);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), t_2, t_3, t_4);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+
+
+
+
+}
+static void
+pcf_p_ppiiiiiii(PARROT_INTERP, PMC *self)
+{
+ typedef void *(* func_t)(void *, void *, int, int, int, int, int, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+PMC * final_destination = PMCNULL;
+
+ PMC *t_0;
+ PMC *t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ INTVAL t_4;
+ INTVAL t_5;
+ INTVAL t_6;
+ INTVAL t_7;
+ INTVAL t_8;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPIIIIIII", &t_0, &t_1, &t_2, &t_3, &t_4, &t_5, &t_6, &t_7, &t_8);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (void *)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), t_2, t_3, t_4, t_5, t_6, t_7, t_8);
+ if (return_data != NULL) {
+ final_destination = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, final_destination, return_data);
+ }
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "P", final_destination);
+
+
+
+
+
+
+
+
+
+}
+static void
+pcf_i_ppii(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, void *, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC *t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPII", &t_0, &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), t_2, t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+}
+static void
+pcf_i_ppiii(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, void *, int, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC *t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ INTVAL t_4;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPIII", &t_0, &t_1, &t_2, &t_3, &t_4);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), t_2, t_3, t_4);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+
+}
+static void
+pcf_i_ppiiii(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, void *, int, int, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC *t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ INTVAL t_4;
+ INTVAL t_5;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPIIII", &t_0, &t_1, &t_2, &t_3, &t_4, &t_5);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), t_2, t_3, t_4, t_5);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+
+
+}
+static void
+pcf_i_ppiiiii(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, void *, int, int, int, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC *t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ INTVAL t_4;
+ INTVAL t_5;
+ INTVAL t_6;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPIIIII", &t_0, &t_1, &t_2, &t_3, &t_4, &t_5, &t_6);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), t_2, t_3, t_4, t_5, t_6);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+
+
+
+}
+static void
+pcf_i_ppiiiiii(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, void *, int, int, int, int, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC *t_1;
+ INTVAL t_2;
+ INTVAL t_3;
+ INTVAL t_4;
+ INTVAL t_5;
+ INTVAL t_6;
+ INTVAL t_7;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPIIIIII", &t_0, &t_1, &t_2, &t_3, &t_4, &t_5, &t_6, &t_7);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), t_2, t_3, t_4, t_5, t_6, t_7);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+
+
+
+
+}
+static void
+pcf_i_ppt(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, void *, char *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC *t_1;
+ char *t_2; STRING *ts_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPS", &t_0, &t_1, &ts_2);
+ t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+if (t_2) Parrot_str_free_cstring(t_2);
+}
+static void
+pcf_i_pppi(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, void *, void *, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC *t_1;
+ PMC *t_2;
+ INTVAL t_3;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPPI", &t_0, &t_1, &t_2, &t_3);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), PMC_IS_NULL((PMC*)t_2) ? (void *)NULL : VTABLE_get_pointer(interp, t_2), t_3);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+}
+static void
+pcf_i_pppii(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, void *, void *, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC *t_1;
+ PMC *t_2;
+ INTVAL t_3;
+ INTVAL t_4;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPPII", &t_0, &t_1, &t_2, &t_3, &t_4);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), PMC_IS_NULL((PMC*)t_2) ? (void *)NULL : VTABLE_get_pointer(interp, t_2), t_3, t_4);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+
+}
+static void
+pcf_i_pppiiii(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, void *, void *, int, int, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC *t_1;
+ PMC *t_2;
+ INTVAL t_3;
+ INTVAL t_4;
+ INTVAL t_5;
+ INTVAL t_6;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPPIIII", &t_0, &t_1, &t_2, &t_3, &t_4, &t_5, &t_6);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), PMC_IS_NULL((PMC*)t_2) ? (void *)NULL : VTABLE_get_pointer(interp, t_2), t_3, t_4, t_5, t_6);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+
+
+
+}
+static void
+pcf_i_ppppiiiiii(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, void *, void *, void *, int, int, int, int, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ PMC *t_1;
+ PMC *t_2;
+ PMC *t_3;
+ INTVAL t_4;
+ INTVAL t_5;
+ INTVAL t_6;
+ INTVAL t_7;
+ INTVAL t_8;
+ INTVAL t_9;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPPPIIIIII", &t_0, &t_1, &t_2, &t_3, &t_4, &t_5, &t_6, &t_7, &t_8, &t_9);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), PMC_IS_NULL((PMC*)t_1) ? (void *)NULL : VTABLE_get_pointer(interp, t_1), PMC_IS_NULL((PMC*)t_2) ? (void *)NULL : VTABLE_get_pointer(interp, t_2), PMC_IS_NULL((PMC*)t_3) ? (void *)NULL : VTABLE_get_pointer(interp, t_3), t_4, t_5, t_6, t_7, t_8, t_9);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+
+
+
+
+
+
+
+}
+static void
+pcf_v_fff(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(float, float, float);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ FLOATVAL t_0;
+ FLOATVAL t_1;
+ FLOATVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "NNN", &t_0, &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(t_0, t_1, t_2);
+
+
+
+
+}
+static void
+pcf_v_V(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(void **);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC *t_0; void *v_0;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "P", &t_0);
+ v_0 = VTABLE_get_pointer(interp, t_0);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(&v_0);
+
+ VTABLE_set_pointer(interp, t_0, v_0);
+}
+static void
+pcf_v_VVV(PARROT_INTERP, PMC *self)
+{
+ typedef void(* func_t)(void **, void **, void **);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ void * return_data;
+
+ PMC *t_0; void *v_0;
+ PMC *t_1; void *v_1;
+ PMC *t_2; void *v_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PPP", &t_0, &t_1, &t_2);
+ v_0 = VTABLE_get_pointer(interp, t_0);v_1 = VTABLE_get_pointer(interp, t_1);v_2 = VTABLE_get_pointer(interp, t_2);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ (*fn_pointer)(&v_0, &v_1, &v_2);
+
+ VTABLE_set_pointer(interp, t_0, v_0);
+VTABLE_set_pointer(interp, t_1, v_1);
+VTABLE_set_pointer(interp, t_2, v_2);
+}
+static void
+pcf_i_tV(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(char *, void **);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ char *t_0; STRING *ts_0;
+ PMC *t_1; void *v_1;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "SP", &ts_0, &t_1);
+ t_0 = ts_0 ? Parrot_str_to_cstring(interp, ts_0) : (char *)NULL;v_1 = VTABLE_get_pointer(interp, t_1);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(t_0, &v_1);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+ if (t_0) Parrot_str_free_cstring(t_0);
+VTABLE_set_pointer(interp, t_1, v_1);
+}
+static void
+pcf_i_ptiVp(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, char *, int, void **, void *);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ char *t_1; STRING *ts_1;
+ INTVAL t_2;
+ PMC *t_3; void *v_3;
+ PMC *t_4;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PSIPP", &t_0, &ts_1, &t_2, &t_3, &t_4);
+ t_1 = ts_1 ? Parrot_str_to_cstring(interp, ts_1) : (char *)NULL;v_3 = VTABLE_get_pointer(interp, t_3);
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, &v_3, PMC_IS_NULL((PMC*)t_4) ? (void *)NULL : VTABLE_get_pointer(interp, t_4));
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+if (t_1) Parrot_str_free_cstring(t_1);
+
+VTABLE_set_pointer(interp, t_3, v_3);
+
+}
+static void
+pcf_i_pid(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, int, double);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ FLOATVAL t_2;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PIN", &t_0, &t_1, &t_2);
+
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+
+}
+static void
+pcf_i_pitii(PARROT_INTERP, PMC *self)
+{
+ typedef int(* func_t)(void *, int, char *, int, int);
+ func_t fn_pointer;
+ void *orig_func;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+ INTVAL return_data;
+
+ PMC *t_0;
+ INTVAL t_1;
+ char *t_2; STRING *ts_2;
+ INTVAL t_3;
+ INTVAL t_4;
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "PISII", &t_0, &t_1, &ts_2, &t_3, &t_4);
+ t_2 = ts_2 ? Parrot_str_to_cstring(interp, ts_2) : (char *)NULL;
+ GETATTR_NCI_orig_func(interp, self, orig_func);
+ fn_pointer = (func_t)D2FPTR(orig_func);
+ return_data = (int)(*fn_pointer)(PMC_IS_NULL((PMC*)t_0) ? (void *)NULL : VTABLE_get_pointer(interp, t_0), t_1, t_2, t_3, t_4);
+ Parrot_pcc_fill_returns_from_c_args(interp, call_object, "I", return_data);
+
+
+if (t_2) Parrot_str_free_cstring(t_2);
+
+
+}
+
+
+ void
+Parrot_nci_load_extra_thunks(PARROT_INTERP)
+{
+ PMC *iglobals;
+ PMC *temp_pmc;
+
+ PMC *HashPointer = NULL;
+
+ iglobals = interp->iglobals;
+ if (PMC_IS_NULL(iglobals))
+ PANIC(interp, "iglobals isn't created yet");
+
+ HashPointer = VTABLE_get_pmc_keyed_int(interp, iglobals,
+ IGLOBALS_NCI_FUNCS);
+ if (PMC_IS_NULL(HashPointer))
+ PANIC(interp, "iglobals.nci_funcs isn't created yet");
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_J);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJ"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_ip);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iip"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_JPip);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iJPip"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_JpP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iJpP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_Jpii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iJpii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_p);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ip"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_tp);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "itp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_J);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "pJ"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_Jp);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "pJp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_t_J);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "tJ"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_t_Jpti);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "tJpti"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_t_p);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "tp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_t_pt);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "tpt"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_p);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_pit);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vpit"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_ptt);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vptt"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_Jtiiipt);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJtiiipt"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_JttPP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "pJttPP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_P_Jtpi);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "PJtpi"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_Vppp);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iVppp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_JpPP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJpPP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_pt);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vpt"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_Jpt);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJpt"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "v"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_Jiiip);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJiiip"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_i);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vi"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_ii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_illllllll);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "villllllll"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_l);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vl"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_pbip);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vpbip"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_pi);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vpi"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_piiii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vpiiii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_pl);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vpl"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_pp);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vpp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_JPP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iJPP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_P_JP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "PJP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_P_JPP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "PJPP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_P_JO);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "PJO"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_S_JO);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "SJO"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_P);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_P_JOPP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "PJOPP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_P_JOPPP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "PJOPPP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_JOPP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJOPP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_JOPPP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJOPPP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_P_JOPPPP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "PJOPPPP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_P_JOPPPPP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "PJOPPPPP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_I_JOSI);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "IJOSI"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_P_JOSII);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "PJOSII"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_t_p3);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "tp3"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pp3p);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipp3p"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pp3);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipp3"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_ppd);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ippd"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_ptii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iptii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pipi);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipipi"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_t_ptti);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "tptti"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_t_pti);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "tpti"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_t_pttti);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "tpttti"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_Ji);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "pJi"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_Jipp);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "pJipp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_Jbip);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "pJbip"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_Jp);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_JS);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJS"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_t_tt);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ttt"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_I_JOt);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "IJOt"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_JOSI);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJOSI"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_S_JOi);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "SJOi"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_JOi);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJOi"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_I_JO);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "IJO"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_N_JO);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "NJO"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_JON);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJON"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_P_JOi);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "PJOi"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_JOI);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJOI"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_P_JOI);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "PJOI"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_P_JOIS);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "PJOIS"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_S_JOSP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "SJOSP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "i"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_i3i);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ii3i"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_ibi);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iibi"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_l_lttl);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "llttl"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pip);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipip"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_piS);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipiS"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_S_i);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "Si"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_l_p);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "lp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_c_p);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "cp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_pi);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ppi"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_p);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "pp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pttttt);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipttttt"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_c_pttt);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "cpttt"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_pttttiti);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ppttttiti"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pt);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipt"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_ptl);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iptl"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pi);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipi"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pl);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipl"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_l_);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "l"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_pt);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ppt"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_ptt);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "pptt"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pit);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipit"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_pp);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ppp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_l_ttl);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "lttl"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_l_pttl);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "lpttl"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_t);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vt"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_pttttitl);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ppttttitl"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_tiB3P);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ptiB3P"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_tip3P);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ptip3P"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pPtiiipi);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipPtiiipi"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_tpiibi);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "itpiibi"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_ptippppi);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "pptippppi"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_pi33ipi);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ppi33ipi"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_pttip);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ppttip"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_ptipppi);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "pptipppi"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_ppP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "pppP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_iiil);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "piiil"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_ppl);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ippl"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_pip);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vpip"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_pti);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ppti"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_ppp);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ippp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_ptii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "pptii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_ti);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "pti"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_ptp);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "pptp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pt33);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipt33"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_c_);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "c"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_c_pi);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "cpi"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_d_);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "d"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_d_d);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "dd"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_f_);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "f"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_f_ff);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "fff"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_f_is);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "fis"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_b);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ib"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_d);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "id"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_i);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_ii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_ii4);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iii4"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_ii4i);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iii4i"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_iiii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iiiii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_iiilsp);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iiiilsp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_iil);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iiil"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_iili);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iiili"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_iip);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iiip"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_iit);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iiit"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_iiti);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iiiti"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_ilsp);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iilsp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_iti);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iiti"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_l);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "il"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_li);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ili"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_lp);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ilp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_lsp);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ilsp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_p33);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ip33"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_p333);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ip333"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_p333333);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ip333333"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_p4);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ip4"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_p42p);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ip42p"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_p4i);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ip4i"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pb);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipb"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pii4);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipii4"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pii4i);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipii4i"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_piii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipiii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_piiiiii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipiiiiii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_piiilsp);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipiiilsp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_piil);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipiil"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_piili);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipiili"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_piit);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipiit"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_piiti);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipiiti"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pilsp);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipilsp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pli);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipli"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pll);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipll"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pllllllll);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipllllllll"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_plp);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iplp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_plsp);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iplsp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pp);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_ppi);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ippi"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_ppiiiiiiii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ippiiiiiiii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pppp);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipppp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_psp);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipsp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pti);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipti"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pitl);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipitl"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_s);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "is"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_s22);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "is22"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_s222);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "is222"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_sp);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "isp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_sss);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "isss"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_ssss);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "issss"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_t);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "it"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_ti);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iti"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_4);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "i4"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_4i);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "i4i"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_42p);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "i42p"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_l_ii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "lii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_l_l4);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ll4"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_l_pi);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "lpi"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_l_pii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "lpii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_l_p33l);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "lp33l"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_l_33l);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "l33l"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "p"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_B);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "pB"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_b);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "pb"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_Jt);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "pJt"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_i);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "pi"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_ii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "pii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_iiii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "piiii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_iiiiii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "piiiiii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_iiiiiiii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "piiiiiiii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_pii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ppii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_piiii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ppiiii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_t);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "pt"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_tpp);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ptpp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_ttttttt);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "pttttttt"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_s_);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "s"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_t_);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "t"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_t_i);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ti"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_t_ii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "tii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_t_pi);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "tpi"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_t_pii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "tpii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_t_t);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "tt"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_t_tl4);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ttl4"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_t_t4);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "tt4"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_sc);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "isc"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_s_sc);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ssc"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_c_sc);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "csc"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_iii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iiii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_i3);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ii3"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_t_b);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "tb"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_t_B);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "tB"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_P);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_pP);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vpP"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_ip);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "pip"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_33);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "i33"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_pii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vpii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_JO);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vJO"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_JO);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iJO"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_JOi);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iJOi"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_JOt);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iJOt"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_Jt);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iJt"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_Ji);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iJi"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_Vi);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vVi"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_ppiii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "pppiii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_p_ppiiiiiii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "pppiiiiiii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_ppii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ippii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_ppiii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ippiii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_ppiiii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ippiiii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_ppiiiii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ippiiiii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_ppiiiiii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ippiiiiii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_ppt);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ippt"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pppi);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipppi"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pppii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipppii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pppiiii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipppiiii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_ppppiiiiii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ippppiiiiii"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_fff);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vfff"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_V);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vV"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_v_VVV);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "vVVV"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_tV);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "itV"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_ptiVp);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "iptiVp"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pid);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipid"), temp_pmc);
+
+ temp_pmc = pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, temp_pmc, (void *)pcf_i_pitii);
+ VTABLE_set_pmc_keyed_str(interp, HashPointer, CONST_STRING(interp, "ipitii"), temp_pmc);
+
+}
+
+
+/*
+ * Local variables:
+ * c-file-style: "parrot"
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */
+
Added: trunk/src/nci/extra_thunks.nci
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/src/nci/extra_thunks.nci Fri Feb 19 01:01:29 2010 (r44150)
@@ -0,0 +1,416 @@
+# t/src/embed.t
+v J
+
+# mod_parrot
+i ip
+i JPip
+i JpP
+i Jpii
+i p
+i tp
+p J
+p Jp
+t J
+t Jpti
+t p
+t pt
+v p
+v pit
+v ptt
+v Jtiiipt
+p JttPP
+P Jtpi
+i Vppp
+v JpPP
+v pt
+v Jpt
+
+v
+v Jiiip # examples/japh/japh11.pasm
+v i
+v ii
+v illllllll
+v l
+v p
+v pbip
+v pi
+v piiii
+v pl
+v pp
+
+# For python
+i JPP
+
+# Py_func signatures
+P JP
+P JPP
+P JO
+S JO
+i P
+
+# PyBuiltins
+P JOPP
+P JOPPP
+v JOPP
+v JOPPP
+P JOPPPP
+P JOPPPPP
+
+# Added for Tcl
+I JOSI
+P JOSII
+
+# Added for TclLibrary
+t p3
+i pp3p
+i pp3
+i ppd
+i ptii
+i pipi
+t ptti
+t pti
+t pttti
+
+# libpast
+p Ji
+p Jipp
+p Jbip
+v Jp
+v JS
+
+# crypt
+t tt
+
+# Sub.__get_regs_used
+I JOt
+
+# declare_lex_preg
+v JOSI
+
+# Added for .NET => PIR translator dynamic PMCs.
+S JOi
+v JOi
+I JO
+N JO
+v JON
+P JOi
+v JOI
+
+# Make lua stop panic'ing.
+P JOI
+P JOIS
+S JOSP
+
+i # void function returning int like fork()
+i i3i # POSIX's waitpid
+i ibi # POSIX's read
+
+# win32
+l lttl
+
+i pip
+i piS
+S i
+
+# --- start mysqlclient library ---
+#
+# Created from mysql.h using the following manual method:
+#
+# Edited copy of mysql.h using vi by doing g/, *$/j (repeat) then g/\* *$/j
+# (repeat) to get all functions on one line each.
+#
+# Extracted list of api func names from
+# http://dev.mysql.com/doc/refman/4.1/en/c-api-functions.html and copied to a
+# temporary file to clean up (mysql_api_names.txt)
+#
+# Stripped down to bare names and merged into one line separated by |
+# then egrep -w `cat mysql_api_names.txt` mysql.h > mysql_api.ncidef
+# then edit mysql_api.ncidef in vi: %s/^/ # /
+# to create space for nci signatures and to use original definition as a #
+# comment.
+#
+# This method isn't ideal, I'm just noting it here in case it helps others.
+# Ideally the process should be automated - but there be many dragons along
+# that path.
+#
+# NCI doesn't yet handle long long values (my_ulonglong), spec'd as long for now
+#
+#
+# MYSQL_FIELD and MYSQL_RES are structs
+# typedef char **MYSQL_ROW; /* return data as array of strings */
+# typedef unsigned int MYSQL_FIELD_OFFSET; /* offset to current field */
+# typedef MYSQL_ROWS *MYSQL_ROW_OFFSET; /* offset to current row */
+#
+l p #! my_ulonglong mysql_num_rows(MYSQL_RES *res)
+i p # unsigned int mysql_num_fields(MYSQL_RES *res)
+c p # my_bool mysql_eof(MYSQL_RES *res)
+p pi # MYSQL_FIELD *mysql_fetch_field_direct(MYSQL_RES *res,
+# unsigned int fieldnr)
+p p # MYSQL_FIELD * mysql_fetch_fields(MYSQL_RES *res)
+p p # MYSQL_ROW_OFFSET mysql_row_tell(MYSQL_RES *res)
+i p # MYSQL_FIELD_OFFSET mysql_field_tell(MYSQL_RES *res)
+i p # unsigned int mysql_field_count(MYSQL *mysql)
+l p #! my_ulonglong mysql_affected_rows(MYSQL *mysql)
+l p #! my_ulonglong mysql_insert_id(MYSQL *mysql)
+i p # unsigned int mysql_errno(MYSQL *mysql)
+t p # const char * mysql_error(MYSQL *mysql)
+t p # const char * mysql_info(MYSQL *mysql)
+l p # unsigned long mysql_thread_id(MYSQL *mysql)
+t p # const char * mysql_character_set_name(MYSQL *mysql)
+p p # MYSQL * mysql_init(MYSQL *mysql)
+
+i pttttt # int mysql_ssl_set(MYSQL *mysql, const char *key,
+# const char *cert, const char *ca, const char *capath,
+# const char *cipher)
+c pttt # my_bool mysql_change_user(MYSQL *mysql, const char *user,
+# const char *passwd, const char *db)
+p pttttiti # MYSQL * mysql_real_connect(MYSQL *mysql, const char *host,
+# const char *user, const char *passwd,
+# const char *db, unsigned int port,
+# const char *unix_socket,
+# unsigned int clientflag)
+v p # void mysql_close(MYSQL *sock)
+i pt # int mysql_select_db(MYSQL *mysql, const char *db)
+i pt # int mysql_query(MYSQL *mysql, const char *q)
+i ptl # int mysql_real_query(MYSQL *mysql, const char *q,
+# unsigned long length)
+i p # int mysql_shutdown(MYSQL *mysql)
+i p # int mysql_dump_debug_info(MYSQL *mysql)
+i pi # int mysql_refresh(MYSQL *mysql, unsigned int refresh_options)
+i pl # int mysql_kill(MYSQL *mysql,unsigned long pid)
+i p # int mysql_ping(MYSQL *mysql)
+t p # const char * mysql_stat(MYSQL *mysql)
+t p # const char * mysql_get_server_info(MYSQL *mysql)
+t p # const char * mysql_get_client_info(void)
+l # unsigned long mysql_get_client_version(void)
+t p # const char * mysql_get_host_info(MYSQL *mysql)
+t p # unsigned int mysql_get_proto_info(MYSQL *mysql)
+p pt # MYSQL_RES * mysql_list_dbs(MYSQL *mysql,const char *wild)
+p pt # MYSQL_RES * mysql_list_tables(MYSQL *mysql,const char *wild)
+p ptt # MYSQL_RES * mysql_list_fields(MYSQL *mysql, const char *table,
+# const char *wild)
+p p # MYSQL_RES * mysql_list_processes(MYSQL *mysql)
+p p # MYSQL_RES * mysql_store_result(MYSQL *mysql)
+p p # MYSQL_RES * mysql_use_result(MYSQL *mysql)
+i pit # int mysql_options(MYSQL *mysql,enum mysql_option option,
+# const char *arg)
+v p # void mysql_free_result(MYSQL_RES *result)
+v pl # void mysql_data_seek(MYSQL_RES *result, my_ulonglong offset)
+p pp # MYSQL_ROW_OFFSET mysql_row_seek(MYSQL_RES *result,
+# MYSQL_ROW_OFFSET offset)
+i pi # MYSQL_FIELD_OFFSET mysql_field_seek(MYSQL_RES *result,
+# MYSQL_FIELD_OFFSET offset)
+
+p p # MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)
+l p # unsigned long * mysql_fetch_lengths(MYSQL_RES *result)
+p p # MYSQL_FIELD * mysql_fetch_field(MYSQL_RES *result)
+l ttl # unsigned long mysql_escape_string(char *to,const char *from, unsigned long from_length)
+l pttl # unsigned long mysql_real_escape_string(MYSQL *mysql, char *to,const char *from, unsigned long length)
+v t # void mysql_debug(const char *debug)
+# --- end mysqlclient library ---
+
+# My mysql does not fit with the previous section
+p pttttitl
+# MYSQL * mysql_real_connect(MYSQL *mysql, const char *host,
+# const char *user,
+# const char *passwd,
+# const char *db,
+# unsigned int port,
+# const char *unix_socket,
+# unsigned long clientflag)
+
+# Used by library/pcre.pir
+p tiB3P
+p tip3P
+i pPtiiipi
+i tpiibi
+
+# Oddball ones for postgres
+p ptippppi PQexecParams
+p pi33ipi PQfn
+p pttip PQprepage
+p ptipppi PQexecPrepared
+p ppP PQsetNoticeReceiver
+
+# Used by SDL
+p iiil
+i ppl
+v pip
+p pti
+i ppp
+# added by RNH for the RenderXXX_XXXX text routines
+p ptii
+
+# Used by SDL::Font
+p ti
+p ptp
+i pt33
+
+# t/pmc/nci.t
+c
+c p
+c pi
+
+d
+d d
+
+f
+f ff
+f is
+
+i
+i b
+i d
+i i
+i ii
+i ii4
+i ii4i
+i iiii
+i iiilsp
+i iil
+i iili
+i iip
+i iit
+i iiti
+i ilsp
+i iti
+i l
+i li
+i lp
+i lsp
+i p
+i p33
+i p333
+i p333333
+i p4
+i p42p
+i p4i
+i pb
+i pi
+i pii
+i pii4
+i pii4i
+i piii
+i piiiiii
+i piiilsp
+i piil
+i piili
+i piit
+i piiti
+i pilsp
+i pit
+i pl
+i pli
+i pll
+i pllllllll
+i plp
+i plsp
+i pp
+i ppi
+i ppiiiiiiii
+i pppp
+i psp
+i pt
+i pti
+i pitl
+i s
+i s22
+i s222
+i sp
+i sss
+i ssss
+i t
+i ti
+i 4
+i 4i
+i 42p
+
+l
+l ii
+l l4
+l p
+l pi
+l pii
+l p33l
+l 33l
+
+p
+p B
+p b
+p Jt
+p i
+p ii
+p iiii
+p iiiiii
+p iiiiiiii
+p p
+p pt
+p pi
+p pii
+p piiii
+p t
+p tpp
+p ttttttt
+
+s
+
+t
+t i
+t ii
+t p
+t pi
+t pii
+t pt
+t t
+t tl4
+t t4
+
+i sc
+s sc
+c sc
+i iii
+i i3
+t b
+t B
+v P
+v pP
+p ip
+i 33
+v pii
+v JO
+i JO
+i JOi
+i JOt
+i Jt
+i Ji
+
+v Vi
+v p
+
+# Testing xlib
+
+p ppiii
+p ppiiiiiii
+i ppii
+i ppiii
+i ppiiii
+i ppiiiii
+i ppiiiiii
+i ppt
+i pppi
+i pppii
+i pppiiii
+i ppppiiiiii
+
+# Testing OpenGL
+v fff
+
+# Testing Pointer PMC use
+v V
+v VVV
+
+# Testing SQLite
+i tV
+i ptiVp
+i pid
+i pitii
Modified: trunk/t/codingstd/linelength.t
==============================================================================
--- trunk/t/codingstd/linelength.t Fri Feb 19 00:55:33 2010 (r44149)
+++ trunk/t/codingstd/linelength.t Fri Feb 19 01:01:29 2010 (r44150)
@@ -125,5 +125,8 @@
compilers/pirc/macro/macroparser.h
compilers/pirc/src/hdocprep.l
compilers/pirc/src/hdocprep.c
+# generated by tools/build/nativecall.pir
+src/nci/core_thunks.c
+src/nci/extra_thunks.c
# these ones include long POD
docs/embed.pod
Modified: trunk/t/codingstd/trailing_space.t
==============================================================================
--- trunk/t/codingstd/trailing_space.t Fri Feb 19 00:55:33 2010 (r44149)
+++ trunk/t/codingstd/trailing_space.t Fri Feb 19 01:01:29 2010 (r44150)
@@ -9,6 +9,8 @@
use Parrot::Distribution;
use Test::More tests => 1;
use Parrot::Test::Util::Runloop;
+use Parrot::Config qw/ %PConfig /;
+use File::Spec;
=head1 NAME
@@ -42,9 +44,20 @@
$DIST->get_pir_language_files(),
);
+# skip files listed in the __DATA__ section
+my $build_dir = $PConfig{build_dir};
+my %skip_files;
+while (<DATA>) {
+ next if m{^#};
+ next if m{^\s*$};
+ chomp;
+ $_ = File::Spec->catfile($build_dir, $_);
+ $skip_files{$_}++;
+}
+
Parrot::Test::Util::Runloop->testloop(
name => 'no trailing whitespace',
- files => [@files],
+ files => [grep {not $skip_files{$_->path}} @files],
per_line => sub { $_[0] !~ m{[ \t]$}m },
diag_prefix => 'Trailing space or tab char found'
);
@@ -55,3 +68,9 @@
# fill-column: 100
# End:
# vim: expandtab shiftwidth=4:
+
+__DATA__
+# generated by tools/build/nativecall.pir
+src/nci/core_thunks.c
+src/nci/extra_thunks.c
+
Modified: trunk/tools/build/nativecall.pir
==============================================================================
--- trunk/tools/build/nativecall.pir Fri Feb 19 00:55:33 2010 (r44149)
+++ trunk/tools/build/nativecall.pir Fri Feb 19 01:01:29 2010 (r44150)
@@ -44,6 +44,10 @@
.local pmc sigs
sigs = 'read_sigs'()
+ $S0 = 'read_from_opts'('output')
+ $P0 = open $S0, 'w'
+ setstdout $P0
+
if targ == 'head' goto get_targ
if targ == 'thunks' goto get_targ
if targ == 'loader' goto get_targ
@@ -82,6 +86,7 @@
# getopt stuff {{{
+.macro_const OUTPUT 'output'
.macro_const THUNK_STORAGE_CLASS 'thunk-storage-class'
.macro_const THUNK_NAME_PROTO 'thunk-name-proto'
.macro_const LOADER_STORAGE_CLASS 'loader-storage-class'
@@ -98,6 +103,7 @@
push getopt, 'help|h'
push getopt, 'version|v'
push getopt, 'core'
+ push getopt, 'output|o=s'
push getopt, 'target=s'
push getopt, 'thunk-storage-class=s'
push getopt, 'thunk-name-proto=s'
@@ -135,12 +141,13 @@
Creates a C file of routines suitable for use as Parrot NCI thunks.
-Usage ./parrot nativecall.pir [options] <input_signature_list.nci >output_c_file.c
+Usage ./parrot nativecall.pir [options] <input_signature_list.nci
Options
--help print this message and exit
--version print the version number of this utility
--core output a thunks file suitable for inclusion in Parrot core. Default is no.
+ -o --output <file> specify output file to use.
--target <target> select what to output (valid options are 'head', 'thunks',
'loader', 'coda', 'all', 'names', and 'signatures'). Default value is 'all'
--thunk-storage-class <storage class>
@@ -240,8 +247,22 @@
ext_defn = '#define PARROT_IN_EXTENSION'
end_ext_defn:
+ .local string c_file
+ c_file = 'read_from_opts'(.OUTPUT)
+
+ .local string str_file
+ str_file = clone c_file
+ substr str_file, -2, 2, '.str'
+ strip_str_file_loop:
+ $I0 = index str_file, '/'
+ if $I0 < 0 goto end_strip_str_file_loop
+ $I0 += 1
+ str_file = substr str_file, $I0
+ goto strip_str_file_loop
+ end_strip_str_file_loop:
+
.local string head
- head = 'sprintf'(<<'HEAD', ext_defn)
+ head = 'sprintf'(<<'HEAD', c_file, ext_defn, str_file)
/* ex: set ro ft=c:
* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
*
@@ -251,8 +272,8 @@
*
*/
-/* nci.c
- * Copyright (C) 2001-2009, Parrot Foundation.
+/* %s
+ * Copyright (C) 2010, Parrot Foundation.
* SVN Info
* $Id$
* Overview:
@@ -271,9 +292,9 @@
#ifdef PARROT_IN_EXTENSION
/* external libraries can't have strings statically compiled into parrot */
-# define CONST_STRING(i, s) Parrot_str_new_constant(i, s)
+# define CONST_STRING(i, s) Parrot_str_new_constant((i), (s))
#else
-# include "core.str"
+# include "%s"
#endif
/* HEADERIZER HFILE: none */
@@ -484,7 +505,7 @@
.local string preamble
preamble = 'sprintf'(<<'TEMPLATE', sig, fill_params, extra_preamble)
- Parrot_pcc_fill_params_from_c_args(interp, call_object, "%s" %s);
+ Parrot_pcc_fill_params_from_c_args(interp, call_object, "%s"%s);
%s
TEMPLATE
Added: trunk/tools/dev/mk_nci_thunks.pl
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/tools/dev/mk_nci_thunks.pl Fri Feb 19 01:01:29 2010 (r44150)
@@ -0,0 +1,41 @@
+#! perl
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+tools/dev/mk_nci_thunks.pl - (re)generate core NCI thunk files
+
+=head1 SYNOPSIS
+
+ > perl tools/dev/mk_nci_thunks.pl
+
+=head1 DESCRIPTION
+
+This script generates the core NCI thunk C files from lists of signatures
+provided in accompanying C<.nci> files.
+
+=cut
+
+use strict;
+use warnings;
+
+foreach (qw( core_thunks extra_thunks )) {
+ my $c_file = "src/nci/$_.c";
+ my $nci_file = "src/nci/$_.nci";
+ my $loader_name = "Parrot_nci_load_$_";
+ print "$nci_file > $c_file\n";
+ system("./parrot tools/build/nativecall.pir " .
+ "--core " .
+ "--loader-name=$loader_name " .
+ "--output=$c_file " .
+ "<$nci_file "
+ );
+}
+
+# Local Variables:
+# mode: cperl
+# cperl-indent-level: 4
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:
More information about the parrot-commits
mailing list