summaryrefslogtreecommitdiff
path: root/bindings/perl/alpm.i
diff options
context:
space:
mode:
Diffstat (limited to 'bindings/perl/alpm.i')
-rw-r--r--bindings/perl/alpm.i23
1 files changed, 23 insertions, 0 deletions
diff --git a/bindings/perl/alpm.i b/bindings/perl/alpm.i
new file mode 100644
index 00000000..dc4d680e
--- /dev/null
+++ b/bindings/perl/alpm.i
@@ -0,0 +1,23 @@
+#if defined(SWIGPERL)
+%module "Alpm::Core"
+#else
+%module alpm
+#endif
+%include "cpointer.i"
+
+/* Wrap a class interface around a "long *" */
+%pointer_class(long, longp);
+
+/* Create casting functions */
+
+%pointer_cast(char *, long *, void_to_long);
+%pointer_cast(void *, char *, void_to_char);
+%pointer_cast(void *, unsigned long, void_to_unsigned_long);
+%pointer_cast(void *, PM_LIST *, void_to_PM_LIST);
+%pointer_cast(void *, PM_PKG *, void_to_PM_PKG);
+%pointer_cast(void *, PM_GRP *, void_to_PM_GRP);
+%pointer_cast(void *, PM_SYNCPKG *, void_to_PM_SYNCPKG);
+%pointer_cast(void *, PM_DB *, void_to_PM_DB);
+%pointer_cast(void *, PM_CONFLICT *, void_to_PM_CONFLICT);
+
+%include "alpm.h"