]> git.pld-linux.org Git - packages/setools.git/commitdiff
- new URLs, updated to 3.3.8 auto/th/setools-3.3.8-1
authorJakub Bogusz <qboosh@pld-linux.org>
Thu, 6 Mar 2014 11:34:35 +0000 (12:34 +0100)
committerJakub Bogusz <qboosh@pld-linux.org>
Thu, 6 Mar 2014 11:34:35 +0000 (12:34 +0100)
- removed outdated opt patch
- added swig patch (from git) + swig-part2 patch (inspired by gentoo patch) to allow build with swig 2.0.x
- added sh patch (fixes POSIX sh syntax in configure)
- added tcl patch (allows to pass TCLSH and WISH paths directly)
- added format patch (fixes build with -Werror=format-security)
- added link patch

seaudit.pamd [new file with mode: 0644]
setools-format.patch [new file with mode: 0644]
setools-link.patch [new file with mode: 0644]
setools-opt.patch [deleted file]
setools-sh.patch [new file with mode: 0644]
setools-swig-part2.patch [new file with mode: 0644]
setools-swig.patch [new file with mode: 0644]
setools-tcl.patch [new file with mode: 0644]
setools.spec

diff --git a/seaudit.pamd b/seaudit.pamd
new file mode 100644 (file)
index 0000000..ab053c5
--- /dev/null
@@ -0,0 +1,4 @@
+#%PAM-1.0
+auth           include         system-auth
+account                include         system-auth
+session                include         system-auth
diff --git a/setools-format.patch b/setools-format.patch
new file mode 100644 (file)
index 0000000..e112132
--- /dev/null
@@ -0,0 +1,119 @@
+--- setools-3.3.8/libseaudit/src/bool_message.c.orig   2013-01-16 17:36:23.000000000 +0100
++++ setools-3.3.8/libseaudit/src/bool_message.c        2014-03-05 10:48:42.193733896 +0100
+@@ -101,7 +101,7 @@
+               return NULL;
+       }
+       if ((misc_string = bool_message_to_misc_string(boolm)) == NULL ||
+-          apol_str_appendf(&s, &len, misc_string) < 0 || apol_str_append(&s, &len, close_brace) < 0) {
++          apol_str_appendf(&s, &len, "%s%s", misc_string, close_brace) < 0) {
+               free(misc_string);
+               return NULL;
+       }
+@@ -128,7 +128,7 @@
+               return NULL;
+       }
+       if ((misc_string = bool_message_to_misc_string(boolm)) == NULL ||
+-          apol_str_appendf(&s, &len, misc_string) < 0 || apol_str_appendf(&s, &len, "%s%s<br>", s, close_brace) < 0) {
++          apol_str_appendf(&s, &len, "%s%s%s<br>", misc_string, s, close_brace) < 0) {
+               free(misc_string);
+               return NULL;
+       }
+--- setools-3.3.8/libseaudit/src/filter.c.orig 2013-01-16 17:36:23.000000000 +0100
++++ setools-3.3.8/libseaudit/src/filter.c      2014-03-05 10:49:54.833730849 +0100
+@@ -1108,8 +1108,7 @@
+       if ((file = fopen(filename, "w")) == NULL) {
+               return -1;
+       }
+-      fprintf(file, XML_VER);
+-      fprintf(file, "<view xmlns=\"http://oss.tresys.com/projects/setools/seaudit-%s/\">\n", FILTER_FILE_FORMAT_VERSION);
++      fprintf(file, "%s<view xmlns=\"http://oss.tresys.com/projects/setools/seaudit-%s/\">\n", XML_VER, FILTER_FILE_FORMAT_VERSION);
+       filter_append_to_file(filter, file, 1);
+       fprintf(file, "</view>\n");
+       fclose(file);
+--- setools-3.3.8/libseaudit/src/model.c.orig  2013-01-16 17:36:23.000000000 +0100
++++ setools-3.3.8/libseaudit/src/model.c       2014-03-05 10:50:24.457062938 +0100
+@@ -514,8 +514,8 @@
+       if ((file = fopen(filename, "w")) == NULL) {
+               return -1;
+       }
+-      fprintf(file, XML_VER);
+-      fprintf(file, "<view xmlns=\"http://oss.tresys.com/projects/setools/seaudit-%s/\" name=\"%s\" match=\"%s\" show=\"%s\">\n",
++      fprintf(file, "%s<view xmlns=\"http://oss.tresys.com/projects/setools/seaudit-%s/\" name=\"%s\" match=\"%s\" show=\"%s\">\n",
++              XML_VER,
+               FILTER_FILE_FORMAT_VERSION, model->name,
+               model->match == SEAUDIT_FILTER_MATCH_ALL ? "all" : "any",
+               model->visible == SEAUDIT_FILTER_VISIBLE_SHOW ? "true" : "false");
+--- setools-3.3.8/sediff/progress.c.orig       2013-01-16 17:36:24.000000000 +0100
++++ setools-3.3.8/sediff/progress.c    2014-03-05 10:57:45.037044450 +0100
+@@ -115,10 +115,10 @@
+       }
+       g_mutex_unlock(progress->mutex);
+       if (progress->done < 0) {
+-              toplevel_ERR(progress->top, GTK_LABEL(progress->label2)->label);
++              toplevel_ERR(progress->top, "%s", GTK_LABEL(progress->label2)->label);
+               return progress->done;
+       } else if (progress->done > 1) {
+-              toplevel_WARN(progress->top, GTK_LABEL(progress->label2)->label);
++              toplevel_WARN(progress->top, "%s", GTK_LABEL(progress->label2)->label);
+               return progress->done - 1;
+       } else {
+               progress->done = 0;
+--- setools-3.3.8/sediff/toplevel.c.orig       2013-01-16 17:36:24.000000000 +0100
++++ setools-3.3.8/sediff/toplevel.c    2014-03-05 11:04:39.027027078 +0100
+@@ -453,7 +453,7 @@
+               ERR(NULL, "%s", strerror(errno));
+               return;
+       }
+-      dialog = gtk_message_dialog_new(top->w, GTK_DIALOG_DESTROY_WITH_PARENT, msg_type, GTK_BUTTONS_CLOSE, msg);
++      dialog = gtk_message_dialog_new(top->w, GTK_DIALOG_DESTROY_WITH_PARENT, msg_type, GTK_BUTTONS_CLOSE, "%s", msg);
+       free(msg);
+       gtk_dialog_run(GTK_DIALOG(dialog));
+       gtk_widget_destroy(dialog);
+--- setools-3.3.8/sediff/utilgui.c.orig        2013-01-16 17:36:24.000000000 +0100
++++ setools-3.3.8/sediff/utilgui.c     2014-03-05 11:06:56.727021298 +0100
+@@ -31,7 +31,7 @@
+ void util_message(GtkWindow * parent, GtkMessageType msg_type, const char *msg)
+ {
+       GtkWidget *dialog;
+-      dialog = gtk_message_dialog_new(parent, GTK_DIALOG_DESTROY_WITH_PARENT, msg_type, GTK_BUTTONS_CLOSE, msg);
++      dialog = gtk_message_dialog_new(parent, GTK_DIALOG_DESTROY_WITH_PARENT, msg_type, GTK_BUTTONS_CLOSE, "%s", msg);
+       gtk_dialog_run(GTK_DIALOG(dialog));
+       gtk_widget_destroy(dialog);
+ }
+--- setools-3.3.8/seaudit/progress.c.orig      2013-01-16 17:36:24.000000000 +0100
++++ setools-3.3.8/seaudit/progress.c   2014-03-05 11:23:30.663646251 +0100
+@@ -114,10 +114,10 @@
+       }
+       g_mutex_unlock(progress->mutex);
+       if (progress->done < 0) {
+-              toplevel_ERR(progress->top, GTK_LABEL(progress->label2)->label);
++              toplevel_ERR(progress->top, "%s", GTK_LABEL(progress->label2)->label);
+               return progress->done;
+       } else if (progress->done > 1) {
+-              toplevel_WARN(progress->top, GTK_LABEL(progress->label2)->label);
++              toplevel_WARN(progress->top, "%s", GTK_LABEL(progress->label2)->label);
+               return progress->done - 1;
+       } else {
+               progress->done = 0;
+--- setools-3.3.8/seaudit/toplevel.c.orig      2013-01-16 17:36:24.000000000 +0100
++++ setools-3.3.8/seaudit/toplevel.c   2014-03-05 11:23:58.290311759 +0100
+@@ -902,7 +902,7 @@
+               ERR(NULL, "%s", strerror(errno));
+               return;
+       }
+-      dialog = gtk_message_dialog_new(top->w, GTK_DIALOG_DESTROY_WITH_PARENT, msg_type, GTK_BUTTONS_CLOSE, msg);
++      dialog = gtk_message_dialog_new(top->w, GTK_DIALOG_DESTROY_WITH_PARENT, msg_type, GTK_BUTTONS_CLOSE, "%s", msg);
+       free(msg);
+       gtk_dialog_run(GTK_DIALOG(dialog));
+       gtk_widget_destroy(dialog);
+--- setools-3.3.8/seaudit/utilgui.c.orig       2013-01-16 17:36:24.000000000 +0100
++++ setools-3.3.8/seaudit/utilgui.c    2014-03-05 11:24:33.873643600 +0100
+@@ -30,7 +30,7 @@
+ void util_message(GtkWindow * parent, GtkMessageType msg_type, const char *msg)
+ {
+       GtkWidget *dialog;
+-      dialog = gtk_message_dialog_new(parent, GTK_DIALOG_DESTROY_WITH_PARENT, msg_type, GTK_BUTTONS_CLOSE, msg);
++      dialog = gtk_message_dialog_new(parent, GTK_DIALOG_DESTROY_WITH_PARENT, msg_type, GTK_BUTTONS_CLOSE, "%s", msg);
+       gtk_dialog_run(GTK_DIALOG(dialog));
+       gtk_widget_destroy(dialog);
+ }
diff --git a/setools-link.patch b/setools-link.patch
new file mode 100644 (file)
index 0000000..4abea49
--- /dev/null
@@ -0,0 +1,55 @@
+--- setools-3.3.8/libapol/swig/tcl/Makefile.am.orig    2013-01-16 17:36:23.000000000 +0100
++++ setools-3.3.8/libapol/swig/tcl/Makefile.am 2014-03-05 11:45:32.136924128 +0100
+@@ -21,7 +21,7 @@
+       $(SWIG) $(SWIG_TCL_OPT) -pkgversion @libapol_version@ -o $@ -I$(top_srcdir)/libapol/include -I$(top_srcdir)/libqpol/swig $<
+ $(wrappedso_DATA): $(BUILT_SOURCES)
+-      $(CC) -shared -o $@ $^ $(AM_CFLAGS) $(CFLAGS) $(SWIG_TCL_CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -Wl,-soname,$(wrappedso_SONAME)
++      $(CC) -shared -o $@ $^ $(AM_CFLAGS) $(CFLAGS) $(SWIG_TCL_CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -Wl,-soname,$(wrappedso_SONAME) $(TCL_LIB_FLAG)
+       $(LN_S) -f $@ $(wrappedso_SONAME)
+       $(LN_S) -f $@ $(short_name)
+--- setools-3.3.8/libpoldiff/swig/tcl/Makefile.am.orig 2013-01-16 17:36:24.000000000 +0100
++++ setools-3.3.8/libpoldiff/swig/tcl/Makefile.am      2014-03-05 11:46:09.480255895 +0100
+@@ -22,7 +22,7 @@
+       $(SWIG) $(SWIG_TCL_OPT) -pkgversion @libpoldiff_version@ -o $@ -I$(top_srcdir)/libpoldiff/include -I$(top_srcdir)/libapol/include -I$(top_srcdir)/libapol/swig -I$(top_srcdir)/libqpol/swig $<
+ $(wrappedso_DATA): $(BUILT_SOURCES)
+-      $(CC) -shared -o $@ $^ $(AM_CFLAGS) $(CFLAGS) $(SWIG_TCL_CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -Wl,-soname,$(wrappedso_SONAME)
++      $(CC) -shared -o $@ $^ $(AM_CFLAGS) $(CFLAGS) $(SWIG_TCL_CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -Wl,-soname,$(wrappedso_SONAME) $(TCL_LIB_FLAG)
+       $(LN_S) -f $@ $(wrappedso_SONAME)
+       $(LN_S) -f $@ $(short_name)
+--- setools-3.3.8/libqpol/swig/tcl/Makefile.am.orig    2013-01-16 17:36:24.000000000 +0100
++++ setools-3.3.8/libqpol/swig/tcl/Makefile.am 2014-03-05 11:46:52.190254102 +0100
+@@ -18,7 +18,7 @@
+       $(SWIG) $(SWIG_TCL_OPT) -pkgversion @libqpol_version@ -o $@ $<
+ $(wrappedso_DATA): $(BUILT_SOURCES)
+-      $(CC) -shared -o $@ $^ $(AM_CFLAGS) $(CFLAGS) $(SWIG_TCL_CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -Wl,-soname,$(wrappedso_SONAME)
++      $(CC) -shared -o $@ $^ $(AM_CFLAGS) $(CFLAGS) $(SWIG_TCL_CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -Wl,-soname,$(wrappedso_SONAME) $(TCL_LIB_FLAG)
+       $(LN_S) -f $@ $(wrappedso_SONAME)
+       $(LN_S) -f $@ $(short_name)
+--- setools-3.3.8/libseaudit/swig/tcl/Makefile.am.orig 2013-01-16 17:36:23.000000000 +0100
++++ setools-3.3.8/libseaudit/swig/tcl/Makefile.am      2014-03-05 11:47:16.393586419 +0100
+@@ -22,7 +22,7 @@
+       $(SWIG) $(SWIG_TCL_OPT) -pkgversion @libseaudit_version@ -o $@ -I$(top_srcdir)/libseaudit/include -I$(top_srcdir)/libapol/include -I$(top_srcdir)/libapol/swig -I$(top_srcdir)/libqpol/swig $<
+ $(wrappedso_DATA): $(BUILT_SOURCES)
+-      $(CC) -shared -o $@ $^ $(AM_CFLAGS) $(CFLAGS) $(SWIG_TCL_CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -Wl,-soname,$(wrappedso_SONAME)
++      $(CC) -shared -o $@ $^ $(AM_CFLAGS) $(CFLAGS) $(SWIG_TCL_CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -Wl,-soname,$(wrappedso_SONAME) $(TCL_LIB_FLAG)
+       $(LN_S) -f $@ $(wrappedso_SONAME)
+       $(LN_S) -f $@ $(short_name)
+--- setools-3.3.8/apol/Makefile.am.orig        2013-01-16 17:36:23.000000000 +0100
++++ setools-3.3.8/apol/Makefile.am     2014-03-05 12:13:28.716853768 +0100
+@@ -85,7 +85,7 @@
+       -I$(top_srcdir)/libqpol/swig $<
+ $(wrappedso_DATA): apol_tcl.cc apol_tcl_wrap.cc
+-      $(CXX) -shared -o $@ $^ $(AM_CXXFLAGS) $(CXXFLAGS) $(SWIG_TCL_CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -Wl,-soname,$(wrappedso_SONAME)
++      $(CXX) -shared -o $@ $^ $(AM_CXXFLAGS) $(CXXFLAGS) $(SWIG_TCL_CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -Wl,-soname,$(wrappedso_SONAME) $(TCL_LIB_FLAG)
+ $(package_SCRIPTS): $(wrappedso_DATA) mkIndex.tcl
+       cat mkIndex.tcl | LD_LIBRARY_PATH=$(top_builddir)/libqpol/src:$(top_builddir)/libapol/src:$(top_builddir)/libsefs/src $(TCLSH_PROG)
diff --git a/setools-opt.patch b/setools-opt.patch
deleted file mode 100644 (file)
index cf9a497..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-diff -ur setools.org/libapol/Makefile setools.new/libapol/Makefile
---- setools.org/libapol/Makefile       2006-01-23 16:58:42.000000000 +0100
-+++ setools.new/libapol/Makefile       2006-04-17 00:31:08.188294750 +0200
-@@ -21,7 +21,7 @@
- CFLAGS  += -DLIBAPOL_POLICY_INSTALL_DIR='"$(POLICY_INSTALL_DIR)"'
- CFLAGS  += -DLIBAPOL_SELINUX_DIR='"$(SELINUX_DIR)"'
- CFLAGS        += -DLIBAPOL_DEFAULT_POLICY='"$(POLICY_SRC_FILE)"'
--CFLAGS  += -I.
-+CFLAGS  += -I. -fPIC
- LDFLAGS += -lfl
-diff -ur setools.org/libseaudit/Makefile setools.new/libseaudit/Makefile
---- setools.org/libseaudit/Makefile    2006-01-23 16:58:42.000000000 +0100
-+++ setools.new/libseaudit/Makefile    2006-04-17 00:32:42.678200000 +0200
-@@ -4,6 +4,8 @@
- SEAUDIT_LIBS   = libseaudit.a ../libapol/libapol.a $(LIBS)
- CFLAGS                += -D_GNU_SOURCE
- CFLAGS          += -DLIBSEAUDIT_VERSION_STRING='"$(shell cat VERSION)"'
-+CFLAGS                += -fPIC
-+LDFLAGS       += -lxml2
- LIBXML_FLAGS   = `pkg-config --cflags libxml-2.0`
- TARGET = libseaudit.so
-diff -ur setools.org/libsefs/fsdata.c setools.new/libsefs/fsdata.c
---- setools.org/libsefs/fsdata.c       2006-01-23 16:58:42.000000000 +0100
-+++ setools.new/libsefs/fsdata.c       2006-04-17 00:30:06.880463250 +0200
-@@ -10,7 +10,7 @@
- #include "fsdata.h"
- /* sqlite db stuff */
--#include "sqlite/sqlite3.h"
-+#include <sqlite3.h>
- /* SE Linux includes*/
- #include <selinux/selinux.h>
-diff -ur setools.org/libsefs/Makefile setools.new/libsefs/Makefile
---- setools.org/libsefs/Makefile       2006-01-23 16:58:42.000000000 +0100
-+++ setools.new/libsefs/Makefile       2006-04-17 00:29:01.912403000 +0200
-@@ -25,10 +25,10 @@
-       $(MAKE) -C sqlite all
--$(LIBSO): sqlite $(LIB-OBJ)  
--      $(CC) $(LDFLAGS) -shared -o $(LIBSO) $(LIB-OBJ) $(SQL-OBJ) -Wl,-soname,$(SONAME) 
-+$(LIBSO): $(LIB-OBJ)  
-+      $(CC) $(LDFLAGS) -shared -o $(LIBSO) $(LIB-OBJ) -Wl,-soname,$(SONAME) -lsqlite3
--libsefs.a: sqlite $(LIB-OBJ) 
--       ar cr $@ $(LIB-OBJ) $(SQL-OBJ)
-+libsefs.a: $(LIB-OBJ) 
-+       ar cr $@ $(LIB-OBJ)
- install-libsefs-shared: $(LIBSO) install-includes
-       install -m 755 $(LIBSO) $(SHARED_LIB_INSTALL_DIR)
-diff -ur setools.org/Makefile setools.new/Makefile
---- setools.org/Makefile       2006-01-23 16:58:42.000000000 +0100
-+++ setools.new/Makefile       2006-04-17 00:24:58.009160000 +0200
-@@ -89,9 +89,9 @@
- endif
- ifeq ($(DEBUG), 0)
--CFLAGS                        += -Wall -O2 -fPIC $(CC_DEFINES)
-+CFLAGS                        += $(OPT) -Wall -fPIC $(CC_DEFINES)
- else
--CFLAGS                        += -Wall -g -fPIC $(CC_DEFINES) -DDEBUG
-+CFLAGS                        += $(OPT) -Wall -fPIC $(CC_DEFINES) -DDEBUG
- #CFLAGS                       = -Wall -ansi -pedantic -g $(CC_DEFINES)
- endif
-diff -ur setools.org/secmds/Makefile setools.new/secmds/Makefile
---- setools.org/secmds/Makefile        2006-01-20 23:01:04.000000000 +0100
-+++ setools.new/secmds/Makefile        2006-04-17 00:52:47.641505500 +0200
-@@ -47,7 +47,7 @@
-       $(CC) -c indexcon.c $(CFLAGS) $(INCLUDE)
- indexcon: indexcon.o $(LIBSEFS) $(LIBAPOL)
--      $(CC) -o $@ indexcon.o $(LDFLAGS) $(STATICSEFS) $(LIBSELINUXSO) $(STATICAPOL) $(LIBS)
-+      $(CC) -o $@ indexcon.o $(LDFLAGS) $(STATICSEFS) $(LIBSELINUXSO) $(STATICAPOL) $(LIBS) -lsqlite3
- searchcon.o: searchcon.c
-       $(CC) -c searchcon.c $(CFLAGS) $(INCLUDE)
diff --git a/setools-sh.patch b/setools-sh.patch
new file mode 100644 (file)
index 0000000..7aed98f
--- /dev/null
@@ -0,0 +1,25 @@
+--- setools-3.3.8/configure.ac.orig    2013-01-16 17:36:24.000000000 +0100
++++ setools-3.3.8/configure.ac 2014-03-04 15:44:31.839948212 +0100
+@@ -368,9 +368,9 @@
+ fi
+ if test "x${enable_debug}" = xyes; then
+-   TCL_AUTOPATH+=' $(top_builddir)/libqpol/swig/tcl $(top_builddir)/libapol/swig/tcl $(top_builddir)/libsefs/swig/tcl $(top_builddir)/libpolsearch/swig/tcl $(top_builddir)/apol'
++   TCL_AUTOPATH="$TCL_AUTOPATH"' $(top_builddir)/libqpol/swig/tcl $(top_builddir)/libapol/swig/tcl $(top_builddir)/libsefs/swig/tcl $(top_builddir)/libpolsearch/swig/tcl $(top_builddir)/apol'
+ else
+-   TCL_AUTOPATH+=' $(libdir)/setools'
++   TCL_AUTOPATH="$TCL_AUTOPATH"' $(libdir)/setools'
+ fi
+ AC_SUBST(TCL_AUTOPATH)
+@@ -688,8 +688,8 @@
+ AC_SUBST(SQLITE3_CFLAGS)
+ AC_SUBST(SQLITE3_LIBS)
+-SEAUDIT_LIB_FLAG+=" ${XML_LIBS}"
+-SEFS_LIB_FLAG+=" ${SQLITE3_LIBS}"
++SEAUDIT_LIB_FLAG="$SEAUDIT_LIB_FLAG ${XML_LIBS}"
++SEFS_LIB_FLAG="$SEFS_LIB_FLAG ${SQLITE3_LIBS}"
+ gtk_version_2_8=1
+ if test "x${build_gui}" = xyes; then
diff --git a/setools-swig-part2.patch b/setools-swig-part2.patch
new file mode 100644 (file)
index 0000000..5836ec2
--- /dev/null
@@ -0,0 +1,6434 @@
+--- setools-3.3.8/libapol/swig/apol.i.orig     2014-03-04 18:06:00.769591966 +0100
++++ setools-3.3.8/libapol/swig/apol.i  2014-03-05 07:50:17.377516469 +0100
+@@ -255,7 +255,7 @@
+               return ip;
+       }
+ %}
+-%extend apol_ip_t {
++%extend apol_ip {
+       apol_ip(const char *str) {
+               apol_ip_t *ip = NULL;
+               BEGIN_EXCEPTION
+@@ -302,7 +302,16 @@
+       typedef struct apol_string_vector apol_string_vector_t;
+ %}
+ typedef struct apol_vector {} apol_vector_t;
+-%extend apol_vector_t {
++%rename(apol_vector_get_size) apol_vector_wrap_get_size;
++%rename(apol_vector_get_capacity) apol_vector_wrap_get_capacity;
++%rename(apol_vector_get_element) apol_vector_wrap_get_element;
++%rename(apol_vector_append) apol_vector_wrap_append;
++%rename(apol_vector_append_unique) apol_vector_wrap_append_unique;
++%rename(apol_vector_cat) apol_vector_wrap_cat;
++%rename(apol_vector_remove) apol_vector_wrap_remove;
++%rename(apol_vector_sort) apol_vector_wrap_sort;
++%rename(apol_vector_sort_uniquify) apol_vector_wrap_sort_uniquify;
++%extend apol_vector {
+       apol_vector() {
+               return apol_vector_create(NULL);
+       };
+@@ -315,19 +324,19 @@
+       apol_vector(apol_vector_t *a, apol_vector_t *b) {
+               return apol_vector_create_from_intersection(a, b, NULL, NULL);
+       };
+-      size_t get_size() {
++      size_t wrap_get_size() {
+               return apol_vector_get_size(self);
+       };
+-      size_t get_capacity() {
++      size_t wrap_get_capacity() {
+               return apol_vector_get_capacity(self);
+       };
+-      void *get_element(size_t i) {
++      void *wrap_get_element(size_t i) {
+               return apol_vector_get_element(self, i);
+       };
+       ~apol_vector() {
+               apol_vector_destroy(&self);
+       };
+-      void append(void *x) {
++      void wrap_append(void *x) {
+               BEGIN_EXCEPTION
+               if (apol_vector_append(self, x)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -336,7 +345,7 @@
+       fail:
+               return;
+       };
+-      void append_unique(void *x) {
++      void wrap_append_unique(void *x) {
+               BEGIN_EXCEPTION
+               if (apol_vector_append_unique(self, x, NULL, NULL)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -345,7 +354,7 @@
+       fail:
+               return;
+       };
+-      void cat(apol_vector_t *src) {
++      void wrap_cat(apol_vector_t *src) {
+               BEGIN_EXCEPTION
+               if (apol_vector_cat(self, src)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -354,7 +363,7 @@
+       fail:
+               return;
+       };
+-      void remove(size_t idx) {
++      void wrap_remove(size_t idx) {
+               BEGIN_EXCEPTION
+               if (apol_vector_remove(self, idx)) {
+                       SWIG_exception(SWIG_RuntimeError, "Error removing vector element");
+@@ -363,10 +372,10 @@
+       fail:
+               return;
+       };
+-      void sort() {
++      void wrap_sort() {
+               apol_vector_sort(self, NULL, NULL);
+       };
+-      void sort_uniquify() {
++      void wrap_sort_uniquify() {
+               apol_vector_sort_uniquify(self, NULL, NULL);
+       };
+ };
+@@ -378,7 +387,7 @@
+       }
+ %}
+ typedef struct apol_string_vector {} apol_string_vector_t;
+-%extend apol_string_vector_t {
++%extend apol_string_vector {
+       apol_string_vector() {
+               return (apol_string_vector_t*)apol_vector_create(free);
+       };
+@@ -461,7 +470,12 @@
+       APOL_POLICY_PATH_TYPE_MODULAR
+ } apol_policy_path_type_e;
+ typedef struct apol_policy_path {} apol_policy_path_t;
+-%extend apol_policy_path_t {
++%rename(apol_policy_path_get_type) apol_policy_path_wrap_get_type;
++%rename(apol_policy_path_get_primary) apol_policy_path_wrap_get_primary;
++%rename(apol_policy_path_get_modules) apol_policy_path_wrap_get_modules;
++%rename(apol_policy_path_to_string) apol_policy_path_wrap_to_string;
++%rename(apol_policy_path_to_file) apol_policy_path_wrap_to_file;
++%extend apol_policy_path {
+       apol_policy_path(apol_policy_path_type_e type, char * primary, apol_string_vector_t *modules = NULL) {
+               apol_policy_path_t *p;
+               BEGIN_EXCEPTION
+@@ -505,17 +519,17 @@
+       ~apol_policy_path() {
+               apol_policy_path_destroy(&self);
+       };
+-      apol_policy_path_type_e get_type() {
++      apol_policy_path_type_e wrap_get_type() {
+               return apol_policy_path_get_type(self);
+       };
+-      const char *get_primary() {
++      const char *wrap_get_primary() {
+               return apol_policy_path_get_primary(self);
+       };
+-      const apol_string_vector_t *get_modules() {
++      const apol_string_vector_t *wrap_get_modules() {
+               return (apol_string_vector_t*)apol_policy_path_get_modules(self);
+       };
+       %newobject to_string();
+-      char *to_string() {
++      char *wrap_to_string() {
+               char *str;
+               BEGIN_EXCEPTION
+               str = apol_policy_path_to_string(self);
+@@ -526,7 +540,7 @@
+       fail:
+               return str;
+       };
+-      void to_file(char *path) {
++      void wrap_to_file(char *path) {
+               BEGIN_EXCEPTION
+               if (apol_policy_path_to_file(self, path)) {
+                       SWIG_exception(SWIG_RuntimeError, "Input/outpet error");
+@@ -548,7 +562,16 @@
+ #define APOL_PERMMAP_WRITE    0x02
+ #define APOL_PERMMAP_BOTH     (APOL_PERMMAP_READ | APOL_PERMMAP_WRITE)
+ #define APOL_PERMMAP_NONE     0x10
+-%extend apol_policy_t {
++%rename(apol_policy_get_policy_type) apol_policy_wrap_get_policy_type;
++%rename(apol_policy_get_qpol) apol_policy_wrap_get_qpol;
++%rename(apol_policy_is_mls) apol_policy_wrap_is_mls;
++%rename(apol_policy_get_version_type_mls_str) apol_policy_wrap_get_version_type_mls_str;
++%rename(apol_policy_open_permmap) apol_policy_wrap_open_permmap;
++%rename(apol_policy_save_permmap) apol_policy_wrap_save_permmap;
++%rename(apol_policy_set_permmap) apol_policy_wrap_set_permmap;
++%rename(apol_policy_build_domain_trans_table) apol_policy_wrap_build_domain_trans_table;
++%rename(apol_policy_reset_domain_trans_table) apol_policy_wrap_reset_domain_trans_table;
++%extend apol_policy {
+       apol_policy(apol_policy_path_t *path, int options = 0) {
+               apol_policy_t *p;
+               BEGIN_EXCEPTION
+@@ -567,17 +590,17 @@
+       ~apol_policy() {
+               apol_policy_destroy(&self);
+       };
+-      int get_policy_type() {
++      int wrap_get_policy_type() {
+               return apol_policy_get_policy_type(self);
+       };
+-      qpol_policy_t *get_qpol() {
++      qpol_policy_t *wrap_get_qpol() {
+               return apol_policy_get_qpol(self);
+       };
+-      int is_mls() {
++      int wrap_is_mls() {
+               return apol_policy_is_mls(self);
+       };
+       %newobject get_version_type_mls_str();
+-      char *get_version_type_mls_str() {
++      char *wrap_get_version_type_mls_str() {
+               char *str;
+               BEGIN_EXCEPTION
+               str = apol_policy_get_version_type_mls_str(self);
+@@ -588,7 +611,7 @@
+       fail:
+               return str;
+       };
+-      void open_permmap(const char *path) {
++      void wrap_open_permmap(const char *path) {
+               BEGIN_EXCEPTION
+               if (apol_policy_open_permmap(self, path) < 0) {
+                       SWIG_exception(SWIG_RuntimeError, "Error loading permission map");
+@@ -597,7 +620,7 @@
+       fail:
+               return;
+       };
+-      void save_permmap(const char *path) {
++      void wrap_save_permmap(const char *path) {
+               BEGIN_EXCEPTION
+               if (apol_policy_save_permmap(self, path)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not save permission map");
+@@ -626,7 +649,7 @@
+       fail:
+               return dir;
+       };
+-      void set_permmap(const char *class_name, const char *perm_name, int direction, int weight) {
++      void wrap_set_permmap(const char *class_name, const char *perm_name, int direction, int weight) {
+               BEGIN_EXCEPTION
+               if (apol_policy_set_permmap(self, class_name, perm_name, direction, weight)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set permission mapping");
+@@ -635,7 +658,7 @@
+       fail:
+               return;
+       };
+-      void build_domain_trans_table() {
++      void wrap_build_domain_trans_table() {
+               BEGIN_EXCEPTION
+               if (apol_policy_build_domain_trans_table(self)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not build domain transition table");
+@@ -644,14 +667,16 @@
+       fail:
+               return;
+       };
+-      void reset_domain_trans_table() {
++      void wrap_reset_domain_trans_table() {
+               apol_policy_reset_domain_trans_table(self);
+       }
+ };
+ /* apol type query */
+ typedef struct apol_type_query {} apol_type_query_t;
+-%extend apol_type_query_t {
++%rename(apol_type_query_set_type) apol_type_query_wrap_set_type;
++%rename(apol_type_query_set_regex) apol_type_query_wrap_set_regex;
++%extend apol_type_query {
+       apol_type_query() {
+               apol_type_query_t *tq;
+               BEGIN_EXCEPTION
+@@ -677,7 +702,7 @@
+       fail:
+               return v;
+       };
+-      void set_type(apol_policy_t *p, char *name) {
++      void wrap_set_type(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_type_query_set_type(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -686,14 +711,16 @@
+       fail:
+               return;
+       };
+-      void set_regex(apol_policy_t *p, int regex) {
++      void wrap_set_regex(apol_policy_t *p, int regex) {
+               apol_type_query_set_regex(p, self, regex);
+       };
+ };
+ /* apol attribute query */
+ typedef struct apol_attr_query {} apol_attr_query_t;
+-%extend apol_attr_query_t {
++%rename(apol_attr_query_set_attr) apol_attr_query_wrap_set_attr;
++%rename(apol_attr_query_set_regex) apol_attr_query_wrap_set_regex;
++%extend apol_attr_query {
+       apol_attr_query() {
+               apol_attr_query_t *aq;
+               BEGIN_EXCEPTION
+@@ -719,7 +746,7 @@
+       fail:
+               return v;
+       };
+-      void set_attr(apol_policy_t *p, char *name) {
++      void wrap_set_attr(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_attr_query_set_attr(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -728,14 +755,17 @@
+       fail:
+               return;
+       };
+-      void set_regex(apol_policy_t *p, int regex) {
++      void wrap_set_regex(apol_policy_t *p, int regex) {
+               apol_attr_query_set_regex(p, self, regex);
+       };
+ };
+ /* apol role query */
+ typedef struct apol_role_query {} apol_role_query_t;
+-%extend apol_role_query_t {
++%rename(apol_role_query_set_role) apol_role_query_wrap_set_role;
++%rename(apol_role_query_set_type) apol_role_query_wrap_set_type;
++%rename(apol_role_query_set_regex) apol_role_query_wrap_set_regex;
++%extend apol_role_query {
+       apol_role_query() {
+               apol_role_query_t *rq;
+               BEGIN_EXCEPTION
+@@ -761,7 +791,7 @@
+       fail:
+               return v;
+       };
+-      void set_role(apol_policy_t *p, char *name) {
++      void wrap_set_role(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_role_query_set_role(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -770,7 +800,7 @@
+       fail:
+               return;
+       };
+-      void set_type(apol_policy_t *p, char *name) {
++      void wrap_set_type(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_role_query_set_type(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -779,7 +809,7 @@
+       fail:
+               return;
+       };
+-      void set_regex(apol_policy_t *p, int regex) {
++      void wrap_set_regex(apol_policy_t *p, int regex) {
+               apol_role_query_set_regex(p, self, regex);
+       };
+ };
+@@ -787,7 +817,10 @@
+ /* apol class query */
+ typedef struct apol_class_query {} apol_class_query_t;
+-%extend apol_class_query_t {
++%rename(apol_class_query_set_class) apol_class_query_wrap_set_class;
++%rename(apol_class_query_set_common) apol_class_query_wrap_set_common;
++%rename(apol_class_query_set_regex) apol_class_query_wrap_set_regex;
++%extend apol_class_query {
+       apol_class_query() {
+               apol_class_query_t *cq;
+               BEGIN_EXCEPTION
+@@ -813,7 +846,7 @@
+       fail:
+               return v;
+       };
+-      void set_class(apol_policy_t *p, char *name) {
++      void wrap_set_class(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_class_query_set_class(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -822,7 +855,7 @@
+       fail:
+               return;
+       };
+-      void set_common(apol_policy_t *p, char *name) {
++      void wrap_set_common(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_class_query_set_common(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -831,14 +864,16 @@
+       fail:
+               return;
+       };
+-      void set_regex(apol_policy_t *p, int regex) {
++      void wrap_set_regex(apol_policy_t *p, int regex) {
+               apol_class_query_set_regex(p, self, regex);
+       };
+ };
+ /* apol common query */
+ typedef struct apol_common_query {} apol_common_query_t;
+-%extend apol_common_query_t {
++%rename(apol_common_query_set_common) apol_common_query_wrap_set_common;
++%rename(apol_common_query_set_regex) apol_common_query_wrap_set_regex;
++%extend apol_common_query {
+       apol_common_query() {
+               apol_common_query_t *cq;
+               BEGIN_EXCEPTION
+@@ -864,7 +899,7 @@
+       fail:
+               return v;
+       };
+-      void set_common(apol_policy_t *p, char *name) {
++      void wrap_set_common(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_common_query_set_common(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -873,14 +908,16 @@
+       fail:
+               return;
+       };
+-      void set_regex(apol_policy_t *p, int regex) {
++      void wrap_set_regex(apol_policy_t *p, int regex) {
+               apol_common_query_set_regex(p, self, regex);
+       };
+ };
+ /* apol perm query */
+ typedef struct apol_perm_query {} apol_perm_query_t;
+-%extend apol_perm_query_t {
++%rename(apol_perm_query_set_perm) apol_perm_query_wrap_set_perm;
++%rename(apol_perm_query_set_regex) apol_perm_query_wrap_set_regex;
++%extend apol_perm_query {
+       apol_perm_query() {
+               apol_perm_query_t *pq;
+               BEGIN_EXCEPTION
+@@ -906,7 +943,7 @@
+       fail:
+               return (apol_string_vector_t*)v;
+       };
+-      void set_perm(apol_policy_t *p, char *name) {
++      void wrap_set_perm(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_perm_query_set_perm(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -915,14 +952,16 @@
+       fail:
+               return;
+       };
+-      void set_regex(apol_policy_t *p, int regex) {
++      void wrap_set_regex(apol_policy_t *p, int regex) {
+               apol_perm_query_set_regex(p, self, regex);
+       };
+ };
+ /* apol bool query */
+ typedef struct apol_bool_query {} apol_bool_query_t;
+-%extend apol_bool_query_t {
++%rename(apol_bool_query_set_bool) apol_bool_query_wrap_set_bool;
++%rename(apol_bool_query_set_regex) apol_bool_query_wrap_set_regex;
++%extend apol_bool_query {
+       apol_bool_query() {
+               apol_bool_query_t *bq;
+               BEGIN_EXCEPTION
+@@ -948,7 +987,7 @@
+       fail:
+               return v;
+       };
+-      void set_bool(apol_policy_t *p, char *name) {
++      void wrap_set_bool(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_bool_query_set_bool(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -957,14 +996,22 @@
+       fail:
+               return;
+       };
+-      void set_regex(apol_policy_t *p, int regex) {
++      void wrap_set_regex(apol_policy_t *p, int regex) {
+               apol_bool_query_set_regex(p, self, regex);
+       };
+ };
+ /* apol mls level */
+ typedef struct apol_mls_level {} apol_mls_level_t;
+-%extend apol_mls_level_t {
++%rename(apol_mls_level_set_sens) apol_mls_level_wrap_set_sens;
++%rename(apol_mls_level_get_sens) apol_mls_level_wrap_get_sens;
++%rename(apol_mls_level_append_cats) apol_mls_level_wrap_append_cats;
++%rename(apol_mls_level_get_cats) apol_mls_level_wrap_get_cats;
++%rename(apol_mls_level_validate) apol_mls_level_wrap_validate;
++%rename(apol_mls_level_render) apol_mls_level_wrap_render;
++%rename(apol_mls_level_convert) apol_mls_level_wrap_convert;
++%rename(apol_mls_level_is_literal) apol_mls_level_wrap_is_literal;
++%extend apol_mls_level {
+       apol_mls_level() {
+               apol_mls_level_t *aml;
+               BEGIN_EXCEPTION
+@@ -1034,7 +1081,7 @@
+       ~apol_mls_level() {
+               apol_mls_level_destroy(&self);
+       };
+-      void set_sens(apol_policy_t *p, char *sens) {
++      void wrap_set_sens(apol_policy_t *p, char *sens) {
+               BEGIN_EXCEPTION
+               if (apol_mls_level_set_sens(p, self, sens)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set level sensitivity");
+@@ -1043,10 +1090,10 @@
+       fail:
+               return;
+       };
+-      const char *get_sens() {
++      const char *wrap_get_sens() {
+               return apol_mls_level_get_sens(self);
+       };
+-      void append_cats(apol_policy_t *p, char *cats) {
++      void wrap_append_cats(apol_policy_t *p, char *cats) {
+               BEGIN_EXCEPTION
+               if (apol_mls_level_append_cats(p, self, cats)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not append level category");
+@@ -1055,10 +1102,10 @@
+       fail:
+               return;
+       };
+-      const apol_string_vector_t *get_cats() {
++      const apol_string_vector_t *wrap_get_cats() {
+               return (apol_string_vector_t *) apol_mls_level_get_cats(self);
+       };
+-      int validate(apol_policy_t *p) {
++      int wrap_validate(apol_policy_t *p) {
+               int ret = -1;
+               BEGIN_EXCEPTION
+               ret = apol_mls_level_validate(p, self);
+@@ -1070,7 +1117,7 @@
+               return ret;
+       }
+       %newobject render(apol_policy_t*);
+-      char *render(apol_policy_t *p) {
++      char *wrap_render(apol_policy_t *p) {
+               char *str;
+               BEGIN_EXCEPTION
+               str = apol_mls_level_render(p, self);
+@@ -1081,7 +1128,7 @@
+       fail:
+               return str;
+       };
+-      int convert(apol_policy_t *p) {
++      int wrap_convert(apol_policy_t *p) {
+               int ret = -1;
+               BEGIN_EXCEPTION
+               ret = apol_mls_level_convert(p, self);
+@@ -1092,7 +1139,7 @@
+       fail:
+               return ret;
+       }
+-      int is_literal() {
++      int wrap_is_literal() {
+               int ret = -1;
+               BEGIN_EXCEPTION
+               ret = apol_mls_level_is_literal(self);
+@@ -1127,7 +1174,16 @@
+ }
+ #endif
+ typedef struct apol_mls_range {} apol_mls_range_t;
+-%extend apol_mls_range_t {
++%rename(apol_mls_range_set_low) apol_mls_range_wrap_set_low;
++%rename(apol_mls_range_set_high) apol_mls_range_wrap_set_high;
++%rename(apol_mls_range_get_low) apol_mls_range_wrap_get_low;
++%rename(apol_mls_range_get_high) apol_mls_range_wrap_get_high;
++%rename(apol_mls_range_render) apol_mls_range_wrap_render;
++%rename(apol_mls_range_get_levels) apol_mls_range_wrap_get_levels;
++%rename(apol_mls_range_validate) apol_mls_range_wrap_validate;
++%rename(apol_mls_range_is_literal) apol_mls_range_wrap_is_literal;
++%rename(apol_mls_range_convert) apol_mls_range_wrap_convert;
++%extend apol_mls_range {
+       apol_mls_range() {
+               apol_mls_range_t *amr;
+               BEGIN_EXCEPTION
+@@ -1186,7 +1242,7 @@
+       ~apol_mls_range() {
+               apol_mls_range_destroy(&self);
+       };
+-      void set_low(apol_policy_t *p, apol_mls_level_t *lvl) {
++      void wrap_set_low(apol_policy_t *p, apol_mls_level_t *lvl) {
+               BEGIN_EXCEPTION
+               if (apol_mls_range_set_low(p, self, lvl)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set low level");
+@@ -1195,7 +1251,7 @@
+       fail:
+               return;
+       };
+-      void set_high(apol_policy_t *p, apol_mls_level_t *lvl) {
++      void wrap_set_high(apol_policy_t *p, apol_mls_level_t *lvl) {
+               BEGIN_EXCEPTION
+               if (apol_mls_range_set_high(p, self, lvl)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set high level");
+@@ -1204,14 +1260,14 @@
+       fail:
+                       return;
+       };
+-      const apol_mls_level_t *get_low() {
++      const apol_mls_level_t *wrap_get_low() {
+               return apol_mls_range_get_low(self);
+       }
+-      const apol_mls_level_t *get_high() {
++      const apol_mls_level_t *wrap_get_high() {
+               return apol_mls_range_get_high(self);
+       }
+       %newobject render(apol_policy_t*);
+-      char *render(apol_policy_t *p) {
++      char *wrap_render(apol_policy_t *p) {
+               char *str;
+               BEGIN_EXCEPTION
+               str = apol_mls_range_render(p, self);
+@@ -1223,7 +1279,7 @@
+               return str;
+       };
+       %newobject get_levels(apol_policy_t*);
+-      apol_vector_t *get_levels(apol_policy_t *p) {
++      apol_vector_t *wrap_get_levels(apol_policy_t *p) {
+               apol_vector_t *v;
+               BEGIN_EXCEPTION
+               v = apol_mls_range_get_levels(p, self);
+@@ -1234,7 +1290,7 @@
+       fail:
+                       return v;
+       };
+-      int validate(apol_policy_t *p) {
++      int wrap_validate(apol_policy_t *p) {
+               int ret = apol_mls_range_validate(p, self);
+               BEGIN_EXCEPTION
+               if (ret < 0) {
+@@ -1244,7 +1300,7 @@
+       fail:
+               return ret;
+       }
+-      int is_literal() {
++      int wrap_is_literal() {
+               int ret = -1;
+               BEGIN_EXCEPTION
+               ret = apol_mls_range_is_literal(self);
+@@ -1255,7 +1311,7 @@
+       fail:
+               return ret;
+       }
+-      int convert(apol_policy_t *p) {
++      int wrap_convert(apol_policy_t *p) {
+               int ret = -1;
+               BEGIN_EXCEPTION
+               ret = apol_mls_range_convert(p, self);
+@@ -1277,7 +1333,10 @@
+ /* apol level query */
+ typedef struct apol_level_query {} apol_level_query_t;
+-%extend apol_level_query_t {
++%rename(apol_level_query_set_sens) apol_level_query_wrap_set_sens;
++%rename(apol_level_query_set_cat) apol_level_query_wrap_set_cat;
++%rename(apol_level_query_set_regex) apol_level_query_wrap_set_regex;
++%extend apol_level_query {
+       apol_level_query() {
+               apol_level_query_t * alq;
+               BEGIN_EXCEPTION
+@@ -1303,7 +1362,7 @@
+       fail:
+               return v;
+       };
+-      void set_sens(apol_policy_t *p, char *name) {
++      void wrap_set_sens(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_level_query_set_sens(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -1312,7 +1371,7 @@
+       fail:
+               return;
+       };
+-      void set_cat(apol_policy_t *p, char *name) {
++      void wrap_set_cat(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_level_query_set_cat(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -1321,14 +1380,16 @@
+       fail:
+                       return;
+       };
+-      void set_regex(apol_policy_t *p, int regex) {
++      void wrap_set_regex(apol_policy_t *p, int regex) {
+               apol_level_query_set_regex(p, self, regex);
+       };
+ };
+ /* apol cat query */
+ typedef struct apol_cat_query {} apol_cat_query_t;
+-%extend apol_cat_query_t {
++%rename(apol_cat_query_set_cat) apol_cat_query_wrap_set_cat;
++%rename(apol_cat_query_set_regex) apol_cat_query_wrap_set_regex;
++%extend apol_cat_query {
+       apol_cat_query() {
+               apol_cat_query_t * acq;
+               BEGIN_EXCEPTION
+@@ -1354,7 +1415,7 @@
+       fail:
+               return v;
+       };
+-      void set_cat(apol_policy_t *p, char *name) {
++      void wrap_set_cat(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_cat_query_set_cat(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -1363,7 +1424,7 @@
+       fail:
+               return;
+       };
+-      void set_regex(apol_policy_t *p, int regex) {
++      void wrap_set_regex(apol_policy_t *p, int regex) {
+               apol_cat_query_set_regex(p, self, regex);
+       };
+ };
+@@ -1378,7 +1439,12 @@
+ }
+ #endif
+ typedef struct apol_user_query {} apol_user_query_t;
+-%extend apol_user_query_t {
++%rename(apol_user_query_set_user) apol_user_query_wrap_set_user;
++%rename(apol_user_query_set_role) apol_user_query_wrap_set_role;
++%rename(apol_user_query_set_default_level) apol_user_query_wrap_set_default_level;
++%rename(apol_user_query_set_range) apol_user_query_wrap_set_range;
++%rename(apol_user_query_set_regex) apol_user_query_wrap_set_regex;
++%extend apol_user_query {
+       apol_user_query() {
+               apol_user_query_t *auq;
+               BEGIN_EXCEPTION
+@@ -1404,7 +1470,7 @@
+       fail:
+               return v;
+       };
+-      void set_user(apol_policy_t *p, char *name) {
++      void wrap_set_user(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_user_query_set_user(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -1413,7 +1479,7 @@
+       fail:
+               return;
+       };
+-      void set_role(apol_policy_t *p, char *name) {
++      void wrap_set_role(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_user_query_set_role(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -1422,7 +1488,7 @@
+       fail:
+               return;
+       };
+-      void set_default_level(apol_policy_t *p, apol_mls_level_t *lvl) {
++      void wrap_set_default_level(apol_policy_t *p, apol_mls_level_t *lvl) {
+               BEGIN_EXCEPTION
+               if (apol_user_query_set_default_level(p, self, lvl)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -1431,7 +1497,7 @@
+       fail:
+               return;
+       };
+-      void set_range(apol_policy_t *p, apol_mls_range_t *rng, int range_match) {
++      void wrap_set_range(apol_policy_t *p, apol_mls_range_t *rng, int range_match) {
+               BEGIN_EXCEPTION
+               if (apol_user_query_set_range(p, self, rng, range_match)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -1440,14 +1506,26 @@
+       fail:
+               return;
+       };
+-      void set_regex(apol_policy_t *p, int regex) {
++      void wrap_set_regex(apol_policy_t *p, int regex) {
+               apol_user_query_set_regex(p, self, regex);
+       };
+ };
+ /* apol context */
+ typedef struct apol_context {} apol_context_t;
+-%extend apol_context_t {
++%rename(apol_context_set_user) apol_context_wrap_set_user;
++%rename(apol_context_get_user) apol_context_wrap_get_user;
++%rename(apol_context_set_role) apol_context_wrap_set_role;
++%rename(apol_context_get_role) apol_context_wrap_get_role;
++%rename(apol_context_set_type) apol_context_wrap_set_type;
++%rename(apol_context_get_type) apol_context_wrap_get_type;
++%rename(apol_context_set_range) apol_context_wrap_set_range;
++%rename(apol_context_get_range) apol_context_wrap_get_range;
++%rename(apol_context_validate) apol_context_wrap_validate;
++%rename(apol_context_validate_partial) apol_context_wrap_validate_partial;
++%rename(apol_context_render) apol_context_wrap_render;
++%rename(apol_context_convert) apol_context_wrap_convert;
++%extend apol_context {
+       apol_context() {
+               apol_context_t *ctx;
+               BEGIN_EXCEPTION
+@@ -1484,7 +1562,7 @@
+       ~apol_context() {
+               apol_context_destroy(&self);
+       };
+-      void set_user(apol_policy_t *p, char *name) {
++      void wrap_set_user(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_context_set_user(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -1493,10 +1571,10 @@
+       fail:
+               return;
+       };
+-      const char *get_user() {
++      const char *wrap_get_user() {
+               return apol_context_get_user(self);
+       };
+-      void set_role(apol_policy_t *p, char *name) {
++      void wrap_set_role(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_context_set_role(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -1505,10 +1583,10 @@
+       fail:
+               return;
+       };
+-      const char *get_role() {
++      const char *wrap_get_role() {
+               return apol_context_get_role(self);
+       };
+-      void set_type(apol_policy_t *p, char *name) {
++      void wrap_set_type(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_context_set_type(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -1517,10 +1595,10 @@
+       fail:
+               return;
+       };
+-      const char *get_type() {
++      const char *wrap_get_type() {
+               return apol_context_get_type(self);
+       };
+-      void set_range(apol_policy_t *p, apol_mls_range_t *rng) {
++      void wrap_set_range(apol_policy_t *p, apol_mls_range_t *rng) {
+               BEGIN_EXCEPTION
+               if (apol_context_set_range(p, self, rng)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -1529,10 +1607,10 @@
+       fail:
+               return;
+       };
+-      const apol_mls_range_t *get_range() {
++      const apol_mls_range_t *wrap_get_range() {
+               return apol_context_get_range(self);
+       };
+-      int validate(apol_policy_t *p) {
++      int wrap_validate(apol_policy_t *p) {
+               int ret = -1;
+               BEGIN_EXCEPTION
+               ret = apol_context_validate(p, self);
+@@ -1543,7 +1621,7 @@
+       fail:
+               return ret;
+       }
+-      int validate_partial(apol_policy_t *p) {
++      int wrap_validate_partial(apol_policy_t *p) {
+               int ret = -1;
+               BEGIN_EXCEPTION
+               ret = apol_context_validate_partial(p, self);
+@@ -1555,7 +1633,7 @@
+               return ret;
+       }
+       %newobject render(apol_policy_t*);
+-      char *render(apol_policy_t *p) {
++      char *wrap_render(apol_policy_t *p) {
+               char *str;
+               BEGIN_EXCEPTION
+               str = apol_context_render(p, self);
+@@ -1566,7 +1644,7 @@
+       fail:
+               return str;
+       };
+-      int convert(apol_policy_t *p) {
++      int wrap_convert(apol_policy_t *p) {
+               int ret = -1;
+               BEGIN_EXCEPTION
+               ret = apol_context_convert(p, self);
+@@ -1582,7 +1660,10 @@
+ /* apol constraint query */
+ typedef struct apol_constraint_query {} apol_constraint_query_t;
+-%extend apol_constraint_query_t {
++%rename(apol_constraint_query_set_class) apol_constraint_query_wrap_set_class;
++%rename(apol_constraint_query_set_perm) apol_constraint_query_wrap_set_perm;
++%rename(apol_constraint_query_set_regex) apol_constraint_query_wrap_set_regex;
++%extend apol_constraint_query {
+       apol_constraint_query() {
+               apol_constraint_query_t *acq;
+               BEGIN_EXCEPTION
+@@ -1608,7 +1689,7 @@
+       fail:
+               return v;
+       };
+-      void set_class(apol_policy_t *p, char *name) {
++      void wrap_set_class(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_constraint_query_set_class(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -1617,7 +1698,7 @@
+       fail:
+               return;
+       }
+-      void set_perm(apol_policy_t *p, char *name) {
++      void wrap_set_perm(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_constraint_query_set_perm(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -1626,14 +1707,16 @@
+       fail:
+               return;
+       }
+-      void set_regex(apol_policy_t *p, int regex) {
++      void wrap_set_regex(apol_policy_t *p, int regex) {
+               apol_constraint_query_set_regex(p, self, regex);
+       };
+ };
+ /* apol validatetrans query */
+ typedef struct apol_validatetrans_query {} apol_validatetrans_query_t;
+-%extend apol_validatetrans_query_t {
++%rename(apol_validatetrans_query_set_class) apol_validatetrans_query_wrap_set_class;
++%rename(apol_validatetrans_query_set_regex) apol_validatetrans_query_wrap_set_regex;
++%extend apol_validatetrans_query {
+       apol_validatetrans_query() {
+               apol_validatetrans_query_t *avq;
+               BEGIN_EXCEPTION
+@@ -1659,7 +1742,7 @@
+       fail:
+               return v;
+       };
+-      void set_class(apol_policy_t *p, char *name) {
++      void wrap_set_class(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_validatetrans_query_set_class(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -1668,7 +1751,7 @@
+       fail:
+               return;
+       }
+-      void set_regex(apol_policy_t *p, int regex) {
++      void wrap_set_regex(apol_policy_t *p, int regex) {
+               apol_validatetrans_query_set_regex(p, self, regex);
+       };
+ };
+@@ -1683,7 +1766,11 @@
+ }
+ #endif
+ typedef struct apol_genfscon_query {} apol_genfscon_query_t;
+-%extend apol_genfscon_query_t {
++%rename(apol_genfscon_query_set_filesystem) apol_genfscon_query_wrap_set_filesystem;
++%rename(apol_genfscon_query_set_path) apol_genfscon_query_wrap_set_path;
++%rename(apol_genfscon_query_set_objclass) apol_genfscon_query_wrap_set_objclass;
++%rename(apol_genfscon_query_set_context) apol_genfscon_query_wrap_set_context;
++%extend apol_genfscon_query {
+       apol_genfscon_query() {
+               apol_genfscon_query_t *agq;
+               BEGIN_EXCEPTION
+@@ -1709,7 +1796,7 @@
+       fail:
+               return v;
+       };
+-      void set_filesystem(apol_policy_t *p, char *fs) {
++      void wrap_set_filesystem(apol_policy_t *p, char *fs) {
+               BEGIN_EXCEPTION
+               if (apol_genfscon_query_set_filesystem(p, self, fs)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -1718,7 +1805,7 @@
+       fail:
+               return;
+       };
+-      void set_path(apol_policy_t *p, char *path) {
++      void wrap_set_path(apol_policy_t *p, char *path) {
+               BEGIN_EXCEPTION
+               if (apol_genfscon_query_set_path(p, self, path)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -1727,7 +1814,7 @@
+       fail:
+               return;
+       };
+-      void set_objclass(apol_policy_t *p, int objclass) {
++      void wrap_set_objclass(apol_policy_t *p, int objclass) {
+               BEGIN_EXCEPTION
+               if (apol_genfscon_query_set_objclass(p, self, objclass)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set object class for genfscon query");
+@@ -1736,7 +1823,7 @@
+       fail:
+               return;
+       };
+-      void set_context(apol_policy_t *p, apol_context_t *ctx, int range_match) {
++      void wrap_set_context(apol_policy_t *p, apol_context_t *ctx, int range_match) {
+               apol_genfscon_query_set_context(p, self, ctx, range_match);
+       };
+ };
+@@ -1745,7 +1832,10 @@
+ /* apol fs_use query */
+ typedef struct apol_fs_use_query {} apol_fs_use_query_t;
+-%extend apol_fs_use_query_t {
++%rename(apol_fs_use_query_set_filesystem) apol_fs_use_query_wrap_set_filesystem;
++%rename(apol_fs_use_query_set_behavior) apol_fs_use_query_wrap_set_behavior;
++%rename(apol_fs_use_query_set_context) apol_fs_use_query_wrap_set_context;
++%extend apol_fs_use_query {
+       apol_fs_use_query() {
+               apol_fs_use_query_t *afq;
+               BEGIN_EXCEPTION
+@@ -1771,7 +1861,7 @@
+       fail:
+               return v;
+       };
+-      void set_filesystem(apol_policy_t *p, char *fs) {
++      void wrap_set_filesystem(apol_policy_t *p, char *fs) {
+               BEGIN_EXCEPTION
+               if (apol_fs_use_query_set_filesystem(p, self, fs)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -1780,7 +1870,7 @@
+       fail:
+               return;
+       };
+-      void set_behavior(apol_policy_t *p, int behavior) {
++      void wrap_set_behavior(apol_policy_t *p, int behavior) {
+               BEGIN_EXCEPTION
+               if (apol_fs_use_query_set_behavior(p, self, behavior)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set behavior for fs_use query");
+@@ -1789,7 +1879,7 @@
+       fail:
+               return;
+       };
+-      void set_context(apol_policy_t *p, apol_context_t *ctx, int range_match) {
++      void wrap_set_context(apol_policy_t *p, apol_context_t *ctx, int range_match) {
+               apol_fs_use_query_set_context(p, self, ctx, range_match);
+       };
+ };
+@@ -1798,7 +1888,9 @@
+ /* apol initial sid query */
+ typedef struct apol_isid_query {} apol_isid_query_t;
+-%extend apol_isid_query_t {
++%rename(apol_isid_query_set_name) apol_isid_query_wrap_set_name;
++%rename(apol_isid_query_set_context) apol_isid_query_wrap_set_context;
++%extend apol_isid_query {
+       apol_isid_query() {
+               apol_isid_query_t *aiq;
+               BEGIN_EXCEPTION
+@@ -1824,7 +1916,7 @@
+       fail:
+               return v;
+       };
+-      void set_name(apol_policy_t *p, char *name) {
++      void wrap_set_name(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_isid_query_set_name(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -1833,14 +1925,18 @@
+       fail:
+               return;
+       };
+-      void set_context(apol_policy_t *p, apol_context_t *ctx, int range_match) {
++      void wrap_set_context(apol_policy_t *p, apol_context_t *ctx, int range_match) {
+               apol_isid_query_set_context(p, self, ctx, range_match);
+       };
+ };
+ /* apol portcon query */
+ typedef struct apol_portcon_query {} apol_portcon_query_t;
+-%extend apol_portcon_query_t {
++%rename(apol_portcon_query_set_protocol) apol_portcon_query_wrap_set_protocol;
++%rename(apol_portcon_query_set_low) apol_portcon_query_wrap_set_low;
++%rename(apol_portcon_query_set_high) apol_portcon_query_wrap_set_high;
++%rename(apol_portcon_query_set_context) apol_portcon_query_wrap_set_context;
++%extend apol_portcon_query {
+       apol_portcon_query() {
+               apol_portcon_query_t *apq;
+               BEGIN_EXCEPTION
+@@ -1866,16 +1962,16 @@
+       fail:
+               return v;
+       };
+-      void set_protocol(apol_policy_t *p, int protocol) {
++      void wrap_set_protocol(apol_policy_t *p, int protocol) {
+               apol_portcon_query_set_protocol(p, self, protocol);
+       };
+-      void set_low(apol_policy_t *p, int port) {
++      void wrap_set_low(apol_policy_t *p, int port) {
+               apol_portcon_query_set_low(p, self, port);
+       };
+-      void set_high(apol_policy_t *p, int port) {
++      void wrap_set_high(apol_policy_t *p, int port) {
+               apol_portcon_query_set_high(p, self, port);
+       };
+-      void set_context(apol_policy_t *p, apol_context_t *ctx, int range_match) {
++      void wrap_set_context(apol_policy_t *p, apol_context_t *ctx, int range_match) {
+               apol_portcon_query_set_context(p, self, ctx, range_match);
+       };
+ };
+@@ -1884,7 +1980,10 @@
+ /* apol netifcon query */
+ typedef struct apol_netifcon_query {} apol_netifcon_query_t;
+-%extend apol_netifcon_query_t {
++%rename(apol_netifcon_query_set_device) apol_netifcon_query_wrap_set_device;
++%rename(apol_netifcon_query_set_if_context) apol_netifcon_query_wrap_set_if_context;
++%rename(apol_netifcon_query_set_msg_context) apol_netifcon_query_set_msg_context;
++%extend apol_netifcon_query {
+       apol_netifcon_query() {
+               apol_netifcon_query_t *anq;
+               BEGIN_EXCEPTION
+@@ -1910,7 +2009,7 @@
+       fail:
+               return v;
+       };
+-      void set_device(apol_policy_t *p, char *name) {
++      void wrap_set_device(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_netifcon_query_set_device(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -1919,10 +2018,10 @@
+       fail:
+               return;
+       };
+-      void set_if_context(apol_policy_t *p, apol_context_t *ctx, int range_match) {
++      void wrap_set_if_context(apol_policy_t *p, apol_context_t *ctx, int range_match) {
+               apol_netifcon_query_set_if_context(p, self, ctx, range_match);
+       };
+-      void set_msg_context(apol_policy_t *p, apol_context_t *ctx, int range_match) {
++      void wrap_set_msg_context(apol_policy_t *p, apol_context_t *ctx, int range_match) {
+               apol_netifcon_query_set_msg_context(p, self, ctx, range_match);
+       };
+ };
+@@ -1931,7 +2030,11 @@
+ /* apol nodecon query */
+ typedef struct apol_nodecon_query {} apol_nodecon_query_t;
+-%extend apol_nodecon_query_t {
++%rename(apol_nodecon_query_set_protocol) apol_nodecon_query_wrap_set_protocol;
++%rename(apol_nodecon_query_set_addr) apol_nodecon_query_wrap_set_addr;
++%rename(apol_nodecon_query_set_mask) apol_nodecon_query_wrap_set_mask;
++%rename(apol_nodecon_query_set_context) apol_nodecon_query_wrap_set_context;
++%extend apol_nodecon_query {
+       apol_nodecon_query() {
+               apol_nodecon_query_t *anq;
+               BEGIN_EXCEPTION
+@@ -1957,7 +2060,7 @@
+       fail:
+               return v;
+       };
+-      void set_protocol(apol_policy_t *p, int protocol) {
++      void wrap_set_protocol(apol_policy_t *p, int protocol) {
+               BEGIN_EXCEPTION
+               if (apol_nodecon_query_set_protocol(p, self, protocol)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set protocol for nodecon query");
+@@ -1966,7 +2069,7 @@
+       fail:
+               return;
+       };
+-      void set_addr(apol_policy_t *p, uint32_t *addr, int protocol) {
++      void wrap_set_addr(apol_policy_t *p, uint32_t *addr, int protocol) {
+               BEGIN_EXCEPTION
+               if (apol_nodecon_query_set_addr(p, self, addr, protocol)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set address for nodecon query");
+@@ -1975,7 +2078,7 @@
+       fail:
+               return;
+       };
+-      void set_addr(apol_policy_t *p, apol_ip_t *addr) {
++      void wrap_set_addr(apol_policy_t *p, apol_ip_t *addr) {
+               BEGIN_EXCEPTION
+               if (apol_nodecon_query_set_addr(p, self, addr->ip, addr->proto)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set address for nodecon query");
+@@ -1984,7 +2087,7 @@
+       fail:
+               return;
+       };
+-      void set_mask(apol_policy_t *p, uint32_t *mask, int protocol) {
++      void wrap_set_mask(apol_policy_t *p, uint32_t *mask, int protocol) {
+               BEGIN_EXCEPTION
+               if (apol_nodecon_query_set_mask(p, self, mask, protocol)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set mask for nodecon query");
+@@ -1993,7 +2096,7 @@
+       fail:
+               return;
+       };
+-      void set_mask(apol_policy_t *p, apol_ip_t *mask) {
++      void wrap_set_mask(apol_policy_t *p, apol_ip_t *mask) {
+               BEGIN_EXCEPTION
+               if (apol_nodecon_query_set_mask(p, self, mask->ip, mask->proto)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set mask for nodecon query");
+@@ -2002,7 +2105,7 @@
+       fail:
+               return;
+       };
+-      void set_context(apol_policy_t *p, apol_context_t *ctx, int range_match) {
++      void wrap_set_context(apol_policy_t *p, apol_context_t *ctx, int range_match) {
+               apol_nodecon_query_set_context(p, self, ctx, range_match);
+       };
+ };
+@@ -2011,7 +2114,19 @@
+ /* apol avrule query */
+ typedef struct apol_avrule_query {} apol_avrule_query_t;
+-%extend apol_avrule_query_t {
++%rename(apol_avrule_query_set_rules) apol_avrule_query_wrap_set_rules;
++%rename(apol_avrule_query_set_source) apol_avrule_query_wrap_set_source;
++%rename(apol_avrule_query_set_source_component) apol_avrule_query_wrap_set_source_component;
++%rename(apol_avrule_query_set_target) apol_avrule_query_wrap_set_target;
++%rename(apol_avrule_query_set_target_component) apol_avrule_query_wrap_set_target_component;
++%rename(apol_avrule_query_append_class) apol_avrule_query_wrap_append_class;
++%rename(apol_avrule_query_append_perm) apol_avrule_query_wrap_append_perm;
++%rename(apol_avrule_query_set_bool) apol_avrule_query_wrap_set_bool;
++%rename(apol_avrule_query_set_enabled) apol_avrule_query_wrap_set_enabled;
++%rename(apol_avrule_query_set_all_perms) apol_avrule_query_wrap_set_all_perms;
++%rename(apol_avrule_query_set_source_any) apol_avrule_query_wrap_set_source_any;
++%rename(apol_avrule_query_set_regex) apol_avrule_query_wrap_set_regex;
++%extend apol_avrule_query {
+       apol_avrule_query() {
+               apol_avrule_query_t *avq;
+               BEGIN_EXCEPTION
+@@ -2048,10 +2163,10 @@
+       fail:
+               return v;
+       };
+-      void set_rules(apol_policy_t *p, int rules) {
++      void wrap_set_rules(apol_policy_t *p, int rules) {
+               apol_avrule_query_set_rules(p, self, rules);
+       };
+-      void set_source(apol_policy_t *p, char *name, int indirect) {
++      void wrap_set_source(apol_policy_t *p, char *name, int indirect) {
+               BEGIN_EXCEPTION
+               if (apol_avrule_query_set_source(p, self, name, indirect)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set source for avrule query");
+@@ -2060,7 +2175,7 @@
+       fail:
+               return;
+       };
+-      void set_source_component(apol_policy_t *p, int component) {
++      void wrap_set_source_component(apol_policy_t *p, int component) {
+               BEGIN_EXCEPTION
+               if (apol_avrule_query_set_source_component(p, self, component)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set source component for avrule query");
+@@ -2069,7 +2184,7 @@
+       fail:
+               return;
+       };
+-      void set_target(apol_policy_t *p, char *name, int indirect) {
++      void wrap_set_target(apol_policy_t *p, char *name, int indirect) {
+               BEGIN_EXCEPTION
+               if (apol_avrule_query_set_target(p, self, name, indirect)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set target for avrule query");
+@@ -2078,7 +2193,7 @@
+       fail:
+               return;
+       };
+-      void set_target_component(apol_policy_t *p, int component) {
++      void wrap_set_target_component(apol_policy_t *p, int component) {
+               BEGIN_EXCEPTION
+               if (apol_avrule_query_set_target_component(p, self, component)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set target component for avrule query");
+@@ -2087,7 +2202,7 @@
+       fail:
+               return;
+       };
+-      void append_class(apol_policy_t *p, char *name) {
++      void wrap_append_class(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_avrule_query_append_class(p, self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not append class to avrule query");
+@@ -2096,7 +2211,7 @@
+       fail:
+               return;
+       };
+-      void append_perm(apol_policy_t *p, char *name) {
++      void wrap_append_perm(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_avrule_query_append_perm(p, self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not append permission to avrule query");
+@@ -2105,7 +2220,7 @@
+       fail:
+               return;
+       };
+-      void set_bool(apol_policy_t *p, char *name) {
++      void wrap_set_bool(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_avrule_query_set_bool(p, self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set boolean for avrule query");
+@@ -2114,16 +2229,16 @@
+       fail:
+               return;
+       };
+-      void set_enabled(apol_policy_t *p, int enabled) {
++      void wrap_set_enabled(apol_policy_t *p, int enabled) {
+               apol_avrule_query_set_enabled(p, self, enabled);
+       };
+-      void set_all_perms(apol_policy_t *p, int all_perms) {
++      void wrap_set_all_perms(apol_policy_t *p, int all_perms) {
+               apol_avrule_query_set_all_perms(p, self, all_perms);
+       };
+-      void set_source_any(apol_policy_t *p, int is_any) {
++      void wrap_set_source_any(apol_policy_t *p, int is_any) {
+               apol_avrule_query_set_source_any(p, self, is_any);
+       };
+-      void set_regex(apol_policy_t *p, int regex) {
++      void wrap_set_regex(apol_policy_t *p, int regex) {
+               apol_avrule_query_set_regex(p, self, regex);
+       };
+ };
+@@ -2162,7 +2277,18 @@
+ /* apol terule query */
+ typedef struct apol_terule_query {} apol_terule_query_t;
+-%extend apol_terule_query_t {
++%rename(apol_terule_query_set_rules) apol_terule_query_wrap_set_rules;
++%rename(apol_terule_query_set_source) apol_terule_query_wrap_set_source;
++%rename(apol_terule_query_set_source_component) apol_terule_query_wrap_set_source_component;
++%rename(apol_terule_query_set_target) apol_terule_query_wrap_set_target;
++%rename(apol_terule_query_set_target_component) apol_terule_query_wrap_set_target_component;
++%rename(apol_terule_query_append_class) apol_terule_query_wrap_append_class;
++%rename(apol_terule_query_set_default) apol_terule_query_wrap_set_default;
++%rename(apol_terule_query_set_bool) apol_terule_query_wrap_set_bool;
++%rename(apol_terule_query_set_enabled) apol_terule_query_wrap_set_enabled;
++%rename(apol_terule_query_set_source_any) apol_terule_query_wrap_set_source_any;
++%rename(apol_terule_query_set_regex) apol_terule_query_wrap_set_regex;
++%extend apol_terule_query {
+       apol_terule_query() {
+               apol_terule_query_t *atq;
+               BEGIN_EXCEPTION
+@@ -2199,10 +2325,10 @@
+       fail:
+               return v;
+       };
+-      void set_rules(apol_policy_t *p, int rules) {
++      void wrap_set_rules(apol_policy_t *p, int rules) {
+               apol_terule_query_set_rules(p, self, rules);
+       };
+-      void set_source(apol_policy_t *p, char *name, int indirect) {
++      void wrap_set_source(apol_policy_t *p, char *name, int indirect) {
+               BEGIN_EXCEPTION
+               if (apol_terule_query_set_source(p, self, name, indirect)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set source for terule query");
+@@ -2211,7 +2337,7 @@
+       fail:
+               return;
+       };
+-      void set_source_component(apol_policy_t *p, int component) {
++      void wrap_set_source_component(apol_policy_t *p, int component) {
+               BEGIN_EXCEPTION
+               if (apol_terule_query_set_source_component(p, self, component)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set source component for terule query");
+@@ -2220,7 +2346,7 @@
+       fail:
+               return;
+       };
+-      void set_target(apol_policy_t *p, char *name, int indirect) {
++      void wrap_set_target(apol_policy_t *p, char *name, int indirect) {
+               BEGIN_EXCEPTION
+               if (apol_terule_query_set_target(p, self, name, indirect)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set target for terule query");
+@@ -2229,7 +2355,7 @@
+       fail:
+               return;
+       };
+-      void set_target_component(apol_policy_t *p, int component) {
++      void wrap_set_target_component(apol_policy_t *p, int component) {
+               BEGIN_EXCEPTION
+               if (apol_terule_query_set_target_component(p, self, component)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set target component for terule query");
+@@ -2238,7 +2364,7 @@
+       fail:
+               return;
+       };
+-      void append_class(apol_policy_t *p, char *name) {
++      void wrap_append_class(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_terule_query_append_class(p, self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not append class to terule query");
+@@ -2247,7 +2373,7 @@
+       fail:
+               return;
+       };
+-      void set_default(apol_policy_t *p, char *name) {
++      void wrap_set_default(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_terule_query_set_default(p, self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set default for terule query");
+@@ -2256,7 +2382,7 @@
+       fail:
+               return;
+       };
+-      void set_bool(apol_policy_t *p, char *name) {
++      void wrap_set_bool(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_terule_query_set_bool(p, self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set boolean for terule query");
+@@ -2265,13 +2391,13 @@
+       fail:
+               return;
+       };
+-      void set_enabled(apol_policy_t *p, int enabled) {
++      void wrap_set_enabled(apol_policy_t *p, int enabled) {
+               apol_terule_query_set_enabled(p, self, enabled);
+       };
+-      void set_source_any(apol_policy_t *p, int is_any) {
++      void wrap_set_source_any(apol_policy_t *p, int is_any) {
+               apol_terule_query_set_source_any(p, self, is_any);
+       };
+-      void set_regex(apol_policy_t *p, int regex) {
++      void wrap_set_regex(apol_policy_t *p, int regex) {
+               apol_terule_query_set_regex(p, self, regex);
+       };
+ };
+@@ -2286,7 +2412,9 @@
+ /* apol cond rule query */
+ typedef struct apol_cond_query {} apol_cond_query_t;
+-%extend apol_cond_query_t {
++%rename(apol_cond_query_set_bool) apol_cond_query_wrap_set_bool;
++%rename(apol_cond_query_set_regex) apol_cond_query_wrap_set_regex;
++%extend apol_cond_query {
+       apol_cond_query() {
+               apol_cond_query_t *acq;
+               BEGIN_EXCEPTION
+@@ -2312,7 +2440,7 @@
+       fail:
+               return v;
+       };
+-      void set_bool(apol_policy_t *p, char *name) {
++      void wrap_set_bool(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_cond_query_set_bool(p, self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set boolean for condiional query");
+@@ -2321,7 +2449,7 @@
+       fail:
+               return;
+       };
+-      void set_regex(apol_policy_t *p, int regex) {
++      void wrap_set_regex(apol_policy_t *p, int regex) {
+               apol_cond_query_set_regex(p, self, regex);
+       };
+ };
+@@ -2330,7 +2458,11 @@
+ /* apol role allow query */
+ typedef struct apol_role_allow_query {} apol_role_allow_query_t;
+-%extend apol_role_allow_query_t {
++%rename(apol_role_allow_query_set_source) apol_role_allow_query_wrap_set_source;
++%rename(apol_role_allow_query_set_target) apol_role_allow_query_wrap_set_target;
++%rename(apol_role_allow_query_set_source_any) apol_role_allow_query_wrap_set_source_any;
++%rename(apol_role_allow_query_set_regex) apol_role_allow_query_wrap_set_regex;
++%extend apol_role_allow_query {
+       apol_role_allow_query() {
+               apol_role_allow_query_t *arq;
+               BEGIN_EXCEPTION
+@@ -2356,7 +2488,7 @@
+       fail:
+               return v;
+       };
+-      void set_source(apol_policy_t *p, char *name) {
++      void wrap_set_source(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_role_allow_query_set_source(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -2365,7 +2497,7 @@
+       fail:
+               return;
+       };
+-      void set_target(apol_policy_t *p, char *name) {
++      void wrap_set_target(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_role_allow_query_set_target(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -2374,10 +2506,10 @@
+       fail:
+               return;
+       };
+-      void set_source_any(apol_policy_t *p, int is_any) {
++      void wrap_set_source_any(apol_policy_t *p, int is_any) {
+               apol_role_allow_query_set_source_any(p, self, is_any);
+       };
+-      void set_regex(apol_policy_t *p, int regex) {
++      void wrap_set_regex(apol_policy_t *p, int regex) {
+               apol_role_allow_query_set_regex(p, self, regex);
+       };
+ };
+@@ -2386,7 +2518,12 @@
+ /* apol role transition rule query */
+ typedef struct apol_role_trans_query {} apol_role_trans_query_t;
+-%extend apol_role_trans_query_t {
++%rename(apol_role_trans_query_set_source) apol_role_trans_query_wrap_set_source;
++%rename(apol_role_trans_query_set_target) apol_role_trans_query_wrap_set_target;
++%rename(apol_role_trans_query_set_default) apol_role_trans_query_wrap_set_default;
++%rename(apol_role_trans_query_set_source_any) apol_role_trans_query_wrap_set_source_any;
++%rename(apol_role_trans_query_set_regex) apol_role_trans_query_wrap_set_regex;
++%extend apol_role_trans_query {
+       apol_role_trans_query() {
+               apol_role_trans_query_t *arq;
+               BEGIN_EXCEPTION
+@@ -2412,7 +2549,7 @@
+       fail:
+               return v;
+       };
+-      void set_source(apol_policy_t *p, char *name) {
++      void wrap_set_source(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_role_trans_query_set_source(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -2421,7 +2558,7 @@
+       fail:
+               return;
+       };
+-      void set_target(apol_policy_t *p, char *name, int indirect) {
++      void wrap_set_target(apol_policy_t *p, char *name, int indirect) {
+               BEGIN_EXCEPTION
+               if (apol_role_trans_query_set_target(p, self, name, indirect)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -2430,7 +2567,7 @@
+       fail:
+               return;
+       };
+-      void set_default(apol_policy_t *p, char *name) {
++      void wrap_set_default(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_role_trans_query_set_default(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -2439,10 +2576,10 @@
+       fail:
+               return;
+       };
+-      void set_source_any(apol_policy_t *p, int is_any) {
++      void wrap_set_source_any(apol_policy_t *p, int is_any) {
+               apol_role_trans_query_set_source_any(p, self, is_any);
+       };
+-      void set_regex(apol_policy_t *p, int regex) {
++      void wrap_set_regex(apol_policy_t *p, int regex) {
+               apol_role_trans_query_set_regex(p, self, regex);
+       };
+ };
+@@ -2451,7 +2588,13 @@
+ /* apol range transition rule query */
+ typedef struct apol_range_trans_query {} apol_range_trans_query_t;
+-%extend apol_range_trans_query_t {
++%rename(apol_range_trans_query_set_source) apol_range_trans_query_wrap_set_source;
++%rename(apol_range_trans_query_set_target) apol_range_trans_query_wrap_set_target;
++%rename(apol_range_trans_query_append_class) apol_range_trans_query_wrap_append_class;
++%rename(apol_range_trans_query_set_range) apol_range_trans_query_wrap_set_range;
++%rename(apol_range_trans_query_set_source_any) apol_range_trans_query_wrap_set_source_any;
++%rename(apol_range_trans_query_set_regex) apol_range_trans_query_wrap_set_regex;
++%extend apol_range_trans_query {
+       apol_range_trans_query() {
+               apol_range_trans_query_t *arq;
+               BEGIN_EXCEPTION
+@@ -2477,7 +2620,7 @@
+       fail:
+               return v;
+       };
+-      void set_source(apol_policy_t *p, char *name, int indirect) {
++      void wrap_set_source(apol_policy_t *p, char *name, int indirect) {
+               BEGIN_EXCEPTION
+               if (apol_range_trans_query_set_source(p, self, name, indirect)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -2486,7 +2629,7 @@
+       fail:
+               return;
+       };
+-      void set_target(apol_policy_t *p, char *name, int indirect) {
++      void wrap_set_target(apol_policy_t *p, char *name, int indirect) {
+               BEGIN_EXCEPTION
+               if (apol_range_trans_query_set_target(p, self, name, indirect)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -2495,7 +2638,7 @@
+       fail:
+               return;
+       };
+-      void append_class(apol_policy_t *p, char *name) {
++      void wrap_append_class(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_range_trans_query_append_class(p, self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not append class to range transition query");
+@@ -2504,7 +2647,7 @@
+       fail:
+               return;
+       };
+-      void set_range(apol_policy_t *p, apol_mls_range_t *rng, int range_match) {
++      void wrap_set_range(apol_policy_t *p, apol_mls_range_t *rng, int range_match) {
+               BEGIN_EXCEPTION
+               if (apol_range_trans_query_set_range(p, self, rng, range_match)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -2513,10 +2656,10 @@
+       fail:
+               return;
+       };
+-      void set_source_any(apol_policy_t *p, int is_any) {
++      void wrap_set_source_any(apol_policy_t *p, int is_any) {
+               apol_range_trans_query_set_source_any(p, self, is_any);
+       };
+-      void set_regex(apol_policy_t *p, int regex) {
++      void wrap_set_regex(apol_policy_t *p, int regex) {
+               apol_range_trans_query_set_regex(p, self, regex);
+       };
+ };
+@@ -2530,7 +2673,14 @@
+ #define APOL_DOMAIN_TRANS_SEARCH_INVALID      0x02
+ #define APOL_DOMAIN_TRANS_SEARCH_BOTH         (APOL_DOMAIN_TRANS_SEARCH_VALID|APOL_DOMAIN_TRANS_SEARCH_INVALID)
+ typedef struct apol_domain_trans_analysis {} apol_domain_trans_analysis_t;
+-%extend apol_domain_trans_analysis_t {
++%rename(apol_domain_trans_analysis_set_direction) apol_domain_trans_analysis_wrap_set_direction;
++%rename(apol_domain_trans_analysis_set_valid) apol_domain_trans_analysis_wrap_set_valid;
++%rename(apol_domain_trans_analysis_set_start_type) apol_domain_trans_analysis_wrap_set_start_type;
++%rename(apol_domain_trans_analysis_set_result_regex) apol_domain_trans_analysis_wrap_set_result_regex;
++%rename(apol_domain_trans_analysis_append_access_type) apol_domain_trans_analysis_wrap_append_access_type;
++%rename(apol_domain_trans_analysis_append_class) apol_domain_trans_analysis_wrap_append_class;
++%rename(apol_domain_trans_analysis_append_perm) apol_domain_trans_analysis_wrap_append_perm;
++%extend apol_domain_trans_analysis {
+       apol_domain_trans_analysis() {
+               apol_domain_trans_analysis_t *dta;
+               BEGIN_EXCEPTION
+@@ -2545,7 +2695,7 @@
+       ~apol_domain_trans_analysis() {
+               apol_domain_trans_analysis_destroy(&self);
+       };
+-      void set_direction(apol_policy_t *p, int direction) {
++      void wrap_set_direction(apol_policy_t *p, int direction) {
+               BEGIN_EXCEPTION
+               if (apol_domain_trans_analysis_set_direction(p, self, (unsigned char)direction)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set direction for domain transition analysis");
+@@ -2554,7 +2704,7 @@
+       fail:
+               return;
+       };
+-      void set_valid(apol_policy_t *p, int valid) {
++      void wrap_set_valid(apol_policy_t *p, int valid) {
+               BEGIN_EXCEPTION
+               if (apol_domain_trans_analysis_set_valid(p, self, (unsigned char)valid)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set valid flag for domain transition analysis");
+@@ -2563,7 +2713,7 @@
+       fail:
+               return;
+       };
+-      void set_start_type(apol_policy_t *p, char *name) {
++      void wrap_set_start_type(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_domain_trans_analysis_set_start_type(p, self, name)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -2572,7 +2722,7 @@
+       fail:
+               return;
+       };
+-      void set_result_regex(apol_policy_t *p, char *regex) {
++      void wrap_set_result_regex(apol_policy_t *p, char *regex) {
+               BEGIN_EXCEPTION
+               if (apol_domain_trans_analysis_set_result_regex(p, self, regex)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of memory");
+@@ -2581,7 +2731,7 @@
+       fail:
+               return;
+       };
+-      void append_access_type(apol_policy_t *p, char *name) {
++      void wrap_append_access_type(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_domain_trans_analysis_append_access_type(p, self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not append access type for domain transition analysis");
+@@ -2590,7 +2740,7 @@
+       fail:
+               return;
+       };
+-      void append_class(apol_policy_t *p, char *class_name) {
++      void wrap_append_class(apol_policy_t *p, char *class_name) {
+               BEGIN_EXCEPTION
+               if (apol_domain_trans_analysis_append_class(p, self, class_name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not append access class for domain transition analysis");
+@@ -2599,7 +2749,7 @@
+       fail:
+               return;
+       };
+-      void append_perm(apol_policy_t *p, char *perm_name) {
++      void wrap_append_perm(apol_policy_t *p, char *perm_name) {
+               BEGIN_EXCEPTION
+               if (apol_domain_trans_analysis_append_perm(p, self, perm_name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not append access permission for domain transition analysis");
+@@ -2621,7 +2771,16 @@
+       };
+ };
+ typedef struct apol_domain_trans_result {} apol_domain_trans_result_t;
+-%extend apol_domain_trans_result_t {
++%rename(apol_domain_trans_result_get_start_type) apol_domain_trans_result_wrap_get_start_type;
++%rename(apol_domain_trans_result_get_entrypoint_type) apol_domain_trans_result_wrap_get_entrypoint_type;
++%rename(apol_domain_trans_result_get_end_type) apol_domain_trans_result_wrap_get_end_type;
++%rename(apol_domain_trans_result_get_proc_trans_rules) apol_domain_trans_result_wrap_get_proc_trans_rules;
++%rename(apol_domain_trans_result_get_entrypoint_rules) apol_domain_trans_result_wrap_get_entrypoint_rules;
++%rename(apol_domain_trans_result_get_exec_rules) apol_domain_trans_result_wrap_get_exec_rules;
++%rename(apol_domain_trans_result_get_setexec_rules) apol_domain_trans_result_wrap_get_setexec_rules;
++%rename(apol_domain_trans_result_get_type_trans_rules) apol_domain_trans_result_wrap_get_type_trans_rules;
++%rename(apol_domain_trans_result_get_access_rules) apol_domain_trans_result_wrap_get_access_rules;
++%extend apol_domain_trans_result {
+       apol_domain_trans_result(apol_domain_trans_result_t *in) {
+               apol_domain_trans_result_t *dtr;
+               BEGIN_EXCEPTION
+@@ -2636,34 +2795,34 @@
+       ~apol_domain_trans_result() {
+               apol_domain_trans_result_destroy(&self);
+       };
+-      const qpol_type_t *get_start_type() {
++      const qpol_type_t *wrap_get_start_type() {
+               return apol_domain_trans_result_get_start_type(self);
+       };
+-      const qpol_type_t *get_entrypoint_type() {
++      const qpol_type_t *wrap_get_entrypoint_type() {
+               return apol_domain_trans_result_get_entrypoint_type(self);
+       };
+-      const qpol_type_t *get_end_type() {
++      const qpol_type_t *wrap_get_end_type() {
+               return apol_domain_trans_result_get_end_type(self);
+       };
+-      int get_is_valid() {
++      int wrap_get_is_valid() {
+               return apol_domain_trans_result_is_trans_valid(self);
+       };
+-      const apol_vector_t *get_proc_trans_rules() {
++      const apol_vector_t *wrap_get_proc_trans_rules() {
+               return apol_domain_trans_result_get_proc_trans_rules(self);
+       };
+-      const apol_vector_t *get_entrypoint_rules() {
++      const apol_vector_t *wrap_get_entrypoint_rules() {
+               return apol_domain_trans_result_get_entrypoint_rules(self);
+       };
+-      const apol_vector_t *get_exec_rules() {
++      const apol_vector_t *wrap_get_exec_rules() {
+               return apol_domain_trans_result_get_exec_rules(self);
+       };
+-      const apol_vector_t *get_setexec_rules() {
++      const apol_vector_t *wrap_get_setexec_rules() {
+               return apol_domain_trans_result_get_setexec_rules(self);
+       };
+-      const apol_vector_t *get_type_trans_rules() {
++      const apol_vector_t *wrap_get_type_trans_rules() {
+               return apol_domain_trans_result_get_type_trans_rules(self);
+       };
+-      const apol_vector_t *get_access_rules() {
++      const apol_vector_t *wrap_get_access_rules() {
+               return apol_domain_trans_result_get_access_rules(self);
+       };
+ };
+@@ -2704,7 +2863,7 @@
+       }
+ %}
+ typedef struct apol_infoflow {} apol_infoflow_t;
+-%extend apol_infoflow_t {
++%extend apol_infoflow {
+       apol_infoflow() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create apol_infoflow_t objects");
+@@ -2729,7 +2888,14 @@
+       };
+ };
+ typedef struct apol_infoflow_analysis {} apol_infoflow_analysis_t;
+-%extend apol_infoflow_analysis_t {
++%rename(apol_infoflow_analysis_set_mode) apol_infoflow_analysis_wrap_set_mode;
++%rename(apol_infoflow_analysis_set_dir) apol_infoflow_analysis_wrap_set_dir;
++%rename(apol_infoflow_analysis_set_type) apol_infoflow_analysis_wrap_set_type;
++%rename(apol_infoflow_analysis_append_intermediate) apol_infoflow_analysis_wrap_append_intermediate;
++%rename(apol_infoflow_analysis_append_class_perm) apol_infoflow_analysis_wrap_append_class_perm;
++%rename(apol_infoflow_analysis_set_min_weight) apol_infoflow_analysis_wrap_set_min_weight;
++%rename(apol_infoflow_analysis_set_result_regex) apol_infoflow_analysis_wrap_set_result_regex;
++%extend apol_infoflow_analysis {
+       apol_infoflow_analysis() {
+               apol_infoflow_analysis_t *aia;
+               BEGIN_EXCEPTION
+@@ -2763,7 +2929,7 @@
+               apol_infoflow_destroy(&ai);
+               return NULL;
+       };
+-      void set_mode(apol_policy_t *p, int mode) {
++      void wrap_set_mode(apol_policy_t *p, int mode) {
+               BEGIN_EXCEPTION
+               if (apol_infoflow_analysis_set_mode(p, self, (unsigned int)mode)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set mode for information flow analysis");
+@@ -2772,7 +2938,7 @@
+       fail:
+               return;
+       };
+-      void set_dir(apol_policy_t *p, int direction) {
++      void wrap_set_dir(apol_policy_t *p, int direction) {
+               BEGIN_EXCEPTION
+               if (apol_infoflow_analysis_set_dir(p, self, (unsigned int)direction)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set direction for information flow analysis");
+@@ -2781,7 +2947,7 @@
+       fail:
+               return;
+       };
+-      void set_type(apol_policy_t *p, char *name) {
++      void wrap_set_type(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_infoflow_analysis_set_type(p, self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set type for information flow analysis");
+@@ -2790,7 +2956,7 @@
+       fail:
+               return;
+       };
+-      void append_intermediate(apol_policy_t *p, char *name) {
++      void wrap_append_intermediate(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_infoflow_analysis_append_intermediate(p, self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not append intermediate type for information flow analysis");
+@@ -2799,7 +2965,7 @@
+       fail:
+               return;
+       };
+-      void append_class_perm(apol_policy_t *p, char *class_name, char *perm_name) {
++      void wrap_append_class_perm(apol_policy_t *p, char *class_name, char *perm_name) {
+               BEGIN_EXCEPTION
+               if (apol_infoflow_analysis_append_class_perm(p, self, class_name, perm_name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not append class and permission for information flow analysis");
+@@ -2808,10 +2974,10 @@
+       fail:
+               return;
+       };
+-      void set_min_weight(apol_policy_t *p, int weight) {
++      void wrap_set_min_weight(apol_policy_t *p, int weight) {
+               apol_infoflow_analysis_set_min_weight(p, self, weight);
+       };
+-      void set_result_regex(apol_policy_t *p, char *regex) {
++      void wrap_set_result_regex(apol_policy_t *p, char *regex) {
+               BEGIN_EXCEPTION
+               if (apol_infoflow_analysis_set_result_regex(p, self, regex)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set result regular expression for information flow analysis");
+@@ -2822,7 +2988,7 @@
+       };
+ };
+ typedef struct apol_infoflow_graph {} apol_infoflow_graph_t;
+-%extend apol_infoflow_graph_t {
++%extend apol_infoflow_graph {
+       apol_infoflow_graph() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create apol_infoflow_graph_t objects");
+@@ -2866,7 +3032,12 @@
+       };
+ };
+ typedef struct apol_infoflow_result {} apol_infoflow_result_t;
+-%extend apol_infoflow_result_t {
++%rename(apol_infoflow_result_get_dir) apol_infoflow_result_wrap_get_dir;
++%rename(apol_infoflow_result_get_start_type) apol_infoflow_result_wrap_get_start_type;
++%rename(apol_infoflow_result_get_end_type) apol_infoflow_result_wrap_get_end_type;
++%rename(apol_infoflow_result_get_length) apol_infoflow_result_wrap_get_length;
++%rename(apol_infoflow_result_get_steps) apol_infoflow_result_wrap_get_steps;
++%extend apol_infoflow_result {
+       apol_infoflow_result() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create apol_infoflow_result_t objects");
+@@ -2878,19 +3049,19 @@
+               /* no op - vector will destroy */
+               return;
+       };
+-      int get_dir() {
++      int wrap_get_dir() {
+               return (int)apol_infoflow_result_get_dir(self);
+       };
+-      const qpol_type_t *get_start_type() {
++      const qpol_type_t *wrap_get_start_type() {
+               return apol_infoflow_result_get_start_type(self);
+       };
+-      const qpol_type_t *get_end_type() {
++      const qpol_type_t *wrap_get_end_type() {
+               return apol_infoflow_result_get_end_type(self);
+       };
+-      int get_length() {
++      int wrap_get_length() {
+               return (int) apol_infoflow_result_get_length(self);
+       }
+-      const apol_vector_t *get_steps() {
++      const apol_vector_t *wrap_get_steps() {
+               return apol_infoflow_result_get_steps(self);
+       };
+ };
+@@ -2900,7 +3071,11 @@
+       };
+ %}
+ typedef struct apol_infoflow_step {} apol_infoflow_step_t;
+-%extend apol_infoflow_step_t {
++%rename(apol_infoflow_step_get_start_type) apol_infoflow_step_wrap_get_start_type;
++%rename(apol_infoflow_step_get_end_type) apol_infoflow_step_wrap_get_end_type;
++%rename(apol_infoflow_step_get_weight) apol_infoflow_step_wrap_get_weight;
++%rename(apol_infoflow_step_get_rules) apol_infoflow_step_wrap_get_rules;
++%extend apol_infoflow_step {
+       apol_infoflow_step() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create apol_infoflow_step_t objects");
+@@ -2912,16 +3087,16 @@
+               /* no op */
+               return;
+       };
+-      const qpol_type_t *get_start_type() {
++      const qpol_type_t *wrap_get_start_type() {
+               return apol_infoflow_step_get_start_type(self);
+       };
+-      const qpol_type_t *get_end_type() {
++      const qpol_type_t *wrap_get_end_type() {
+               return apol_infoflow_step_get_end_type(self);
+       };
+-      int get_weight() {
++      int wrap_get_weight() {
+               return apol_infoflow_step_get_weight(self);
+       };
+-      const apol_vector_t *get_rules() {
++      const apol_vector_t *wrap_get_rules() {
+               return apol_infoflow_step_get_rules(self);
+       };
+ };
+@@ -2937,7 +3112,12 @@
+ #define APOL_RELABEL_DIR_BOTH    (APOL_RELABEL_DIR_TO|APOL_RELABEL_DIR_FROM)
+ #define APOL_RELABEL_DIR_SUBJECT 0x04
+ typedef struct apol_relabel_analysis {} apol_relabel_analysis_t;
+-%extend apol_relabel_analysis_t {
++%rename(apol_relabel_analysis_set_dir) apol_relabel_analysis_wrap_set_dir;
++%rename(apol_relabel_analysis_set_type) apol_relabel_analysis_wrap_set_type;
++%rename(apol_relabel_analysis_append_class) apol_relabel_analysis_wrap_append_class;
++%rename(apol_relabel_analysis_append_subject) apol_relabel_analysis_wrap_append_subject;
++%rename(apol_relabel_analysis_set_result_regex) apol_relabel_analysis_wrap_set_result_regex;
++%extend apol_relabel_analysis {
+       apol_relabel_analysis() {
+               apol_relabel_analysis_t *ara;
+               BEGIN_EXCEPTION
+@@ -2963,7 +3143,7 @@
+       fail:
+               return v;
+       };
+-      void set_dir(apol_policy_t *p, int direction) {
++      void wrap_set_dir(apol_policy_t *p, int direction) {
+               BEGIN_EXCEPTION
+               if (apol_relabel_analysis_set_dir(p, self, (unsigned int)direction)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set direction for relabel analysis");
+@@ -2972,7 +3152,7 @@
+       fail:
+               return;
+       };
+-      void set_type(apol_policy_t *p, char *name) {
++      void wrap_set_type(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_relabel_analysis_set_type(p, self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set type for relabel analysis");
+@@ -2981,7 +3161,7 @@
+       fail:
+               return;
+       };
+-      void append_class(apol_policy_t *p, char *name) {
++      void wrap_append_class(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_relabel_analysis_append_class(p, self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not append class to relabel analysis");
+@@ -2990,7 +3170,7 @@
+       fail:
+               return;
+       };
+-      void append_subject(apol_policy_t *p, char *name) {
++      void wrap_append_subject(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_relabel_analysis_append_subject(p, self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not append subject to relabel analysis");
+@@ -2999,7 +3179,7 @@
+       fail:
+               return;
+       };
+-      void set_result_regex(apol_policy_t *p, char *regex) {
++      void wrap_set_result_regex(apol_policy_t *p, char *regex) {
+               BEGIN_EXCEPTION
+               if (apol_relabel_analysis_set_result_regex(p, self, regex)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set result regular expression for relabel analysis");
+@@ -3010,7 +3190,11 @@
+       };
+ };
+ typedef struct apol_relabel_result {} apol_relabel_result_t;
+-%extend apol_relabel_result_t {
++%rename(apol_relabel_result_get_to) apol_relabel_result_wrap_get_to;
++%rename(apol_relabel_result_get_from) apol_relabel_result_wrap_get_from;
++%rename(apol_relabel_result_get_both) apol_relabel_result_wrap_get_both;
++%rename(apol_relabel_result_get_result_type) apol_relabel_result_wrap_get_result_type;
++%extend apol_relabel_result {
+       apol_relabel_result() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create apol_relabel_result_t objects");
+@@ -3022,16 +3206,16 @@
+               /* no op - vector will destroy */
+               return;
+       };
+-      const apol_vector_t *get_to() {
++      const apol_vector_t *wrap_get_to() {
+               return apol_relabel_result_get_to(self);
+       };
+-      const apol_vector_t *get_from() {
++      const apol_vector_t *wrap_get_from() {
+               return apol_relabel_result_get_from(self);
+       };
+-      const apol_vector_t *get_both() {
++      const apol_vector_t *wrap_get_both() {
+               return apol_relabel_result_get_both(self);
+       };
+-      const qpol_type_t *get_result_type() {
++      const qpol_type_t *wrap_get_result_type() {
+               return apol_relabel_result_get_result_type(self);
+       };
+ };
+@@ -3041,7 +3225,10 @@
+       };
+ %}
+ typedef struct apol_relabel_result_pair {} apol_relabel_result_pair_t;
+-%extend apol_relabel_result_pair_t {
++%rename(apol_relabel_result_pair_get_ruleA) apol_relabel_result_pair_wrap_get_ruleA;
++%rename(apol_relabel_result_pair_get_ruleB) apol_relabel_result_pair_wrap_get_ruleB;
++%rename(apol_relabel_result_pair_get_intermediate_type) apol_relabel_result_pair_wrap_get_intermediate_type;
++%extend apol_relabel_result_pair {
+       apol_relabel_result_pair() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create apol_relabel_result_pair_t objects");
+@@ -3053,13 +3240,13 @@
+               /* no op - owned and free()'d by apol_relabel_result_t */
+               return;
+       };
+-      const qpol_avrule_t *get_ruleA() {
++      const qpol_avrule_t *wrap_get_ruleA() {
+               return apol_relabel_result_pair_get_ruleA(self);
+       };
+-      const qpol_avrule_t *get_ruleB() {
++      const qpol_avrule_t *wrap_get_ruleB() {
+               return apol_relabel_result_pair_get_ruleB(self);
+       };
+-      const qpol_type_t *get_intermediate_type() {
++      const qpol_type_t *wrap_get_intermediate_type() {
+               return apol_relabel_result_pair_get_intermediate_type(self);
+       };
+ };
+@@ -3083,7 +3270,10 @@
+ #define APOL_TYPES_RELATION_TRANS_FLOW_AB 0x4000
+ #define APOL_TYPES_RELATION_TRANS_FLOW_BA 0x8000
+ typedef struct apol_types_relation_analysis {} apol_types_relation_analysis_t;
+-%extend apol_types_relation_analysis_t {
++%rename(apol_types_relation_analysis_set_first_type) apol_types_relation_analysis_wrap_set_first_type;
++%rename(apol_types_relation_analysis_set_other_type) apol_types_relation_analysis_wrap_set_other_type;
++%rename(apol_types_relation_analysis_set_analyses) apol_types_relation_analysis_wrap_set_analyses;
++%extend apol_types_relation_analysis {
+       apol_types_relation_analysis() {
+               apol_types_relation_analysis_t *atr;
+               BEGIN_EXCEPTION
+@@ -3109,7 +3299,7 @@
+       fail:
+               return res;
+       };
+-      void set_first_type(apol_policy_t *p, char *name) {
++      void wrap_set_first_type(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_types_relation_analysis_set_first_type(p, self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set first type for types relation analysis");
+@@ -3118,7 +3308,7 @@
+       fail:
+               return;
+       };
+-      void set_other_type(apol_policy_t *p, char *name) {
++      void wrap_set_other_type(apol_policy_t *p, char *name) {
+               BEGIN_EXCEPTION
+               if (apol_types_relation_analysis_set_other_type(p, self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set other type for types relation analysis");
+@@ -3127,7 +3317,7 @@
+       fail:
+               return;
+       };
+-      void set_analyses(apol_policy_t *p, int analyses) {
++      void wrap_set_analyses(apol_policy_t *p, int analyses) {
+               BEGIN_EXCEPTION
+               if (apol_types_relation_analysis_set_analyses(p, self, (unsigned int)analyses)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set analyses to run for types relation analysis");
+@@ -3138,7 +3328,21 @@
+       };
+ };
+ typedef struct apol_types_relation_result {} apol_types_relation_result_t;
+-%extend apol_types_relation_result_t {
++%rename(apol_types_relation_result_get_attributes) apol_types_relation_result_wrap_get_attributes;
++%rename(apol_types_relation_result_get_roles) apol_types_relation_result_wrap_get_roles;
++%rename(apol_types_relation_result_get_users) apol_types_relation_result_wrap_get_users;
++%rename(apol_types_relation_result_get_similar_first) apol_types_relation_result_wrap_get_similar_first;
++%rename(apol_types_relation_result_get_similar_other) apol_types_relation_result_wrap_get_similar_other;
++%rename(apol_types_relation_result_get_dissimilar_first) apol_types_relation_result_wrap_get_dissimilar_first;
++%rename(apol_types_relation_result_get_dissimilar_other) apol_types_relation_result_wrap_get_dissimilar_other;
++%rename(apol_types_relation_result_get_allowrules) apol_types_relation_result_wrap_get_allowrules;
++%rename(apol_types_relation_result_get_typerules) apol_types_relation_result_wrap_get_typerules;
++%rename(apol_types_relation_result_get_directflows) apol_types_relation_result_wrap_get_directflows;
++%rename(apol_types_relation_result_get_transflowsAB) apol_types_relation_result_wrap_get_transflowsAB;
++%rename(apol_types_relation_result_get_transflowsBA) apol_types_relation_result_wrap_get_transflowsBA;
++%rename(apol_types_relation_result_get_domainsAB) apol_types_relation_result_wrap_get_domainsAB;
++%rename(apol_types_relation_result_get_domainsBA) apol_types_relation_result_wrap_get_domainsBA;
++%extend apol_types_relation_result {
+       apol_types_relation_result() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create apol_types_relation_result_t objects");
+@@ -3149,51 +3353,53 @@
+       ~apol_types_relation_result() {
+               apol_types_relation_result_destroy(&self);
+       };
+-      const apol_vector_t *get_attributes() {
++      const apol_vector_t *wrap_get_attributes() {
+               return apol_types_relation_result_get_attributes(self);
+       };
+-      const apol_vector_t *get_roles() {
++      const apol_vector_t *wrap_get_roles() {
+               return apol_types_relation_result_get_roles(self);
+       };
+-      const apol_vector_t *get_users() {
++      const apol_vector_t *wrap_get_users() {
+               return apol_types_relation_result_get_users(self);
+       };
+-      const apol_vector_t *get_similar_first() {
++      const apol_vector_t *wrap_get_similar_first() {
+               return apol_types_relation_result_get_similar_first(self);
+       };
+-      const apol_vector_t *get_similar_other() {
++      const apol_vector_t *wrap_get_similar_other() {
+               return apol_types_relation_result_get_similar_other(self);
+       };
+-      const apol_vector_t *get_dissimilar_first() {
++      const apol_vector_t *wrap_get_dissimilar_first() {
+               return apol_types_relation_result_get_dissimilar_first(self);
+       };
+-      const apol_vector_t *get_dissimilar_other() {
++      const apol_vector_t *wrap_get_dissimilar_other() {
+               return apol_types_relation_result_get_dissimilar_other(self);
+       };
+-      const apol_vector_t *get_allowrules() {
++      const apol_vector_t *wrap_get_allowrules() {
+               return apol_types_relation_result_get_allowrules(self);
+       };
+-      const apol_vector_t *get_typerules() {
++      const apol_vector_t *wrap_get_typerules() {
+               return apol_types_relation_result_get_typerules(self);
+       };
+-      const apol_vector_t *get_directflows() {
++      const apol_vector_t *wrap_get_directflows() {
+               return apol_types_relation_result_get_directflows(self);
+       };
+-      const apol_vector_t *get_transflowsAB() {
++      const apol_vector_t *wrap_get_transflowsAB() {
+               return apol_types_relation_result_get_transflowsAB(self);
+       };
+-      const apol_vector_t *get_transflowsBA() {
++      const apol_vector_t *wrap_get_transflowsBA() {
+               return apol_types_relation_result_get_transflowsBA(self);
+       };
+-      const apol_vector_t*get_domainsAB() {
++      const apol_vector_t*wrap_get_domainsAB() {
+               return apol_types_relation_result_get_domainsAB(self);
+       };
+-      const apol_vector_t*get_domainsBA() {
++      const apol_vector_t*wrap_get_domainsBA() {
+               return apol_types_relation_result_get_domainsBA(self);
+       };
+ };
+ typedef struct apol_types_relation_access {} apol_types_relation_access_t;
+-%extend apol_types_relation_access_t {
++%rename(apol_types_relation_access_get_type) apol_types_relation_access_wrap_get_type;
++%rename(apol_types_relation_access_get_rules) apol_types_relation_access_wrap_get_rules;
++%extend apol_types_relation_access {
+       apol_types_relation_access() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create apol_types_relation_access_t objects");
+@@ -3205,10 +3411,10 @@
+               /* no op - vector will destroy */
+               return;
+       };
+-      const qpol_type_t *get_type() {
++      const qpol_type_t *wrap_get_type() {
+               return apol_types_relation_access_get_type(self);
+       };
+-      const apol_vector_t *get_rules() {
++      const apol_vector_t *wrap_get_rules() {
+               return apol_types_relation_access_get_rules(self);
+       };
+ };
+--- setools-3.3.8/libpoldiff/swig/poldiff.i.orig       2013-01-16 17:36:24.000000000 +0100
++++ setools-3.3.8/libpoldiff/swig/poldiff.i    2014-03-05 07:46:56.307524907 +0100
+@@ -272,8 +272,8 @@
+       }
+ %}
+ typedef struct poldiff_stats {} poldiff_stats_t;
+-%extend poldiff_stats_t {
+-      poldiff_stats_t() {
++%extend poldiff_stats {
++      poldiff_stats() {
+               poldiff_stats_t *s;
+               BEGIN_EXCEPTION
+               s = poldiff_stats_create();
+@@ -284,7 +284,7 @@
+       fail:
+               return s;
+       };
+-      ~poldiff_stats_t() {
++      ~poldiff_stats() {
+               poldiff_stats_destroy(&self);
+       };
+       size_t get_stat(poldiff_form_e form) {
+@@ -347,8 +347,32 @@
+ }
+ #endif
+ typedef struct poldiff {} poldiff_t;
+-%extend poldiff_t {
+-      poldiff_t(apol_policy_t *op, apol_policy_t *mp) {
++%rename(poldiff_run) poldiff_wrap_run;
++%rename(poldiff_is_run) poldiff_wrap_is_run;
++%rename(poldiff_get_stats) poldiff_wrap_get_stats;
++%rename(poldiff_enable_line_numbers) poldiff_wrap_enable_line_numbers;
++%rename(poldiff_get_attrib_vector) poldiff_wrap_get_attrib_vector;
++%rename(poldiff_get_avrule_vector_allow) poldiff_wrap_get_avrule_vector_allow;
++%rename(poldiff_get_avrule_vector_auditallow) poldiff_wrap_get_avrule_vector_auditallow;
++%rename(poldiff_get_avrule_vector_dontaudit) poldiff_wrap_get_avrule_vector_dontaudit;
++%rename(poldiff_get_avrule_vector_neverallow) poldiff_wrap_get_avrule_vector_neverallow;
++%rename(poldiff_get_bool_vector) poldiff_wrap_get_bool_vector;
++%rename(poldiff_get_cat_vector) poldiff_wrap_get_cat_vector;
++%rename(poldiff_get_class_vector) poldiff_wrap_get_class_vector;
++%rename(poldiff_get_common_vector) poldiff_wrap_get_common_vector;
++%rename(poldiff_get_level_vector) poldiff_wrap_get_level_vector;
++%rename(poldiff_get_range_trans_vector) poldiff_wrap_get_range_trans_vector;
++%rename(poldiff_get_role_allow_vector) poldiff_wrap_get_role_allow_vector;
++%rename(poldiff_get_role_trans_vector) poldiff_wrap_get_role_trans_vector;
++%rename(poldiff_get_role_vector) poldiff_wrap_get_role_vector;
++%rename(poldiff_get_terule_vector_change) poldiff_wrap_get_terule_vector_change;
++%rename(poldiff_get_terule_vector_member) poldiff_wrap_get_terule_vector_member;
++%rename(poldiff_get_terule_vector_trans) poldiff_wrap_get_terule_vector_trans;
++%rename(poldiff_get_type_vector) poldiff_wrap_get_type_vector;
++%rename(poldiff_get_user_vector) poldiff_wrap_get_user_vector;
++%rename(poldiff_type_remap_create) poldiff_wrap_type_remap_create;
++%extend poldiff {
++      poldiff(apol_policy_t *op, apol_policy_t *mp) {
+               poldiff_t *p;
+               BEGIN_EXCEPTION
+               p = poldiff_create(op, mp, poldiff_swig_message_callback, poldiff_swig_message_callback_arg);
+@@ -360,10 +384,10 @@
+       fail:
+               return NULL;
+       };
+-      ~poldiff_t() {
++      ~poldiff() {
+               poldiff_destroy(&self);
+       };
+-      void run(uint32_t flags) {
++      void wrap_run(uint32_t flags) {
+               BEGIN_EXCEPTION
+               if (poldiff_run(self, flags)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not run diff");
+@@ -372,11 +396,11 @@
+       fail:
+               return;
+       };
+-      int is_run(uint32_t flags) {
++      int wrap_is_run(uint32_t flags) {
+               return poldiff_is_run(self, flags);
+       };
+       %newobject get_stats(uint32_t);
+-      poldiff_stats_t *get_stats(uint32_t flags) {
++      poldiff_stats_t *wrap_get_stats(uint32_t flags) {
+               poldiff_stats_t *s = NULL;
+               BEGIN_EXCEPTION
+               s = poldiff_stats_create();
+@@ -392,7 +416,7 @@
+               poldiff_stats_destroy(&s);
+               return NULL;
+       };
+-      void enable_line_numbers() {
++      void wrap_enable_line_numbers() {
+               BEGIN_EXCEPTION
+               if (poldiff_enable_line_numbers(self)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not enable line numbers");
+@@ -401,67 +425,67 @@
+       fail:
+               return;
+       };
+-      const apol_vector_t *get_attrib_vector() {
++      const apol_vector_t *wrap_get_attrib_vector() {
+               return poldiff_get_attrib_vector(self);
+       };
+-      const apol_vector_t *get_avrule_vector_allow() {
++      const apol_vector_t *wrap_get_avrule_vector_allow() {
+               return poldiff_get_avrule_vector_allow(self);
+       };
+-      const apol_vector_t *get_avrule_vector_auditallow() {
++      const apol_vector_t *wrap_get_avrule_vector_auditallow() {
+               return poldiff_get_avrule_vector_auditallow(self);
+       };
+-      const apol_vector_t *get_avrule_vector_dontaudit() {
++      const apol_vector_t *wrap_get_avrule_vector_dontaudit() {
+               return poldiff_get_avrule_vector_dontaudit(self);
+       };
+-      const apol_vector_t *get_avrule_vector_neverallow() {
++      const apol_vector_t *wrap_get_avrule_vector_neverallow() {
+               return poldiff_get_avrule_vector_neverallow(self);
+       };
+-      const apol_vector_t *get_bool_vector() {
++      const apol_vector_t *wrap_get_bool_vector() {
+               return poldiff_get_bool_vector(self);
+       };
+-      const apol_vector_t *get_cat_vector() {
++      const apol_vector_t *wrap_get_cat_vector() {
+               return poldiff_get_cat_vector(self);
+       };
+-      const apol_vector_t *get_class_vector() {
++      const apol_vector_t *wrap_get_class_vector() {
+               return poldiff_get_class_vector(self);
+       };
+-      const apol_vector_t *get_common_vector() {
++      const apol_vector_t *wrap_get_common_vector() {
+               return poldiff_get_common_vector(self);
+       };
+-      const apol_vector_t *get_level_vector() {
++      const apol_vector_t *wrap_get_level_vector() {
+               return poldiff_get_level_vector(self);
+       };
+-      const apol_vector_t *get_range_trans_vector() {
++      const apol_vector_t *wrap_get_range_trans_vector() {
+               return poldiff_get_range_trans_vector(self);
+       };
+-      const apol_vector_t *get_role_allow_vector() {
++      const apol_vector_t *wrap_get_role_allow_vector() {
+               return poldiff_get_role_allow_vector(self);
+       };
+-      const apol_vector_t *get_role_trans_vector() {
++      const apol_vector_t *wrap_get_role_trans_vector() {
+               return poldiff_get_role_trans_vector(self);
+       };
+-      const apol_vector_t *get_role_vector() {
++      const apol_vector_t *wrap_get_role_vector() {
+               return poldiff_get_role_vector(self);
+       };
+-      const apol_vector_t *get_terule_vector_change() {
++      const apol_vector_t *wrap_get_terule_vector_change() {
+               return poldiff_get_terule_vector_change(self);
+       };
+-      const apol_vector_t *get_terule_vector_member() {
++      const apol_vector_t *wrap_get_terule_vector_member() {
+               return poldiff_get_terule_vector_member(self);
+       };
+-      const apol_vector_t *get_terule_vector_trans() {
++      const apol_vector_t *wrap_get_terule_vector_trans() {
+               return poldiff_get_terule_vector_trans(self);
+       };
+-      const apol_vector_t *get_type_vector() {
++      const apol_vector_t *wrap_get_type_vector() {
+               return poldiff_get_type_vector(self);
+       };
+-      const apol_vector_t *get_user_vector() {
++      const apol_vector_t *wrap_get_user_vector() {
+               return poldiff_get_user_vector(self);
+       };
+-      const apol_vector_t *get_type_remap_entries() {
++      const apol_vector_t *wrap_get_type_remap_entries() {
+               return poldiff_type_remap_get_entries(self);
+       };
+-      void type_remap_create(apol_string_vector_t *orig_types, apol_string_vector_t *mod_types) {
++      void wrap_type_remap_create(apol_string_vector_t *orig_types, apol_string_vector_t *mod_types) {
+               BEGIN_EXCEPTION
+               if (poldiff_type_remap_create(self, (apol_vector_t*)orig_types, (apol_vector_t*)mod_types)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not remap types");
+@@ -477,20 +501,25 @@
+ /* attribute diff */
+ typedef struct poldiff_attrib {} poldiff_attrib_t;
+-%extend poldiff_attrib_t {
+-   poldiff_attrib_t () {
++%rename(poldiff_attrib_to_string) poldiff_attrib_wrap_to_string;
++%rename(poldiff_attrib_get_name) poldiff_attrib_wrap_get_name;
++%rename(poldiff_attrib_get_form) poldiff_attrib_wrap_get_form;
++%rename(poldiff_attrib_get_added_types) poldiff_attrib_wrap_get_added_types;
++%rename(poldiff_attrib_get_removed_types) poldiff_attrib_wrap_get_removed_types;
++%extend poldiff_attrib {
++   poldiff_attrib () {
+       BEGIN_EXCEPTION
+       SWIG_exception(SWIG_RuntimeError, "Cannot directly create poldiff_attrib_t objects");
+       END_EXCEPTION
+    fail:
+       return NULL;
+    }
+-      ~poldiff_attrib_t() {
++      ~poldiff_attrib() {
+               /* no op */
+               return;
+       };
+       %newobject to_string(poldiff_t*);
+-      char *to_string(poldiff_t *p) {
++      char *wrap_to_string(poldiff_t *p) {
+               char *str;
+               BEGIN_EXCEPTION
+               str = poldiff_attrib_to_string(p, self);
+@@ -501,16 +530,16 @@
+       fail:
+               return str;
+       };
+-      const char *get_name() {
++      const char *wrap_get_name() {
+               return poldiff_attrib_get_name(self);
+       };
+-      poldiff_form_e get_form() {
++      poldiff_form_e wrap_get_form() {
+               return poldiff_attrib_get_form(self);
+       };
+-      const apol_string_vector_t *get_added_types() {
++      const apol_string_vector_t *wrap_get_added_types() {
+               return (apol_string_vector_t*)poldiff_attrib_get_added_types(self);
+       };
+-      const apol_string_vector_t *get_removed_types() {
++      const apol_string_vector_t *wrap_get_removed_types() {
+               return (apol_string_vector_t*)poldiff_attrib_get_removed_types(self);
+       };
+ };
+@@ -522,20 +551,34 @@
+ /* av rule diff */
+ typedef struct poldiff_avrule {} poldiff_avrule_t;
+-%extend poldiff_avrule_t {
+-   poldiff_avrule_t() {
++%rename(poldiff_avrule_to_string) poldiff_avrule_wrap_to_string;
++%rename(poldiff_avrule_get_form) poldiff_avrule_wrap_get_form;
++%rename(poldiff_avrule_get_rule_type) poldiff_avrule_wrap_get_rule_type;
++%rename(poldiff_avrule_get_source_type) poldiff_avrule_wrap_get_source_type;
++%rename(poldiff_avrule_get_target_type) poldiff_avrule_wrap_get_target_type;
++%rename(poldiff_avrule_get_object_class) poldiff_avrule_wrap_get_object_class;
++%rename(poldiff_avrule_get_cond) poldiff_avrule_wrap_get_cond;
++%rename(poldiff_avrule_get_unmodified_perms) poldiff_avrule_wrap_get_unmodified_perms;
++%rename(poldiff_avrule_get_added_perms) poldiff_avrule_wrap_get_added_perms;
++%rename(poldiff_avrule_get_removed_perms) poldiff_avrule_wrap_get_removed_perms;
++%rename(poldiff_avrule_get_orig_line_numbers) poldiff_avrule_wrap_get_orig_line_numbers;
++%rename(poldiff_avrule_get_orig_line_numbers_for_perm) poldiff_avrule_wrap_get_orig_line_numbers_for_perm;
++%rename(poldiff_avrule_get_mod_line_numbers) poldiff_avrule_wrap_get_mod_line_numbers;
++%rename(poldiff_avrule_get_mod_line_numbers_for_perm) poldiff_avrule_wrap_get_modline_numbers_for_perm;
++%extend poldiff_avrule {
++   poldiff_avrule() {
+       BEGIN_EXCEPTION
+       SWIG_exception(SWIG_RuntimeError, "Cannot directly create poldiff_avrule_t objects");
+       END_EXCEPTION
+    fail:
+       return NULL;
+       }
+-      ~poldiff_avrule_t() {
++      ~poldiff_avrule() {
+               /* no op */
+               return;
+       };
+       %newobject to_string(poldiff_t*);
+-      char *to_string(poldiff_t *p) {
++      char *wrap_to_string(poldiff_t *p) {
+               char *str;
+               BEGIN_EXCEPTION
+               str = poldiff_avrule_to_string(p, self);
+@@ -546,22 +589,22 @@
+       fail:
+               return str;
+       };
+-      poldiff_form_e get_form() {
++      poldiff_form_e wrap_get_form() {
+               return poldiff_avrule_get_form(self);
+       };
+-      uint32_t get_rule_type() {
++      uint32_t wrap_get_rule_type() {
+               return poldiff_avrule_get_rule_type(self);
+       };
+-      const char *get_source_type() {
++      const char *wrap_get_source_type() {
+               return poldiff_avrule_get_source_type(self);
+       };
+-      const char *get_target_type() {
++      const char *wrap_get_target_type() {
+               return poldiff_avrule_get_target_type(self);
+       };
+-      const char *get_object_class() {
++      const char *wrap_get_object_class() {
+               return poldiff_avrule_get_object_class(self);
+       };
+-      const qpol_cond_t *get_cond(poldiff_t *p) {
++      const qpol_cond_t *wrap_get_cond(poldiff_t *p) {
+               const qpol_cond_t *cond;
+               uint32_t which_list;
+               const apol_policy_t *which_pol;
+@@ -582,20 +625,20 @@
+               poldiff_avrule_get_cond(p, self, &cond, &which_list, &which_pol);
+               return which_pol;
+       };
+-      const apol_string_vector_t *get_unmodified_perms() {
++      const apol_string_vector_t *wrap_get_unmodified_perms() {
+               return (apol_string_vector_t*)poldiff_avrule_get_unmodified_perms(self);
+       };
+-      const apol_string_vector_t *get_added_perms() {
++      const apol_string_vector_t *wrap_get_added_perms() {
+               return (apol_string_vector_t*)poldiff_avrule_get_added_perms(self);
+       };
+-      const apol_string_vector_t *get_removed_perms() {
++      const apol_string_vector_t *wrap_get_removed_perms() {
+               return (apol_string_vector_t*)poldiff_avrule_get_removed_perms(self);
+       };
+-      const apol_vector_t *get_orig_line_numbers() {
++      const apol_vector_t *wrap_get_orig_line_numbers() {
+               return poldiff_avrule_get_orig_line_numbers(self);
+       };
+       %newobject get_orig_line_numbers_for_perm(poldiff_t*, char*);
+-      apol_vector_t *get_orig_line_numbers_for_perm(poldiff_t *p, char *perm) {
++      apol_vector_t *wrap_get_orig_line_numbers_for_perm(poldiff_t *p, char *perm) {
+               apol_vector_t *v;
+               BEGIN_EXCEPTION
+               v = poldiff_avrule_get_orig_line_numbers_for_perm(p, self, perm);
+@@ -606,11 +649,11 @@
+       fail:
+               return v;
+       };
+-      const apol_vector_t *get_mod_line_numbers() {
++      const apol_vector_t *wrap_get_mod_line_numbers() {
+               return poldiff_avrule_get_mod_line_numbers(self);
+       };
+       %newobject get_mod_line_numbers_for_perm(poldiff_t*, char*);
+-      apol_vector_t *get_mod_line_numbers_for_perm(poldiff_t *p, char *perm) {
++      apol_vector_t *wrap_get_mod_line_numbers_for_perm(poldiff_t *p, char *perm) {
+               apol_vector_t *v;
+               BEGIN_EXCEPTION
+               v = poldiff_avrule_get_mod_line_numbers_for_perm(p, self, perm);
+@@ -630,20 +673,23 @@
+ /* boolean diff */
+ typedef struct poldiff_bool {} poldiff_bool_t;
+-%extend poldiff_bool_t {
+-      poldiff_bool_t() {
++%rename(poldiff_bool_to_string) poldiff_bool_wrap_to_string;
++%rename(poldiff_bool_get_name) poldiff_bool_wrap_get_name;
++%rename(poldiff_bool_get_form) poldiff_bool_wrap_get_form;
++%extend poldiff_bool {
++      poldiff_bool() {
+       BEGIN_EXCEPTION
+       SWIG_exception(SWIG_RuntimeError, "Cannot directly create poldiff_bool_t objects");
+       END_EXCEPTION
+    fail:
+       return NULL;
+       }
+-      ~poldiff_bool_t() {
++      ~poldiff_bool() {
+               /* no op */
+               return;
+       };
+       %newobject to_string(poldiff_t*);
+-      char *to_string(poldiff_t *p) {
++      char *wrap_to_string(poldiff_t *p) {
+               char *str;
+               BEGIN_EXCEPTION
+               str = poldiff_bool_to_string(p, self);
+@@ -654,10 +700,10 @@
+       fail:
+               return str;
+       };
+-      const char *get_name() {
++      const char *wrap_get_name() {
+               return poldiff_bool_get_name(self);
+       };
+-      poldiff_form_e get_form() {
++      poldiff_form_e wrap_get_form() {
+               return poldiff_bool_get_form(self);
+       };
+ };
+@@ -669,20 +715,23 @@
+ /* category diff */
+ typedef struct poldiff_cat {} poldiff_cat_t;
+-%extend poldiff_cat_t {
+-      poldiff_cat_t() {
++%rename(poldiff_cat_to_string) poldiff_cat_wrap_to_string;
++%rename(poldiff_cat_get_name) poldiff_cat_wrap_get_name;
++%rename(poldiff_cat_get_form) poldiff_cat_wrap_get_form;
++%extend poldiff_cat {
++      poldiff_cat() {
+       BEGIN_EXCEPTION
+       SWIG_exception(SWIG_RuntimeError, "Cannot directly create poldiff_cat_t objects");
+       END_EXCEPTION
+    fail:
+       return NULL;
+       }
+-      ~poldiff_cat_t() {
++      ~poldiff_cat() {
+               /* no op */
+               return;
+       };
+       %newobject to_string(poldiff_t*);
+-      char *to_string(poldiff_t *p) {
++      char *wrap_to_string(poldiff_t *p) {
+               char *str;
+               BEGIN_EXCEPTION
+               str = poldiff_cat_to_string(p, self);
+@@ -693,10 +742,10 @@
+       fail:
+               return str;
+       };
+-      const char *get_name() {
++      const char *wrap_get_name() {
+               return poldiff_cat_get_name(self);
+       };
+-      poldiff_form_e get_form() {
++      poldiff_form_e wrap_get_form() {
+               return poldiff_cat_get_form(self);
+       };
+ };
+@@ -708,20 +757,25 @@
+ /* class diff */
+ typedef struct poldiff_class {} poldiff_class_t;
+-%extend poldiff_class_t {
+-      poldiff_class_t() {
++%rename(poldiff_class_to_string) poldiff_class_wrap_to_string;
++%rename(poldiff_class_get_name) poldiff_class_wrap_get_name;
++%rename(poldiff_class_get_form) poldiff_class_wrap_get_form;
++%rename(poldiff_class_get_added_perms) poldiff_class_wrap_get_added_perms;
++%rename(poldiff_class_get_removed_perms) poldiff_class_wrap_get_removed_perms;
++%extend poldiff_class {
++      poldiff_class() {
+       BEGIN_EXCEPTION
+       SWIG_exception(SWIG_RuntimeError, "Cannot directly create poldiff_class_t objects");
+       END_EXCEPTION
+    fail:
+       return NULL;
+       }
+-      ~poldiff_class_t() {
++      ~poldiff_class() {
+               /* no op */
+               return;
+       };
+       %newobject to_string(poldiff_t*);
+-      char *to_string(poldiff_t *p) {
++      char *wrap_to_string(poldiff_t *p) {
+               char *str;
+               BEGIN_EXCEPTION
+               str = poldiff_class_to_string(p, self);
+@@ -732,16 +786,16 @@
+       fail:
+               return str;
+       };
+-      const char *get_name() {
++      const char *wrap_get_name() {
+               return poldiff_class_get_name(self);
+       };
+-      poldiff_form_e get_form() {
++      poldiff_form_e wrap_get_form() {
+               return poldiff_class_get_form(self);
+       };
+-      const apol_string_vector_t *get_added_perms() {
++      const apol_string_vector_t *wrap_get_added_perms() {
+               return (apol_string_vector_t*)poldiff_class_get_added_perms(self);
+       };
+-      const apol_string_vector_t *get_removed_perms() {
++      const apol_string_vector_t *wrap_get_removed_perms() {
+               return (apol_string_vector_t*)poldiff_class_get_removed_perms(self);
+       };
+ };
+@@ -753,20 +807,25 @@
+ /* common diff */
+ typedef struct poldiff_common {} poldiff_common_t;
+-%extend poldiff_common_t {
+-      poldiff_common_t() {
++%rename(poldiff_common_to_string) poldiff_common_wrap_to_string;
++%rename(poldiff_common_get_name) poldiff_common_wrap_get_name;
++%rename(poldiff_common_get_form) poldiff_common_wrap_get_form;
++%rename(poldiff_common_get_added_perms) poldiff_common_wrap_get_added_perms;
++%rename(poldiff_common_get_removed_perms) poldiff_common_wrap_get_removed_perms;
++%extend poldiff_common {
++      poldiff_common() {
+       BEGIN_EXCEPTION
+       SWIG_exception(SWIG_RuntimeError, "Cannot directly create poldiff_common_t objects");
+       END_EXCEPTION
+    fail:
+       return NULL;
+       }
+-      ~poldiff_common_t() {
++      ~poldiff_common() {
+               /* no op */
+               return;
+       };
+       %newobject to_string(poldiff_t*);
+-      char *to_string(poldiff_t *p) {
++      char *wrap_to_string(poldiff_t *p) {
+               char *str;
+               BEGIN_EXCEPTION
+               str = poldiff_common_to_string(p, self);
+@@ -777,16 +836,16 @@
+       fail:
+               return str;
+       };
+-      const char *get_name() {
++      const char *wrap_get_name() {
+               return poldiff_common_get_name(self);
+       };
+-      poldiff_form_e get_form() {
++      poldiff_form_e wrap_get_form() {
+               return poldiff_common_get_form(self);
+       };
+-      const apol_string_vector_t *get_added_perms() {
++      const apol_string_vector_t *wrap_get_added_perms() {
+               return (apol_string_vector_t*)poldiff_common_get_added_perms(self);
+       };
+-      const apol_string_vector_t *get_removed_perms() {
++      const apol_string_vector_t *wrap_get_removed_perms() {
+               return (apol_string_vector_t*)poldiff_common_get_removed_perms(self);
+       };
+ };
+@@ -798,20 +857,27 @@
+ /* level diff */
+ typedef struct poldiff_level {} poldiff_level_t;
+-%extend poldiff_level_t {
+-      poldiff_level_t() {
++%rename(poldiff_level_to_string) poldiff_level_wrap_to_string;
++%rename(poldiff_level_to_string_brief) poldiff_level_wrap_to_string_brief;
++%rename(poldiff_level_get_name) poldiff_level_wrap_get_name;
++%rename(poldiff_level_get_form) poldiff_level_wrap_get_form;
++%rename(poldiff_level_get_unmodified_cats) poldiff_level_wrap_get_unmodified_cats;
++%rename(poldiff_level_get_added_cats) poldiff_level_wrap_get_added_cats;
++%rename(poldiff_level_get_removed_cats) poldiff_level_wrap_get_removed_cats;
++%extend poldiff_level {
++      poldiff_level() {
+       BEGIN_EXCEPTION
+       SWIG_exception(SWIG_RuntimeError, "Cannot directly create poldiff_level_t objects");
+       END_EXCEPTION
+    fail:
+       return NULL;
+       }
+-      ~poldiff_level_t() {
++      ~poldiff_level() {
+               /* no op */
+               return;
+       };
+       %newobject to_string(poldiff_t*);
+-      char *to_string(poldiff_t *p) {
++      char *wrap_to_string(poldiff_t *p) {
+               char *str;
+               BEGIN_EXCEPTION
+               str = poldiff_level_to_string(p, self);
+@@ -823,7 +889,7 @@
+               return str;
+       };
+       %newobject to_string_brief(poldiff_t*);
+-      char *to_string(poldiff_t *p) {
++      char *wrap_to_string_brief(poldiff_t *p) {
+               char *str;
+               BEGIN_EXCEPTION
+               str = poldiff_level_to_string_brief(p, self);
+@@ -834,19 +900,19 @@
+       fail:
+               return str;
+       };
+-      const char *get_name() {
++      const char *wrap_get_name() {
+               return poldiff_level_get_name(self);
+       };
+-      poldiff_form_e get_form() {
++      poldiff_form_e wrap_get_form() {
+               return poldiff_level_get_form(self);
+       };
+-      const apol_string_vector_t *get_unmodified_cats() {
++      const apol_string_vector_t *wrap_get_unmodified_cats() {
+               return (apol_string_vector_t*)poldiff_level_get_unmodified_cats(self);
+       };
+-      const apol_string_vector_t *get_added_cats() {
++      const apol_string_vector_t *wrap_get_added_cats() {
+               return (apol_string_vector_t*)poldiff_level_get_added_cats(self);
+       };
+-      const apol_string_vector_t *get_removed_cats() {
++      const apol_string_vector_t *wrap_get_removed_cats() {
+               return (apol_string_vector_t*)poldiff_level_get_removed_cats(self);
+       };
+ };
+@@ -858,15 +924,21 @@
+ /* range diff */
+ typedef struct poldiff_range {} poldiff_range_t;
+-%extend poldiff_range_t {
+-      poldiff_range_t() {
++%rename(poldiff_range_get_levels) poldiff_range_wrap_get_levels;
++%rename(poldiff_range_get_original_range) poldiff_range_wrap_get_original_range;
++%rename(poldiff_range_get_modified_range) poldiff_range_wrap_get_modified_range;
++%rename(poldiff_range_get_min_added_cats) poldiff_range_wrap_get_min_added_cats;
++%rename(poldiff_range_get_min_removed_cats) poldiff_range_wrap_get_min_removed_cats;
++%rename(poldiff_range_get_min_unmodified_cats) poldiff_range_wrap_get_min_unmodified_cats;
++%extend poldiff_range {
++      poldiff_range() {
+       BEGIN_EXCEPTION
+       SWIG_exception(SWIG_RuntimeError, "Cannot directly create poldiff_range_t objects");
+       END_EXCEPTION
+    fail:
+       return NULL;
+       }
+-      ~poldiff_range_t() {
++      ~poldiff_range() {
+               /* no op */
+               return;
+       };
+@@ -882,22 +954,22 @@
+       fail:
+               return str;
+       };
+-      const apol_vector_t *get_levels() {
++      const apol_vector_t *wrap_get_levels() {
+               return poldiff_range_get_levels(self);
+       };
+-      const apol_mls_range_t *get_original_range() {
++      const apol_mls_range_t *wrap_get_original_range() {
+               return poldiff_range_get_original_range(self);
+       };
+-      const apol_mls_range_t *get_modified_range() {
++      const apol_mls_range_t *wrap_get_modified_range() {
+               return poldiff_range_get_modified_range(self);
+       };
+-      const apol_string_vector_t *get_min_added_cats() {
++      const apol_string_vector_t *wrap_get_min_added_cats() {
+               return (apol_string_vector_t*)poldiff_range_get_min_added_cats(self);
+       };
+-      const apol_string_vector_t *get_min_removed_cats() {
++      const apol_string_vector_t *wrap_get_min_removed_cats() {
+               return (apol_string_vector_t*)poldiff_range_get_min_removed_cats(self);
+       };
+-      const apol_string_vector_t *get_min_unmodified_cats() {
++      const apol_string_vector_t *wrap_get_min_unmodified_cats() {
+               return (apol_string_vector_t*)poldiff_range_get_min_unmodified_cats(self);
+       };
+ };
+@@ -909,20 +981,26 @@
+ /* range_transition rule diff */
+ typedef struct poldiff_range_trans {} poldiff_range_trans_t;
+-%extend poldiff_range_trans_t {
+-      poldiff_range_trans_t() {
++%rename(poldiff_range_trans_to_string) poldiff_range_trans_wrap_to_string;
++%rename(poldiff_range_trans_get_form) poldiff_range_trans_wrap_get_form;
++%rename(poldiff_range_trans_get_source_type) poldiff_range_trans_wrap_get_source_type;
++%rename(poldiff_range_trans_get_target_type) poldiff_range_trans_wrap_get_target_type;
++%rename(poldiff_range_trans_get_target_class) poldiff_range_trans_wrap_get_target_class;
++%rename(poldiff_range_trans_get_range) poldiff_range_trans_wrap_get_range;
++%extend poldiff_range_trans {
++      poldiff_range_trans() {
+       BEGIN_EXCEPTION
+       SWIG_exception(SWIG_RuntimeError, "Cannot directly create poldiff_range_trans_t objects");
+       END_EXCEPTION
+    fail:
+       return NULL;
+       }
+-      ~poldiff_range_trans_t() {
++      ~poldiff_range_trans() {
+               /* no op */
+               return;
+       };
+       %newobject to_string(poldiff_t*);
+-      char *to_string(poldiff_t *p) {
++      char *wrap_to_string(poldiff_t *p) {
+               char *str;
+               BEGIN_EXCEPTION
+               str = poldiff_range_trans_to_string(p, self);
+@@ -933,19 +1011,19 @@
+       fail:
+               return str;
+       };
+-      poldiff_form_e get_form() {
++      poldiff_form_e wrap_get_form() {
+               return poldiff_range_trans_get_form(self);
+       };
+-      const char *get_source_type() {
++      const char *wrap_get_source_type() {
+               return poldiff_range_trans_get_source_type(self);
+       };
+-      const char *get_target_type() {
++      const char *wrap_get_target_type() {
+               return poldiff_range_trans_get_target_type(self);
+       };
+-      const char *get_target_class() {
++      const char *wrap_get_target_class() {
+               return poldiff_range_trans_get_target_class(self);
+       };
+-      const poldiff_range_t *get_range() {
++      const poldiff_range_t *wrap_get_range() {
+               return poldiff_range_trans_get_range(self);
+       };
+ };
+@@ -957,20 +1035,26 @@
+ /* role allow rule diff */
+ typedef struct poldiff_role_allow {} poldiff_role_allow_t;
+-%extend poldiff_role_allow_t {
+-      poldiff_role_allow_t() {
++%rename(poldiff_role_allow_to_string) poldiff_role_allow_wrap_to_string;
++%rename(poldiff_role_allow_get_name) poldiff_role_allow_wrap_get_name;
++%rename(poldiff_role_allow_get_form) poldiff_role_allow_wrap_get_form;
++%rename(poldiff_role_allow_get_unmodified_roles) poldiff_role_allow_wrap_get_unmodified_roles;
++%rename(poldiff_role_allow_get_added_roles) poldiff_role_allow_wrap_get_added_roles;
++%rename(poldiff_role_allow_get_removed_roles) poldiff_role_allow_wrap_get_removed_roles;
++%extend poldiff_role_allow {
++      poldiff_role_allow() {
+       BEGIN_EXCEPTION
+       SWIG_exception(SWIG_RuntimeError, "Cannot directly create poldiff_role_allow_t objects");
+       END_EXCEPTION
+    fail:
+       return NULL;
+       }
+-      ~poldiff_role_allow_t() {
++      ~poldiff_role_allow() {
+               /* no op */
+               return;
+       };
+       %newobject to_string(poldiff_t*);
+-      char *to_string(poldiff_t *p) {
++      char *wrap_to_string(poldiff_t *p) {
+               char *str;
+               BEGIN_EXCEPTION
+               str = poldiff_role_allow_to_string(p, self);
+@@ -981,19 +1065,19 @@
+       fail:
+               return str;
+       };
+-      const char *get_name() {
++      const char *wrap_get_name() {
+               return poldiff_role_allow_get_name(self);
+       };
+-      poldiff_form_e get_form() {
++      poldiff_form_e wrap_get_form() {
+               return poldiff_role_allow_get_form(self);
+       };
+-      const apol_string_vector_t *get_unmodified_roles() {
++      const apol_string_vector_t *wrap_get_unmodified_roles() {
+               return (apol_string_vector_t*)poldiff_role_allow_get_unmodified_roles(self);
+       };
+-      const apol_string_vector_t *get_added_roles() {
++      const apol_string_vector_t *wrap_get_added_roles() {
+               return (apol_string_vector_t*)poldiff_role_allow_get_added_roles(self);
+       };
+-      const apol_string_vector_t *get_removed_roles() {
++      const apol_string_vector_t *wrap_get_removed_roles() {
+               return (apol_string_vector_t*)poldiff_role_allow_get_removed_roles(self);
+       };
+ };
+@@ -1005,20 +1089,26 @@
+ /* role_transition rule diff */
+ typedef struct poldiff_role_trans {} poldiff_role_trans_t;
+-%extend poldiff_role_trans_t {
+-      poldiff_role_trans_t() {
++%rename(poldiff_role_trans_to_string) poldiff_role_trans_wrap_to_string;
++%rename(poldiff_role_trans_get_form) poldiff_role_trans_wrap_get_form;
++%rename(poldiff_role_trans_get_source_role) poldiff_role_trans_wrap_get_source_role;
++%rename(poldiff_role_trans_get_target_type) poldiff_role_trans_wrap_get_target_type;
++%rename(poldiff_role_trans_get_original_default) poldiff_role_trans_wrap_get_original_default;
++%rename(poldiff_role_trans_get_modified_default) poldiff_role_trans_wrap_get_modified_default;
++%extend poldiff_role_trans {
++      poldiff_role_trans() {
+       BEGIN_EXCEPTION
+       SWIG_exception(SWIG_RuntimeError, "Cannot directly create poldiff_role_trans_t objects");
+       END_EXCEPTION
+    fail:
+       return NULL;
+       }
+-      ~poldiff_role_trans_t() {
++      ~poldiff_role_trans() {
+               /* no op */
+               return;
+       };
+       %newobject to_string(poldiff_t*);
+-      char *to_string(poldiff_t *p) {
++      char *wrap_to_string(poldiff_t *p) {
+               char *str;
+               BEGIN_EXCEPTION
+               str = poldiff_role_trans_to_string(p, self);
+@@ -1029,19 +1119,19 @@
+       fail:
+               return str;
+       };
+-      poldiff_form_e get_form() {
++      poldiff_form_e wrap_get_form() {
+               return poldiff_role_trans_get_form(self);
+       };
+-      const char *get_source_role() {
++      const char *wrap_get_source_role() {
+               return poldiff_role_trans_get_source_role(self);
+       };
+-      const char *get_target_type() {
++      const char *wrap_get_target_type() {
+               return poldiff_role_trans_get_target_type(self);
+       };
+-      const char *get_original_default() {
++      const char *wrap_get_original_default() {
+               return poldiff_role_trans_get_original_default(self);
+       };
+-      const char *get_modified_default() {
++      const char *wrap_get_modified_default() {
+               return poldiff_role_trans_get_modified_default(self);
+       };
+ };
+@@ -1053,20 +1143,25 @@
+ /* role diff */
+ typedef struct poldiff_role {} poldiff_role_t;
+-%extend poldiff_role_t {
+-      poldiff_role_t() {
++%rename(poldiff_role_to_string) poldiff_role_wrap_to_string;
++%rename(poldiff_role_get_name) poldiff_role_wrap_get_name;
++%rename(poldiff_role_get_form) poldiff_role_wrap_get_form;
++%rename(poldiff_role_get_added_types) poldiff_role_wrap_get_added_types;
++%rename(poldiff_role_get_removed_types) poldiff_role_wrap_get_removed_types;
++%extend poldiff_role {
++      poldiff_role() {
+       BEGIN_EXCEPTION
+       SWIG_exception(SWIG_RuntimeError, "Cannot directly create poldiff_role_t objects");
+       END_EXCEPTION
+    fail:
+       return NULL;
+       }
+-      ~poldiff_role_t() {
++      ~poldiff_role() {
+               /* no op */
+               return;
+       };
+       %newobject to_string(poldiff_t*);
+-      char *to_string(poldiff_t *p) {
++      char *wrap_to_string(poldiff_t *p) {
+               char *str;
+               BEGIN_EXCEPTION
+               str = poldiff_role_to_string(p, self);
+@@ -1077,16 +1172,16 @@
+       fail:
+               return str;
+       };
+-      const char *get_name() {
++      const char *wrap_get_name() {
+               return poldiff_role_get_name(self);
+       };
+-      poldiff_form_e get_form() {
++      poldiff_form_e wrap_get_form() {
+               return poldiff_role_get_form(self);
+       };
+-      const apol_string_vector_t *get_added_types() {
++      const apol_string_vector_t *wrap_get_added_types() {
+               return (apol_string_vector_t*)poldiff_role_get_added_types(self);
+       };
+-      const apol_string_vector_t *get_removed_types() {
++      const apol_string_vector_t *wrap_get_removed_types() {
+               return (apol_string_vector_t*)poldiff_role_get_removed_types(self);
+       };
+ };
+@@ -1098,20 +1193,31 @@
+ /* te rule diff */
+ typedef struct poldiff_terule {} poldiff_terule_t;
+-%extend poldiff_terule_t {
+-      poldiff_terule_t() {
++%rename(poldiff_terule_to_string) poldiff_terule_wrap_to_string;
++%rename(poldiff_terule_get_form) poldiff_terule_wrap_get_form;
++%rename(poldiff_terule_get_rule_type) poldiff_terule_wrap_get_rule_type;
++%rename(poldiff_terule_get_source_type) poldiff_terule_wrap_get_source_type;
++%rename(poldiff_terule_get_target_type) poldiff_terule_wrap_get_target_type;
++%rename(poldiff_terule_get_object_class) poldiff_terule_wrap_get_object_class;
++%rename(poldiff_terule_get_cond) poldiff_terule_wrap_get_cond;
++%rename(poldiff_terule_get_original_default) poldiff_terule_wrap_get_original_default;
++%rename(poldiff_terule_get_modified_default) poldiff_terule_wrap_get_modified_default;
++%rename(poldiff_terule_get_orig_line_numbers) poldiff_terule_wrap_get_orig_line_numbers;
++%rename(poldiff_terule_get_mod_line_numbers) poldiff_terule_wrap_get_mod_line_numbers;
++%extend poldiff_terule {
++      poldiff_terule() {
+       BEGIN_EXCEPTION
+       SWIG_exception(SWIG_RuntimeError, "Cannot directly create poldiff_terule_t objects");
+       END_EXCEPTION
+    fail:
+       return NULL;
+       }
+-      ~poldiff_terule_t() {
++      ~poldiff_terule() {
+               /* no op */
+               return;
+       };
+       %newobject to_string(poldiff_t*);
+-      char *to_string(poldiff_t *p) {
++      char *wrap_to_string(poldiff_t *p) {
+               char *str;
+               BEGIN_EXCEPTION
+               str = poldiff_terule_to_string(p, self);
+@@ -1122,22 +1228,22 @@
+       fail:
+               return str;
+       };
+-      poldiff_form_e get_form() {
++      poldiff_form_e wrap_get_form() {
+               return poldiff_terule_get_form(self);
+       };
+-      uint32_t get_rule_type() {
++      uint32_t wrap_get_rule_type() {
+               return poldiff_terule_get_rule_type(self);
+       };
+-      const char *get_source_type() {
++      const char *wrap_get_source_type() {
+               return poldiff_terule_get_source_type(self);
+       };
+-      const char *get_target_type() {
++      const char *wrap_get_target_type() {
+               return poldiff_terule_get_target_type(self);
+       };
+-      const char *get_object_class() {
++      const char *wrap_get_object_class() {
+               return poldiff_terule_get_object_class(self);
+       };
+-      const qpol_cond_t *get_cond(poldiff_t *p) {
++      const qpol_cond_t *wrap_get_cond(poldiff_t *p) {
+               const qpol_cond_t *cond;
+               uint32_t which_list;
+               const apol_policy_t *which_pol;
+@@ -1158,16 +1264,16 @@
+               poldiff_terule_get_cond(p, self, &cond, &which_list, &which_pol);
+               return which_pol;
+       };
+-      const char *get_original_default() {
++      const char *wrap_get_original_default() {
+               return poldiff_terule_get_original_default(self);
+       };
+-      const char *get_modified_default() {
++      const char *wrap_get_modified_default() {
+               return poldiff_terule_get_modified_default(self);
+       };
+-      const apol_vector_t *get_orig_line_numbers() {
++      const apol_vector_t *wrap_get_orig_line_numbers() {
+               return poldiff_terule_get_orig_line_numbers(self);
+       };
+-      const apol_vector_t *get_mod_line_numbers() {
++      const apol_vector_t *wrap_get_mod_line_numbers() {
+               return poldiff_terule_get_mod_line_numbers(self);
+       };
+ };
+@@ -1179,20 +1285,25 @@
+ /* type diff */
+ typedef struct poldiff_type {} poldiff_type_t;
+-%extend poldiff_type_t {
+-      poldiff_type_t() {
++%rename(poldiff_type_to_string) poldiff_type_wrap_to_string;
++%rename(poldiff_type_get_name) poldiff_type_wrap_get_name;
++%rename(poldiff_type_get_form) poldiff_type_wrap_get_form;
++%rename(poldiff_type_get_added_attribs) poldiff_type_wrap_get_added_attribs;
++%rename(poldiff_type_get_removed_attribs) poldiff_type_wrap_get_removed_attribs;
++%extend poldiff_type {
++      poldiff_type() {
+       BEGIN_EXCEPTION
+       SWIG_exception(SWIG_RuntimeError, "Cannot directly create poldiff_type_t objects");
+       END_EXCEPTION
+    fail:
+       return NULL;
+       }
+-      ~poldiff_type_t() {
++      ~poldiff_type() {
+               /* no op */
+               return;
+       };
+       %newobject to_string(poldiff_t*);
+-      char *to_string(poldiff_t *p) {
++      char *wrap_to_string(poldiff_t *p) {
+               char *str;
+               BEGIN_EXCEPTION
+               str = poldiff_type_to_string(p, self);
+@@ -1203,16 +1314,16 @@
+       fail:
+               return str;
+       };
+-      const char *get_name() {
++      const char *wrap_get_name() {
+               return poldiff_type_get_name(self);
+       };
+-      poldiff_form_e get_form() {
++      poldiff_form_e wrap_get_form() {
+               return poldiff_type_get_form(self);
+       };
+-      const apol_string_vector_t *get_added_attribs() {
++      const apol_string_vector_t *wrap_get_added_attribs() {
+               return (apol_string_vector_t*)poldiff_type_get_added_attribs(self);
+       };
+-      const apol_string_vector_t *get_removed_attribs() {
++      const apol_string_vector_t *wrap_get_removed_attribs() {
+               return (apol_string_vector_t*)poldiff_type_get_removed_attribs(self);
+       };
+ };
+@@ -1224,20 +1335,29 @@
+ /* user diff */
+ typedef struct poldiff_user {} poldiff_user_t;
+-%extend poldiff_user_t {
+-      poldiff_user_t() {
++%rename(poldiff_user_to_string) poldiff_user_wrap_to_string;
++%rename(poldiff_user_get_name) poldiff_user_wrap_get_name;
++%rename(poldiff_user_get_form) poldiff_user_wrap_get_form;
++%rename(poldiff_user_get_unmodified_roles) poldiff_user_wrap_get_unmodified_roles;
++%rename(poldiff_user_get_added_roles) poldiff_user_wrap_get_added_roles;
++%rename(poldiff_user_get_removed_roles) poldiff_user_wrap_get_removed_roles;
++%rename(poldiff_user_get_original_dfltlevel) poldiff_user_wrap_get_original_dfltlevel;
++%rename(poldiff_user_get_modified_dfltlevel) poldiff_user_wrap_get_modified_dfltlevel;
++%rename(poldiff_user_get_range) poldiff_user_wrap_get_range;
++%extend poldiff_user {
++      poldiff_user() {
+       BEGIN_EXCEPTION
+       SWIG_exception(SWIG_RuntimeError, "Cannot directly create poldiff_user_t objects");
+       END_EXCEPTION
+    fail:
+       return NULL;
+       }
+-      ~poldiff_user_t() {
++      ~poldiff_user() {
+               /* no op */
+               return;
+       };
+       %newobject to_string(poldiff_t*);
+-      char *to_string(poldiff_t *p) {
++      char *wrap_to_string(poldiff_t *p) {
+               char *str;
+               BEGIN_EXCEPTION
+               str = poldiff_user_to_string(p, self);
+@@ -1248,28 +1368,28 @@
+       fail:
+               return str;
+       };
+-      const char *get_name() {
++      const char *wrap_get_name() {
+               return poldiff_user_get_name(self);
+       };
+-      poldiff_form_e get_form() {
++      poldiff_form_e wrap_get_form() {
+               return poldiff_user_get_form(self);
+       };
+-      const apol_string_vector_t *get_unmodified_roles() {
++      const apol_string_vector_t *wrap_get_unmodified_roles() {
+               return (apol_string_vector_t*)poldiff_user_get_unmodified_roles(self);
+       };
+-      const apol_string_vector_t *get_added_roles() {
++      const apol_string_vector_t *wrap_get_added_roles() {
+               return (apol_string_vector_t*)poldiff_user_get_added_roles(self);
+       };
+-      const apol_string_vector_t *get_removed_roles() {
++      const apol_string_vector_t *wrap_get_removed_roles() {
+               return (apol_string_vector_t*)poldiff_user_get_removed_roles(self);
+       };
+-      const poldiff_level_t *get_original_dfltlevel() {
++      const poldiff_level_t *wrap_get_original_dfltlevel() {
+               return poldiff_user_get_original_dfltlevel(self);
+       };
+-      const poldiff_level_t *get_modified_dfltlevel() {
++      const poldiff_level_t *wrap_get_modified_dfltlevel() {
+               return poldiff_user_get_modified_dfltlevel(self);
+       };
+-      const poldiff_range_t *get_range() {
++      const poldiff_range_t *wrap_get_range() {
+               return poldiff_user_get_range(self);
+       };
+ };
+@@ -1281,20 +1401,25 @@
+ /* type remap */
+ typedef struct poldiff_type_remap_entry {} poldiff_type_remap_entry_t;
+-%extend poldiff_type_remap_entry_t {
+-      poldiff_type_remap_entry_t() {
++%rename(poldiff_type_remap_entry_get_original_types) poldiff_type_remap_entry_wrap_get_original_types;
++%rename(poldiff_type_remap_entry_get_modified_types) poldiff_type_remap_entry_wrap_get_modified_types;
++%rename(poldiff_type_remap_entry_get_is_inferred) poldiff_type_remap_entry_wrap_get_is_inferred;
++%rename(poldiff_type_remap_entry_get_is_enabled) poldiff_type_remap_entry_wrap_get_is_enabled;
++%rename(poldiff_type_remap_entry_set_enabled) poldiff_type_remap_entry_wrap_set_enabled;
++%extend poldiff_type_remap_entry {
++      poldiff_type_remap_entry() {
+       BEGIN_EXCEPTION
+       SWIG_exception(SWIG_RuntimeError, "Cannot directly create poldiff_type_remap_entry_t objects");
+       END_EXCEPTION
+    fail:
+       return NULL;
+       }
+-      ~poldiff_type_remap_entry_t() {
++      ~poldiff_type_remap_entry() {
+               /* no op */
+               return;
+       };
+       %newobject get_original_types(poldiff_t*);
+-      apol_string_vector_t *get_original_types(poldiff_t *p) {
++      apol_string_vector_t *wrap_get_original_types(poldiff_t *p) {
+               apol_vector_t *v;
+               BEGIN_EXCEPTION
+               v = poldiff_type_remap_entry_get_original_types(p, self);
+@@ -1306,7 +1431,7 @@
+               return (apol_string_vector_t*)v;
+       };
+       %newobject get_modified_types(poldiff_t*);
+-      apol_string_vector_t *get_modified_types(poldiff_t *p) {
++      apol_string_vector_t *wrap_get_modified_types(poldiff_t *p) {
+               apol_vector_t *v;
+               BEGIN_EXCEPTION
+               v = poldiff_type_remap_entry_get_modified_types(p, self);
+@@ -1317,13 +1442,13 @@
+       fail:
+               return (apol_string_vector_t*)v;
+       };
+-      int get_is_inferred() {
++      int wrap_get_is_inferred() {
+               return poldiff_type_remap_entry_get_is_inferred(self);
+       };
+-      int get_is_enabled() {
++      int wrap_get_is_enabled() {
+               return poldiff_type_remap_entry_get_is_enabled(self);
+       };
+-      void set_enabled(int enable) {
++      void wrap_set_enabled(int enable) {
+               poldiff_type_remap_entry_set_enabled(self, enable);
+       };
+ };
+--- setools-3.3.8/libqpol/swig/qpol.i.orig     2014-03-04 18:06:00.769591966 +0100
++++ setools-3.3.8/libqpol/swig/qpol.i  2014-03-05 08:35:44.840735343 +0100
+@@ -227,7 +227,13 @@
+ #define QPOL_MODULE_BASE    1
+ #define QPOL_MODULE_OTHER   2
+ typedef struct qpol_module {} qpol_module_t;
+-%extend qpol_module_t {
++%rename(qpol_module_get_path) qpol_module_wrap_get_path;
++%rename(qpol_module_get_name) qpol_module_wrap_get_name;
++%rename(qpol_module_get_version) qpol_module_wrap_get_version;
++%rename(qpol_module_get_type) qpol_module_wrap_get_type;
++%rename(qpol_module_get_enabled) qpol_module_wrap_get_enabled;
++%rename(qpol_module_set_enabled) qpol_module_wrap_set_enabled;
++%extend qpol_module {
+       qpol_module(const char *path) {
+               qpol_module_t *m;
+               BEGIN_EXCEPTION
+@@ -242,7 +248,7 @@
+       ~qpol_module() {
+               qpol_module_destroy(&self);
+       };
+-      const char *get_path() {
++      const char *wrap_get_path() {
+               const char *p;
+               BEGIN_EXCEPTION
+               if (qpol_module_get_path(self, &p)) {
+@@ -253,7 +259,7 @@
+       fail:
+               return NULL;
+       };
+-      const char *get_name() {
++      const char *wrap_get_name() {
+               const char *n;
+               BEGIN_EXCEPTION
+               if (qpol_module_get_name(self, &n)) {
+@@ -264,7 +270,7 @@
+       fail:
+                       return NULL;
+       };
+-      const char *get_version() {
++      const char *wrap_get_version() {
+               const char *v;
+               BEGIN_EXCEPTION
+               if (qpol_module_get_version(self, &v)) {
+@@ -275,7 +281,7 @@
+       fail:
+                       return NULL;
+       };
+-      int get_type() {
++      int wrap_get_type() {
+               int t;
+               BEGIN_EXCEPTION
+               if (qpol_module_get_type(self, &t)) {
+@@ -285,7 +291,7 @@
+       fail:
+               return t;
+       };
+-      int get_enabled() {
++      int wrap_get_enabled() {
+               int e;
+               BEGIN_EXCEPTION
+               if (qpol_module_get_enabled(self, &e)) {
+@@ -295,7 +301,7 @@
+       fail:
+                       return e;
+       };
+-      void set_enabled(int state) {
++      void wrap_set_enabled(int state) {
+               BEGIN_EXCEPTION
+               if (qpol_module_set_enabled(self, state)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set module state");
+@@ -329,7 +335,36 @@
+       QPOL_CAP_NEVERALLOW
+ } qpol_capability_e;
+-%extend qpol_policy_t {
++%rename(qpol_policy_reevaluate_conds) qpol_policy_wrap_reevaluate_conds;
++%rename(qpol_policy_append_module) qpol_policy_wrap_append_module;
++%rename(qpol_policy_rebuild) qpol_policy_wrap_rebuild;
++%rename(qpol_policy_get_type) qpol_policy_wrap_get_type;
++%rename(qpol_policy_has_capability) qpol_policy_wrap_has_capability;
++%rename(qpol_policy_build_syn_rule_table) qpol_policy_wrap_build_syn_rule_table;
++%rename(qpol_policy_get_module_iter) qpol_policy_wrap_get_module_iter;
++%rename(qpol_policy_get_type_iter) qpol_policy_wrap_get_type_iter;
++%rename(qpol_policy_get_role_iter) qpol_policy_wrap_get_role_iter;
++%rename(qpol_policy_get_level_iter) qpol_policy_wrap_get_level_iter;
++%rename(qpol_policy_get_cat_iter) qpol_policy_wrap_get_cat_iter;
++%rename(qpol_policy_get_user_iter) qpol_policy_wrap_get_user_iter;
++%rename(qpol_policy_get_bool_iter) qpol_policy_wrap_get_bool_iter;
++%rename(qpol_policy_get_class_iter) qpol_policy_wrap_get_class_iter;
++%rename(qpol_policy_get_common_iter) qpol_policy_wrap_get_common_iter;
++%rename(qpol_policy_get_fs_use_iter) qpol_policy_wrap_get_fs_use_iter;
++%rename(qpol_policy_get_genfscon_iter) qpol_policy_wrap_get_genfscon_iter;
++%rename(qpol_policy_get_isid_iter) qpol_policy_wrap_get_isid_iter;
++%rename(qpol_policy_get_netifcon_iter) qpol_policy_wrap_get_netifcon_iter;
++%rename(qpol_policy_get_nodecon_iter) qpol_policy_wrap_get_nodecon_iter;
++%rename(qpol_policy_get_portcon_iter) qpol_policy_wrap_get_portcon_iter;
++%rename(qpol_policy_get_constraint_iter) qpol_policy_wrap_get_constraint_iter;
++%rename(qpol_policy_get_validatetrans_iter) qpol_policy_wrap_get_validatetrans_iter;
++%rename(qpol_policy_get_role_allow_iter) qpol_policy_wrap_get_role_allow_iter;
++%rename(qpol_policy_get_role_trans_iter) qpol_policy_wrap_get_role_trans_iter;
++%rename(qpol_policy_get_range_trans_iter) qpol_policy_wrap_get_range_trans_iter;
++%rename(qpol_policy_get_avrule_iter) qpol_policy_wrap_get_avrule_iter;
++%rename(qpol_policy_get_terule_iter) qpol_policy_wrap_get_terule_iter;
++%rename(qpol_policy_get_cond_iter) qpol_policy_wrap_get_cond_iter;
++%extend qpol_policy {
+       qpol_policy(const char *path, const int options) {
+               qpol_policy_t *p;
+               BEGIN_EXCEPTION
+@@ -344,7 +379,7 @@
+       ~qpol_policy() {
+               qpol_policy_destroy(&self);
+       };
+-      void reevaluate_conds() {
++      void wrap_reevaluate_conds() {
+               BEGIN_EXCEPTION
+               if (qpol_policy_reevaluate_conds(self)) {
+                       SWIG_exception(SWIG_ValueError, "Error evaluating conditional expressions");
+@@ -353,7 +388,7 @@
+       fail:
+               return;
+       };
+-      void append_module(qpol_module_t *mod) {
++      void wrap_append_module(qpol_module_t *mod) {
+               BEGIN_EXCEPTION
+               if (qpol_policy_append_module(self, mod)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of Memory");
+@@ -362,7 +397,7 @@
+       fail:
+               return;
+       };
+-      void rebuild (const int options) {
++      void wrap_rebuild (const int options) {
+               BEGIN_EXCEPTION
+               if (qpol_policy_rebuild(self, options)) {
+                       SWIG_exception(SWIG_RuntimeError, "Failed rebuilding policy");
+@@ -371,20 +406,20 @@
+       fail:
+               return;
+       };
+-      int get_version () {
++      int wrap_get_version () {
+               unsigned int v;
+               (void)qpol_policy_get_policy_version(self, &v); /* only error is on null parameters neither can be here */
+               return (int) v;
+       };
+-      int get_type () {
++      int wrap_get_type () {
+               int t;
+               (void)qpol_policy_get_type(self, &t); /* only error is on null parameters neither can be here */
+               return t;
+       };
+-      int has_capability (qpol_capability_e cap) {
++      int wrap_has_capability (qpol_capability_e cap) {
+               return qpol_policy_has_capability(self, cap);
+       };
+-      void build_syn_rule_table() {
++      void wrap_build_syn_rule_table() {
+               BEGIN_EXCEPTION
+               if (qpol_policy_build_syn_rule_table(self)) {
+                       SWIG_exception(SWIG_MemoryError, "Out of Memory");
+@@ -394,7 +429,7 @@
+               return;
+       };
+       %newobject get_module_iter();
+-      qpol_iterator_t *get_module_iter() {
++      qpol_iterator_t *wrap_get_module_iter() {
+               BEGIN_EXCEPTION
+               qpol_iterator_t *iter;
+               if (qpol_policy_get_module_iter(self, &iter)) {
+@@ -406,7 +441,7 @@
+               return NULL;
+       };
+       %newobject get_type_iter();
+-      qpol_iterator_t *get_type_iter() {
++      qpol_iterator_t *wrap_get_type_iter() {
+               BEGIN_EXCEPTION
+               qpol_iterator_t *iter;
+               if (qpol_policy_get_type_iter(self, &iter)) {
+@@ -418,7 +453,7 @@
+               return NULL;
+       };
+       %newobject get_role_iter();
+-      qpol_iterator_t *get_role_iter() {
++      qpol_iterator_t *wrap_get_role_iter() {
+               BEGIN_EXCEPTION
+               qpol_iterator_t *iter;
+               if (qpol_policy_get_role_iter(self, &iter)) {
+@@ -430,7 +465,7 @@
+               return NULL;
+       };
+       %newobject get_level_iter();
+-      qpol_iterator_t *get_level_iter() {
++      qpol_iterator_t *wrap_get_level_iter() {
+               BEGIN_EXCEPTION
+               qpol_iterator_t *iter;
+               if (qpol_policy_get_level_iter(self, &iter)) {
+@@ -442,7 +477,7 @@
+               return NULL;
+       };
+       %newobject get_cat_iter();
+-      qpol_iterator_t *get_cat_iter() {
++      qpol_iterator_t *wrap_get_cat_iter() {
+               BEGIN_EXCEPTION
+               qpol_iterator_t *iter;
+               if (qpol_policy_get_cat_iter(self, &iter)) {
+@@ -454,7 +489,7 @@
+               return NULL;
+       };
+       %newobject get_user_iter();
+-      qpol_iterator_t *get_user_iter() {
++      qpol_iterator_t *wrap_get_user_iter() {
+               BEGIN_EXCEPTION
+               qpol_iterator_t *iter;
+               if (qpol_policy_get_user_iter(self, &iter)) {
+@@ -466,7 +501,7 @@
+               return NULL;
+       };
+       %newobject get_bool_iter();
+-      qpol_iterator_t *get_bool_iter() {
++      qpol_iterator_t *wrap_get_bool_iter() {
+               BEGIN_EXCEPTION
+               qpol_iterator_t *iter;
+               if (qpol_policy_get_bool_iter(self, &iter)) {
+@@ -478,7 +513,7 @@
+               return NULL;
+       };
+       %newobject get_class_iter(char*);
+-      qpol_iterator_t *get_class_iter(char *perm=NULL) {
++      qpol_iterator_t *wrap_get_class_iter(char *perm=NULL) {
+               BEGIN_EXCEPTION
+               qpol_iterator_t *iter;
+               if (perm) {
+@@ -496,7 +531,7 @@
+               return NULL;
+       };
+       %newobject get_common_iter(char*);
+-      qpol_iterator_t *get_common_iter(char *perm=NULL) {
++      qpol_iterator_t *wrap_get_common_iter(char *perm=NULL) {
+               BEGIN_EXCEPTION
+               qpol_iterator_t *iter;
+               if (perm) {
+@@ -514,7 +549,7 @@
+               return NULL;
+       };
+       %newobject get_fs_use_iter();
+-      qpol_iterator_t *get_fs_use_iter() {
++      qpol_iterator_t *wrap_get_fs_use_iter() {
+               BEGIN_EXCEPTION
+               qpol_iterator_t *iter;
+               if (qpol_policy_get_fs_use_iter(self, &iter)) {
+@@ -526,7 +561,7 @@
+               return NULL;
+       };
+       %newobject get_genfscon_iter();
+-      qpol_iterator_t *get_genfscon_iter() {
++      qpol_iterator_t *wrap_get_genfscon_iter() {
+               BEGIN_EXCEPTION
+               qpol_iterator_t *iter;
+               if (qpol_policy_get_genfscon_iter(self, &iter)) {
+@@ -538,7 +573,7 @@
+               return NULL;
+       };
+       %newobject get_isid_iter();
+-      qpol_iterator_t *get_isid_iter() {
++      qpol_iterator_t *wrap_get_isid_iter() {
+               BEGIN_EXCEPTION
+               qpol_iterator_t *iter;
+               if (qpol_policy_get_isid_iter(self, &iter)) {
+@@ -550,7 +585,7 @@
+               return NULL;
+       };
+       %newobject get_netifcon_iter();
+-      qpol_iterator_t *get_netifcon_iter() {
++      qpol_iterator_t *wrap_get_netifcon_iter() {
+               BEGIN_EXCEPTION
+               qpol_iterator_t *iter;
+               if (qpol_policy_get_netifcon_iter(self, &iter)) {
+@@ -562,7 +597,7 @@
+                       return NULL;
+       };
+       %newobject get_nodecon_iter();
+-      qpol_iterator_t *get_nodecon_iter() {
++      qpol_iterator_t *wrap_get_nodecon_iter() {
+               BEGIN_EXCEPTION
+               qpol_iterator_t *iter;
+               if (qpol_policy_get_nodecon_iter(self, &iter)) {
+@@ -574,7 +609,7 @@
+               return NULL;
+       };
+       %newobject get_portcon_iter();
+-      qpol_iterator_t *get_portcon_iter() {
++      qpol_iterator_t *wrap_get_portcon_iter() {
+               BEGIN_EXCEPTION
+               qpol_iterator_t *iter;
+               if (qpol_policy_get_portcon_iter(self, &iter)) {
+@@ -586,7 +621,7 @@
+               return NULL;
+       };
+       %newobject get_constraint_iter();
+-      qpol_iterator_t *get_constraint_iter() {
++      qpol_iterator_t *wrap_get_constraint_iter() {
+               BEGIN_EXCEPTION
+               qpol_iterator_t *iter;
+               if (qpol_policy_get_constraint_iter(self, &iter)) {
+@@ -598,7 +633,7 @@
+               return NULL;
+       };
+       %newobject get_validatetrans_iter();
+-      qpol_iterator_t *get_validatetrans_iter() {
++      qpol_iterator_t *wrap_get_validatetrans_iter() {
+               BEGIN_EXCEPTION
+               qpol_iterator_t *iter;
+               if (qpol_policy_get_validatetrans_iter(self, &iter)) {
+@@ -610,7 +645,7 @@
+               return NULL;
+       };
+       %newobject get_role_allow_iter();
+-      qpol_iterator_t *get_role_allow_iter() {
++      qpol_iterator_t *wrap_get_role_allow_iter() {
+               BEGIN_EXCEPTION
+               qpol_iterator_t *iter;
+               if (qpol_policy_get_role_allow_iter(self, &iter)) {
+@@ -622,7 +657,7 @@
+               return NULL;
+       };
+       %newobject get_role_trans_iter();
+-      qpol_iterator_t *get_role_trans_iter() {
++      qpol_iterator_t *wrap_get_role_trans_iter() {
+               BEGIN_EXCEPTION
+               qpol_iterator_t *iter;
+               if (qpol_policy_get_role_trans_iter(self, &iter)) {
+@@ -634,7 +669,7 @@
+               return NULL;
+       };
+       %newobject get_range_trans_iter();
+-      qpol_iterator_t *get_range_trans_iter() {
++      qpol_iterator_t *wrap_get_range_trans_iter() {
+               BEGIN_EXCEPTION
+               qpol_iterator_t *iter;
+               if (qpol_policy_get_range_trans_iter(self, &iter)) {
+@@ -646,7 +681,7 @@
+               return NULL;
+       };
+       %newobject get_avrule_iter(int);
+-      qpol_iterator_t *get_avrule_iter(int rule_types) {
++      qpol_iterator_t *wrap_get_avrule_iter(int rule_types) {
+               BEGIN_EXCEPTION
+               qpol_iterator_t *iter;
+               if (qpol_policy_get_avrule_iter(self, rule_types, &iter)) {
+@@ -658,7 +693,7 @@
+               return NULL;
+       };
+       %newobject get_terule_iter(int);
+-      qpol_iterator_t *get_terule_iter(int rule_types) {
++      qpol_iterator_t *wrap_get_terule_iter(int rule_types) {
+               BEGIN_EXCEPTION
+               qpol_iterator_t *iter;
+               if (qpol_policy_get_terule_iter(self, rule_types, &iter)) {
+@@ -670,7 +705,7 @@
+               return NULL;
+       };
+       %newobject get_cond_iter();
+-      qpol_iterator_t *get_cond_iter() {
++      qpol_iterator_t *wrap_get_cond_iter() {
+               BEGIN_EXCEPTION
+               qpol_iterator_t *iter;
+               if (qpol_policy_get_cond_iter(self, &iter)) {
+@@ -685,7 +720,11 @@
+ /* qpol iterator */
+ typedef struct qpol_iterator {} qpol_iterator_t;
+-%extend qpol_iterator_t {
++%rename(qpol_iterator_get_item) qpol_iterator_wrap_get_item;
++%rename(qpol_iterator_next) qpol_iterator_wrap_next;
++%rename(qpol_iterator_end) qpol_iterator_wrap_end;
++%rename(qpol_iterator_get_size) qpol_iterator_wrap_get_size;
++%extend qpol_iterator {
+       /* user never directly creates, but SWIG expects a constructor */
+       qpol_iterator() {
+               BEGIN_EXCEPTION
+@@ -697,7 +736,7 @@
+       ~qpol_iterator() {
+               qpol_iterator_destroy(&self);
+       };
+-      void *get_item() {
++      void *wrap_get_item() {
+               BEGIN_EXCEPTION
+               void *i;
+               if (qpol_iterator_get_item(self, &i)) {
+@@ -708,7 +747,7 @@
+       fail:
+               return NULL;
+       };
+-      void next() {
++      void wrap_next() {
+               BEGIN_EXCEPTION
+               if (qpol_iterator_next(self)) {
+                       SWIG_exception(SWIG_RuntimeError, "Error advancing iterator");
+@@ -717,10 +756,10 @@
+       fail:
+               return;
+       };
+-      int end() {
++      int wrap_end() {
+               return qpol_iterator_end(self);
+       };
+-      size_t get_size() {
++      size_t wrap_get_size() {
+               BEGIN_EXCEPTION
+               size_t s;
+               if (qpol_iterator_get_size(self, &s)) {
+@@ -735,7 +774,15 @@
+ /* qpol type */
+ typedef struct qpol_type {} qpol_type_t;
+-%extend qpol_type_t {
++%rename(qpol_type_get_name) qpol_type_wrap_get_name;
++%rename(qpol_type_get_value) qpol_type_wrap_get_value;
++%rename(qpol_type_get_isalias) qpol_type_wrap_get_isalias;
++%rename(qpol_type_get_isattr) qpol_type_wrap_get_isattr;
++%rename(qpol_type_get_ispermissive) qpol_type_wrap_get_ispermissive;
++%rename(qpol_type_get_type_iter) qpol_type_wrap_get_type_iter;
++%rename(qpol_type_get_attr_iter) qpol_type_wrap_get_attr_iter;
++%rename(qpol_type_get_alias_iter) qpol_type_wrap_get_alias_iter;
++%extend qpol_type {
+       qpol_type(qpol_policy_t *p, const char *name) {
+               BEGIN_EXCEPTION
+               const qpol_type_t *t;
+@@ -751,7 +798,7 @@
+               /* no op */
+               return;
+       };
+-      const char *get_name(qpol_policy_t *p) {
++      const char *wrap_get_name(qpol_policy_t *p) {
+               BEGIN_EXCEPTION
+               const char *name;
+               if (qpol_type_get_name(p, self, &name)) {
+@@ -762,7 +809,7 @@
+       fail:
+               return NULL;
+       };
+-      int get_value(qpol_policy_t *p) {
++      int wrap_get_value(qpol_policy_t *p) {
+               uint32_t v;
+               BEGIN_EXCEPTION
+               if (qpol_type_get_value(p, self, &v)) {
+@@ -772,7 +819,7 @@
+       fail:
+               return (int) v;
+       };
+-      int get_isalias(qpol_policy_t *p) {
++      int wrap_get_isalias(qpol_policy_t *p) {
+               unsigned char i;
+               BEGIN_EXCEPTION
+               if (qpol_type_get_isalias(p, self, &i)) {
+@@ -782,7 +829,7 @@
+       fail:
+               return (int)i;
+       };
+-      int get_isattr(qpol_policy_t *p) {
++      int wrap_get_isattr(qpol_policy_t *p) {
+               unsigned char i;
+               BEGIN_EXCEPTION
+               if (qpol_type_get_isattr(p, self, &i)) {
+@@ -792,7 +839,7 @@
+       fail:
+               return (int)i;
+       };
+-      int get_ispermissive(qpol_policy_t *p) {
++      int wrap_get_ispermissive(qpol_policy_t *p) {
+               unsigned char i;
+               BEGIN_EXCEPTION
+               if (qpol_type_get_ispermissive(p, self, &i)) {
+@@ -803,7 +850,7 @@
+               return (int)i;
+       };
+       %newobject get_type_iter(qpol_policy_t*);
+-      qpol_iterator_t *get_type_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_type_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               int retv = qpol_type_get_type_iter(p, self, &iter);
+@@ -817,7 +864,7 @@
+               return iter;
+       };
+       %newobject get_attr_iter(qpol_policy_t*);
+-      qpol_iterator_t *get_attr_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_attr_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               int retv = qpol_type_get_attr_iter(p, self, &iter);
+@@ -831,7 +878,7 @@
+               return iter;
+       };
+       %newobject get_alias_iter(qpol_policy_t*);
+-      qpol_iterator_t *get_alias_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_alias_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if (qpol_type_get_alias_iter(p, self, &iter)) {
+@@ -850,7 +897,11 @@
+ /* qpol role */
+ typedef struct qpol_role {} qpol_role_t;
+-%extend qpol_role_t {
++%rename(qpol_role_get_value) qpol_role_wrap_get_value;
++%rename(qpol_role_get_name) qpol_role_wrap_get_name;
++%rename(qpol_role_get_type_iter) qpol_role_wrap_get_type_iter;
++%rename(qpol_role_get_dominate_iter) qpol_role_wrap_get_dominate_iter;
++%extend qpol_role {
+       qpol_role(qpol_policy_t *p, const char *name) {
+               const qpol_role_t *r;
+               BEGIN_EXCEPTION
+@@ -866,7 +917,7 @@
+               /* no op */
+               return;
+       };
+-      int get_value (qpol_policy_t *p) {
++      int wrap_get_value (qpol_policy_t *p) {
+               uint32_t v;
+               BEGIN_EXCEPTION
+               if (qpol_role_get_value(p, self, &v)) {
+@@ -876,7 +927,7 @@
+       fail:
+               return (int) v;
+       };
+-      const char *get_name(qpol_policy_t *p) {
++      const char *wrap_get_name(qpol_policy_t *p) {
+               const char *name;
+               BEGIN_EXCEPTION
+               if (qpol_role_get_name(p, self, &name)) {
+@@ -888,7 +939,7 @@
+               return NULL;
+       };
+       %newobject get_type_iter(qpol_policy_t*);
+-      qpol_iterator_t *get_type_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_type_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if (qpol_role_get_type_iter(p, self, &iter)) {
+@@ -899,7 +950,7 @@
+               return iter;
+       };
+       %newobject get_dominate_iter(qpol_policy_t*);
+-      qpol_iterator_t *get_dominate_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_dominate_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if (qpol_role_get_dominate_iter(p, self, &iter)) {
+@@ -918,7 +969,12 @@
+ /* qpol level */
+ typedef struct qpol_level {} qpol_level_t;
+-%extend qpol_level_t {
++%rename(qpol_level_get_isalias) qpol_level_wrap_get_isalias;
++%rename(qpol_level_get_value) qpol_level_wrap_get_value;
++%rename(qpol_level_get_name) qpol_level_wrap_get_name;
++%rename(qpol_level_get_cat_iter) qpol_level_wrap_get_cat_iter;
++%rename(qpol_level_get_alias_iter) qpol_level_wrap_get_alias_iter;
++%extend qpol_level {
+       qpol_level(qpol_policy_t *p, const char *name) {
+               const qpol_level_t *l;
+               BEGIN_EXCEPTION
+@@ -934,7 +990,7 @@
+               /* no op */
+               return;
+       };
+-      int get_isalias(qpol_policy_t *p) {
++      int wrap_get_isalias(qpol_policy_t *p) {
+               unsigned char i;
+               BEGIN_EXCEPTION
+               if (qpol_level_get_isalias(p, self, &i)) {
+@@ -944,7 +1000,7 @@
+       fail:
+                       return (int)i;
+       };
+-      int get_value(qpol_policy_t *p) {
++      int wrap_get_value(qpol_policy_t *p) {
+               uint32_t v;
+               BEGIN_EXCEPTION
+               if (qpol_level_get_value(p, self, &v)) {
+@@ -954,7 +1010,7 @@
+       fail:
+               return (int) v;
+       };
+-      const char *get_name(qpol_policy_t *p) {
++      const char *wrap_get_name(qpol_policy_t *p) {
+               const char *name;
+               BEGIN_EXCEPTION
+               if (qpol_level_get_name(p, self, &name)) {
+@@ -966,7 +1022,7 @@
+               return NULL;
+       };
+       %newobject get_cat_iter(qpol_policy_t*);
+-      qpol_iterator_t *get_cat_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_cat_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if (qpol_level_get_cat_iter(p, self, &iter)) {
+@@ -977,7 +1033,7 @@
+               return iter;
+       };
+       %newobject get_alias_iter(qpol_policy_t*);
+-      qpol_iterator_t *get_alias_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_alias_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if (qpol_level_get_alias_iter(p, self, &iter)) {
+@@ -996,7 +1052,11 @@
+ /* qpol cat */
+ typedef struct qpol_cat {} qpol_cat_t;
+-%extend qpol_cat_t {
++%rename(qpol_cat_get_isalias) qpol_cat_wrap_get_isalias;
++%rename(qpol_cat_get_value) qpol_cat_wrap_get_value;
++%rename(qpol_cat_get_name) qpol_cat_wrap_get_name;
++%rename(qpol_cat_get_alias_iter) qpol_cat_wrap_get_alias_iter;
++%extend qpol_cat {
+       qpol_cat(qpol_policy_t *p, const char *name) {
+               const qpol_cat_t *c;
+               BEGIN_EXCEPTION
+@@ -1012,7 +1072,7 @@
+               /* no op */
+               return;
+       };
+-      int get_isalias(qpol_policy_t *p) {
++      int wrap_get_isalias(qpol_policy_t *p) {
+               unsigned char i;
+               BEGIN_EXCEPTION
+               if (qpol_cat_get_isalias(p, self, &i)) {
+@@ -1022,7 +1082,7 @@
+       fail:
+                       return (int)i;
+       };
+-      int get_value(qpol_policy_t *p) {
++      int wrap_get_value(qpol_policy_t *p) {
+               uint32_t v;
+               BEGIN_EXCEPTION
+               if (qpol_cat_get_value(p, self, &v)) {
+@@ -1032,7 +1092,7 @@
+       fail:
+               return (int) v;
+       };
+-      const char *get_name(qpol_policy_t *p) {
++      const char *wrap_get_name(qpol_policy_t *p) {
+               const char *name;
+               BEGIN_EXCEPTION
+               if (qpol_cat_get_name(p, self, &name)) {
+@@ -1044,7 +1104,7 @@
+               return NULL;
+       };
+       %newobject get_alias_iter(qpol_policy_t*);
+-      qpol_iterator_t *get_alias_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_alias_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if (qpol_cat_get_alias_iter(p, self, &iter)) {
+@@ -1063,7 +1123,9 @@
+ /* qpol mls range */
+ typedef struct qpol_mls_range {} qpol_mls_range_t;
+-%extend qpol_mls_range_t {
++%rename(qpol_mls_range_get_high_level) qpol_mls_range_wrap_get_high_level;
++%rename(qpol_mls_range_get_low_level) qpol_mls_range_wrap_get_low_level;
++%extend qpol_mls_range {
+       qpol_mls_range() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_mls_range_t objects");
+@@ -1075,7 +1137,7 @@
+               /* no op */
+               return;
+       };
+-      const qpol_mls_level_t *get_high_level(qpol_policy_t *p) {
++      const qpol_mls_level_t *wrap_get_high_level(qpol_policy_t *p) {
+               const qpol_mls_level_t *l;
+               BEGIN_EXCEPTION
+               if (qpol_mls_range_get_high_level(p, self, &l)) {
+@@ -1085,7 +1147,7 @@
+       fail:
+               return l;
+       };
+-      const qpol_mls_level_t *get_low_level(qpol_policy_t *p) {
++      const qpol_mls_level_t *wrap_get_low_level(qpol_policy_t *p) {
+               const qpol_mls_level_t *l;
+               BEGIN_EXCEPTION
+               if (qpol_mls_range_get_low_level(p, self, &l)) {
+@@ -1104,7 +1166,9 @@
+ /* qpol mls level */
+ typedef struct qpol_mls_level {} qpol_mls_level_t;
+-%extend qpol_mls_level_t {
++%rename(qpol_mls_level_get_sens_name) qpol_mls_level_wrap_get_sens_name;
++%rename(qpol_mls_level_get_cat_iter) qpol_mls_level_wrap_get_cat_iter;
++%extend qpol_mls_level {
+       qpol_mls_level() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_mls_level_t objects");
+@@ -1116,7 +1180,7 @@
+               /* no op */
+               return;
+       };
+-      const char *get_sens_name(qpol_policy_t *p) {
++      const char *wrap_get_sens_name(qpol_policy_t *p) {
+               const char *name;
+               BEGIN_EXCEPTION
+               if (qpol_mls_level_get_sens_name(p, self, &name)) {
+@@ -1127,7 +1191,7 @@
+               return name;
+       };
+       %newobject get_cat_iter(qpol_policy_t*);
+-      qpol_iterator_t *get_cat_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_cat_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if (qpol_mls_level_get_cat_iter(p, self, &iter)) {
+@@ -1146,7 +1210,12 @@
+ /* qpol user */
+ typedef struct qpol_user {} qpol_user_t;
+-%extend qpol_user_t {
++%rename(qpol_user_get_value) qpol_user_wrap_get_value;
++%rename(qpol_user_get_role_iter) qpol_user_wrap_get_role_iter;
++%rename(qpol_user_get_range) qpol_user_wrap_get_range;
++%rename(qpol_user_get_name) qpol_user_wrap_get_name;
++%rename(qpol_user_get_dfltlevel) qpol_user_wrap_get_dfltlevel;
++%extend qpol_user {
+       qpol_user(qpol_policy_t *p, const char *name) {
+               const qpol_user_t *u;
+               BEGIN_EXCEPTION
+@@ -1162,7 +1231,7 @@
+               /* no op */
+               return;
+       };
+-      int get_value(qpol_policy_t *p) {
++      int wrap_get_value(qpol_policy_t *p) {
+               uint32_t v;
+               BEGIN_EXCEPTION
+               if (qpol_user_get_value(p, self, &v)) {
+@@ -1173,7 +1242,7 @@
+               return (int) v;
+       };
+       %newobject get_role_iter(qpol_policy_t*);
+-      qpol_iterator_t *get_role_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_role_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if (qpol_user_get_role_iter(p, self, &iter)) {
+@@ -1183,7 +1252,7 @@
+       fail:
+               return iter;
+       };
+-      const qpol_mls_range_t *get_range(qpol_policy_t *p) {
++      const qpol_mls_range_t *wrap_get_range(qpol_policy_t *p) {
+               const qpol_mls_range_t *r;
+               BEGIN_EXCEPTION
+               if (qpol_user_get_range(p, self, &r)) {
+@@ -1193,7 +1262,7 @@
+       fail:
+               return r;
+       };
+-      const char *get_name(qpol_policy_t *p) {
++      const char *wrap_get_name(qpol_policy_t *p) {
+               const char *name;
+               BEGIN_EXCEPTION
+               if (qpol_user_get_name(p, self, &name)) {
+@@ -1203,7 +1272,7 @@
+       fail:
+               return name;
+       };
+-      const qpol_mls_level_t *get_dfltlevel(qpol_policy_t *p) {
++      const qpol_mls_level_t *wrap_get_dfltlevel(qpol_policy_t *p) {
+               const qpol_mls_level_t *l;
+               BEGIN_EXCEPTION
+               if (qpol_user_get_dfltlevel(p, self, &l)) {
+@@ -1222,7 +1291,12 @@
+ /* qpol bool */
+ typedef struct qpol_bool {} qpol_bool_t;
+-%extend qpol_bool_t {
++%rename(qpol_bool_get_value) qpol_bool_wrap_get_value;
++%rename(qpol_bool_get_state) qpol_bool_wrap_get_state;
++%rename(qpol_bool_set_state) qpol_bool_wrap_set_state;
++%rename(qpol_bool_set_state_no_eval) qpol_bool_wrap_set_state_no_eval;
++%rename(qpol_bool_get_name) qpol_bool_wrap_get_name;
++%extend qpol_bool {
+       qpol_bool(qpol_policy_t *p, const char *name) {
+               qpol_bool_t *b;
+               BEGIN_EXCEPTION
+@@ -1237,7 +1311,7 @@
+               /* no op */
+               return;
+       };
+-      int get_value(qpol_policy_t *p) {
++      int wrap_get_value(qpol_policy_t *p) {
+               uint32_t v;
+               BEGIN_EXCEPTION
+               if (qpol_bool_get_value(p, self, &v)) {
+@@ -1247,7 +1321,7 @@
+       fail:
+               return (int) v;
+       };
+-      int get_state(qpol_policy_t *p) {
++      int wrap_get_state(qpol_policy_t *p) {
+               int s;
+               BEGIN_EXCEPTION
+               if (qpol_bool_get_state(p, self, &s)) {
+@@ -1257,7 +1331,7 @@
+       fail:
+               return s;
+       };
+-      void set_state(qpol_policy_t *p, int state) {
++      void wrap_set_state(qpol_policy_t *p, int state) {
+               BEGIN_EXCEPTION
+               if (qpol_bool_set_state(p, self, state)) {
+                       SWIG_exception(SWIG_RuntimeError, "Error setting boolean state");
+@@ -1266,7 +1340,7 @@
+       fail:
+               return;
+       };
+-      void set_state_no_eval(qpol_policy_t *p, int state) {
++      void wrap_set_state_no_eval(qpol_policy_t *p, int state) {
+               BEGIN_EXCEPTION
+               if (qpol_bool_set_state_no_eval(p, self, state)) {
+                       SWIG_exception(SWIG_RuntimeError, "Error setting boolean state");
+@@ -1275,7 +1349,7 @@
+       fail:
+               return;
+       };
+-      const char *get_name(qpol_policy_t *p) {
++      const char *wrap_get_name(qpol_policy_t *p) {
+               const char *name;
+               BEGIN_EXCEPTION
+               if (qpol_bool_get_name(p, self, &name)) {
+@@ -1294,7 +1368,11 @@
+ /* qpol context */
+ typedef struct qpol_context {} qpol_context_t;
+-%extend qpol_context_t {
++%rename(qpol_context_get_user) qpol_context_wrap_get_user;
++%rename(qpol_context_get_role) qpol_context_wrap_get_rule;
++%rename(qpol_context_get_type) qpol_context_wrap_get_type;
++%rename(qpol_context_get_range) qpol_context_wrap_get_range;
++%extend qpol_context {
+       qpol_context() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_context_t objects");
+@@ -1306,7 +1384,7 @@
+               /* no op */
+               return;
+       };
+-       const qpol_user_t *get_user(qpol_policy_t *p) {
++       const qpol_user_t *wrap_get_user(qpol_policy_t *p) {
+               const qpol_user_t *u;
+               BEGIN_EXCEPTION
+               if (qpol_context_get_user(p, self, &u)) {
+@@ -1316,7 +1394,7 @@
+       fail:
+               return u;
+        };
+-       const qpol_role_t *get_role(qpol_policy_t *p) {
++       const qpol_role_t *wrap_get_role(qpol_policy_t *p) {
+               const qpol_role_t *r;
+               BEGIN_EXCEPTION
+               if (qpol_context_get_role(p, self, &r)) {
+@@ -1326,7 +1404,7 @@
+       fail:
+               return r;
+        };
+-       const qpol_type_t *get_type(qpol_policy_t *p) {
++       const qpol_type_t *wrap_get_type(qpol_policy_t *p) {
+               const qpol_type_t *t;
+               BEGIN_EXCEPTION
+               if (qpol_context_get_type(p, self, &t)) {
+@@ -1336,7 +1414,7 @@
+       fail:
+               return t;
+        };
+-       const qpol_mls_range_t *get_range(qpol_policy_t *p) {
++       const qpol_mls_range_t *wrap_get_range(qpol_policy_t *p) {
+               const qpol_mls_range_t *r;
+               BEGIN_EXCEPTION
+               if (qpol_context_get_range(p, self, &r)) {
+@@ -1355,7 +1433,13 @@
+ /* qpol class */
+ typedef struct qpol_class {} qpol_class_t;
+-%extend qpol_class_t {
++%rename(qpol_class_get_value) qpol_class_wrap_get_value;
++%rename(qpol_class_get_common) qpol_class_wrap_get_common;
++%rename(qpol_class_get_perm_iter) qpol_class_wrap_get_perm_iter;
++%rename(qpol_class_get_constraint_iter) qpol_class_wrap_get_constraint_iter;
++%rename(qpol_class_get_validatetrans_iter) qpol_class_wrap_get_validatetrans_iter;
++%rename(qpol_calss_get_name) qpol_class_wrap_get_name;
++%extend qpol_class {
+       qpol_class(qpol_policy_t *p, const char *name) {
+               const qpol_class_t *c;
+               BEGIN_EXCEPTION
+@@ -1370,7 +1454,7 @@
+               /* no op */
+               return;
+       };
+-      int get_value(qpol_policy_t *p) {
++      int wrap_get_value(qpol_policy_t *p) {
+               uint32_t v;
+               BEGIN_EXCEPTION
+               if (qpol_class_get_value(p, self, &v)) {
+@@ -1380,7 +1464,7 @@
+       fail:
+               return (int) v;
+       };
+-      const qpol_common_t *get_common(qpol_policy_t *p) {
++      const qpol_common_t *wrap_get_common(qpol_policy_t *p) {
+               const qpol_common_t *c;
+               BEGIN_EXCEPTION
+               if(qpol_class_get_common(p, self, &c)) {
+@@ -1391,7 +1475,7 @@
+               return c;
+       };
+       %newobject get_perm_iter(qpol_policy_t*);
+-      qpol_iterator_t *get_perm_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_perm_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if(qpol_class_get_perm_iter(p, self, &iter)) {
+@@ -1402,7 +1486,7 @@
+               return iter;
+       };
+       %newobject get_constraint_iter(qpol_policy_t*);
+-      qpol_iterator_t *get_constraint_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_constraint_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if(qpol_class_get_constraint_iter(p, self, &iter)) {
+@@ -1413,7 +1497,7 @@
+               return iter;
+       };
+       %newobject get_validatetrans_iter(qpol_policy_t*);
+-      qpol_iterator_t *get_validatetrans_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_validatetrans_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if(qpol_class_get_validatetrans_iter(p, self, &iter)) {
+@@ -1423,7 +1507,7 @@
+       fail:
+                       return iter;
+       };
+-      const char *get_name(qpol_policy_t *p) {
++      const char *wrap_get_name(qpol_policy_t *p) {
+               const char *name;
+               BEGIN_EXCEPTION
+               if (qpol_class_get_name(p, self, &name)) {
+@@ -1442,7 +1526,10 @@
+ /* qpol common */
+ typedef struct qpol_common {} qpol_common_t;
+-%extend qpol_common_t {
++%rename(qpol_common_get_value) qpol_common_wrap_get_value;
++%rename(qpol_common_get_perm_iter) qpol_common_wrap_get_perm_iter;
++%rename(qpol_common_get_name) qpol_common_wrap_get_name;
++%extend qpol_common {
+       qpol_common(qpol_policy_t *p, const char *name) {
+               const qpol_common_t *c;
+               BEGIN_EXCEPTION
+@@ -1457,7 +1544,7 @@
+               /* no op */
+               return;
+       };
+-      int get_value(qpol_policy_t *p) {
++      int wrap_get_value(qpol_policy_t *p) {
+               uint32_t v;
+               BEGIN_EXCEPTION
+               if (qpol_common_get_value(p, self, &v)) {
+@@ -1468,7 +1555,7 @@
+               return (int) v;
+       };
+       %newobject get_perm_iter(qpol_policy_t*);
+-      qpol_iterator_t *get_perm_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_perm_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if(qpol_common_get_perm_iter(p, self, &iter)) {
+@@ -1478,7 +1565,7 @@
+       fail:
+               return iter;
+       };
+-      const char *get_name(qpol_policy_t *p) {
++      const char *wrap_get_name(qpol_policy_t *p) {
+               const char *name;
+               BEGIN_EXCEPTION
+               if (qpol_common_get_name(p, self, &name)) {
+@@ -1515,8 +1602,11 @@
+ #define QPOL_FS_USE_PSID  6U
+ #endif
+ typedef struct qpol_fs_use {} qpol_fs_use_t;
++%rename(qpol_fs_use_get_name) qpol_fs_use_wrap_get_name;
++%rename(qpol_fs_use_get_behavior) qpol_fs_use_wrap_get_behavior;
++%rename(qpol_fs_use_get_context) qpol_fs_use_wrap_get_context;
+ %extend qpol_fs_use {
+-      qpol_fs_use_t(qpol_policy_t *p, const char *name) {
++      qpol_fs_use(qpol_policy_t *p, const char *name) {
+               const qpol_fs_use_t *f;
+               BEGIN_EXCEPTION
+               if (qpol_policy_get_fs_use_by_name(p, name, &f)) {
+@@ -1530,7 +1620,7 @@
+               /* no op */
+               return;
+       };
+-      const char *get_name(qpol_policy_t *p) {
++      const char *wrap_get_name(qpol_policy_t *p) {
+               const char *name;
+               BEGIN_EXCEPTION
+               if (qpol_fs_use_get_name(p, self, &name)) {
+@@ -1540,7 +1630,7 @@
+       fail:
+               return name;
+       };
+-      int get_behavior(qpol_policy_t *p) {
++      int wrap_get_behavior(qpol_policy_t *p) {
+               uint32_t behav;
+               BEGIN_EXCEPTION
+               if (qpol_fs_use_get_behavior(p, self, &behav)) {
+@@ -1550,7 +1640,7 @@
+       fail:
+               return (int) behav;
+       };
+-      const qpol_context_t *get_context(qpol_policy_t *p) {
++      const qpol_context_t *wrap_get_context(qpol_policy_t *p) {
+               uint32_t behav;
+               const qpol_context_t *ctx = NULL;
+               BEGIN_EXCEPTION
+@@ -1593,7 +1683,11 @@
+ #define QPOL_CLASS_SOCK_FILE 12U
+ #endif
+ typedef struct qpol_genfscon {} qpol_genfscon_t;
+-%extend qpol_genfscon_t {
++%rename(qpol_genfscon_get_name) qpol_genfscon_wrap_get_name;
++%rename(qpol_genfscon_get_path) qpol_genfscon_wrap_get_path;
++%rename(qpol_genfscon_get_class) qpol_genfscon_wrap_get_class;
++%rename(qpol_genfscon_get_context) qpol_genfscon_wrap_get_context;
++%extend qpol_genfscon {
+       qpol_genfscon(qpol_policy_t *p, const char *name, const char *path) {
+               qpol_genfscon_t *g;
+               BEGIN_EXCEPTION
+@@ -1607,7 +1701,7 @@
+       ~qpol_genfscon() {
+               free(self);
+       };
+-      const char *get_name(qpol_policy_t *p) {
++      const char *wrap_get_name(qpol_policy_t *p) {
+               const char *name;
+               BEGIN_EXCEPTION
+               if (qpol_genfscon_get_name(p, self, &name)) {
+@@ -1617,7 +1711,7 @@
+       fail:
+               return name;
+       };
+-      const char *get_path(qpol_policy_t *p) {
++      const char *wrap_get_path(qpol_policy_t *p) {
+               const char *path;
+               BEGIN_EXCEPTION
+               if (qpol_genfscon_get_path(p, self, &path)) {
+@@ -1627,7 +1721,7 @@
+       fail:
+               return path;
+       };
+-      int get_class(qpol_policy_t *p) {
++      int wrap_get_class(qpol_policy_t *p) {
+               uint32_t cls;
+               BEGIN_EXCEPTION
+               if (qpol_genfscon_get_class(p, self, &cls)) {
+@@ -1637,7 +1731,7 @@
+       fail:
+               return (int) cls;
+       };
+-      const qpol_context_t *get_context(qpol_policy_t *p) {
++      const qpol_context_t *wrap_get_context(qpol_policy_t *p) {
+               const qpol_context_t *ctx;
+               BEGIN_EXCEPTION
+               if (qpol_genfscon_get_context(p, self, &ctx)) {
+@@ -1656,8 +1750,10 @@
+ /* qpol isid */
+ typedef struct qpol_isid {} qpol_isid_t;
++%rename(qpol_isid_get_name) qpol_isid_wrap_get_name;
++%rename(qpol_isid_get_context) qpol_isid_wrap_get_context;
+ %extend qpol_isid {
+-      qpol_isid_t(qpol_policy_t *p, const char *name) {
++      qpol_isid(qpol_policy_t *p, const char *name) {
+               const qpol_isid_t *i;
+               BEGIN_EXCEPTION
+               if (qpol_policy_get_isid_by_name(p, name, &i)) {
+@@ -1671,7 +1767,7 @@
+               /* no op */
+               return;
+       };
+-      const char *get_name(qpol_policy_t *p) {
++      const char *wrap_get_name(qpol_policy_t *p) {
+               const char *name;
+               BEGIN_EXCEPTION
+               if (qpol_isid_get_name(p, self, &name)) {
+@@ -1681,7 +1777,7 @@
+       fail:
+               return name;
+       };
+-      const qpol_context_t *get_context(qpol_policy_t *p) {
++      const qpol_context_t *wrap_get_context(qpol_policy_t *p) {
+               const qpol_context_t *ctx;
+               BEGIN_EXCEPTION
+               if (qpol_isid_get_context(p, self, &ctx)) {
+@@ -1700,7 +1796,10 @@
+ /* qpol netifcon */
+ typedef struct qpol_netifcon {} qpol_netifcon_t;
+-%extend qpol_netifcon_t {
++%rename(qpol_netifcon_get_name) qpol_netifcon_wrap_get_name;
++%rename(qpol_netifcon_get_msg_con) qpol_netifcon_wrap_get_msg_con;
++%rename(qpol_netifcon_get_if_con) qpol_netifcon_wrap_get_if_con;
++%extend qpol_netifcon {
+       qpol_netifcon(qpol_policy_t *p, const char *name) {
+               const qpol_netifcon_t *n;
+               BEGIN_EXCEPTION
+@@ -1715,7 +1814,7 @@
+               /* no op */
+               return;
+       };
+-      const char *get_name(qpol_policy_t *p) {
++      const char *wrap_get_name(qpol_policy_t *p) {
+               const char *name;
+               BEGIN_EXCEPTION
+               if (qpol_netifcon_get_name(p, self, &name)) {
+@@ -1725,7 +1824,7 @@
+       fail:
+               return name;
+       };
+-      const qpol_context_t *get_msg_con(qpol_policy_t *p) {
++      const qpol_context_t *wrap_get_msg_con(qpol_policy_t *p) {
+               const qpol_context_t *ctx;
+               BEGIN_EXCEPTION
+               if (qpol_netifcon_get_msg_con(p, self, &ctx)) {
+@@ -1735,7 +1834,7 @@
+       fail:
+               return ctx;
+       };
+-      const qpol_context_t *get_if_con(qpol_policy_t *p) {
++      const qpol_context_t *wrap_get_if_con(qpol_policy_t *p) {
+               const qpol_context_t *ctx;
+               BEGIN_EXCEPTION
+               if (qpol_netifcon_get_if_con(p, self, &ctx)) {
+@@ -1756,7 +1855,11 @@
+ #define QPOL_IPV4 0
+ #define QPOL_IPV6 1
+ typedef struct qpol_nodecon {} qpol_nodecon_t;
+-%extend qpol_nodecon_t {
++%rename(qpol_nodecon_get_addr) qpol_nodecon_wrap_get_addr;
++%rename(qpol_nodecon_get_mask) qpol_nodecon_wrap_get_mask;
++%rename(qpol_nodecon_get_protocol) qpol_nodecon_wrap_get_protocol;
++%rename(qpol_nodecon_get_context) qpol_nodecon_wrap_get_context;
++%extend qpol_nodecon {
+       qpol_nodecon(qpol_policy_t *p, int addr[4], int mask[4], int protocol) {
+               uint32_t a[4], m[4];
+               qpol_nodecon_t *n;
+@@ -1775,7 +1878,7 @@
+       ~qpol_nodecon() {
+               free(self);
+       };
+-      uint32_t *get_addr(qpol_policy_t *p) {
++      uint32_t *wrap_get_addr(qpol_policy_t *p) {
+               uint32_t *a;
+               BEGIN_EXCEPTION
+               unsigned char proto; /* currently dropped; stores the protocol - call get_protocol() */
+@@ -1786,7 +1889,7 @@
+       fail:
+               return a;
+       };
+-      uint32_t *get_mask(qpol_policy_t *p) {
++      uint32_t *wrap_get_mask(qpol_policy_t *p) {
+               uint32_t *m;
+               BEGIN_EXCEPTION
+               unsigned char proto; /* currently dropped; stores the protocol - call get_protocol() */
+@@ -1797,7 +1900,7 @@
+       fail:
+                       return m;
+       };
+-      int get_protocol(qpol_policy_t *p) {
++      int wrap_get_protocol(qpol_policy_t *p) {
+               unsigned char proto;
+               BEGIN_EXCEPTION
+               if (qpol_nodecon_get_protocol(p, self, &proto)) {
+@@ -1807,7 +1910,7 @@
+       fail:
+               return proto;
+       };
+-      const qpol_context_t *get_context(qpol_policy_t *p) {
++      const qpol_context_t *wrap_get_context(qpol_policy_t *p) {
+               const qpol_context_t *ctx;
+               BEGIN_EXCEPTION
+               if (qpol_nodecon_get_context(p, self, &ctx)) {
+@@ -1829,7 +1932,11 @@
+ #define IPPROTO_TCP 6
+ #define IPPROTO_UDP 17
+ typedef struct qpol_portcon {} qpol_portcon_t;
+-%extend qpol_portcon_t {
++%rename(qpol_portcon_get_low_port) qpol_portcon_wrap_get_low_port;
++%rename(qpol_portcon_get_high_port) qpol_portcon_wrap_get_high_port;
++%rename(qpol_portcon_get_protocol) qpol_portcon_wrap_get_protocol;
++%rename(qpol_portcon_get_context) qpol_potrcon_wrap_get_context;
++%extend qpol_portcon {
+       qpol_portcon(qpol_policy_t *p, uint16_t low, uint16_t high, uint8_t protocol) {
+               const qpol_portcon_t *qp;
+               BEGIN_EXCEPTION
+@@ -1844,7 +1951,7 @@
+               /* no op */
+               return;
+       };
+-      uint16_t get_low_port(qpol_policy_t *p) {
++      uint16_t wrap_get_low_port(qpol_policy_t *p) {
+               uint16_t port = 0;
+               BEGIN_EXCEPTION
+               if(qpol_portcon_get_low_port(p, self, &port)) {
+@@ -1854,7 +1961,7 @@
+       fail:
+               return port;
+       };
+-      uint16_t get_high_port(qpol_policy_t *p) {
++      uint16_t wrap_get_high_port(qpol_policy_t *p) {
+               uint16_t port = 0;
+               BEGIN_EXCEPTION
+               if(qpol_portcon_get_high_port(p, self, &port)) {
+@@ -1864,7 +1971,7 @@
+       fail:
+               return port;
+       };
+-      uint8_t get_protocol(qpol_policy_t *p) {
++      uint8_t wrap_get_protocol(qpol_policy_t *p) {
+               uint8_t proto = 0;
+               BEGIN_EXCEPTION
+               if (qpol_portcon_get_protocol(p, self, &proto)) {
+@@ -1874,7 +1981,7 @@
+       fail:
+               return proto;
+       };
+-      const qpol_context_t *get_context(qpol_policy_t *p) {
++      const qpol_context_t *wrap_get_context(qpol_policy_t *p) {
+               const qpol_context_t *ctx;
+               BEGIN_EXCEPTION
+               if (qpol_portcon_get_context(p, self, &ctx)) {
+@@ -1893,8 +2000,11 @@
+ /* qpol constraint */
+ typedef struct qpol_constraint {} qpol_constraint_t;
++%rename(qpol_constraint_get_class) qpol_constraint_wrap_get_class;
++%rename(qpol_constraint_get_perm_iter) qpol_constraint_wrap_get_perm_iter;
++%rename(qpol_constraint_get_expr_iter) qpol_constraint_wrap_get_expr_iter;
+ %extend qpol_constraint {
+-      qpol_constraint_t() {
++      qpol_constraint() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_constraint_t objects");
+               END_EXCEPTION
+@@ -1904,7 +2014,7 @@
+       ~qpol_constraint() {
+               free(self);
+       };
+-      const qpol_class_t *get_class(qpol_policy_t *p) {
++      const qpol_class_t *wrap_get_class(qpol_policy_t *p) {
+               const qpol_class_t *cls;
+               BEGIN_EXCEPTION
+               if (qpol_constraint_get_class(p, self, &cls)) {
+@@ -1915,7 +2025,7 @@
+               return cls;
+       };
+       %newobject get_perm_iter(qpol_policy_t*);
+-      qpol_iterator_t *get_perm_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_perm_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if (qpol_constraint_get_perm_iter(p, self, &iter)) {
+@@ -1926,7 +2036,7 @@
+               return iter;
+       };
+       %newobject get_expr_iter(qpol_policy_t*);
+-      qpol_iterator_t *get_expr_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_expr_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if (qpol_constraint_get_expr_iter(p, self, &iter)) {
+@@ -1945,8 +2055,10 @@
+ /* qpol validatetrans */
+ typedef struct qpol_validatetrans {} qpol_validatetrans_t;
++%rename(qpol_validatetrans_get_class) qpol_validatetrans_wrap_get_class;
++%rename(qpol_validatetrans_get_expr_iter) qpol_validatetrans_wrap_get_expr_iter;
+ %extend qpol_validatetrans {
+-      qpol_validatetrans_t() {
++      qpol_validatetrans() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_validatetrans_t objects");
+               END_EXCEPTION
+@@ -1956,7 +2068,7 @@
+       ~qpol_validatetrans() {
+               free(self);
+       };
+-      const qpol_class_t *get_class(qpol_policy_t *p) {
++      const qpol_class_t *wrap_get_class(qpol_policy_t *p) {
+               const qpol_class_t *cls;
+               BEGIN_EXCEPTION
+               if (qpol_validatetrans_get_class(p, self, &cls)) {
+@@ -1967,7 +2079,7 @@
+               return cls;
+       };
+       %newobject get_expr_iter(qpol_policy_t*);
+-      qpol_iterator_t *get_expr_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_expr_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if (qpol_validatetrans_get_expr_iter(p, self, &iter)) {
+@@ -2010,7 +2122,11 @@
+ #define QPOL_CEXPR_OP_DOMBY  4
+ #define QPOL_CEXPR_OP_INCOMP 5
+ typedef struct qpol_constraint_expr_node {} qpol_constraint_expr_node_t;
+-%extend qpol_constraint_expr_node_t {
++%rename(qpol_constraint_expr_node_get_expr_type) qpol_constraint_expr_node_wrap_get_expr_type;
++%rename(qpol_constraint_expr_node_get_sym_type) qpol_constraint_expr_node_wrap_get_sym_type;
++%rename(qpol_constraint_expr_node_get_op) qpol_constraint_expr_node_wrap_get_op;
++%rename(qpol_constraint_expr_node_get_names_iter) qpol_constraint_expr_node_wrap_get_names_iter;
++%extend qpol_constraint_expr_node {
+       qpol_constraint_expr_node() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_constraint_expr_node_t objects");
+@@ -2022,7 +2138,7 @@
+               /* no op */
+               return;
+       };
+-      int get_expr_type(qpol_policy_t *p) {
++      int wrap_get_expr_type(qpol_policy_t *p) {
+               uint32_t et;
+               BEGIN_EXCEPTION
+               if (qpol_constraint_expr_node_get_expr_type(p, self, &et)) {
+@@ -2032,7 +2148,7 @@
+       fail:
+               return (int) et;
+       };
+-      int get_sym_type(qpol_policy_t *p) {
++      int wrap_get_sym_type(qpol_policy_t *p) {
+               uint32_t st;
+               BEGIN_EXCEPTION
+               if (qpol_constraint_expr_node_get_sym_type(p, self, &st)) {
+@@ -2042,7 +2158,7 @@
+       fail:
+               return (int) st;
+       };
+-      int get_op(qpol_policy_t *p) {
++      int wrap_get_op(qpol_policy_t *p) {
+               uint32_t op;
+               BEGIN_EXCEPTION
+               if (qpol_constraint_expr_node_get_op(p, self, &op)) {
+@@ -2053,7 +2169,7 @@
+               return (int) op;
+       };
+       %newobject get_names_iter(qpol_policy_t*);
+-      qpol_iterator_t *get_names_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_names_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if (qpol_constraint_expr_node_get_names_iter(p, self, &iter)) {
+@@ -2072,7 +2188,9 @@
+ /* qpol role allow */
+ typedef struct qpol_role_allow {} qpol_role_allow_t;
+-%extend qpol_role_allow_t {
++%rename(qpol_role_allow_get_source_role) qpol_role_allow_wrap_get_source_role;
++%rename(qpol_role_allow_get_target_role) qpol_role_allow_wrap_get_target_role;
++%extend qpol_role_allow {
+       qpol_role_allow() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_role_allow_t objects");
+@@ -2084,7 +2202,7 @@
+               /* no op */
+               return;
+       };
+-      const qpol_role_t *get_source_role(qpol_policy_t *p) {
++      const qpol_role_t *wrap_get_source_role(qpol_policy_t *p) {
+               const qpol_role_t *r;
+               BEGIN_EXCEPTION
+               if (qpol_role_allow_get_source_role(p, self, &r)) {
+@@ -2094,7 +2212,7 @@
+       fail:
+               return r;
+       };
+-      const qpol_role_t *get_target_role(qpol_policy_t *p) {
++      const qpol_role_t *wrap_get_target_role(qpol_policy_t *p) {
+               const qpol_role_t *r;
+               BEGIN_EXCEPTION
+               if (qpol_role_allow_get_target_role(p, self, &r)) {
+@@ -2113,7 +2231,10 @@
+ /* qpol role trans */
+ typedef struct qpol_role_trans {} qpol_role_trans_t;
+-%extend qpol_role_trans_t {
++%rename(qpol_role_trans_get_source_role) qpol_role_trans_wrap_get_source_role;
++%rename(qpol_role_trans_get_target_type) qpol_role_trans_wrap_get_target_type;
++%rename(qpol_role_trans_get_default_role) qpol_role_trans_wrap_get_default_role;
++%extend qpol_role_trans {
+       qpol_role_trans() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_role_trans_t objects");
+@@ -2125,7 +2246,7 @@
+               /* no op */
+               return;
+       };
+-      const qpol_role_t *get_source_role(qpol_policy_t *p) {
++      const qpol_role_t *wrap_get_source_role(qpol_policy_t *p) {
+               const qpol_role_t *r;
+               BEGIN_EXCEPTION
+               if (qpol_role_trans_get_source_role(p, self, &r)) {
+@@ -2135,7 +2256,7 @@
+       fail:
+               return r;
+       };
+-      const qpol_type_t *get_target_type(qpol_policy_t *p) {
++      const qpol_type_t *wrap_get_target_type(qpol_policy_t *p) {
+               const qpol_type_t *t;
+               BEGIN_EXCEPTION
+               if (qpol_role_trans_get_target_type(p, self, &t)) {
+@@ -2145,7 +2266,7 @@
+       fail:
+               return t;
+       };
+-      const qpol_role_t *get_default_role(qpol_policy_t *p) {
++      const qpol_role_t *wrap_get_default_role(qpol_policy_t *p) {
+               const qpol_role_t *r;
+               BEGIN_EXCEPTION
+               if (qpol_role_trans_get_default_role(p, self, &r)) {
+@@ -2164,7 +2285,11 @@
+ /* qpol range trans */
+ typedef struct qpol_range_trans {} qpol_range_trans_t;
+-%extend qpol_range_trans_t {
++%rename(qpol_range_trans_get_source_type) qpol_range_trans_wrap_get_source_type;
++%rename(qpol_range_trans_get_target_type) qpol_range_trans_wrap_get_target_type;
++%rename(qpol_range_trans_get_target_class) qpol_range_trans_wrap_get_target_class;
++%rename(qpol_range_trans_get_range) qpol_range_trans_wrap_get_range;
++%extend qpol_range_trans {
+       qpol_range_trans() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_range_trans_t objects");
+@@ -2176,7 +2301,7 @@
+               /* no op */
+               return;
+       };
+-      const qpol_type_t *get_source_type (qpol_policy_t *p) {
++      const qpol_type_t *wrap_get_source_type (qpol_policy_t *p) {
+               const qpol_type_t *t;
+               BEGIN_EXCEPTION
+               if (qpol_range_trans_get_source_type(p, self, &t)) {
+@@ -2186,7 +2311,7 @@
+       fail:
+               return t;
+       };
+-      const qpol_type_t *get_target_type (qpol_policy_t *p) {
++      const qpol_type_t *wrap_get_target_type (qpol_policy_t *p) {
+               const qpol_type_t *t;
+               BEGIN_EXCEPTION
+               if (qpol_range_trans_get_target_type(p, self, &t)) {
+@@ -2195,7 +2320,7 @@
+       fail:
+               return t;
+       };
+-      const qpol_class_t *get_target_class(qpol_policy_t *p) {
++      const qpol_class_t *wrap_get_target_class(qpol_policy_t *p) {
+               const qpol_class_t *cls;
+               BEGIN_EXCEPTION
+               if (qpol_range_trans_get_target_class(p, self, &cls)) {
+@@ -2204,7 +2329,7 @@
+       fail:
+               return cls;
+       };
+-      const qpol_mls_range_t *get_range(qpol_policy_t *p) {
++      const qpol_mls_range_t *wrap_get_range(qpol_policy_t *p) {
+               const qpol_mls_range_t *r;
+               BEGIN_EXCEPTION
+               if (qpol_range_trans_get_range(p, self, &r)) {
+@@ -2227,7 +2352,16 @@
+ #define QPOL_RULE_AUDITALLOW    2
+ #define QPOL_RULE_DONTAUDIT     4
+ typedef struct qpol_avrule {} qpol_avrule_t;
+-%extend qpol_avrule_t {
++%rename(qpol_avrule_get_rule_type) qpol_avrule_wrap_get_rule_type;
++%rename(qpol_avrule_get_source_type) qpol_avrule_wrap_get_source_type;
++%rename(qpol_avrule_get_target_type) qpol_avrule_wrap_get_target_type;
++%rename(qpol_avrule_get_object_class) qpol_avrule_wrap_get_object_class;
++%rename(qpol_avrule_get_perm_iter) qpol_avrule_wrap_get_perm_iter;
++%rename(qpol_avrule_get_cond) qpol_avrule_wrap_get_cond;
++%rename(qpol_avrule_get_is_enabled) qpol_avrule_wrap_get_is_enabled;
++%rename(qpol_avrule_get_which_list) qpol_avrule_wrap_get_which_list;
++%rename(qpol_avrule_get_syn_avrule_iter) qpol_avrule_wrap_get_syn_avrule_iter;
++%extend qpol_avrule {
+       qpol_avrule() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_avrule_t objects");
+@@ -2239,7 +2373,7 @@
+               /* no op */
+               return;
+       };
+-      int get_rule_type(qpol_policy_t *p) {
++      int wrap_get_rule_type(qpol_policy_t *p) {
+               uint32_t rt;
+               BEGIN_EXCEPTION
+               if (qpol_avrule_get_rule_type(p, self, &rt)) {
+@@ -2249,7 +2383,7 @@
+       fail:
+               return (int) rt;
+       };
+-      const qpol_type_t *get_source_type(qpol_policy_t *p) {
++      const qpol_type_t *wrap_get_source_type(qpol_policy_t *p) {
+               const qpol_type_t *t;
+               BEGIN_EXCEPTION
+               if (qpol_avrule_get_source_type(p, self, &t)) {
+@@ -2259,7 +2393,7 @@
+       fail:
+               return t;
+       };
+-      const qpol_type_t *get_target_type(qpol_policy_t *p) {
++      const qpol_type_t *wrap_get_target_type(qpol_policy_t *p) {
+               const qpol_type_t *t;
+               BEGIN_EXCEPTION
+               if (qpol_avrule_get_target_type(p, self, &t)) {
+@@ -2269,7 +2403,7 @@
+       fail:
+               return t;
+       };
+-      const qpol_class_t *get_object_class(qpol_policy_t *p) {
++      const qpol_class_t *wrap_get_object_class(qpol_policy_t *p) {
+               const qpol_class_t *cls;
+               BEGIN_EXCEPTION
+               if (qpol_avrule_get_object_class(p, self, &cls)) {
+@@ -2280,7 +2414,7 @@
+               return cls;
+       };
+       %newobject get_perm_iter(qpol_policy_t *p);
+-      qpol_iterator_t *get_perm_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_perm_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if (qpol_avrule_get_perm_iter(p, self, &iter)) {
+@@ -2290,7 +2424,7 @@
+       fail:
+               return iter;
+       };
+-      const qpol_cond_t *get_cond(qpol_policy_t *p) {
++      const qpol_cond_t *wrap_get_cond(qpol_policy_t *p) {
+               const qpol_cond_t *c;
+               BEGIN_EXCEPTION
+               if (qpol_avrule_get_cond(p, self, &c)) {
+@@ -2300,7 +2434,7 @@
+       fail:
+               return c;
+       };
+-      int get_is_enabled(qpol_policy_t *p) {
++      int wrap_get_is_enabled(qpol_policy_t *p) {
+               uint32_t e;
+               BEGIN_EXCEPTION
+               if (qpol_avrule_get_is_enabled(p, self, &e)) {
+@@ -2310,7 +2444,7 @@
+       fail:
+               return (int) e;
+       };
+-      int get_which_list(qpol_policy_t *p) {
++      int wrap_get_which_list(qpol_policy_t *p) {
+               const qpol_cond_t *c;
+               uint32_t which = 0;
+               BEGIN_EXCEPTION
+@@ -2325,7 +2459,7 @@
+               return (int) which;
+       };
+       %newobject get_syn_avrule_iter(qpol_policy_t*);
+-      qpol_iterator_t *get_syn_avrule_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_syn_avrule_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if (qpol_avrule_get_syn_avrule_iter(p, self, &iter)) {
+@@ -2347,7 +2481,16 @@
+ #define QPOL_RULE_TYPE_CHANGE  64
+ #define QPOL_RULE_TYPE_MEMBER  32
+ typedef struct qpol_terule {} qpol_terule_t;
+-%extend qpol_terule_t {
++%rename(qpol_terule_get_rule_type) qpol_terule_wrap_get_rule_type;
++%rename(qpol_terule_get_source_type) qpol_terule_wrap_get_source_type;
++%rename(qpol_terule_get_target_type) qpol_terule_wrap_get_target_type;
++%rename(qpol_terule_get_object_class) qpol_terule_wrap_get_object_class;
++%rename(qpol_terule_get_default_type) qpol_terule_wrap_get_default_type;
++%rename(qpol_terule_get_cond) qpol_terule_wrap_get_cond;
++%rename(qpol_terule_get_is_enabled) qpol_terule_wrap_get_is_enabled;
++%rename(qpol_terule_get_which_list) qpol_terule_wrap_get_which_list;
++%rename(qpol_terule_get_syn_terule_iter) qpol_terule_wrap_get_syn_terule_iter;
++%extend qpol_terule {
+       qpol_terule() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_terule_t objects");
+@@ -2359,7 +2502,7 @@
+               /* no op */
+               return;
+       };
+-      int get_rule_type(qpol_policy_t *p) {
++      int wrap_get_rule_type(qpol_policy_t *p) {
+               uint32_t rt;
+               BEGIN_EXCEPTION
+               if (qpol_terule_get_rule_type(p, self, &rt)) {
+@@ -2369,7 +2512,7 @@
+       fail:
+               return (int) rt;
+       };
+-      const qpol_type_t *get_source_type(qpol_policy_t *p) {
++      const qpol_type_t *wrap_get_source_type(qpol_policy_t *p) {
+               const qpol_type_t *t;
+               BEGIN_EXCEPTION
+               if (qpol_terule_get_source_type(p, self, &t)) {
+@@ -2379,7 +2522,7 @@
+       fail:
+               return t;
+       };
+-      const qpol_type_t *get_target_type(qpol_policy_t *p) {
++      const qpol_type_t *wrap_get_target_type(qpol_policy_t *p) {
+               const qpol_type_t *t;
+               BEGIN_EXCEPTION
+               if (qpol_terule_get_target_type(p, self, &t)) {
+@@ -2389,7 +2532,7 @@
+       fail:
+               return t;
+       };
+-      const qpol_class_t *get_object_class(qpol_policy_t *p) {
++      const qpol_class_t *wrap_get_object_class(qpol_policy_t *p) {
+               const qpol_class_t *cls;
+               BEGIN_EXCEPTION
+               if (qpol_terule_get_object_class(p, self, &cls)) {
+@@ -2399,7 +2542,7 @@
+       fail:
+               return cls;
+       };
+-      const qpol_type_t *get_default_type(qpol_policy_t *p) {
++      const qpol_type_t *wrap_get_default_type(qpol_policy_t *p) {
+               const qpol_type_t *t;
+               BEGIN_EXCEPTION
+               if (qpol_terule_get_default_type(p, self, &t)) {
+@@ -2409,7 +2552,7 @@
+       fail:
+               return t;
+       };
+-      const qpol_cond_t *get_cond(qpol_policy_t *p) {
++      const qpol_cond_t *wrap_get_cond(qpol_policy_t *p) {
+               const qpol_cond_t *c;
+               BEGIN_EXCEPTION
+               if (qpol_terule_get_cond(p, self, &c)) {
+@@ -2419,7 +2562,7 @@
+       fail:
+               return c;
+       };
+-      int get_is_enabled(qpol_policy_t *p) {
++      int wrap_get_is_enabled(qpol_policy_t *p) {
+               uint32_t e;
+               BEGIN_EXCEPTION
+               if (qpol_terule_get_is_enabled(p, self, &e)) {
+@@ -2429,7 +2572,7 @@
+       fail:
+               return (int) e;
+       };
+-      int get_which_list(qpol_policy_t *p) {
++      int wrap_get_which_list(qpol_policy_t *p) {
+               const qpol_cond_t *c;
+               uint32_t which = 0;
+               BEGIN_EXCEPTION
+@@ -2444,7 +2587,7 @@
+               return (int) which;
+       };
+       %newobject get_syn_terule_iter(qpol_policy_t*);
+-      qpol_iterator_t *get_syn_terule_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_syn_terule_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if (qpol_terule_get_syn_terule_iter(p, self, &iter)) {
+@@ -2463,7 +2606,13 @@
+ /* qpol conditional */
+ typedef struct qpol_cond {} qpol_cond_t;
+-%extend qpol_cond_t {
++%rename(qpol_cond_get_expr_node_iter) qpol_cond_wrap_get_expr_node_iter;
++%rename(qpol_cond_get_av_true_iter) qpol_cond_wrap_get_av_true_iter;
++%rename(qpol_cond_get_av_false_iter) qpol_cond_wrap_get_av_false_iter;
++%rename(qpol_cond_get_te_true_iter) qpol_cond_wrap_get_te_true_iter;
++%rename(qpol_cond_get_te_false_iter) qpol_cond_wrap_get_te_false_iter;
++%rename(qpol_cond_eval) qpol_cond_wrap_eval;
++%extend qpol_cond {
+       qpol_cond() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_cond_t objects");
+@@ -2476,7 +2625,7 @@
+               return;
+       };
+       %newobject get_expr_node_iter(qpol_policy_t*);
+-      qpol_iterator_t *get_expr_node_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_expr_node_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if (qpol_cond_get_expr_node_iter(p, self, &iter)) {
+@@ -2487,7 +2636,7 @@
+               return iter;
+       };
+       %newobject get_av_true_iter(qpol_policy_t*, int);
+-      qpol_iterator_t *get_av_true_iter(qpol_policy_t *p, int rule_types) {
++      qpol_iterator_t *wrap_get_av_true_iter(qpol_policy_t *p, int rule_types) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if (qpol_cond_get_av_true_iter(p, self, rule_types, &iter)) {
+@@ -2498,7 +2647,7 @@
+               return iter;
+       };
+       %newobject get_av_false_iter(qpol_policy_t*, int);
+-      qpol_iterator_t *get_av_false_iter(qpol_policy_t *p, int rule_types) {
++      qpol_iterator_t *wrap_get_av_false_iter(qpol_policy_t *p, int rule_types) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if (qpol_cond_get_av_false_iter(p, self, rule_types, &iter)) {
+@@ -2509,7 +2658,7 @@
+               return iter;
+       };
+       %newobject get_te_true_iter(qpol_policy_t*, int);
+-      qpol_iterator_t *get_te_true_iter(qpol_policy_t *p, int rule_types) {
++      qpol_iterator_t *wrap_get_te_true_iter(qpol_policy_t *p, int rule_types) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if (qpol_cond_get_te_true_iter(p, self, rule_types, &iter)) {
+@@ -2520,7 +2669,7 @@
+               return iter;
+       };
+       %newobject get_te_false_iter(qpol_policy_t*, int);
+-      qpol_iterator_t *get_te_false_iter(qpol_policy_t *p, int rule_types) {
++      qpol_iterator_t *wrap_get_te_false_iter(qpol_policy_t *p, int rule_types) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if (qpol_cond_get_te_false_iter(p, self, rule_types, &iter)) {
+@@ -2530,7 +2679,7 @@
+       fail:
+                       return iter;
+       };
+-      int eval(qpol_policy_t *p) {
++      int wrap_eval(qpol_policy_t *p) {
+               uint32_t e;
+               BEGIN_EXCEPTION
+               if (qpol_cond_eval(p, self, &e)) {
+@@ -2556,7 +2705,9 @@
+ #define QPOL_COND_EXPR_EQ   6      /* bool == bool */
+ #define QPOL_COND_EXPR_NEQ  7      /* bool != bool */
+ typedef struct qpol_cond_expr_node {} qpol_cond_expr_node_t;
+-%extend qpol_cond_expr_node_t {
++%rename(qpol_cond_expr_node_get_expr_type) qpol_cond_expr_node_wrap_get_expr_type;
++%rename(qpol_cond_expr_node_get_bool) qpol_cond_expr_node_wrap_get_bool;
++%extend qpol_cond_expr_node {
+       qpol_cond_expr_node() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_cond_expr_node_t objects");
+@@ -2568,7 +2719,7 @@
+               /* no op */
+               return;
+       };
+-      int get_expr_type(qpol_policy_t *p) {
++      int wrap_get_expr_type(qpol_policy_t *p) {
+               uint32_t et;
+               BEGIN_EXCEPTION
+               if (qpol_cond_expr_node_get_expr_type(p, self, &et)) {
+@@ -2578,7 +2729,7 @@
+       fail:
+               return (int) et;
+       };
+-      qpol_bool_t *get_bool(qpol_policy_t *p) {
++      qpol_bool_t *wrap_get_bool(qpol_policy_t *p) {
+               uint32_t et;
+               qpol_bool_t *b = NULL;
+               BEGIN_EXCEPTION
+@@ -2601,7 +2752,11 @@
+ /* qpol type set */
+ typedef struct qpol_type_set {} qpol_type_set_t;
+-%extend qpol_type_set_t {
++%rename(qpol_type_set_get_included_types_iter) qpol_type_set_wrap_get_included_types_iter;
++%rename(qpol_type_set_get_substracted_types_iter) qpol_type_set_wrap_get_substracted_types_iter;
++%rename(qpol_type_set_get_is_star) qpol_type_set_wrap_get_is_star;
++%rename(qpol_type_set_get_is_comp) qpol_type_set_wrap_get_is_comp;
++%extend qpol_type_set {
+       qpol_type_set() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_type_set_t objects");
+@@ -2614,7 +2769,7 @@
+               return;
+       };
+       %newobject get_included_types_iter(qpol_policy_t*);
+-      qpol_iterator_t *get_included_types_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_included_types_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if (qpol_type_set_get_included_types_iter(p, self, &iter)) {
+@@ -2625,7 +2780,7 @@
+               return iter;
+       };
+       %newobject get_subtracted_types_iter(qpol_policy_t*);
+-      qpol_iterator_t *get_subtracted_types_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_subtracted_types_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if (qpol_type_set_get_subtracted_types_iter(p, self, &iter)) {
+@@ -2635,7 +2790,7 @@
+       fail:
+               return iter;
+       };
+-      int get_is_star(qpol_policy_t *p) {
++      int wrap_get_is_star(qpol_policy_t *p) {
+               uint32_t s;
+               BEGIN_EXCEPTION
+               if (qpol_type_set_get_is_star(p, self, &s)) {
+@@ -2645,7 +2800,7 @@
+       fail:
+               return (int) s;
+       };
+-      int get_is_comp(qpol_policy_t *p) {
++      int wrap_get_is_comp(qpol_policy_t *p) {
+               uint32_t c;
+               BEGIN_EXCEPTION
+               if (qpol_type_set_get_is_comp(p, self, &c)) {
+@@ -2664,7 +2819,16 @@
+ /* qpol syn av rule */
+ typedef struct qpol_syn_avrule {} qpol_syn_avrule_t;
+-%extend qpol_syn_avrule_t {
++%rename(qpol_syn_avrule_get_rule_type) qpol_syn_avrule_wrap_get_rule_type;
++%rename(qpol_syn_avrule_get_source_type_set) qpol_syn_avrule_wrap_get_source_type_set;
++%rename(qpol_syn_avrule_get_target_type_set) qpol_syn_avrule_wrap_get_target_type_set;
++%rename(qpol_syn_avrule_get_is_target_self) qpol_syn_avrule_wrap_get_is_target_self;
++%rename(qpol_syn_avrule_get_class_iter) qpol_syn_avrule_wrap_get_class_iter;
++%rename(qpol_syn_avrule_get_perm_iter) qpol_syn_avrule_wrap_get_perm_iter;
++%rename(qpol_syn_avrule_get_lineno) qpol_syn_avrule_wrap_get_lineno;
++%rename(qpol_syn_avrule_get_cond) qpol_syn_avrule_wrap_get_cond;
++%rename(qpol_syn_avrule_get_is_enabled) qpol_syn_avrule_wrap_get_is_enabled;
++%extend qpol_syn_avrule {
+       qpol_syn_avrule() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_syn_avrule_t objects");
+@@ -2676,7 +2840,7 @@
+               /* no op */
+               return;
+       };
+-      int get_rule_type(qpol_policy_t *p) {
++      int wrap_get_rule_type(qpol_policy_t *p) {
+               uint32_t rt;
+               BEGIN_EXCEPTION
+               if (qpol_syn_avrule_get_rule_type(p, self, &rt)) {
+@@ -2686,7 +2850,7 @@
+       fail:
+               return (int) rt;
+       };
+-      const qpol_type_set_t *get_source_type_set(qpol_policy_t *p) {
++      const qpol_type_set_t *wrap_get_source_type_set(qpol_policy_t *p) {
+               const qpol_type_set_t *ts;
+               BEGIN_EXCEPTION
+               if (qpol_syn_avrule_get_source_type_set(p, self, &ts)) {
+@@ -2696,7 +2860,7 @@
+       fail:
+               return ts;
+       };
+-      const qpol_type_set_t *get_target_type_set(qpol_policy_t *p) {
++      const qpol_type_set_t *wrap_get_target_type_set(qpol_policy_t *p) {
+               const qpol_type_set_t *ts;
+               BEGIN_EXCEPTION
+               if (qpol_syn_avrule_get_target_type_set(p, self, &ts)) {
+@@ -2706,7 +2870,7 @@
+       fail:
+               return ts;
+       };
+-      int get_is_target_self(qpol_policy_t *p) {
++      int wrap_get_is_target_self(qpol_policy_t *p) {
+               uint32_t i;
+               BEGIN_EXCEPTION
+               if (qpol_syn_avrule_get_is_target_self(p, self, &i)) {
+@@ -2717,7 +2881,7 @@
+               return (int) i;
+       };
+       %newobject get_class_iter(qpol_policy_t*);
+-      qpol_iterator_t *get_class_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_class_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if (qpol_syn_avrule_get_class_iter(p, self, &iter)) {
+@@ -2728,7 +2892,7 @@
+               return iter;
+       };
+       %newobject get_perm_iter(qpol_policy_t*);
+-      qpol_iterator_t *get_perm_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_perm_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if (qpol_syn_avrule_get_perm_iter(p, self, &iter)) {
+@@ -2738,7 +2902,7 @@
+       fail:
+               return iter;
+       };
+-      long get_lineno(qpol_policy_t *p) {
++      long wrap_get_lineno(qpol_policy_t *p) {
+               unsigned long l;
+               BEGIN_EXCEPTION
+               if (qpol_syn_avrule_get_lineno(p, self, &l)) {
+@@ -2748,7 +2912,7 @@
+       fail:
+               return (long)l;
+       };
+-      const qpol_cond_t *get_cond(qpol_policy_t *p) {
++      const qpol_cond_t *wrap_get_cond(qpol_policy_t *p) {
+               const qpol_cond_t *c;
+               BEGIN_EXCEPTION
+               if (qpol_syn_avrule_get_cond(p, self, &c)) {
+@@ -2758,7 +2922,7 @@
+       fail:
+               return c;
+       };
+-      int get_is_enabled(qpol_policy_t *p) {
++      int wrap_get_is_enabled(qpol_policy_t *p) {
+               uint32_t e;
+               BEGIN_EXCEPTION
+               if (qpol_syn_avrule_get_is_enabled(p, self, &e)) {
+@@ -2777,7 +2941,15 @@
+ /* qpol syn te rule */
+ typedef struct qpol_syn_terule {} qpol_syn_terule_t;
+-%extend qpol_syn_terule_t {
++%rename(qpol_syn_terule_get_rule_type) qpol_syn_terule_wrap_get_rule_type;
++%rename(qpol_syn_terule_get_source_type_set) qpol_syn_terule_wrap_get_source_type_set;
++%rename(qpol_syn_terule_get_target_type_set) qpol_syn_terule_wrap_get_target_type_set;
++%rename(qpol_syn_terule_get_class_iter) qpol_syn_terule_wrap_get_class_iter;
++%rename(qpol_syn_terule_get_default_type) qpol_syn_terule_wrap_get_default_type;
++%rename(qpol_syn_terule_get_lineno) qpol_syn_terule_wrap_get_lineno;
++%rename(qpol_syn_terule_get_cond) qpol_syn_terule_wrap_get_cond;
++%rename(qpol_syn_terule_get_is_enabled) qpol_syn_terule_wrap_get_is_enabled;
++%extend qpol_syn_terule {
+       qpol_syn_terule() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_syn_terule_t objects");
+@@ -2789,7 +2961,7 @@
+               /* no op */
+               return;
+       };
+-      int get_rule_type(qpol_policy_t *p) {
++      int wrap_get_rule_type(qpol_policy_t *p) {
+               uint32_t rt;
+               BEGIN_EXCEPTION
+               if (qpol_syn_terule_get_rule_type(p, self, &rt)) {
+@@ -2799,7 +2971,7 @@
+       fail:
+               return rt;
+       };
+-      const qpol_type_set_t *get_source_type_set(qpol_policy_t *p) {
++      const qpol_type_set_t *wrap_get_source_type_set(qpol_policy_t *p) {
+               const qpol_type_set_t *ts;
+               BEGIN_EXCEPTION
+               if (qpol_syn_terule_get_source_type_set(p, self, &ts)) {
+@@ -2809,7 +2981,7 @@
+       fail:
+               return ts;
+       };
+-      const qpol_type_set_t *get_target_type_set(qpol_policy_t *p) {
++      const qpol_type_set_t *wrap_get_target_type_set(qpol_policy_t *p) {
+               const qpol_type_set_t *ts;
+               BEGIN_EXCEPTION
+               if (qpol_syn_terule_get_target_type_set(p, self, &ts)) {
+@@ -2820,7 +2992,7 @@
+               return ts;
+       };
+       %newobject get_class_iter(qpol_policy_t*);
+-      qpol_iterator_t *get_class_iter(qpol_policy_t *p) {
++      qpol_iterator_t *wrap_get_class_iter(qpol_policy_t *p) {
+               qpol_iterator_t *iter;
+               BEGIN_EXCEPTION
+               if (qpol_syn_terule_get_class_iter(p, self, &iter)) {
+@@ -2830,7 +3002,7 @@
+       fail:
+                       return iter;
+       };
+-      const qpol_type_t *get_default_type(qpol_policy_t *p) {
++      const qpol_type_t *wrap_get_default_type(qpol_policy_t *p) {
+               const qpol_type_t *t;
+               BEGIN_EXCEPTION
+               if (qpol_syn_terule_get_default_type(p, self, &t)) {
+@@ -2840,7 +3012,7 @@
+       fail:
+               return t;
+       };
+-      long get_lineno(qpol_policy_t *p) {
++      long wrap_get_lineno(qpol_policy_t *p) {
+               unsigned long l;
+               BEGIN_EXCEPTION
+               if (qpol_syn_terule_get_lineno(p, self, &l)) {
+@@ -2850,7 +3022,7 @@
+       fail:
+               return (long)l;
+       };
+-      const qpol_cond_t *get_cond(qpol_policy_t *p) {
++      const qpol_cond_t *wrap_get_cond(qpol_policy_t *p) {
+               const qpol_cond_t *c;
+               BEGIN_EXCEPTION
+               if (qpol_syn_terule_get_cond(p, self, &c)) {
+@@ -2860,7 +3032,7 @@
+       fail:
+               return c;
+       };
+-      int get_is_enabled(qpol_policy_t *p) {
++      int wrap_get_is_enabled(qpol_policy_t *p) {
+               uint32_t e;
+               BEGIN_EXCEPTION
+               if (qpol_syn_terule_get_is_enabled(p, self, &e)) {
+--- setools-3.3.8/libseaudit/swig/seaudit.i.orig       2013-01-16 17:36:23.000000000 +0100
++++ setools-3.3.8/libseaudit/swig/seaudit.i    2014-03-05 10:44:51.600410240 +0100
+@@ -251,8 +251,8 @@
+       int tm_yday;  /* day in the year */
+       int tm_isdst; /* daylight saving time */
+ } tm_t;
+-%extend tm_t {
+-      tm_t() {
++%extend tm {
++      tm() {
+               struct tm *t;
+               BEGIN_EXCEPTION
+               t = calloc(1, sizeof(struct tm));
+@@ -263,7 +263,7 @@
+       fail:
+               return t;
+       };
+-      ~tm_t() {
++      ~tm() {
+               free(self);
+       }
+       /* use default accessor style for the rest */
+@@ -279,8 +279,13 @@
+       SEAUDIT_LOG_TYPE_AUDITD
+ } seaudit_log_type_e;
+ typedef struct seaudit_log {} seaudit_log_t;
+-%extend seaudit_log_t {
+-      seaudit_log_t() {
++%rename(seaudit_log_clear) seaudit_log_wrap_clear;
++%rename(seaudit_log_get_users) seaudit_log_wrap_get_users;
++%rename(seaudit_log_get_roles) seaudit_log_wrap_get_roles;
++%rename(seaudit_log_get_types) seaudit_log_wrap_get_types;
++%rename(seaudit_log_get_classes) seaudit_log_wrap_get_classes;
++%extend seaudit_log {
++      seaudit_log() {
+               seaudit_log_t *slog;
+               BEGIN_EXCEPTION
+               slog = seaudit_log_create(seaudit_swig_message_callback, seaudit_swig_message_callback_arg);
+@@ -291,14 +296,14 @@
+       fail:
+               return slog;
+       };
+-      ~seaudit_log_t() {
++      ~seaudit_log() {
+               seaudit_log_destroy(&self);
+       };
+-      void clear () {
++      void wrap_clear () {
+               seaudit_log_clear(self);
+       };
+       %newobject get_users();
+-      apol_string_vector_t *get_users() {
++      apol_string_vector_t *wrap_get_users() {
+               apol_vector_t *v;
+               BEGIN_EXCEPTION
+               v = seaudit_log_get_users(self);
+@@ -310,7 +315,7 @@
+               return (apol_string_vector_t*)v;
+       };
+       %newobject get_roles();
+-      apol_string_vector_t *get_roles() {
++      apol_string_vector_t *wrap_get_roles() {
+               apol_vector_t *v;
+               BEGIN_EXCEPTION
+               v = seaudit_log_get_roles(self);
+@@ -322,7 +327,7 @@
+               return (apol_string_vector_t*)v;
+       };
+       %newobject get_types();
+-      apol_string_vector_t *get_types() {
++      apol_string_vector_t *wrap_get_types() {
+               apol_vector_t *v;
+               BEGIN_EXCEPTION
+               v = seaudit_log_get_types(self);
+@@ -334,7 +339,7 @@
+               return (apol_string_vector_t*)v;
+       };
+       %newobject get_classes();
+-      apol_string_vector_t *get_classes() {
++      apol_string_vector_t *wrap_get_classes() {
+               apol_vector_t *v;
+               BEGIN_EXCEPTION
+               v = seaudit_log_get_classes(self);
+@@ -356,15 +361,21 @@
+       SEAUDIT_MESSAGE_TYPE_LOAD
+ } seaudit_message_type_e;
+ typedef struct seaudit_message {} seaudit_message_t;
+-%extend seaudit_message_t {
+-      seaudit_message_t() {
++%rename(seaudit_message_get_data) seaudit_message_wrap_get_data;
++%rename(seaudit_message_get_host) seaudit_message_wrap_get_host;
++%rename(seaudit_message_get_time) seaudit_message_wrap_get_time;
++%rename(seaudit_message_to_string) seaudit_message_wrap_to_string;
++%rename(seaudit_message_to_string_html) seaudit_message_wrap_to_string_html;
++%rename(seaudit_message_to_misc_string) seaudit_message_wrap_to_misc_string;
++%extend seaudit_message {
++      seaudit_message() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Canot directly create seaudit_message_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       };
+-      ~seaudit_message_t() {
++      ~seaudit_message() {
+               /* no op */
+               return;
+       };
+@@ -373,18 +384,18 @@
+               (void)seaudit_message_get_data(self, &te);
+               return te;
+       };
+-      void *get_data() {
++      void *wrap_get_data() {
+               seaudit_message_type_e te;
+               return seaudit_message_get_data(self, &te);
+       };
+-      const char *get_host() {
++      const char *wrap_get_host() {
+               return seaudit_message_get_host(self);
+       };
+-      const tm_t *get_time() {
++      const tm_t *wrap_get_time() {
+               return seaudit_message_get_time(self);
+       }
+       %newobject to_string();
+-      char *to_string() {
++      char *wrap_to_string() {
+               char *str;
+               BEGIN_EXCEPTION
+               str = seaudit_message_to_string(self);
+@@ -396,7 +407,7 @@
+               return str;
+       };
+       %newobject to_string_html();
+-      char *to_string_html() {
++      char *wrap_to_string_html() {
+               char *str;
+               BEGIN_EXCEPTION
+               str = seaudit_message_to_string_html(self);
+@@ -408,7 +419,7 @@
+               return str;
+       };
+       %newobject to_misc_string();
+-      char *to_misc_string() {
++      char *wrap_to_misc_string() {
+               char *str;
+               BEGIN_EXCEPTION
+               str = seaudit_message_to_misc_string(self);
+@@ -428,15 +439,15 @@
+ /* seaudit load message */
+ typedef struct seaudit_load_message {} seaudit_load_message_t;
+-%extend seaudit_load_message_t {
+-      seaudit_load_message_t() {
++%extend seaudit_load_message {
++      seaudit_load_message() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create seaudit_load_message_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       };
+-      ~seaudit_load_message_t() {
++      ~seaudit_load_message() {
+               /* no op */
+               return;
+       };
+@@ -449,15 +460,15 @@
+ /* seaudit bool message */
+ typedef struct seaudit_bool_message {} seaudit_bool_message_t;
+-%extend seaudit_bool_message_t {
+-      seaudit_bool_message_t(void *msg) {
++%extend seaudit_bool_message {
++      seaudit_bool_message(void *msg) {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create seaudit_bool_message_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       };
+-      ~seaudit_bool_message_t() {
++      ~seaudit_bool_message() {
+               /* no op */
+               return;
+       };
+@@ -476,103 +487,132 @@
+       SEAUDIT_AVC_GRANTED
+ } seaudit_avc_message_type_e;
+ typedef struct seaudit_avc_message {} seaudit_avc_message_t;
+-%extend seaudit_avc_message_t {
+-      seaudit_avc_message_t() {
++%rename(seaudit_avc_message_get_message_type) %seaudit_avc_message_wrap_get_message_type;
++%rename(seaudit_avc_message_get_timestamp_nano) seaudit_avc_message_wrap_get_timestamp_nano;
++%rename(seaudit_avc_message_get_source_user) seaudit_avc_message_wrap_get_source_user;
++%rename(seaudit_avc_message_get_source_role) seaudit_avc_message_wrap_get_source_role;
++%rename(seaudit_avc_message_get_source_type) seaudit_avc_message_wrap_get_source_type;
++%rename(seaudit_avc_message_get_target_user) seaudit_avc_message_wrap_get_target_user;
++%rename(seaudit_avc_message_get_target_role) seaudit_avc_message_wrap_get_target_role;
++%rename(seaudit_avc_message_get_target_type) seaudit_avc_message_wrap_get_target_type;
++%rename(seaudit_avc_message_get_object_class) seaudit_avc_message_wrap_get_object_class;
++%rename(seaudit_avc_message_get_perm) seaudit_avc_message_wrap_get_perm;
++%rename(seaudit_avc_message_get_exe) seaudit_avc_message_wrap_get_exe;
++%rename(seaudit_avc_message_get_comm) seaudit_avc_message_wrap_get_comm;
++%rename(seaudit_avc_message_get_name) seaudit_avc_message_wrap_get_name;
++%rename(seaudit_avc_message_get_pid) seaudit_avc_message_wrap_get_pid;
++%rename(seaudit_avc_message_get_inode) seaudit_avc_message_wrap_get_inode;
++%rename(seaudit_avc_message_get_path) seaudit_avc_message_wrap_get_path;
++%rename(seaudit_avc_message_get_dev) seaudit_avc_message_wrap_get_dev;
++%rename(seaudit_avc_message_get_netif) seaudit_avc_message_wrap_get_netif;
++%rename(seaudit_avc_message_get_port) seaudit_avc_message_wrap_get_port;
++%rename(seaudit_avc_message_get_laddr) seaudit_avc_message_wrap_get_laddr;
++%rename(seaudit_avc_message_get_lport) seaudit_avc_message_wrap_get_lport;
++%rename(seaudit_avc_message_get_faddr) seaudit_avc_message_wrap_get_faddr;
++%rename(seaudit_avc_message_get_fport) seaudit_avc_message_wrap_get_fport;
++%rename(seaudit_avc_message_get_saddr) seaudit_avc_message_wrap_get_saddr;
++%rename(seaudit_avc_message_get_sport) seaudit_avc_message_wrap_get_sport;
++%rename(seaudit_avc_message_get_daddr) seaudit_avc_message_wrap_get_daddr;
++%rename(seaudit_avc_message_get_dport) seaudit_avc_message_wrap_get_dport;
++%rename(seaudit_avc_message_get_key) seaudit_avc_message_wrap_get_key;
++%rename(seaudit_avc_message_get_cap) seaudit_avc_message_wrap_get_cap;
++%extend seaudit_avc_message {
++      seaudit_avc_message() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create seaudit_avc_message_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       };
+-      ~seaudit_avc_message_t() {
++      ~seaudit_avc_message() {
+               /* no op */
+               return;
+       };
+-      seaudit_avc_message_type_e get_message_type() {
++      seaudit_avc_message_type_e wrap_get_message_type() {
+               return seaudit_avc_message_get_message_type(self);
+       };
+-      long get_timestamp_nano() {
++      long wrap_get_timestamp_nano() {
+               return seaudit_avc_message_get_timestamp_nano(self);
+       };
+-      const char *get_source_user() {
++      const char *wrap_get_source_user() {
+               return seaudit_avc_message_get_source_user(self);
+       };
+-      const char *get_source_role() {
++      const char *wrap_get_source_role() {
+               return seaudit_avc_message_get_source_role(self);
+       };
+-      const char *get_source_type() {
++      const char *wrap_get_source_type() {
+               return seaudit_avc_message_get_source_type(self);
+       };
+-      const char *get_target_user() {
++      const char *wrap_get_target_user() {
+               return seaudit_avc_message_get_target_user(self);
+       };
+-      const char *get_target_role() {
++      const char *wrap_get_target_role() {
+               return seaudit_avc_message_get_target_role(self);
+       };
+-      const char *get_target_type() {
++      const char *wrap_get_target_type() {
+               return seaudit_avc_message_get_target_type(self);
+       };
+-      const char *get_object_class() {
++      const char *wrap_get_object_class() {
+               return seaudit_avc_message_get_object_class(self);
+       };
+-      const apol_string_vector_t *get_perm() {
++      const apol_string_vector_t *wrap_get_perm() {
+               return (apol_string_vector_t*)seaudit_avc_message_get_perm(self);
+       };
+-      const char *get_exe() {
++      const char *wrap_get_exe() {
+               return seaudit_avc_message_get_exe(self);
+       };
+-      const char *get_comm() {
++      const char *wrap_get_comm() {
+               return seaudit_avc_message_get_comm(self);
+       };
+-      const char *get_name() {
++      const char *wrap_get_name() {
+               return seaudit_avc_message_get_name(self);
+       };
+-      int get_pid() {
++      int wrap_get_pid() {
+               return (int)seaudit_avc_message_get_pid(self);
+       };
+-      long get_inode() {
++      long wrap_get_inode() {
+               return (long)seaudit_avc_message_get_inode(self);
+       };
+-      const char *get_path() {
++      const char *wrap_get_path() {
+               return seaudit_avc_message_get_path(self);
+       };
+-      const char *get_dev() {
++      const char *wrap_get_dev() {
+               return seaudit_avc_message_get_dev(self);
+       };
+-      const char *get_netif() {
++      const char *wrap_get_netif() {
+               return seaudit_avc_message_get_netif(self);
+       };
+-      int get_port() {
++      int wrap_get_port() {
+               return seaudit_avc_message_get_port(self);
+       };
+-      const char *get_laddr() {
++      const char *wrap_get_laddr() {
+               return seaudit_avc_message_get_laddr(self);
+       };
+-      int get_lport() {
++      int wrap_get_lport() {
+               return seaudit_avc_message_get_lport(self);
+       };
+-      const char *get_faddr() {
++      const char *wrap_get_faddr() {
+               return seaudit_avc_message_get_faddr(self);
+       };
+-      int get_fport() {
++      int wrap_get_fport() {
+               return seaudit_avc_message_get_fport(self);
+       };
+-      const char *get_saddr() {
++      const char *wrap_get_saddr() {
+               return seaudit_avc_message_get_saddr(self);
+       };
+-      int get_sport() {
++      int wrap_get_sport() {
+               return seaudit_avc_message_get_sport(self);
+       };
+-      const char *get_daddr() {
++      const char *wrap_get_daddr() {
+               return seaudit_avc_message_get_daddr(self);
+       };
+-      int get_dport() {
++      int wrap_get_dport() {
+               return seaudit_avc_message_get_dport(self);
+       };
+-      int get_key() {
++      int wrap_get_key() {
+               return seaudit_avc_message_get_key(self);
+       };
+-      int get_cap() {
++      int wrap_get_cap() {
+               return seaudit_avc_message_get_cap(self);
+       };
+ };
+@@ -607,8 +647,75 @@
+       SEAUDIT_FILTER_DATE_MATCH_BETWEEN
+ } seaudit_filter_date_match_e;
+ typedef struct seaudit_filter {} seaudit_filter_t;
+-%extend seaudit_filter_t {
+-      seaudit_filter_t(char *name = NULL) {
++%rename(seaudit_filter_set_match) seaudit_filter_wrap_set_match;
++%rename(seaudit_filter_get_match) seaudit_filter_wrap_get_match;
++%rename(seaudit_filter_set_name) seaudit_filter_wrap_set_name;
++%rename(seaudit_filter_get_name) seaudit_filter_wrap_get_name;
++%rename(seaudit_filter_set_description) seaudit_filter_wrap_set_description;
++%rename(seaudit_filter_get_description) seaudit_filter_wrap_get_description;
++%rename(seaudit_filter_set_strict) seaudit_filter_wrap_set_strict;
++%rename(seaudit_filter_get_strict) seaudit_filter_wrap_get_strict;
++%rename(seaudit_filter_set_source_user) seaudit_filter_wrap_set_source_user;
++%rename(seaudit_filter_get_source_user) seaudit_filter_wrap_get_source_user;
++%rename(seaudit_filter_set_source_role) seaudit_filter_wrap_set_source_role;
++%rename(seaudit_filter_get_source_role) seaudit_filter_wrap_get_source_role;
++%rename(seaudit_filter_set_source_type) seaudit_filter_wrap_set_source_type;
++%rename(seaudit_filter_get_source_type) seaudit_filter_wrap_get_source_type;
++%rename(seaudit_filter_set_target_user) seaudit_filter_wrap_set_target_user;
++%rename(seaudit_filter_get_target_user) seaudit_filter_wrap_get_target_user;
++%rename(seaudit_filter_set_target_role) seaudit_filter_wrap_set_target_role;
++%rename(seaudit_filter_get_target_role) seaudit_filter_wrap_get_target_role;
++%rename(seaudit_filter_set_target_type) seaudit_filter_wrap_set_target_type;
++%rename(seaudit_filter_get_target_type) seaudit_filter_wrap_get_target_type;
++%rename(seaudit_filter_set_target_class) seaudit_filter_wrap_set_target_class;
++%rename(seaudit_filter_get_target_class) seaudit_filter_wrap_get_target_class;
++%rename(seaudit_filter_set_permission) seaudit_filter_wrap_set_permission;
++%rename(seaudit_filter_get_permission) seaudit_filter_wrap_get_permission;
++%rename(seaudit_filter_set_executable) seaudit_filter_wrap_set_executable;
++%rename(seaudit_filter_get_executable) seaudit_filter_wrap_get_executable;
++%rename(seaudit_filter_set_host) seaudit_filter_wrap_set_host;
++%rename(seaudit_filter_get_host) seaudit_filter_wrap_get_host;
++%rename(seaudit_filter_set_path) seaudit_filter_wrap_set_path;
++%rename(seaudit_filter_get_path) seaudit_filter_wrap_get_path;
++%rename(seaudit_filter_set_command) seaudit_filter_wrap_set_command;
++%rename(seaudit_filter_set_inode) seaudit_filter_wrap_set_inode;
++%rename(seaudit_filter_get_inode) seaudit_filter_wrap_get_inode;
++%rename(seaudit_filter_set_pid) seaudit_filter_wrap_set_pid;
++%rename(seaudit_filter_get_pid) seaudit_filter_wrap_get_pid;
++%rename(seaudit_filter_get_command) seaudit_filter_wrap_get_command;
++%rename(seaudit_filter_set_anyaddr) seaudit_filter_wrap_set_anyaddr;
++%rename(seaudit_filter_get_anyaddr) seaudit_filter_wrap_get_anyaddr;
++%rename(seaudit_filter_set_anyport) seaudit_filter_wrap_set_anyport;
++%rename(seaudit_filter_get_anyport) seaudit_filter_wrap_get_anyport;
++%rename(seaudit_filter_set_laddr) seaudit_filter_wrap_set_laddr;
++%rename(seaudit_filter_get_laddr) seaudit_filter_wrap_get_laddr;
++%rename(seaudit_filter_set_lport) seaudit_filter_wrap_set_lport;
++%rename(seaudit_filter_get_lport) seaudit_filter_wrap_get_lport;
++%rename(seaudit_filter_set_faddr) seaudit_filter_wrap_set_faddr;
++%rename(seaudit_filter_get_faddr) seaudit_filter_wrap_get_faddr;
++%rename(seaudit_filter_set_fport) seaudit_filter_wrap_set_fport;
++%rename(seaudit_filter_get_fport) seaudit_filter_wrap_get_fport;
++%rename(seaudit_filter_set_saddr) seaudit_filter_wrap_set_saddr;
++%rename(seaudit_filter_get_saddr) seaudit_filter_wrap_get_saddr;
++%rename(seaudit_filter_set_sport) seaudit_filter_wrap_set_sport;
++%rename(seaudit_filter_get_sport) seaudit_filter_wrap_get_sport;
++%rename(seaudit_filter_set_daddr) seaudit_filter_wrap_set_daddr;
++%rename(seaudit_filter_get_daddr) seaudit_filter_wrap_get_daddr;
++%rename(seaudit_filter_set_dport) seaudit_filter_wrap_set_dport;
++%rename(seaudit_filter_get_dport) seaudit_filter_wrap_get_dport;
++%rename(seaudit_filter_set_port) seaudit_filter_wrap_set_port;
++%rename(seaudit_filter_get_port) seaudit_filter_wrap_get_port;
++%rename(seaudit_filter_set_netif) seaudit_filter_wrap_set_netif;
++%rename(seaudit_filter_get_netif) seaudit_filter_wrap_get_netif;
++%rename(seaudit_filter_set_key) seaudit_filter_wrap_set_key;
++%rename(seaudit_filter_get_key) seaudit_filter_wrap_get_key;
++%rename(seaudit_filter_set_cap) seaudit_filter_wrap_set_cap;
++%rename(seaudit_filter_get_cap) seaudit_filter_wrap_get_cap;
++%rename(seaudit_filter_set_message_type) seaudit_filter_wrap_set_message_type;
++%rename(seaudit_filter_get_message_type) seaudit_filter_wrap_get_message_type;
++%rename(seaudit_filter_set_date) seaudit_filter_wrap_set_date;
++%extend seaudit_filter {
++      seaudit_filter(char *name = NULL) {
+               seaudit_filter_t *sf = NULL;
+               BEGIN_EXCEPTION
+               sf = seaudit_filter_create(name);
+@@ -619,7 +726,7 @@
+       fail:
+               return sf;
+       };
+-      seaudit_filter_t(seaudit_filter_t *in) {
++      seaudit_filter(seaudit_filter_t *in) {
+               seaudit_filter_t *sf = NULL;
+               BEGIN_EXCEPTION
+               sf = seaudit_filter_create_from_filter(in);
+@@ -630,7 +737,7 @@
+       fail:
+               return sf;
+       };
+-      ~seaudit_filter_t() {
++      ~seaudit_filter() {
+               seaudit_filter_destroy(&self);
+       };
+       void save(char *path) {
+@@ -642,7 +749,7 @@
+       fail:
+               return;
+       };
+-      void set_match(seaudit_filter_match_e match) {
++      void wrap_set_match(seaudit_filter_match_e match) {
+               BEGIN_EXCEPTION
+               if (seaudit_filter_set_match(self, match)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set filter matching method");
+@@ -651,10 +758,10 @@
+       fail:
+               return;
+       }
+-      seaudit_filter_match_e get_match() {
++      seaudit_filter_match_e wrap_get_match() {
+               return seaudit_filter_get_match(self);
+       };
+-      void set_name(char *name) {
++      void wrap_set_name(char *name) {
+               BEGIN_EXCEPTION
+               if (seaudit_filter_set_name(self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set filter name");
+@@ -663,10 +770,10 @@
+       fail:
+               return;
+       };
+-      const char *get_name() {
++      const char *wrap_get_name() {
+               return seaudit_filter_get_name(self);
+       };
+-      void set_description(char *description) {
++      void wrap_set_description(char *description) {
+               BEGIN_EXCEPTION
+               if (seaudit_filter_set_description(self, description)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set filter description");
+@@ -675,16 +782,16 @@
+       fail:
+               return;
+       };
+-      const char *get_description() {
++      const char *wrap_get_description() {
+               return seaudit_filter_get_description(self);
+       };
+-      void set_strict(bool is_strict) {
++      void wrap_set_strict(bool is_strict) {
+               seaudit_filter_set_strict(self, is_strict);
+       };
+-      bool get_strict() {
++      bool wrap_get_strict() {
+               return seaudit_filter_get_strict(self);
+       };
+-      void set_source_user(apol_string_vector_t *v) {
++      void wrap_set_source_user(apol_string_vector_t *v) {
+               BEGIN_EXCEPTION
+               if (seaudit_filter_set_source_user(self, (apol_vector_t*)v)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set source user list for filter");
+@@ -693,10 +800,10 @@
+       fail:
+               return;
+       };
+-      const apol_string_vector_t *get_source_user() {
++      const apol_string_vector_t *wrap_get_source_user() {
+               return (apol_string_vector_t*)seaudit_filter_get_source_user(self);
+       };
+-      void set_source_role(apol_string_vector_t *v) {
++      void wrap_set_source_role(apol_string_vector_t *v) {
+               BEGIN_EXCEPTION
+               if (seaudit_filter_set_source_role(self, (apol_vector_t*)v)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set source role list for filter");
+@@ -705,10 +812,10 @@
+       fail:
+               return;
+       };
+-      const apol_string_vector_t *get_source_role() {
++      const apol_string_vector_t *wrap_get_source_role() {
+               return (apol_string_vector_t*)seaudit_filter_get_source_role(self);
+       };
+-      void set_source_type(apol_string_vector_t *v) {
++      void wrap_set_source_type(apol_string_vector_t *v) {
+               BEGIN_EXCEPTION
+               if (seaudit_filter_set_source_type(self, (apol_vector_t*)v)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set source type list for filter");
+@@ -717,10 +824,10 @@
+       fail:
+               return;
+       };
+-      const apol_string_vector_t *get_source_type() {
++      const apol_string_vector_t *wrap_get_source_type() {
+               return (apol_string_vector_t*)seaudit_filter_get_source_type(self);
+       };
+-      void set_target_user(apol_string_vector_t *v) {
++      void wrap_set_target_user(apol_string_vector_t *v) {
+               BEGIN_EXCEPTION
+               if (seaudit_filter_set_target_user(self, (apol_vector_t*)v)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set target user list for filter");
+@@ -729,10 +836,10 @@
+       fail:
+               return;
+       };
+-      const apol_string_vector_t *get_target_user() {
++      const apol_string_vector_t *wrap_get_target_user() {
+               return (apol_string_vector_t*)seaudit_filter_get_target_user(self);
+       };
+-      void set_target_role(apol_string_vector_t *v) {
++      void wrap_set_target_role(apol_string_vector_t *v) {
+               BEGIN_EXCEPTION
+               if (seaudit_filter_set_target_role(self, (apol_vector_t*)v)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set target role list for filter");
+@@ -741,10 +848,10 @@
+       fail:
+               return;
+       };
+-      const apol_string_vector_t *get_target_role() {
++      const apol_string_vector_t *wrap_get_target_role() {
+               return (apol_string_vector_t*)seaudit_filter_get_target_role(self);
+       };
+-      void set_target_type(apol_string_vector_t *v) {
++      void wrap_set_target_type(apol_string_vector_t *v) {
+               BEGIN_EXCEPTION
+               if (seaudit_filter_set_target_type(self, (apol_vector_t*)v)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set target type list for filter");
+@@ -753,10 +860,10 @@
+       fail:
+               return;
+       };
+-      const apol_string_vector_t *get_target_type() {
++      const apol_string_vector_t *wrap_get_target_type() {
+               return (apol_string_vector_t*)seaudit_filter_get_target_type(self);
+       };
+-      void set_target_class(apol_string_vector_t *v) {
++      void wrap_set_target_class(apol_string_vector_t *v) {
+               BEGIN_EXCEPTION
+               if (seaudit_filter_set_target_class(self, (apol_vector_t*)v)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set target class list for filter");
+@@ -765,10 +872,10 @@
+       fail:
+               return;
+       };
+-      const apol_string_vector_t *get_target_class() {
++      const apol_string_vector_t *wrap_get_target_class() {
+               return (apol_string_vector_t*)seaudit_filter_get_target_class(self);
+       };
+-      void set_permission(char *name) {
++      void wrap_set_permission(char *name) {
+               BEGIN_EXCEPTION
+               if (seaudit_filter_set_permission(self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set permission for filter");
+@@ -777,10 +884,10 @@
+       fail:
+               return;
+       };
+-      const char *get_permission() {
++      const char *wrap_get_permission() {
+               return seaudit_filter_get_permission(self);
+       };
+-      void set_executable(char *name) {
++      void wrap_set_executable(char *name) {
+               BEGIN_EXCEPTION
+               if (seaudit_filter_set_executable(self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set executable for filter");
+@@ -789,10 +896,10 @@
+       fail:
+               return;
+       };
+-      const char *get_executable() {
++      const char *wrap_get_executable() {
+               return seaudit_filter_get_executable(self);
+       };
+-      void set_host(char *name) {
++      void wrap_set_host(char *name) {
+               BEGIN_EXCEPTION
+               if (seaudit_filter_set_host(self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set host for filter");
+@@ -801,10 +908,10 @@
+       fail:
+               return;
+       };
+-      const char *get_host() {
++      const char *wrap_get_host() {
+               return seaudit_filter_get_host(self);
+       };
+-      void set_path(char *path) {
++      void wrap_set_path(char *path) {
+               BEGIN_EXCEPTION
+               if (seaudit_filter_set_path(self, path)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set path for filter");
+@@ -813,10 +920,10 @@
+       fail:
+               return;
+       };
+-      const char *get_path() {
++      const char *wrap_get_path() {
+               return seaudit_filter_get_path(self);
+       };
+-      void set_command(char *name) {
++      void wrap_set_command(char *name) {
+               BEGIN_EXCEPTION
+               if (seaudit_filter_set_command(self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set command for filter");
+@@ -825,22 +932,22 @@
+       fail:
+               return;
+       };
+-      void set_inode(long inode) {
++      void wrap_set_inode(long inode) {
+               seaudit_filter_set_inode(self, (long) inode);
+       };
+-      long get_inode() {
++      long wrap_get_inode() {
+               return (long) seaudit_filter_get_inode(self);
+       };
+-      void set_pid(long pid) {
++      void wrap_set_pid(long pid) {
+               seaudit_filter_set_pid(self, (unsigned int) pid);
+       };
+-      long get_pid() {
++      long wrap_get_pid() {
+               return (long) seaudit_filter_get_pid(self);
+       };
+-      const char *get_command() {
++      const char *wrap_get_command() {
+               return seaudit_filter_get_command(self);
+       };
+-      void set_anyaddr(char *name) {
++      void wrap_set_anyaddr(char *name) {
+               BEGIN_EXCEPTION
+               if (seaudit_filter_set_anyaddr(self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set ip address for filter");
+@@ -849,16 +956,16 @@
+       fail:
+               return;
+       };
+-      const char *get_anyaddr() {
++      const char *wrap_get_anyaddr() {
+               return seaudit_filter_get_anyaddr(self);
+       };
+-      void set_anyport(int port) {
++      void wrap_set_anyport(int port) {
+               seaudit_filter_set_anyport(self, port);
+       };
+-      int get_anyport() {
++      int wrap_get_anyport() {
+               return seaudit_filter_get_anyport(self);
+       };
+-      void set_laddr(char *name) {
++      void wrap_set_laddr(char *name) {
+               BEGIN_EXCEPTION
+               if (seaudit_filter_set_laddr(self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set local address for filter");
+@@ -867,16 +974,16 @@
+       fail:
+               return;
+       };
+-      const char *get_laddr() {
++      const char *wrap_get_laddr() {
+               return seaudit_filter_get_laddr(self);
+       };
+-      void set_lport(int port) {
++      void wrap_set_lport(int port) {
+               seaudit_filter_set_lport(self, port);
+       };
+-      int get_lport() {
++      int wrap_get_lport() {
+               return seaudit_filter_get_lport(self);
+       };
+-      void set_faddr(char *name) {
++      void wrap_set_faddr(char *name) {
+               BEGIN_EXCEPTION
+               if (seaudit_filter_set_faddr(self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set foreign address for filter");
+@@ -885,16 +992,16 @@
+       fail:
+               return;
+       };
+-      const char *get_faddr() {
++      const char *wrap_get_faddr() {
+               return seaudit_filter_get_faddr(self);
+       };
+-      void set_fport(int port) {
++      void wrap_set_fport(int port) {
+               seaudit_filter_set_fport(self, port);
+       };
+-      int get_fport() {
++      int wrap_get_fport() {
+               return seaudit_filter_get_fport(self);
+       };
+-      void set_saddr(char *name) {
++      void wrap_set_saddr(char *name) {
+               BEGIN_EXCEPTION
+               if (seaudit_filter_set_saddr(self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set source address for filter");
+@@ -903,16 +1010,16 @@
+       fail:
+               return;
+       };
+-      const char *get_saddr() {
++      const char *wrap_get_saddr() {
+               return seaudit_filter_get_saddr(self);
+       };
+-      void set_sport(int port) {
++      void wrap_set_sport(int port) {
+               seaudit_filter_set_sport(self, port);
+       };
+-      int get_sport() {
++      int wrap_get_sport() {
+               return seaudit_filter_get_sport(self);
+       };
+-      void set_daddr(char *name) {
++      void wrap_set_daddr(char *name) {
+               BEGIN_EXCEPTION
+               if (seaudit_filter_set_daddr(self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set destination address for filter");
+@@ -921,22 +1028,22 @@
+       fail:
+               return;
+       };
+-      const char *get_daddr() {
++      const char *wrap_get_daddr() {
+               return seaudit_filter_get_daddr(self);
+       };
+-      void set_dport(int port) {
++      void wrap_set_dport(int port) {
+               seaudit_filter_set_dport(self, port);
+       };
+-      int get_dport() {
++      int wrap_get_dport() {
+               return seaudit_filter_get_dport(self);
+       };
+-      void set_port(int port) {
++      void wrap_set_port(int port) {
+               seaudit_filter_set_port(self, port);
+       };
+-      int get_port() {
++      int wrap_get_port() {
+               return seaudit_filter_get_port(self);
+       };
+-      void set_netif(char *name) {
++      void wrap_set_netif(char *name) {
+               BEGIN_EXCEPTION
+               if (seaudit_filter_set_netif(self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set network interface for filter");
+@@ -945,22 +1052,22 @@
+       fail:
+               return;
+       };
+-      const char *get_netif() {
++      const char *wrap_get_netif() {
+               return seaudit_filter_get_netif(self);
+       };
+-      void set_key(int key) {
++      void wrap_set_key(int key) {
+               seaudit_filter_set_key(self, key);
+       };
+-      int get_key() {
++      int wrap_get_key() {
+               return seaudit_filter_get_key(self);
+       };
+-      void set_cap(int cap) {
++      void wrap_set_cap(int cap) {
+               seaudit_filter_set_cap(self, cap);
+       };
+-      int get_cap() {
++      int wrap_get_cap() {
+               return seaudit_filter_get_cap(self);
+       };
+-      void set_message_type(seaudit_avc_message_type_e mtype) {
++      void wrap_set_message_type(seaudit_avc_message_type_e mtype) {
+               BEGIN_EXCEPTION
+               if (seaudit_filter_set_message_type(self, mtype)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set message type for filter");
+@@ -969,10 +1076,10 @@
+       fail:
+               return;
+       };
+-      seaudit_message_type_e get_message_type() {
++      seaudit_message_type_e wrap_get_message_type() {
+               return seaudit_filter_get_message_type(self);
+       };
+-      void set_date(struct tm *start, struct tm *end, seaudit_filter_date_match_e match) {
++      void wrap_set_date(struct tm *start, struct tm *end, seaudit_filter_date_match_e match) {
+               BEGIN_EXCEPTION
+               if (seaudit_filter_set_date(self, start, end, match)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set date for filter");
+@@ -981,21 +1088,21 @@
+       fail:
+               return;
+       };
+-      const struct tm *get_start_date() {
++      const struct tm *wrap_get_start_date() {
+               const struct tm *s;
+               const struct tm *e;
+               seaudit_filter_date_match_e m;
+               seaudit_filter_get_date(self, &s, &e, &m);
+               return s;
+       };
+-      const struct tm *get_end_date() {
++      const struct tm *wrap_get_end_date() {
+               const struct tm *s;
+               const struct tm *e;
+               seaudit_filter_date_match_e m;
+               seaudit_filter_get_date(self, &s, &e, &m);
+               return e;
+       };
+-      seaudit_filter_date_match_e get_date_match() {
++      seaudit_filter_date_match_e wrap_get_date_match() {
+               const struct tm *s;
+               const struct tm *e;
+               seaudit_filter_date_match_e m;
+@@ -1013,15 +1120,15 @@
+ /* seaudit sort */
+ typedef struct seaudit_sort {} seaudit_sort_t;
+-%extend seaudit_sort_t {
+-      seaudit_sort_t() {
++%extend seaudit_sort {
++      seaudit_sort() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create seaudit_sort_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       };
+-      seaudit_sort_t(seaudit_sort_t *in) {
++      seaudit_sort(seaudit_sort_t *in) {
+               seaudit_sort_t *ss = NULL;
+               BEGIN_EXCEPTION
+               ss = seaudit_sort_create_from_sort(in);
+@@ -1032,7 +1139,7 @@
+       fail:
+               return ss;
+       };
+-        ~seaudit_sort_t() {
++        ~seaudit_sort() {
+               seaudit_sort_destroy(&self);
+       };
+ };
+@@ -1112,8 +1219,28 @@
+ }
+ #endif
+ typedef struct seaudit_model {} seaudit_model_t;
+-%extend seaudit_model_t {
+-      seaudit_model_t(char *name = NULL, seaudit_log_t *slog = NULL) {
++%rename(seaudit_model_get_name) seaudit_model_wrap_get_name;
++%rename(seaudit_model_set_name) seaudit_model_wrap_set_name;
++%rename(seaudit_model_append_log) seaudit_model_wrap_append_log;
++%rename(seaudit_model_append_filter) seaudit_model_wrap_append_filter;
++%rename(seaudit_model_get_filters) seaudit_model_wrap_get_filters;
++%rename(seaudit_model_remove_filter) seaudit_model_wrap_remove_filter;
++%rename(seaudit_model_set_filter_match) seaudit_model_wrap_set_filter_match;
++%rename(seaudit_model_get_filter_match) seaudit_model_wrap_get_filter_match;
++%rename(seaudit_model_set_filter_visible) seaudit_model_wrap_set_filter_visible;
++%rename(seaudit_model_get_filter_visible) seaudit_model_wrap_get_filter_visible;
++%rename(seaudit_model_append_sort) seaudit_model_wrap_append_sort;
++%rename(seaudit_model_clear_sorts) seaudit_model_wrap_clear_sorts;
++%rename(seaudit_model_is_changed) seaudit_model_wrap_is_changed;
++%rename(seaudit_model_get_messages) seaudit_model_wrap_get_messages;
++%rename(seaudit_model_get_malformed_messages) seaudit_model_wrap_get_malformed_messages;
++%rename(seaudit_model_hide_message) seaudit_model_wrap_hide_message;
++%rename(seaudit_model_get_num_allows) seaudit_model_wrap_get_num_allows;
++%rename(seaudit_model_get_num_denies) seaudit_model_wrap_get_num_denies;
++%rename(seaudit_model_get_num_bools) seaudit_model_wrap_get_num_bools;
++%rename(seaudit_model_get_num_loads) seaudit_model_wrap_get_num_loads;
++%extend seaudit_model {
++      seaudit_model(char *name = NULL, seaudit_log_t *slog = NULL) {
+               seaudit_model_t *smod;
+               BEGIN_EXCEPTION
+               smod = seaudit_model_create(name, slog);
+@@ -1124,7 +1251,7 @@
+       fail:
+               return smod;
+       };
+-      seaudit_model_t(seaudit_model_t *in) {
++      seaudit_model(seaudit_model_t *in) {
+               seaudit_model_t *smod;
+               BEGIN_EXCEPTION
+               smod = seaudit_model_create_from_model(in);
+@@ -1135,7 +1262,7 @@
+       fail:
+               return smod;
+       };
+-      seaudit_model_t(char *path) {
++      seaudit_model(char *path) {
+               seaudit_model_t *smod;
+               BEGIN_EXCEPTION
+               smod = seaudit_model_create_from_file(path);
+@@ -1146,7 +1273,7 @@
+       fail:
+               return smod;
+       }
+-      ~seaudit_model_t() {
++      ~seaudit_model() {
+               seaudit_model_destroy(&self);
+       };
+       void save(char *path) {
+@@ -1158,10 +1285,10 @@
+       fail:
+               return;
+       }
+-      const char *get_name() {
++      const char *wrap_get_name() {
+               return seaudit_model_get_name(self);
+       };
+-      void set_name(char *name) {
++      void wrap_set_name(char *name) {
+               BEGIN_EXCEPTION
+               if (seaudit_model_set_name(self, name)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set model name");
+@@ -1170,7 +1297,7 @@
+       fail:
+               return;
+       };
+-      void append_log(seaudit_log_t *slog) {
++      void wrap_append_log(seaudit_log_t *slog) {
+               BEGIN_EXCEPTION
+               if (seaudit_model_append_log(self, slog)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not append log to model");
+@@ -1179,7 +1306,7 @@
+       fail:
+               return;
+       };
+-      void append_filter(seaudit_filter_t *filter) {
++      void wrap_append_filter(seaudit_filter_t *filter) {
+               BEGIN_EXCEPTION
+ #ifdef SWIGJAVA /* duplicate so the garbage collector does not double free */
+               seaudit_filter_t *tmp = seaudit_filter_create_from_filter(filter);
+@@ -1196,11 +1323,11 @@
+       fail:
+               return;
+       };
+-      const apol_vector_t *get_filters() {
++      const apol_vector_t *wrap_get_filters() {
+               return seaudit_model_get_filters(self);
+       };
+       %delobject remove_filter();
+-      void remove_filter(seaudit_filter_t *filter) {
++      void wrap_remove_filter(seaudit_filter_t *filter) {
+               BEGIN_EXCEPTION
+               if (seaudit_model_remove_filter(self, filter)) {
+                       SWIG_exception(SWIG_ValueError, "Could not remove filter");
+@@ -1209,7 +1336,7 @@
+       fail:
+               return;
+       };
+-      void set_filter_match(seaudit_filter_match_e match) {
++      void wrap_set_filter_match(seaudit_filter_match_e match) {
+               BEGIN_EXCEPTION
+               if (seaudit_model_set_filter_match(self, match)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set filter matching method for model");
+@@ -1218,10 +1345,10 @@
+       fail:
+               return;
+       };
+-      seaudit_filter_match_e get_filter_match() {
++      seaudit_filter_match_e wrap_get_filter_match() {
+               return seaudit_model_get_filter_match(self);
+       };
+-      void set_filter_visible(seaudit_filter_visible_e vis) {
++      void wrap_set_filter_visible(seaudit_filter_visible_e vis) {
+               BEGIN_EXCEPTION
+               if (seaudit_model_set_filter_visible(self, vis)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set filter visibility for model");
+@@ -1230,10 +1357,10 @@
+       fail:
+               return;
+       };
+-      seaudit_filter_visible_e get_filter_visible() {
++      seaudit_filter_visible_e wrap_get_filter_visible() {
+               return seaudit_model_get_filter_visible(self);
+       };
+-      void append_sort(seaudit_sort_t *ssort) {
++      void wrap_append_sort(seaudit_sort_t *ssort) {
+               BEGIN_EXCEPTION
+ #ifdef SWIGJAVA
+               seaudit_sort_t *tmp = seaudit_sort_create_from_sort(ssort);
+@@ -1250,7 +1377,7 @@
+       fail:
+               return;
+       };
+-      void clear_sorts() {
++      void wrap_clear_sorts() {
+               BEGIN_EXCEPTION
+               if (seaudit_model_clear_sorts(self)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not clear model sorting criteria");
+@@ -1259,11 +1386,11 @@
+       fail:
+               return;
+       };
+-      int is_changed() {
++      int wrap_is_changed() {
+               return seaudit_model_is_changed(self);
+       };
+       %newobject get_messages(seaudit_log_t*);
+-      apol_vector_t *get_messages(seaudit_log_t *slog) {
++      apol_vector_t *wrap_get_messages(seaudit_log_t *slog) {
+               apol_vector_t *v = NULL;
+               BEGIN_EXCEPTION
+               v = seaudit_model_get_messages(slog, self);
+@@ -1275,7 +1402,7 @@
+               return v;
+       };
+       %newobject get_malformed_messages(seaudit_log_t*);
+-      apol_vector_t *get_malformed_messages(seaudit_log_t *slog) {
++      apol_vector_t *wrap_get_malformed_messages(seaudit_log_t *slog) {
+               apol_vector_t *v = NULL;
+               BEGIN_EXCEPTION
+               v = seaudit_model_get_malformed_messages(slog, self);
+@@ -1286,19 +1413,19 @@
+       fail:
+               return v;
+       };
+-      void hide_message(seaudit_message_t *message) {
++      void wrap_hide_message(seaudit_message_t *message) {
+               seaudit_model_hide_message(self, message);
+       };
+-      size_t get_num_allows(seaudit_log_t *slog) {
++      size_t wrap_get_num_allows(seaudit_log_t *slog) {
+               return seaudit_model_get_num_allows(slog, self);
+       };
+-      size_t get_num_denies(seaudit_log_t *slog) {
++      size_t wrap_get_num_denies(seaudit_log_t *slog) {
+               return seaudit_model_get_num_denies(slog, self);
+       };
+-      size_t get_num_bools(seaudit_log_t *slog) {
++      size_t wrap_get_num_bools(seaudit_log_t *slog) {
+               return seaudit_model_get_num_bools(slog, self);
+       };
+-      size_t get_num_loads(seaudit_log_t *slog) {
++      size_t wrap_get_num_loads(seaudit_log_t *slog) {
+               return seaudit_model_get_num_loads(slog, self);
+       };
+ };
+@@ -1310,8 +1437,13 @@
+       SEAUDIT_REPORT_FORMAT_HTML
+ } seaudit_report_format_e;
+ typedef struct seaudit_report {} seaudit_report_t;
+-%extend seaudit_report_t {
+-      seaudit_report_t(seaudit_model_t *m) {
++%rename(seaudit_report_write) seaudit_report_wrap_write;
++%rename(seaudit_report_set_format) seaudit_report_wrap_set_format;
++%rename(seaudit_report_set_configuration) seaudit_report_wrap_set_configuration;
++%rename(seaudit_report_set_stylesheet) seaudit_report_wrap_set_stylesheet;
++%rename(seaudit_report_set_malformed) seaudit_report_wrap_set_malformed;
++%extend seaudit_report {
++      seaudit_report(seaudit_model_t *m) {
+               seaudit_report_t *sr;
+               BEGIN_EXCEPTION
+               sr = seaudit_report_create(m);
+@@ -1322,10 +1454,10 @@
+       fail:
+               return sr;
+       };
+-      ~seaudit_report_t() {
++      ~seaudit_report() {
+               seaudit_report_destroy(&self);
+       };
+-      void write(seaudit_log_t *slog, char *path) {
++      void wrap_write(seaudit_log_t *slog, char *path) {
+               BEGIN_EXCEPTION
+               if (seaudit_report_write(slog, self, path)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not write report to file");
+@@ -1334,7 +1466,7 @@
+       fail:
+               return;
+       };
+-      void set_format(seaudit_log_t *slog, seaudit_report_format_e format) {
++      void wrap_set_format(seaudit_log_t *slog, seaudit_report_format_e format) {
+               BEGIN_EXCEPTION
+               if (seaudit_report_set_format(slog, self, format)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set report format");
+@@ -1343,7 +1475,7 @@
+       fail:
+               return;
+       };
+-      void set_configuration(seaudit_log_t *slog, char *path) {
++      void wrap_set_configuration(seaudit_log_t *slog, char *path) {
+               BEGIN_EXCEPTION
+               if (seaudit_report_set_configuration(slog, self, path)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set report configuration file");
+@@ -1352,7 +1484,7 @@
+       fail:
+               return;
+       };
+-      void set_stylesheet(seaudit_log_t *slog, char *path, int use_stylesheet) {
++      void wrap_set_stylesheet(seaudit_log_t *slog, char *path, int use_stylesheet) {
+               BEGIN_EXCEPTION
+               if (seaudit_report_set_stylesheet(slog, self, path, use_stylesheet)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set report stylesheet");
+@@ -1361,7 +1493,7 @@
+       fail:
+               return;
+       };
+-      void set_malformed(seaudit_log_t *slog, int do_malformed) {
++      void wrap_set_malformed(seaudit_log_t *slog, int do_malformed) {
+               BEGIN_EXCEPTION
+               if (seaudit_report_set_malformed(slog, self, do_malformed)) {
+                       SWIG_exception(SWIG_RuntimeError, "Could not set report malformed flag");
diff --git a/setools-swig.patch b/setools-swig.patch
new file mode 100644 (file)
index 0000000..f093e0b
--- /dev/null
@@ -0,0 +1,1543 @@
+commit f6d424a0b6073c1991dc1c2d38aca26c917ecdfc
+Author: Dmitry Podgorny <pasis.ua@gmail.com>
+Date:   Thu Jul 4 22:34:38 2013 +0300
+
+    merge swig changes from fedoraproject
+    
+    These patches fix apol
+
+diff --git a/libapol/swig/apol.i b/libapol/swig/apol.i
+index ae1262d..2e9fc55 100644
+--- a/libapol/swig/apol.i
++++ b/libapol/swig/apol.i
+@@ -256,7 +256,7 @@ uint8_t apol_str_to_protocol(const char *protocol_str);
+       }
+ %}
+ %extend apol_ip_t {
+-      apol_ip_t(const char *str) {
++      apol_ip(const char *str) {
+               apol_ip_t *ip = NULL;
+               BEGIN_EXCEPTION
+               ip = calloc(1, sizeof(*ip));
+@@ -274,7 +274,7 @@ uint8_t apol_str_to_protocol(const char *protocol_str);
+       fail:
+               return ip;
+       };
+-      ~apol_ip_t() {
++      ~apol_ip() {
+           free(self);
+       };
+       int get_protocol() {
+@@ -303,16 +303,16 @@ char *apol_file_find_path(const char *file_name);
+ %}
+ typedef struct apol_vector {} apol_vector_t;
+ %extend apol_vector_t {
+-      apol_vector_t() {
++      apol_vector() {
+               return apol_vector_create(NULL);
+       };
+-      apol_vector_t(qpol_iterator_t *iter) {
++      apol_vector(qpol_iterator_t *iter) {
+               return apol_vector_create_from_iter(iter, NULL);
+       };
+-      apol_vector_t(apol_vector_t *v) {
++      apol_vector(apol_vector_t *v) {
+               return apol_vector_create_from_vector(v, NULL, NULL, NULL);
+       };
+-      apol_vector_t(apol_vector_t *a, apol_vector_t *b) {
++      apol_vector(apol_vector_t *a, apol_vector_t *b) {
+               return apol_vector_create_from_intersection(a, b, NULL, NULL);
+       };
+       size_t get_size() {
+@@ -324,7 +324,7 @@ typedef struct apol_vector {} apol_vector_t;
+       void *get_element(size_t i) {
+               return apol_vector_get_element(self, i);
+       };
+-      ~apol_vector_t() {
++      ~apol_vector() {
+               apol_vector_destroy(&self);
+       };
+       void append(void *x) {
+@@ -379,13 +379,13 @@ typedef struct apol_vector {} apol_vector_t;
+ %}
+ typedef struct apol_string_vector {} apol_string_vector_t;
+ %extend apol_string_vector_t {
+-      apol_string_vector_t() {
++      apol_string_vector() {
+               return (apol_string_vector_t*)apol_vector_create(free);
+       };
+-      apol_string_vector_t(apol_string_vector_t *v) {
++      apol_string_vector(apol_string_vector_t *v) {
+               return (apol_string_vector_t*)apol_vector_create_from_vector((apol_vector_t*)v, apol_str_strdup, NULL, free);
+       };
+-      apol_string_vector_t(apol_string_vector_t *a, apol_string_vector_t *b) {
++      apol_string_vector(apol_string_vector_t *a, apol_string_vector_t *b) {
+               return (apol_string_vector_t*)apol_vector_create_from_intersection((apol_vector_t*)a, (apol_vector_t*)b, apol_str_strcmp, NULL);
+       };
+       size_t get_size() {
+@@ -397,7 +397,7 @@ typedef struct apol_string_vector {} apol_string_vector_t;
+       char *get_element(size_t i) {
+               return (char*)apol_vector_get_element((apol_vector_t*)self, i);
+       };
+-      ~apol_string_vector_t() {
++      ~apol_string_vector() {
+               apol_vector_destroy((apol_vector_t**)&self);
+       };
+       size_t get_index(char *str) {
+@@ -462,7 +462,7 @@ typedef struct apol_string_vector {} apol_string_vector_t;
+ } apol_policy_path_type_e;
+ typedef struct apol_policy_path {} apol_policy_path_t;
+ %extend apol_policy_path_t {
+-      apol_policy_path_t(apol_policy_path_type_e type, char * primary, apol_string_vector_t *modules = NULL) {
++      apol_policy_path(apol_policy_path_type_e type, char * primary, apol_string_vector_t *modules = NULL) {
+               apol_policy_path_t *p;
+               BEGIN_EXCEPTION
+               if ((p = apol_policy_path_create(type, primary, (apol_vector_t*)modules)) == NULL) {
+@@ -472,7 +472,7 @@ typedef struct apol_policy_path {} apol_policy_path_t;
+       fail:
+               return p;
+       };
+-      apol_policy_path_t(char *path) {
++      apol_policy_path(char *path) {
+               apol_policy_path_t *p;
+               BEGIN_EXCEPTION
+               if ((p = apol_policy_path_create_from_file(path)) == NULL) {
+@@ -482,7 +482,7 @@ typedef struct apol_policy_path {} apol_policy_path_t;
+       fail:
+               return p;
+       };
+-      apol_policy_path_t(char *str, int unused) {
++      apol_policy_path(char *str, int unused) {
+               apol_policy_path_t *p;
+               BEGIN_EXCEPTION
+               if ((p = apol_policy_path_create_from_string(str)) == NULL) {
+@@ -492,7 +492,7 @@ typedef struct apol_policy_path {} apol_policy_path_t;
+       fail:
+                       return p;
+       };
+-      apol_policy_path_t(apol_policy_path_t *in) {
++      apol_policy_path(apol_policy_path_t *in) {
+               apol_policy_path_t *p;
+               BEGIN_EXCEPTION
+               if ((p = apol_policy_path_create_from_policy_path(in)) == NULL) {
+@@ -502,7 +502,7 @@ typedef struct apol_policy_path {} apol_policy_path_t;
+       fail:
+               return p;
+       };
+-      ~apol_policy_path_t() {
++      ~apol_policy_path() {
+               apol_policy_path_destroy(&self);
+       };
+       apol_policy_path_type_e get_type() {
+@@ -549,7 +549,7 @@ typedef struct apol_policy {} apol_policy_t;
+ #define APOL_PERMMAP_BOTH     (APOL_PERMMAP_READ | APOL_PERMMAP_WRITE)
+ #define APOL_PERMMAP_NONE     0x10
+ %extend apol_policy_t {
+-      apol_policy_t(apol_policy_path_t *path, int options = 0) {
++      apol_policy(apol_policy_path_t *path, int options = 0) {
+               apol_policy_t *p;
+               BEGIN_EXCEPTION
+               p = apol_policy_create_from_policy_path(path, options, apol_swig_message_callback, apol_swig_message_callback_arg);
+@@ -564,7 +564,7 @@ typedef struct apol_policy {} apol_policy_t;
+       fail:
+               return p;
+       };
+-      ~apol_policy_t() {
++      ~apol_policy() {
+               apol_policy_destroy(&self);
+       };
+       int get_policy_type() {
+@@ -652,7 +652,7 @@ typedef struct apol_policy {} apol_policy_t;
+ /* apol type query */
+ typedef struct apol_type_query {} apol_type_query_t;
+ %extend apol_type_query_t {
+-      apol_type_query_t() {
++      apol_type_query() {
+               apol_type_query_t *tq;
+               BEGIN_EXCEPTION
+               tq = apol_type_query_create();
+@@ -663,7 +663,7 @@ typedef struct apol_type_query {} apol_type_query_t;
+       fail:
+               return tq;
+       };
+-      ~apol_type_query_t() {
++      ~apol_type_query() {
+               apol_type_query_destroy(&self);
+       };
+       %newobject run(apol_policy_t *);
+@@ -694,7 +694,7 @@ typedef struct apol_type_query {} apol_type_query_t;
+ /* apol attribute query */
+ typedef struct apol_attr_query {} apol_attr_query_t;
+ %extend apol_attr_query_t {
+-      apol_attr_query_t() {
++      apol_attr_query() {
+               apol_attr_query_t *aq;
+               BEGIN_EXCEPTION
+               aq = apol_attr_query_create();
+@@ -705,7 +705,7 @@ typedef struct apol_attr_query {} apol_attr_query_t;
+       fail:
+               return aq;
+       };
+-      ~apol_attr_query_t() {
++      ~apol_attr_query() {
+               apol_attr_query_destroy(&self);
+       };
+       %newobject run(apol_policy_t *);
+@@ -736,7 +736,7 @@ typedef struct apol_attr_query {} apol_attr_query_t;
+ /* apol role query */
+ typedef struct apol_role_query {} apol_role_query_t;
+ %extend apol_role_query_t {
+-      apol_role_query_t() {
++      apol_role_query() {
+               apol_role_query_t *rq;
+               BEGIN_EXCEPTION
+               rq = apol_role_query_create();
+@@ -747,7 +747,7 @@ typedef struct apol_role_query {} apol_role_query_t;
+       fail:
+               return rq;
+       };
+-      ~apol_role_query_t() {
++      ~apol_role_query() {
+               apol_role_query_destroy(&self);
+       };
+       %newobject run(apol_policy_t *);
+@@ -788,7 +788,7 @@ int apol_role_has_type(apol_policy_t * p, qpol_role_t * r, qpol_type_t * t);
+ /* apol class query */
+ typedef struct apol_class_query {} apol_class_query_t;
+ %extend apol_class_query_t {
+-      apol_class_query_t() {
++      apol_class_query() {
+               apol_class_query_t *cq;
+               BEGIN_EXCEPTION
+               cq = apol_class_query_create();
+@@ -799,7 +799,7 @@ typedef struct apol_class_query {} apol_class_query_t;
+       fail:
+               return cq;
+       };
+-      ~apol_class_query_t() {
++      ~apol_class_query() {
+               apol_class_query_destroy(&self);
+       };
+       %newobject run(apol_policy_t*);
+@@ -839,7 +839,7 @@ typedef struct apol_class_query {} apol_class_query_t;
+ /* apol common query */
+ typedef struct apol_common_query {} apol_common_query_t;
+ %extend apol_common_query_t {
+-      apol_common_query_t() {
++      apol_common_query() {
+               apol_common_query_t *cq;
+               BEGIN_EXCEPTION
+               cq = apol_common_query_create();
+@@ -850,7 +850,7 @@ typedef struct apol_common_query {} apol_common_query_t;
+       fail:
+               return cq;
+       };
+-      ~apol_common_query_t() {
++      ~apol_common_query() {
+               apol_common_query_destroy(&self);
+       };
+       %newobject run(apol_policy_t*);
+@@ -881,7 +881,7 @@ typedef struct apol_common_query {} apol_common_query_t;
+ /* apol perm query */
+ typedef struct apol_perm_query {} apol_perm_query_t;
+ %extend apol_perm_query_t {
+-      apol_perm_query_t() {
++      apol_perm_query() {
+               apol_perm_query_t *pq;
+               BEGIN_EXCEPTION
+               pq = apol_perm_query_create();
+@@ -892,7 +892,7 @@ typedef struct apol_perm_query {} apol_perm_query_t;
+       fail:
+               return pq;
+       };
+-      ~apol_perm_query_t() {
++      ~apol_perm_query() {
+               apol_perm_query_destroy(&self);
+       };
+       %newobject run(apol_policy_t*);
+@@ -923,7 +923,7 @@ typedef struct apol_perm_query {} apol_perm_query_t;
+ /* apol bool query */
+ typedef struct apol_bool_query {} apol_bool_query_t;
+ %extend apol_bool_query_t {
+-      apol_bool_query_t() {
++      apol_bool_query() {
+               apol_bool_query_t *bq;
+               BEGIN_EXCEPTION
+               bq = apol_bool_query_create();
+@@ -934,7 +934,7 @@ typedef struct apol_bool_query {} apol_bool_query_t;
+       fail:
+               return bq;
+       };
+-      ~apol_bool_query_t() {
++      ~apol_bool_query() {
+               apol_bool_query_destroy(&self);
+       };
+       %newobject run(apol_policy_t*);
+@@ -965,7 +965,7 @@ typedef struct apol_bool_query {} apol_bool_query_t;
+ /* apol mls level */
+ typedef struct apol_mls_level {} apol_mls_level_t;
+ %extend apol_mls_level_t {
+-      apol_mls_level_t() {
++      apol_mls_level() {
+               apol_mls_level_t *aml;
+               BEGIN_EXCEPTION
+               aml = apol_mls_level_create();
+@@ -976,7 +976,7 @@ typedef struct apol_mls_level {} apol_mls_level_t;
+       fail:
+               return aml;
+       };
+-      apol_mls_level_t(apol_mls_level_t *in) {
++      apol_mls_level(apol_mls_level_t *in) {
+               apol_mls_level_t *aml;
+               BEGIN_EXCEPTION
+               aml = apol_mls_level_create_from_mls_level(in);
+@@ -987,7 +987,7 @@ typedef struct apol_mls_level {} apol_mls_level_t;
+       fail:
+               return aml;
+       };
+-      apol_mls_level_t(apol_policy_t *p, const char *str) {
++      apol_mls_level(apol_policy_t *p, const char *str) {
+               apol_mls_level_t *aml;
+               BEGIN_EXCEPTION
+               aml = apol_mls_level_create_from_string(p, str);
+@@ -998,7 +998,7 @@ typedef struct apol_mls_level {} apol_mls_level_t;
+       fail:
+               return aml;
+       };
+-      apol_mls_level_t(const char *str) {
++      apol_mls_level(const char *str) {
+               apol_mls_level_t *aml;
+               BEGIN_EXCEPTION
+               aml = apol_mls_level_create_from_literal(str);
+@@ -1009,7 +1009,7 @@ typedef struct apol_mls_level {} apol_mls_level_t;
+       fail:
+               return aml;
+       };
+-      apol_mls_level_t(apol_policy_t *p, qpol_mls_level_t *qml) {
++      apol_mls_level(apol_policy_t *p, qpol_mls_level_t *qml) {
+               apol_mls_level_t *aml;
+               BEGIN_EXCEPTION
+               aml = apol_mls_level_create_from_qpol_mls_level(p, qml);
+@@ -1020,7 +1020,7 @@ typedef struct apol_mls_level {} apol_mls_level_t;
+       fail:
+               return aml;
+       };
+-      apol_mls_level_t(apol_policy_t *p, qpol_level_t *ql) {
++      apol_mls_level(apol_policy_t *p, qpol_level_t *ql) {
+               apol_mls_level_t *aml;
+               BEGIN_EXCEPTION
+               aml = apol_mls_level_create_from_qpol_level_datum(p, ql);
+@@ -1031,7 +1031,7 @@ typedef struct apol_mls_level {} apol_mls_level_t;
+       fail:
+               return aml;
+       };
+-      ~apol_mls_level_t() {
++      ~apol_mls_level() {
+               apol_mls_level_destroy(&self);
+       };
+       void set_sens(apol_policy_t *p, char *sens) {
+@@ -1128,7 +1128,7 @@ int apol_mls_cats_compare(apol_policy_t * p, const char *cat1, const char *cat2)
+ #endif
+ typedef struct apol_mls_range {} apol_mls_range_t;
+ %extend apol_mls_range_t {
+-      apol_mls_range_t() {
++      apol_mls_range() {
+               apol_mls_range_t *amr;
+               BEGIN_EXCEPTION
+               amr = apol_mls_range_create();
+@@ -1139,7 +1139,7 @@ typedef struct apol_mls_range {} apol_mls_range_t;
+       fail:
+               return amr;
+       };
+-      apol_mls_range_t(apol_mls_range_t *in) {
++      apol_mls_range(apol_mls_range_t *in) {
+               apol_mls_range_t *amr;
+               BEGIN_EXCEPTION
+               amr = apol_mls_range_create_from_mls_range(in);
+@@ -1150,7 +1150,7 @@ typedef struct apol_mls_range {} apol_mls_range_t;
+       fail:
+               return amr;
+       };
+-      apol_mls_range_t(apol_policy_t *p, const char *s) {
++      apol_mls_range(apol_policy_t *p, const char *s) {
+               apol_mls_range_t *amr;
+               BEGIN_EXCEPTION
+               amr = apol_mls_range_create_from_string(p, s);
+@@ -1161,7 +1161,7 @@ typedef struct apol_mls_range {} apol_mls_range_t;
+       fail:
+               return amr;
+       };
+-      apol_mls_range_t(const char *s) {
++      apol_mls_range(const char *s) {
+               apol_mls_range_t *amr;
+               BEGIN_EXCEPTION
+               amr = apol_mls_range_create_from_literal(s);
+@@ -1172,7 +1172,7 @@ typedef struct apol_mls_range {} apol_mls_range_t;
+       fail:
+               return amr;
+       };
+-      apol_mls_range_t(apol_policy_t *p, qpol_mls_range_t *in) {
++      apol_mls_range(apol_policy_t *p, qpol_mls_range_t *in) {
+               apol_mls_range_t *amr;
+               BEGIN_EXCEPTION
+               amr = apol_mls_range_create_from_qpol_mls_range(p, in);
+@@ -1183,7 +1183,7 @@ typedef struct apol_mls_range {} apol_mls_range_t;
+       fail:
+               return amr;
+       };
+-      ~apol_mls_range_t() {
++      ~apol_mls_range() {
+               apol_mls_range_destroy(&self);
+       };
+       void set_low(apol_policy_t *p, apol_mls_level_t *lvl) {
+@@ -1278,7 +1278,7 @@ int apol_mls_range_contain_subrange(apol_policy_t * p, const apol_mls_range_t *
+ /* apol level query */
+ typedef struct apol_level_query {} apol_level_query_t;
+ %extend apol_level_query_t {
+-      apol_level_query_t() {
++      apol_level_query() {
+               apol_level_query_t * alq;
+               BEGIN_EXCEPTION
+               alq = apol_level_query_create();
+@@ -1289,7 +1289,7 @@ typedef struct apol_level_query {} apol_level_query_t;
+       fail:
+               return alq;
+       };
+-      ~apol_level_query_t() {
++      ~apol_level_query() {
+               apol_level_query_destroy(&self);
+       };
+       %newobject run(apol_policy_t*);
+@@ -1329,7 +1329,7 @@ typedef struct apol_level_query {} apol_level_query_t;
+ /* apol cat query */
+ typedef struct apol_cat_query {} apol_cat_query_t;
+ %extend apol_cat_query_t {
+-      apol_cat_query_t() {
++      apol_cat_query() {
+               apol_cat_query_t * acq;
+               BEGIN_EXCEPTION
+               acq = apol_cat_query_create();
+@@ -1340,7 +1340,7 @@ typedef struct apol_cat_query {} apol_cat_query_t;
+       fail:
+               return acq;
+       };
+-      ~apol_cat_query_t() {
++      ~apol_cat_query() {
+               apol_cat_query_destroy(&self);
+       };
+       %newobject run(apol_policy_t *);
+@@ -1379,7 +1379,7 @@ typedef struct apol_cat_query {} apol_cat_query_t;
+ #endif
+ typedef struct apol_user_query {} apol_user_query_t;
+ %extend apol_user_query_t {
+-      apol_user_query_t() {
++      apol_user_query() {
+               apol_user_query_t *auq;
+               BEGIN_EXCEPTION
+               auq = apol_user_query_create();
+@@ -1390,7 +1390,7 @@ typedef struct apol_user_query {} apol_user_query_t;
+       fail:
+               return auq;
+       };
+-      ~apol_user_query_t() {
++      ~apol_user_query() {
+               apol_user_query_destroy(&self);
+       };
+       %newobject run(apol_policy_t*);
+@@ -1448,7 +1448,7 @@ typedef struct apol_user_query {} apol_user_query_t;
+ /* apol context */
+ typedef struct apol_context {} apol_context_t;
+ %extend apol_context_t {
+-      apol_context_t() {
++      apol_context() {
+               apol_context_t *ctx;
+               BEGIN_EXCEPTION
+               ctx = apol_context_create();
+@@ -1459,7 +1459,7 @@ typedef struct apol_context {} apol_context_t;
+       fail:
+               return ctx;
+       };
+-      apol_context_t(apol_policy_t *p, qpol_context_t *in) {
++      apol_context(apol_policy_t *p, qpol_context_t *in) {
+               apol_context_t *ctx;
+               BEGIN_EXCEPTION
+               ctx = apol_context_create_from_qpol_context(p, in);
+@@ -1470,7 +1470,7 @@ typedef struct apol_context {} apol_context_t;
+       fail:
+               return ctx;
+       };
+-      apol_context_t(const char *str) {
++      apol_context(const char *str) {
+               apol_context_t *ctx;
+               BEGIN_EXCEPTION
+               ctx = apol_context_create_from_literal(str);
+@@ -1481,7 +1481,7 @@ typedef struct apol_context {} apol_context_t;
+       fail:
+               return ctx;
+       };
+-      ~apol_context_t() {
++      ~apol_context() {
+               apol_context_destroy(&self);
+       };
+       void set_user(apol_policy_t *p, char *name) {
+@@ -1583,7 +1583,7 @@ int apol_context_compare(apol_policy_t * p, apol_context_t * target, apol_contex
+ /* apol constraint query */
+ typedef struct apol_constraint_query {} apol_constraint_query_t;
+ %extend apol_constraint_query_t {
+-      apol_constraint_query_t() {
++      apol_constraint_query() {
+               apol_constraint_query_t *acq;
+               BEGIN_EXCEPTION
+               acq = apol_constraint_query_create();
+@@ -1594,7 +1594,7 @@ typedef struct apol_constraint_query {} apol_constraint_query_t;
+       fail:
+               return acq;
+       };
+-      ~apol_constraint_query_t() {
++      ~apol_constraint_query() {
+               apol_constraint_query_destroy(&self);
+       };
+       %newobject run(apol_policy_t*);
+@@ -1634,7 +1634,7 @@ typedef struct apol_constraint_query {} apol_constraint_query_t;
+ /* apol validatetrans query */
+ typedef struct apol_validatetrans_query {} apol_validatetrans_query_t;
+ %extend apol_validatetrans_query_t {
+-      apol_validatetrans_query_t() {
++      apol_validatetrans_query() {
+               apol_validatetrans_query_t *avq;
+               BEGIN_EXCEPTION
+               avq = apol_validatetrans_query_create();
+@@ -1645,7 +1645,7 @@ typedef struct apol_validatetrans_query {} apol_validatetrans_query_t;
+       fail:
+               return avq;
+       };
+-      ~apol_validatetrans_query_t() {
++      ~apol_validatetrans_query() {
+               apol_validatetrans_query_destroy(&self);
+       };
+       %newobject run(apol_policy_t*);
+@@ -1684,7 +1684,7 @@ typedef struct apol_validatetrans_query {} apol_validatetrans_query_t;
+ #endif
+ typedef struct apol_genfscon_query {} apol_genfscon_query_t;
+ %extend apol_genfscon_query_t {
+-      apol_genfscon_query_t() {
++      apol_genfscon_query() {
+               apol_genfscon_query_t *agq;
+               BEGIN_EXCEPTION
+               agq = apol_genfscon_query_create();
+@@ -1695,7 +1695,7 @@ typedef struct apol_genfscon_query {} apol_genfscon_query_t;
+       fail:
+               return agq;
+       };
+-      ~apol_genfscon_query_t() {
++      ~apol_genfscon_query() {
+               apol_genfscon_query_destroy(&self);
+       };
+       %newobject run(apol_policy_t*);
+@@ -1746,7 +1746,7 @@ char *apol_genfscon_render(apol_policy_t * p, qpol_genfscon_t * genfscon);
+ /* apol fs_use query */
+ typedef struct apol_fs_use_query {} apol_fs_use_query_t;
+ %extend apol_fs_use_query_t {
+-      apol_fs_use_query_t() {
++      apol_fs_use_query() {
+               apol_fs_use_query_t *afq;
+               BEGIN_EXCEPTION
+               afq = apol_fs_use_query_create();
+@@ -1757,7 +1757,7 @@ typedef struct apol_fs_use_query {} apol_fs_use_query_t;
+       fail:
+               return afq;
+       };
+-      ~apol_fs_use_query_t() {
++      ~apol_fs_use_query() {
+               apol_fs_use_query_destroy(&self);
+       };
+       %newobject run(apol_policy_t*);
+@@ -1799,7 +1799,7 @@ char *apol_fs_use_render(apol_policy_t * p, qpol_fs_use_t * fsuse);
+ /* apol initial sid query */
+ typedef struct apol_isid_query {} apol_isid_query_t;
+ %extend apol_isid_query_t {
+-      apol_isid_query_t() {
++      apol_isid_query() {
+               apol_isid_query_t *aiq;
+               BEGIN_EXCEPTION
+               aiq = apol_isid_query_create();
+@@ -1810,7 +1810,7 @@ typedef struct apol_isid_query {} apol_isid_query_t;
+       fail:
+               return aiq;
+       };
+-      ~apol_isid_query_t() {
++      ~apol_isid_query() {
+               apol_isid_query_destroy(&self);
+       };
+       %newobject run(apol_policy_t*);
+@@ -1841,7 +1841,7 @@ typedef struct apol_isid_query {} apol_isid_query_t;
+ /* apol portcon query */
+ typedef struct apol_portcon_query {} apol_portcon_query_t;
+ %extend apol_portcon_query_t {
+-      apol_portcon_query_t() {
++      apol_portcon_query() {
+               apol_portcon_query_t *apq;
+               BEGIN_EXCEPTION
+               apq = apol_portcon_query_create();
+@@ -1852,7 +1852,7 @@ typedef struct apol_portcon_query {} apol_portcon_query_t;
+       fail:
+               return apq;
+       };
+-      ~apol_portcon_query_t() {
++      ~apol_portcon_query() {
+               apol_portcon_query_destroy(&self);
+       };
+       %newobject run(apol_policy_t*);
+@@ -1885,7 +1885,7 @@ char *apol_portcon_render(apol_policy_t * p, qpol_portcon_t * portcon);
+ /* apol netifcon query */
+ typedef struct apol_netifcon_query {} apol_netifcon_query_t;
+ %extend apol_netifcon_query_t {
+-      apol_netifcon_query_t() {
++      apol_netifcon_query() {
+               apol_netifcon_query_t *anq;
+               BEGIN_EXCEPTION
+               anq = apol_netifcon_query_create();
+@@ -1896,7 +1896,7 @@ typedef struct apol_netifcon_query {} apol_netifcon_query_t;
+       fail:
+               return anq;
+       };
+-      ~apol_netifcon_query_t() {
++      ~apol_netifcon_query() {
+               apol_netifcon_query_destroy(&self);
+       };
+       %newobject run(apol_policy_t*);
+@@ -1932,7 +1932,7 @@ char *apol_netifcon_render(apol_policy_t * p, qpol_netifcon_t * netifcon);
+ /* apol nodecon query */
+ typedef struct apol_nodecon_query {} apol_nodecon_query_t;
+ %extend apol_nodecon_query_t {
+-      apol_nodecon_query_t() {
++      apol_nodecon_query() {
+               apol_nodecon_query_t *anq;
+               BEGIN_EXCEPTION
+               anq = apol_nodecon_query_create();
+@@ -1943,7 +1943,7 @@ typedef struct apol_nodecon_query {} apol_nodecon_query_t;
+       fail:
+               return anq;
+       };
+-      ~apol_nodecon_query_t() {
++      ~apol_nodecon_query() {
+               apol_nodecon_query_destroy(&self);
+       };
+       %newobject run(apol_policy_t*);
+@@ -2012,7 +2012,7 @@ char *apol_nodecon_render(apol_policy_t * p, qpol_nodecon_t * nodecon);
+ /* apol avrule query */
+ typedef struct apol_avrule_query {} apol_avrule_query_t;
+ %extend apol_avrule_query_t {
+-      apol_avrule_query_t() {
++      apol_avrule_query() {
+               apol_avrule_query_t *avq;
+               BEGIN_EXCEPTION
+               avq = apol_avrule_query_create();
+@@ -2023,7 +2023,7 @@ typedef struct apol_avrule_query {} apol_avrule_query_t;
+       fail:
+               return avq;
+       };
+-      ~apol_avrule_query_t() {
++      ~apol_avrule_query() {
+               apol_avrule_query_destroy(&self);
+       };
+       %newobject run(apol_policy_t*);
+@@ -2163,7 +2163,7 @@ char *apol_syn_avrule_render(apol_policy_t * policy, qpol_syn_avrule_t * rule);
+ /* apol terule query */
+ typedef struct apol_terule_query {} apol_terule_query_t;
+ %extend apol_terule_query_t {
+-      apol_terule_query_t() {
++      apol_terule_query() {
+               apol_terule_query_t *atq;
+               BEGIN_EXCEPTION
+               atq = apol_terule_query_create();
+@@ -2174,7 +2174,7 @@ typedef struct apol_terule_query {} apol_terule_query_t;
+       fail:
+               return atq;
+       };
+-      ~apol_terule_query_t() {
++      ~apol_terule_query() {
+               apol_terule_query_destroy(&self);
+       };
+       %newobject run(apol_policy_t*);
+@@ -2287,7 +2287,7 @@ apol_vector_t *apol_terule_list_to_syn_terules(apol_policy_t * p, apol_vector_t
+ /* apol cond rule query */
+ typedef struct apol_cond_query {} apol_cond_query_t;
+ %extend apol_cond_query_t {
+-      apol_cond_query_t() {
++      apol_cond_query() {
+               apol_cond_query_t *acq;
+               BEGIN_EXCEPTION
+               acq = apol_cond_query_create();
+@@ -2298,7 +2298,7 @@ typedef struct apol_cond_query {} apol_cond_query_t;
+       fail:
+               return acq;
+       };
+-      ~apol_cond_query_t() {
++      ~apol_cond_query() {
+               apol_cond_query_destroy(&self);
+       };
+       %newobject run(apol_policy_t*);
+@@ -2331,7 +2331,7 @@ char *apol_cond_expr_render(apol_policy_t * p, qpol_cond_t * cond);
+ /* apol role allow query */
+ typedef struct apol_role_allow_query {} apol_role_allow_query_t;
+ %extend apol_role_allow_query_t {
+-      apol_role_allow_query_t() {
++      apol_role_allow_query() {
+               apol_role_allow_query_t *arq;
+               BEGIN_EXCEPTION
+               arq = apol_role_allow_query_create();
+@@ -2342,7 +2342,7 @@ typedef struct apol_role_allow_query {} apol_role_allow_query_t;
+       fail:
+               return arq;
+       };
+-      ~apol_role_allow_query_t() {
++      ~apol_role_allow_query() {
+               apol_role_allow_query_destroy(&self);
+       };
+       %newobject run(apol_policy_t*);
+@@ -2387,7 +2387,7 @@ char *apol_role_allow_render(apol_policy_t * policy, qpol_role_allow_t * rule);
+ /* apol role transition rule query */
+ typedef struct apol_role_trans_query {} apol_role_trans_query_t;
+ %extend apol_role_trans_query_t {
+-      apol_role_trans_query_t() {
++      apol_role_trans_query() {
+               apol_role_trans_query_t *arq;
+               BEGIN_EXCEPTION
+               arq = apol_role_trans_query_create();
+@@ -2398,7 +2398,7 @@ typedef struct apol_role_trans_query {} apol_role_trans_query_t;
+       fail:
+               return arq;
+       };
+-      ~apol_role_trans_query_t() {
++      ~apol_role_trans_query() {
+               apol_role_trans_query_destroy(&self);
+       };
+       %newobject run(apol_policy_t*);
+@@ -2452,7 +2452,7 @@ char *apol_role_trans_render(apol_policy_t * policy, qpol_role_trans_t * rule);
+ /* apol range transition rule query */
+ typedef struct apol_range_trans_query {} apol_range_trans_query_t;
+ %extend apol_range_trans_query_t {
+-      apol_range_trans_query_t() {
++      apol_range_trans_query() {
+               apol_range_trans_query_t *arq;
+               BEGIN_EXCEPTION
+               arq = apol_range_trans_query_create();
+@@ -2463,7 +2463,7 @@ typedef struct apol_range_trans_query {} apol_range_trans_query_t;
+       fail:
+               return arq;
+       };
+-      ~apol_range_trans_query_t() {
++      ~apol_range_trans_query() {
+               apol_range_trans_query_destroy(&self);
+       };
+       %newobject run(apol_policy_t*);
+@@ -2531,7 +2531,7 @@ char *apol_range_trans_render(apol_policy_t * policy, qpol_range_trans_t * rule)
+ #define APOL_DOMAIN_TRANS_SEARCH_BOTH         (APOL_DOMAIN_TRANS_SEARCH_VALID|APOL_DOMAIN_TRANS_SEARCH_INVALID)
+ typedef struct apol_domain_trans_analysis {} apol_domain_trans_analysis_t;
+ %extend apol_domain_trans_analysis_t {
+-      apol_domain_trans_analysis_t() {
++      apol_domain_trans_analysis() {
+               apol_domain_trans_analysis_t *dta;
+               BEGIN_EXCEPTION
+               dta = apol_domain_trans_analysis_create();
+@@ -2542,7 +2542,7 @@ typedef struct apol_domain_trans_analysis {} apol_domain_trans_analysis_t;
+       fail:
+               return dta;
+       };
+-      ~apol_domain_trans_analysis_t() {
++      ~apol_domain_trans_analysis() {
+               apol_domain_trans_analysis_destroy(&self);
+       };
+       void set_direction(apol_policy_t *p, int direction) {
+@@ -2622,7 +2622,7 @@ typedef struct apol_domain_trans_analysis {} apol_domain_trans_analysis_t;
+ };
+ typedef struct apol_domain_trans_result {} apol_domain_trans_result_t;
+ %extend apol_domain_trans_result_t {
+-      apol_domain_trans_result_t(apol_domain_trans_result_t *in) {
++      apol_domain_trans_result(apol_domain_trans_result_t *in) {
+               apol_domain_trans_result_t *dtr;
+               BEGIN_EXCEPTION
+               dtr = apol_domain_trans_result_create_from_domain_trans_result(in);
+@@ -2633,7 +2633,7 @@ typedef struct apol_domain_trans_result {} apol_domain_trans_result_t;
+       fail:
+               return dtr;
+       };
+-      ~apol_domain_trans_result_t() {
++      ~apol_domain_trans_result() {
+               apol_domain_trans_result_destroy(&self);
+       };
+       const qpol_type_t *get_start_type() {
+@@ -2705,14 +2705,14 @@ int apol_domain_trans_table_verify_trans(apol_policy_t * policy, qpol_type_t * s
+ %}
+ typedef struct apol_infoflow {} apol_infoflow_t;
+ %extend apol_infoflow_t {
+-      apol_infoflow_t() {
++      apol_infoflow() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create apol_infoflow_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       };
+-      ~apol_infoflow_t() {
++      ~apol_infoflow() {
+               apol_infoflow_destroy(&self);
+       };
+       %newobject extract_graph();
+@@ -2730,7 +2730,7 @@ typedef struct apol_infoflow {} apol_infoflow_t;
+ };
+ typedef struct apol_infoflow_analysis {} apol_infoflow_analysis_t;
+ %extend apol_infoflow_analysis_t {
+-      apol_infoflow_analysis_t() {
++      apol_infoflow_analysis() {
+               apol_infoflow_analysis_t *aia;
+               BEGIN_EXCEPTION
+               aia = apol_infoflow_analysis_create();
+@@ -2741,7 +2741,7 @@ typedef struct apol_infoflow_analysis {} apol_infoflow_analysis_t;
+       fail:
+               return aia;
+       };
+-      ~apol_infoflow_analysis_t() {
++      ~apol_infoflow_analysis() {
+               apol_infoflow_analysis_destroy(&self);
+       };
+       %newobject run(apol_policy_t*);
+@@ -2823,14 +2823,14 @@ typedef struct apol_infoflow_analysis {} apol_infoflow_analysis_t;
+ };
+ typedef struct apol_infoflow_graph {} apol_infoflow_graph_t;
+ %extend apol_infoflow_graph_t {
+-      apol_infoflow_graph_t() {
++      apol_infoflow_graph() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create apol_infoflow_graph_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       };
+-      ~apol_infoflow_graph_t() {
++      ~apol_infoflow_graph() {
+               apol_infoflow_graph_destroy(&self);
+       };
+       %newobject do_more(apol_policy_t*, char*);
+@@ -2867,14 +2867,14 @@ typedef struct apol_infoflow_graph {} apol_infoflow_graph_t;
+ };
+ typedef struct apol_infoflow_result {} apol_infoflow_result_t;
+ %extend apol_infoflow_result_t {
+-      apol_infoflow_result_t() {
++      apol_infoflow_result() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create apol_infoflow_result_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       };
+-      ~apol_infoflow_result_t() {
++      ~apol_infoflow_result() {
+               /* no op - vector will destroy */
+               return;
+       };
+@@ -2901,14 +2901,14 @@ typedef struct apol_infoflow_result {} apol_infoflow_result_t;
+ %}
+ typedef struct apol_infoflow_step {} apol_infoflow_step_t;
+ %extend apol_infoflow_step_t {
+-      apol_infoflow_step_t() {
++      apol_infoflow_step() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create apol_infoflow_step_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       };
+-      ~apol_infoflow_step_t() {
++      ~apol_infoflow_step() {
+               /* no op */
+               return;
+       };
+@@ -2938,7 +2938,7 @@ typedef struct apol_infoflow_step {} apol_infoflow_step_t;
+ #define APOL_RELABEL_DIR_SUBJECT 0x04
+ typedef struct apol_relabel_analysis {} apol_relabel_analysis_t;
+ %extend apol_relabel_analysis_t {
+-      apol_relabel_analysis_t() {
++      apol_relabel_analysis() {
+               apol_relabel_analysis_t *ara;
+               BEGIN_EXCEPTION
+               ara = apol_relabel_analysis_create();
+@@ -2949,7 +2949,7 @@ typedef struct apol_relabel_analysis {} apol_relabel_analysis_t;
+       fail:
+               return ara;
+       };
+-      ~apol_relabel_analysis_t() {
++      ~apol_relabel_analysis() {
+               apol_relabel_analysis_destroy(&self);
+       };
+       %newobject run(apol_policy_t*);
+@@ -3011,14 +3011,14 @@ typedef struct apol_relabel_analysis {} apol_relabel_analysis_t;
+ };
+ typedef struct apol_relabel_result {} apol_relabel_result_t;
+ %extend apol_relabel_result_t {
+-      apol_relabel_result_t() {
++      apol_relabel_result() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create apol_relabel_result_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       };
+-      ~apol_relabel_result_t() {
++      ~apol_relabel_result() {
+               /* no op - vector will destroy */
+               return;
+       };
+@@ -3042,14 +3042,14 @@ typedef struct apol_relabel_result {} apol_relabel_result_t;
+ %}
+ typedef struct apol_relabel_result_pair {} apol_relabel_result_pair_t;
+ %extend apol_relabel_result_pair_t {
+-      apol_relabel_result_pair_t() {
++      apol_relabel_result_pair() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create apol_relabel_result_pair_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       };
+-      ~apol_relabel_result_pair_t() {
++      ~apol_relabel_result_pair() {
+               /* no op - owned and free()'d by apol_relabel_result_t */
+               return;
+       };
+@@ -3084,7 +3084,7 @@ typedef struct apol_relabel_result_pair {} apol_relabel_result_pair_t;
+ #define APOL_TYPES_RELATION_TRANS_FLOW_BA 0x8000
+ typedef struct apol_types_relation_analysis {} apol_types_relation_analysis_t;
+ %extend apol_types_relation_analysis_t {
+-      apol_types_relation_analysis_t() {
++      apol_types_relation_analysis() {
+               apol_types_relation_analysis_t *atr;
+               BEGIN_EXCEPTION
+               atr = apol_types_relation_analysis_create();
+@@ -3095,7 +3095,7 @@ typedef struct apol_types_relation_analysis {} apol_types_relation_analysis_t;
+       fail:
+               return atr;
+       };
+-      ~apol_types_relation_analysis_t() {
++      ~apol_types_relation_analysis() {
+               apol_types_relation_analysis_destroy(&self);
+       }
+       %newobject run(apol_policy_t*);
+@@ -3139,14 +3139,14 @@ typedef struct apol_types_relation_analysis {} apol_types_relation_analysis_t;
+ };
+ typedef struct apol_types_relation_result {} apol_types_relation_result_t;
+ %extend apol_types_relation_result_t {
+-      apol_types_relation_result_t() {
++      apol_types_relation_result() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create apol_types_relation_result_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       };
+-      ~apol_types_relation_result_t() {
++      ~apol_types_relation_result() {
+               apol_types_relation_result_destroy(&self);
+       };
+       const apol_vector_t *get_attributes() {
+@@ -3194,14 +3194,14 @@ typedef struct apol_types_relation_result {} apol_types_relation_result_t;
+ };
+ typedef struct apol_types_relation_access {} apol_types_relation_access_t;
+ %extend apol_types_relation_access_t {
+-      apol_types_relation_access_t() {
++      apol_types_relation_access() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create apol_types_relation_access_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       };
+-      ~apol_types_relation_access_t() {
++      ~apol_types_relation_access() {
+               /* no op - vector will destroy */
+               return;
+       };
+diff --git a/libqpol/swig/qpol.i b/libqpol/swig/qpol.i
+index 45a2403..0f937d1 100644
+--- a/libqpol/swig/qpol.i
++++ b/libqpol/swig/qpol.i
+@@ -228,7 +228,7 @@ SWIGEXPORT int Tqpol_Init(Tcl_Interp *interp) {
+ #define QPOL_MODULE_OTHER   2
+ typedef struct qpol_module {} qpol_module_t;
+ %extend qpol_module_t {
+-      qpol_module_t(const char *path) {
++      qpol_module(const char *path) {
+               qpol_module_t *m;
+               BEGIN_EXCEPTION
+               if (qpol_module_create_from_file(path, &m)) {
+@@ -239,7 +239,7 @@ typedef struct qpol_module {} qpol_module_t;
+       fail:
+               return NULL;
+       };
+-      ~qpol_module_t() {
++      ~qpol_module() {
+               qpol_module_destroy(&self);
+       };
+       const char *get_path() {
+@@ -330,7 +330,7 @@ typedef enum qpol_capability
+ } qpol_capability_e;
+ %extend qpol_policy_t {
+-      qpol_policy_t(const char *path, const int options) {
++      qpol_policy(const char *path, const int options) {
+               qpol_policy_t *p;
+               BEGIN_EXCEPTION
+               if (qpol_policy_open_from_file(path, &p, qpol_swig_message_callback, qpol_swig_message_callback_arg, options) < 0) {
+@@ -341,7 +341,7 @@ typedef enum qpol_capability
+       fail:
+               return NULL;
+       }
+-      ~qpol_policy_t() {
++      ~qpol_policy() {
+               qpol_policy_destroy(&self);
+       };
+       void reevaluate_conds() {
+@@ -687,14 +687,14 @@ typedef enum qpol_capability
+ typedef struct qpol_iterator {} qpol_iterator_t;
+ %extend qpol_iterator_t {
+       /* user never directly creates, but SWIG expects a constructor */
+-      qpol_iterator_t() {
++      qpol_iterator() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_TypeError, "User may not create iterators difectly");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       };
+-      ~qpol_iterator_t() {
++      ~qpol_iterator() {
+               qpol_iterator_destroy(&self);
+       };
+       void *get_item() {
+@@ -736,7 +736,7 @@ typedef struct qpol_iterator {} qpol_iterator_t;
+ /* qpol type */
+ typedef struct qpol_type {} qpol_type_t;
+ %extend qpol_type_t {
+-      qpol_type_t(qpol_policy_t *p, const char *name) {
++      qpol_type(qpol_policy_t *p, const char *name) {
+               BEGIN_EXCEPTION
+               const qpol_type_t *t;
+               if (qpol_policy_get_type_by_name(p, name, &t)) {
+@@ -747,7 +747,7 @@ typedef struct qpol_type {} qpol_type_t;
+       fail:
+               return NULL;
+       };
+-      ~qpol_type_t() {
++      ~qpol_type() {
+               /* no op */
+               return;
+       };
+@@ -851,7 +851,7 @@ typedef struct qpol_type {} qpol_type_t;
+ /* qpol role */
+ typedef struct qpol_role {} qpol_role_t;
+ %extend qpol_role_t {
+-      qpol_role_t(qpol_policy_t *p, const char *name) {
++      qpol_role(qpol_policy_t *p, const char *name) {
+               const qpol_role_t *r;
+               BEGIN_EXCEPTION
+               if (qpol_policy_get_role_by_name(p, name, &r)) {
+@@ -862,7 +862,7 @@ typedef struct qpol_role {} qpol_role_t;
+       fail:
+               return NULL;
+       };
+-      ~qpol_role_t() {
++      ~qpol_role() {
+               /* no op */
+               return;
+       };
+@@ -919,7 +919,7 @@ typedef struct qpol_role {} qpol_role_t;
+ /* qpol level */
+ typedef struct qpol_level {} qpol_level_t;
+ %extend qpol_level_t {
+-      qpol_level_t(qpol_policy_t *p, const char *name) {
++      qpol_level(qpol_policy_t *p, const char *name) {
+               const qpol_level_t *l;
+               BEGIN_EXCEPTION
+               if (qpol_policy_get_level_by_name(p, name, &l)) {
+@@ -930,7 +930,7 @@ typedef struct qpol_level {} qpol_level_t;
+       fail:
+               return NULL;
+       };
+-      ~qpol_level_t() {
++      ~qpol_level() {
+               /* no op */
+               return;
+       };
+@@ -997,7 +997,7 @@ typedef struct qpol_level {} qpol_level_t;
+ /* qpol cat */
+ typedef struct qpol_cat {} qpol_cat_t;
+ %extend qpol_cat_t {
+-      qpol_cat_t(qpol_policy_t *p, const char *name) {
++      qpol_cat(qpol_policy_t *p, const char *name) {
+               const qpol_cat_t *c;
+               BEGIN_EXCEPTION
+               if (qpol_policy_get_cat_by_name(p, name, &c)) {
+@@ -1008,7 +1008,7 @@ typedef struct qpol_cat {} qpol_cat_t;
+       fail:
+               return NULL;
+       };
+-      ~qpol_cat_t() {
++      ~qpol_cat() {
+               /* no op */
+               return;
+       };
+@@ -1064,14 +1064,14 @@ typedef struct qpol_cat {} qpol_cat_t;
+ /* qpol mls range */
+ typedef struct qpol_mls_range {} qpol_mls_range_t;
+ %extend qpol_mls_range_t {
+-      qpol_mls_range_t() {
++      qpol_mls_range() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_mls_range_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       }
+-      ~qpol_mls_range_t() {
++      ~qpol_mls_range() {
+               /* no op */
+               return;
+       };
+@@ -1105,14 +1105,14 @@ typedef struct qpol_mls_range {} qpol_mls_range_t;
+ /* qpol mls level */
+ typedef struct qpol_mls_level {} qpol_mls_level_t;
+ %extend qpol_mls_level_t {
+-      qpol_mls_level_t() {
++      qpol_mls_level() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_mls_level_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       }
+-      ~qpol_mls_level_t() {
++      ~qpol_mls_level() {
+               /* no op */
+               return;
+       };
+@@ -1147,7 +1147,7 @@ typedef struct qpol_mls_level {} qpol_mls_level_t;
+ /* qpol user */
+ typedef struct qpol_user {} qpol_user_t;
+ %extend qpol_user_t {
+-      qpol_user_t(qpol_policy_t *p, const char *name) {
++      qpol_user(qpol_policy_t *p, const char *name) {
+               const qpol_user_t *u;
+               BEGIN_EXCEPTION
+               if (qpol_policy_get_user_by_name(p, name, &u)) {
+@@ -1158,7 +1158,7 @@ typedef struct qpol_user {} qpol_user_t;
+       fail:
+               return NULL;
+       };
+-      ~qpol_user_t() {
++      ~qpol_user() {
+               /* no op */
+               return;
+       };
+@@ -1223,7 +1223,7 @@ typedef struct qpol_user {} qpol_user_t;
+ /* qpol bool */
+ typedef struct qpol_bool {} qpol_bool_t;
+ %extend qpol_bool_t {
+-      qpol_bool_t(qpol_policy_t *p, const char *name) {
++      qpol_bool(qpol_policy_t *p, const char *name) {
+               qpol_bool_t *b;
+               BEGIN_EXCEPTION
+               if (qpol_policy_get_bool_by_name(p, name, &b)) {
+@@ -1233,7 +1233,7 @@ typedef struct qpol_bool {} qpol_bool_t;
+       fail:
+               return b;
+       };
+-      ~qpol_bool_t() {
++      ~qpol_bool() {
+               /* no op */
+               return;
+       };
+@@ -1295,14 +1295,14 @@ typedef struct qpol_bool {} qpol_bool_t;
+ /* qpol context */
+ typedef struct qpol_context {} qpol_context_t;
+ %extend qpol_context_t {
+-      qpol_context_t() {
++      qpol_context() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_context_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       };
+-      ~qpol_context_t() {
++      ~qpol_context() {
+               /* no op */
+               return;
+       };
+@@ -1356,7 +1356,7 @@ typedef struct qpol_context {} qpol_context_t;
+ /* qpol class */
+ typedef struct qpol_class {} qpol_class_t;
+ %extend qpol_class_t {
+-      qpol_class_t(qpol_policy_t *p, const char *name) {
++      qpol_class(qpol_policy_t *p, const char *name) {
+               const qpol_class_t *c;
+               BEGIN_EXCEPTION
+               if (qpol_policy_get_class_by_name(p, name, &c)) {
+@@ -1366,7 +1366,7 @@ typedef struct qpol_class {} qpol_class_t;
+       fail:
+               return (qpol_class_t*)c;
+       };
+-      ~qpol_class_t() {
++      ~qpol_class() {
+               /* no op */
+               return;
+       };
+@@ -1443,7 +1443,7 @@ typedef struct qpol_class {} qpol_class_t;
+ /* qpol common */
+ typedef struct qpol_common {} qpol_common_t;
+ %extend qpol_common_t {
+-      qpol_common_t(qpol_policy_t *p, const char *name) {
++      qpol_common(qpol_policy_t *p, const char *name) {
+               const qpol_common_t *c;
+               BEGIN_EXCEPTION
+               if (qpol_policy_get_common_by_name(p, name, &c)) {
+@@ -1453,7 +1453,7 @@ typedef struct qpol_common {} qpol_common_t;
+       fail:
+               return (qpol_common_t*)c;
+       };
+-      ~qpol_common_t() {
++      ~qpol_common() {
+               /* no op */
+               return;
+       };
+@@ -1515,7 +1515,7 @@ typedef struct qpol_common {} qpol_common_t;
+ #define QPOL_FS_USE_PSID  6U
+ #endif
+ typedef struct qpol_fs_use {} qpol_fs_use_t;
+-%extend qpol_fs_use_t {
++%extend qpol_fs_use {
+       qpol_fs_use_t(qpol_policy_t *p, const char *name) {
+               const qpol_fs_use_t *f;
+               BEGIN_EXCEPTION
+@@ -1526,7 +1526,7 @@ typedef struct qpol_fs_use {} qpol_fs_use_t;
+       fail:
+               return (qpol_fs_use_t*)f;
+       };
+-      ~qpol_fs_use_t() {
++      ~qpol_fs_use() {
+               /* no op */
+               return;
+       };
+@@ -1594,7 +1594,7 @@ typedef struct qpol_fs_use {} qpol_fs_use_t;
+ #endif
+ typedef struct qpol_genfscon {} qpol_genfscon_t;
+ %extend qpol_genfscon_t {
+-      qpol_genfscon_t(qpol_policy_t *p, const char *name, const char *path) {
++      qpol_genfscon(qpol_policy_t *p, const char *name, const char *path) {
+               qpol_genfscon_t *g;
+               BEGIN_EXCEPTION
+               if (qpol_policy_get_genfscon_by_name(p, name, path, &g)) {
+@@ -1604,7 +1604,7 @@ typedef struct qpol_genfscon {} qpol_genfscon_t;
+       fail:
+               return g;
+       };
+-      ~qpol_genfscon_t() {
++      ~qpol_genfscon() {
+               free(self);
+       };
+       const char *get_name(qpol_policy_t *p) {
+@@ -1656,7 +1656,7 @@ typedef struct qpol_genfscon {} qpol_genfscon_t;
+ /* qpol isid */
+ typedef struct qpol_isid {} qpol_isid_t;
+-%extend qpol_isid_t {
++%extend qpol_isid {
+       qpol_isid_t(qpol_policy_t *p, const char *name) {
+               const qpol_isid_t *i;
+               BEGIN_EXCEPTION
+@@ -1667,7 +1667,7 @@ typedef struct qpol_isid {} qpol_isid_t;
+       fail:
+               return (qpol_isid_t*)i;
+       };
+-      ~qpol_isid_t() {
++      ~qpol_isid() {
+               /* no op */
+               return;
+       };
+@@ -1701,7 +1701,7 @@ typedef struct qpol_isid {} qpol_isid_t;
+ /* qpol netifcon */
+ typedef struct qpol_netifcon {} qpol_netifcon_t;
+ %extend qpol_netifcon_t {
+-      qpol_netifcon_t(qpol_policy_t *p, const char *name) {
++      qpol_netifcon(qpol_policy_t *p, const char *name) {
+               const qpol_netifcon_t *n;
+               BEGIN_EXCEPTION
+               if (qpol_policy_get_netifcon_by_name(p, name, &n)) {
+@@ -1711,7 +1711,7 @@ typedef struct qpol_netifcon {} qpol_netifcon_t;
+       fail:
+               return (qpol_netifcon_t*)n;
+       };
+-      ~qpol_netifcon_t() {
++      ~qpol_netifcon() {
+               /* no op */
+               return;
+       };
+@@ -1757,7 +1757,7 @@ typedef struct qpol_netifcon {} qpol_netifcon_t;
+ #define QPOL_IPV6 1
+ typedef struct qpol_nodecon {} qpol_nodecon_t;
+ %extend qpol_nodecon_t {
+-      qpol_nodecon_t(qpol_policy_t *p, int addr[4], int mask[4], int protocol) {
++      qpol_nodecon(qpol_policy_t *p, int addr[4], int mask[4], int protocol) {
+               uint32_t a[4], m[4];
+               qpol_nodecon_t *n;
+               BEGIN_EXCEPTION
+@@ -1772,7 +1772,7 @@ typedef struct qpol_nodecon {} qpol_nodecon_t;
+       fail:
+               return n;
+       }
+-      ~qpol_nodecon_t() {
++      ~qpol_nodecon() {
+               free(self);
+       };
+       uint32_t *get_addr(qpol_policy_t *p) {
+@@ -1830,7 +1830,7 @@ typedef struct qpol_nodecon {} qpol_nodecon_t;
+ #define IPPROTO_UDP 17
+ typedef struct qpol_portcon {} qpol_portcon_t;
+ %extend qpol_portcon_t {
+-      qpol_portcon_t(qpol_policy_t *p, uint16_t low, uint16_t high, uint8_t protocol) {
++      qpol_portcon(qpol_policy_t *p, uint16_t low, uint16_t high, uint8_t protocol) {
+               const qpol_portcon_t *qp;
+               BEGIN_EXCEPTION
+               if (qpol_policy_get_portcon_by_port(p, low, high, protocol, &qp)) {
+@@ -1840,7 +1840,7 @@ typedef struct qpol_portcon {} qpol_portcon_t;
+       fail:
+               return (qpol_portcon_t*)qp;
+       };
+-      ~qpol_portcon_t() {
++      ~qpol_portcon() {
+               /* no op */
+               return;
+       };
+@@ -1893,7 +1893,7 @@ typedef struct qpol_portcon {} qpol_portcon_t;
+ /* qpol constraint */
+ typedef struct qpol_constraint {} qpol_constraint_t;
+-%extend qpol_constraint_t {
++%extend qpol_constraint {
+       qpol_constraint_t() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_constraint_t objects");
+@@ -1901,7 +1901,7 @@ typedef struct qpol_constraint {} qpol_constraint_t;
+       fail:
+               return NULL;
+       };
+-      ~qpol_constraint_t() {
++      ~qpol_constraint() {
+               free(self);
+       };
+       const qpol_class_t *get_class(qpol_policy_t *p) {
+@@ -1945,7 +1945,7 @@ typedef struct qpol_constraint {} qpol_constraint_t;
+ /* qpol validatetrans */
+ typedef struct qpol_validatetrans {} qpol_validatetrans_t;
+-%extend qpol_validatetrans_t {
++%extend qpol_validatetrans {
+       qpol_validatetrans_t() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_validatetrans_t objects");
+@@ -1953,7 +1953,7 @@ typedef struct qpol_validatetrans {} qpol_validatetrans_t;
+       fail:
+               return NULL;
+       };
+-      ~qpol_validatetrans_t() {
++      ~qpol_validatetrans() {
+               free(self);
+       };
+       const qpol_class_t *get_class(qpol_policy_t *p) {
+@@ -2011,14 +2011,14 @@ typedef struct qpol_validatetrans {} qpol_validatetrans_t;
+ #define QPOL_CEXPR_OP_INCOMP 5
+ typedef struct qpol_constraint_expr_node {} qpol_constraint_expr_node_t;
+ %extend qpol_constraint_expr_node_t {
+-      qpol_constraint_expr_node_t() {
++      qpol_constraint_expr_node() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_constraint_expr_node_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       };
+-      ~qpol_constraint_expr_node_t() {
++      ~qpol_constraint_expr_node() {
+               /* no op */
+               return;
+       };
+@@ -2073,14 +2073,14 @@ typedef struct qpol_constraint_expr_node {} qpol_constraint_expr_node_t;
+ /* qpol role allow */
+ typedef struct qpol_role_allow {} qpol_role_allow_t;
+ %extend qpol_role_allow_t {
+-      qpol_role_allow_t() {
++      qpol_role_allow() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_role_allow_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       };
+-      ~qpol_role_allow_t() {
++      ~qpol_role_allow() {
+               /* no op */
+               return;
+       };
+@@ -2114,14 +2114,14 @@ typedef struct qpol_role_allow {} qpol_role_allow_t;
+ /* qpol role trans */
+ typedef struct qpol_role_trans {} qpol_role_trans_t;
+ %extend qpol_role_trans_t {
+-      qpol_role_trans_t() {
++      qpol_role_trans() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_role_trans_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       };
+-      ~qpol_role_trans_t() {
++      ~qpol_role_trans() {
+               /* no op */
+               return;
+       };
+@@ -2165,14 +2165,14 @@ typedef struct qpol_role_trans {} qpol_role_trans_t;
+ /* qpol range trans */
+ typedef struct qpol_range_trans {} qpol_range_trans_t;
+ %extend qpol_range_trans_t {
+-      qpol_range_trans_t() {
++      qpol_range_trans() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_range_trans_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       };
+-      ~qpol_range_trans_t() {
++      ~qpol_range_trans() {
+               /* no op */
+               return;
+       };
+@@ -2228,14 +2228,14 @@ typedef struct qpol_range_trans {} qpol_range_trans_t;
+ #define QPOL_RULE_DONTAUDIT     4
+ typedef struct qpol_avrule {} qpol_avrule_t;
+ %extend qpol_avrule_t {
+-      qpol_avrule_t() {
++      qpol_avrule() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_avrule_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       };
+-      ~qpol_avrule_t() {
++      ~qpol_avrule() {
+               /* no op */
+               return;
+       };
+@@ -2348,14 +2348,14 @@ typedef struct qpol_avrule {} qpol_avrule_t;
+ #define QPOL_RULE_TYPE_MEMBER  32
+ typedef struct qpol_terule {} qpol_terule_t;
+ %extend qpol_terule_t {
+-      qpol_terule_t() {
++      qpol_terule() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_terule_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       };
+-      ~qpol_terule_t() {
++      ~qpol_terule() {
+               /* no op */
+               return;
+       };
+@@ -2464,14 +2464,14 @@ typedef struct qpol_terule {} qpol_terule_t;
+ /* qpol conditional */
+ typedef struct qpol_cond {} qpol_cond_t;
+ %extend qpol_cond_t {
+-      qpol_cond_t() {
++      qpol_cond() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_cond_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       };
+-      ~qpol_cond_t() {
++      ~qpol_cond() {
+               /* no op */
+               return;
+       };
+@@ -2557,14 +2557,14 @@ typedef struct qpol_cond {} qpol_cond_t;
+ #define QPOL_COND_EXPR_NEQ  7      /* bool != bool */
+ typedef struct qpol_cond_expr_node {} qpol_cond_expr_node_t;
+ %extend qpol_cond_expr_node_t {
+-      qpol_cond_expr_node_t() {
++      qpol_cond_expr_node() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_cond_expr_node_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       };
+-      ~qpol_cond_expr_node_t() {
++      ~qpol_cond_expr_node() {
+               /* no op */
+               return;
+       };
+@@ -2602,14 +2602,14 @@ typedef struct qpol_cond_expr_node {} qpol_cond_expr_node_t;
+ /* qpol type set */
+ typedef struct qpol_type_set {} qpol_type_set_t;
+ %extend qpol_type_set_t {
+-      qpol_type_set_t() {
++      qpol_type_set() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_type_set_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       };
+-      ~qpol_type_set_t() {
++      ~qpol_type_set() {
+               /* no op */
+               return;
+       };
+@@ -2665,14 +2665,14 @@ typedef struct qpol_type_set {} qpol_type_set_t;
+ /* qpol syn av rule */
+ typedef struct qpol_syn_avrule {} qpol_syn_avrule_t;
+ %extend qpol_syn_avrule_t {
+-      qpol_syn_avrule_t() {
++      qpol_syn_avrule() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_syn_avrule_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       };
+-      ~qpol_syn_avrule_t() {
++      ~qpol_syn_avrule() {
+               /* no op */
+               return;
+       };
+@@ -2778,14 +2778,14 @@ typedef struct qpol_syn_avrule {} qpol_syn_avrule_t;
+ /* qpol syn te rule */
+ typedef struct qpol_syn_terule {} qpol_syn_terule_t;
+ %extend qpol_syn_terule_t {
+-      qpol_syn_terule_t() {
++      qpol_syn_terule() {
+               BEGIN_EXCEPTION
+               SWIG_exception(SWIG_RuntimeError, "Cannot directly create qpol_syn_terule_t objects");
+               END_EXCEPTION
+       fail:
+               return NULL;
+       };
+-      ~qpol_syn_terule_t() {
++      ~qpol_syn_terule() {
+               /* no op */
+               return;
+       };
diff --git a/setools-tcl.patch b/setools-tcl.patch
new file mode 100644 (file)
index 0000000..89e07c8
--- /dev/null
@@ -0,0 +1,24 @@
+--- setools-3.3.8/m4/tcl.m4.orig       2013-01-16 17:36:22.000000000 +0100
++++ setools-3.3.8/m4/tcl.m4    2014-03-04 17:58:32.136277460 +0100
+@@ -3636,7 +3636,9 @@
+ AC_DEFUN([TEA_PROG_TCLSH], [
+     AC_MSG_CHECKING([for tclsh])
+-    if test -f "${TCL_BIN_DIR}/Makefile" ; then
++    if test -n "$TCLSH_PROG" ; then
++      :
++    elif test -f "${TCL_BIN_DIR}/Makefile" ; then
+         # tclConfig.sh is in Tcl build directory
+         if test "${TEA_PLATFORM}" = "windows"; then
+             TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}${EXEEXT}"
+@@ -3686,7 +3688,9 @@
+ AC_DEFUN([TEA_PROG_WISH], [
+     AC_MSG_CHECKING([for wish])
+-    if test -f "${TK_BIN_DIR}/Makefile" ; then
++    if test -n "$WISH_PROG" ; then
++      :
++    elif test -f "${TK_BIN_DIR}/Makefile" ; then
+         # tkConfig.sh is in Tk build directory
+         if test "${TEA_PLATFORM}" = "windows"; then
+             WISH_PROG="${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}${TK_DBGX}${EXEEXT}"
index 9b3a5b5e351f17d5970550317e14849a150b9510..fbf00fb7cc71fa193a791f8c8bcf3944d47add35 100644 (file)
-Summary:       SELinux tools for managing policy
-Summary(pl.UTF-8):     Narzędzia do zarządzania polityką SELinux
+#
+# Conditional build:
+%bcond_without java    # Java bindings
+%bcond_without python  # Python bindings
+#
+Summary:       Policy analysis tools for SELinux
+Summary(pl.UTF-8):     Narzędzia do analizy polityk SELinuksa
 Name:          setools
-Version:       2.4
-Release:       0.1
-License:       GPL
-Group:         Base
-#Source0:      http://www.nsa.gov/selinux/archives/%{name}-%{version}.tar.bz2
-Source0:       http://tresys.com/files/setools/%{name}-%{version}.tar.bz2
-# Source0-md5: 4b3d22e07fc92a5c1321bf08958dda81
-Patch0:                %{name}-opt.patch
-URL:           http://www.tresys.com/selinux/selinux_policy_tools.html
+Version:       3.3.8
+Release:       1
+License:       GPL v2+ (tools), LGPL v2.1+ (libraries)
+Group:         Applications/System
+#Source0Download: http://oss.tresys.com/projects/setools/wiki/download
+Source0:       http://oss.tresys.com/projects/setools/chrome/site/dists/%{name}-%{version}/%{name}-%{version}.tar.bz2
+# Source0-md5: d68d0d4e4da0f01da0f208782ff04b91
+Source1:       seaudit.pamd
+Patch0:                %{name}-swig.patch
+Patch1:                %{name}-sh.patch
+Patch2:                %{name}-tcl.patch
+Patch3:                %{name}-format.patch
+Patch4:                %{name}-swig-part2.patch
+Patch5:                %{name}-link.patch
+URL:           http://oss.tresys.com/projects/setools/
+BuildRequires: autoconf >= 2.59
+BuildRequires: automake
 BuildRequires: bison
+BuildRequires: bzip2-devel
 BuildRequires: flex
+BuildRequires: gcc >= 5:3.2
+BuildRequires: gtk+2-devel >= 2:2.8
+%{?with_java:BuildRequires:    jdk >= 1.2}
 BuildRequires: libglade2-devel >= 2.0
-BuildRequires: libselinux-devel
+BuildRequires: libselinux-devel >= 1.30
+BuildRequires: libsepol-devel >= 2.0.29
+BuildRequires: libsepol-static >= 2.0.29
+BuildRequires: libstdc++-devel
+BuildRequires: libtool
+BuildRequires: libxml2-devel >= 2
 BuildRequires: perl-base
 BuildRequires: pkgconfig
-BuildRequires: sqlite3-devel >= 3.0.8
-BuildRequires: tk-devel
-Requires:      checkpolicy
-Requires:      policy-sources
-Requires:      policycoreutils
-Requires:      tk-BWidget
+%{?with_python:BuildRequires:  python-devel >= 1:2.7}
+BuildRequires: rpmbuild(macros) >= 1.219
+BuildRequires: sqlite3-devel >= 3.2.0
+BuildRequires: swig >= 2.0.0
+%{?with_python:BuildRequires:  swig-python >= 2.0.0}
+BuildRequires: swig-tcl >= 2.0.0
+BuildRequires: tcl-devel >= 8.4
+BuildRequires: tk-devel >= 8.4
+Requires:      %{name}-libs = %{version}-%{release}
+Suggests:      policy-sources
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define                pkgdatadir      %{_datadir}/%{name}-3.3
+
+# python modules use Py* symbols, some of .so files are versioned
+%define                skip_post_check_so      .*%{py_sitedir}/setools/.*
+
 %description
-This package contains some tools and libraries for Security-enhanced
-Linux (a project with enhanced security functionality designed to add
-mandatory access controls to Linux). This package includes the
-following utilities:
-- apol: The GUI-based policy analysis tool.
-- sepcut: A basic GUI-based policy configuration, browsing, editing,
-  and testing tool, intended to provide a complete, single user
-  interface for viewing the source files of a policy, configuring policy
-  program modules, editing policy files, and making and testing the
-  policy.
-- seuser: A GUI and command line user manager tool for SELinux. This
-  is a tool that actually manages a portion of a running policy (i.e.,
-  user accounts).
-- seuser scripts: A set of shell scripts: seuseradd, seusermod, and
-  seuserdel. These scripts combine the functions of the associated s*
-  commands with seuser to provide a single interface to manage users in
-  SE Linux.
-
-And the following tool which can serve as building blocks for the
-development of additional tools:
-- awish: A version of the Tcl/Tk wish interpreter that includes the
-  setools libraries. It's used to test SELinux GUIs (apol and seuser
-  have the interpreter compiled within them). One could conceivably
-  write one's own GUI tools using Tcl/Tk as extended via awish.
-- libapol: The main policy.conf analysis library, which is the core
-  library for all our tools.
-- libseuser: The primary logic used for seuser.
+SETools is a collection of graphical tools, command-line tools, and
+libraries designed to facilitate SELinux policy analysis.
+
+The base package includes the following console tools:
+- seaudit-report: audit log analysis tool
+- sechecker: SELinux policy checking tool
+- secmds command line tools: seinfo, sesearch, findcon, replcon, and
+  indexcon
+- sediff: semantic policy difference tool
 
 %description -l pl.UTF-8
-Ten pakiet zawiera narzędzia i biblioteki dla Linuksa w wersji
-Security-enhanced (jest to projekt z rozszerzoną funkcjonalnością
-związaną z bezpieczeństwem opracowaną w celu dodania mandatowej
-kontroli dostępu do Linuksa). Ten pakiet zawiera następujące
-narzędzia:
-- apol - narzędzie do analizy polityki z graficznym interfejsem.
-- sepcut - podstawowe graficzne narzędzie do konfiguracji,
-  przeglądania, edycji i testowania polityki, mające zapewnić kompletny
-  interfejs do przeglądania plików źródłowych polityki, konfigurowania
-  modułów programu polityki, edycji plików polityki oraz tworzenia i
-  testowania polityki.
-- seuser - graficzne oraz działające z linii poleceń narzędzie do
-  zarządzania użytkownikami dla SELinuksa. Jest to narzędzie
-  zarządzające częścią funkcjonującej polityki (czyli kontami
-  użytkowników).
-- skrypty seuser - zbiór skryptów powłoki: seuseradd, seusermod oraz
-  seuserdel. Łączą one funkcjonalność poleceń s* z seuser, aby zapewnić
-  pojedynczy interfejs do zarządzania użytkownikami w SELinuksie.
-- libapol - główna biblioteka analizy policy.conf, która jest rdzeniem
-  wszystkich narzędzi z setools.
-- libseuser - podstawowa logika używana przez seuser.
-
-Pakiet zawiera także narzędzie mogące służyć jako część do budowania
-innych narzędzi - jest to awish, czyli wersja interpretera wish z
-Tcl/Tk zawierająca biblioteki setools. Jest używany do testowania GUI
-dla SELinuksa (apol i seuser mają interpreter wkompilowany). Można
-pisać własne graficzne narzędzia przy użyciu awisha.
+SETools to zbiór narzędzi graficznych, narzędzi linii poleceń oraz
+bibliotek mających na celu ułatwienie analizy polityk SELinuksa.
+
+Pakiet podstawowy zawiera narzędzia terminalowe:
+- seaudit-report - narzędzie do analizy logu audytowego
+- sechecker - narzędzie do sprawdzania polityk SELinuksa
+- narzędzia linii poleceń secmds: seinfo, sesearch, findcon, replcon
+  oraz indexcon
+- sediff - narzędzie do znajdywania różnic semantycznych polityk
+
+%package gui
+Summary: Policy analysis graphical tools for SELinux
+Summary(pl.UTF-8):     Graficzne narzędzia do analizy polityk SELinuksa
+License:       GPL v2+
+Group:         Applications/System
+Requires:      %{name} = %{version}-%{release}
+Requires:      gtk+2 >= 2:2.8
+Requires:      tk >= 8.4
+Requires:      tk-BWidget >= 1.8
+
+%description gui
+SETools is a collection of graphical tools, command-line tools, and
+libraries designed to facilitate SELinux policy analysis.
+
+This package includes the following graphical tools:
+- apol: policy analysis tool
+- seaudit: audit log analysis tool
+- sediffx: semantic policy difference tool
+
+%description gui -l pl.UTF-8
+SETools to zbiór narzędzi graficznych, narzędzi linii poleceń oraz
+bibliotek mających na celu ułatwienie analizy polityk SELinuksa.
+
+Ten pakiet zawiera narzędzia graficzne:
+- apol - narzędzie do analizy polityk
+- seaudit - narzędzie do analizy logu audytowego
+- sediffx - narzędzie do znajdywania różnic semantycznych polityk
+
+%package libs
+Summary:       Policy analysis support libraries for SELinux
+Summary(pl.UTF-8):     Biblioteki wspierające analizę polityk SELinuksa
+License:       LGPL v2.1+
+Group:         Libraries
+Requires:      libselinux >= 1.30
+Requires:      libsepol >= 2.0.29
+Requires:      sqlite3 >= 3.2.0
+
+%description libs
+SETools is a collection of graphical tools, command-line tools, and
+libraries designed to facilitate SELinux policy analysis.
+
+This package includes the following run-time libraries:
+- libapol: policy analysis library
+- libpoldiff: semantic policy difference library
+- libqpol: library that abstracts policy internals
+- libseaudit: parse and filter SELinux audit messages in log files
+- libsefs: SELinux file contexts library
+
+%description libs -l pl.UTF-8
+SETools to zbiór narzędzi graficznych, narzędzi linii poleceń oraz
+bibliotek mających na celu ułatwienie analizy polityk SELinuksa.
+
+Ten pakiet zawiera biblioteki uruchomieniowe:
+- libapol - analizy polityk
+- libpoldiff - różnic semantycznych polityk
+- libqpol - abstrakcji wnętrzności polityk
+- libseaudit - analizy i filtrowania komunikatów audytowych SELinuksa
+  z plików logów
+- libsefs - kontekstów plików SELinuksa
 
 %package devel
-Summary:       Header files for setools libraries
-Summary(pl.UTF-8):     Pliki nagłówkowe bibliotek setools
+Summary:       Header files for SETools libraries
+Summary(pl.UTF-8):     Pliki nagłówkowe bibliotek SETools
+License:       LGPL v2.1+
 Group:         Development/Libraries
-Requires:      %{name} = %{version}-%{release}
+Requires:      %{name}-libs = %{version}-%{release}
 
 %description devel
-Header files for setools libraries: libapol, libseaudit, libsefs,
-libseuser.
+Header files for SETools libraries: libapol, libpoldiff, libqpol,
+libseaudit, libsefs.
 
 %description devel -l pl.UTF-8
-Pliki nagłówkowe bibliotek setools: libapol, libseaudit, libsefs,
-libseuser.
+Pliki nagłówkowe bibliotek SETools: libapol, libpoldiff, libqpol,
+libseaudit, libsefs.
 
 %package static
-Summary:       Static setools libraries
-Summary(pl.UTF-8):     Statyczne bibliotek setools
+Summary:       Static SETools libraries
+Summary(pl.UTF-8):     Statyczne biblioteki SETools
+License:       LGPL v2.1+
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{version}-%{release}
 
 %description static
-Static setools libraries.
+Static SETools libraries.
 
 %description static -l pl.UTF-8
-Statyczne bibliotek setools.
+Statyczne biblioteki SETools.
+
+%package -n java-setools
+Summary:       Java bindings for SELinux policy analysis libraries
+Summary(pl.UTF-8):     Wiązania Javy do bibliotek analizy polityk SELinuksa
+License:       LGPL v2.1+
+Group:         Libraries/Java
+Requires:      %{name}-libs = %{version}-%{release}
+Requires:      jre >= 1.2
+
+%description -n java-setools
+SETools is a collection of graphical tools, command-line tools, and
+libraries designed to facilitate SELinux policy analysis.
+
+This package includes Java bindings for the following libraries:
+- libapol: policy analysis library
+- libpoldiff: semantic policy difference library
+- libqpol: library that abstracts policy internals
+- libseaudit: parse and filter SELinux audit messages in log files
+- libsefs: SELinux file contexts library
+
+%description -n java-setools -l pl.UTF-8
+SETools to zbiór narzędzi graficznych, narzędzi linii poleceń oraz
+bibliotek mających na celu ułatwienie analizy polityk SELinuksa.
+
+Ten pakiet zawiera wiązania Javy do bibliotek uruchomieniowych:
+- libapol - analizy polityk
+- libpoldiff - różnic semantycznych polityk
+- libqpol - abstrakcji wnętrzności polityk
+- libseaudit - analizy i filtrowania komunikatów audytowych SELinuksa
+  z plików logów
+- libsefs - kontekstów plików SELinuksa
+
+%package -n python-setools
+Summary:       Python bindings for SELinux policy analysis libraries
+Summary(pl.UTF-8):     Wiązania Pythona do bibliotek analizy polityk SELinuksa
+License:       LGPL v2.1+ (core modules), GPL v2+ (seinfo and sesearch)
+Group:         Libraries/Python
+Requires:      %{name}-libs = %{version}-%{release}
+
+%description -n python-setools
+SETools is a collection of graphical tools, command-line tools, and
+libraries designed to facilitate SELinux policy analysis.
+
+This package includes Python bindings for the following libraries:
+- libapol: policy analysis library
+- libpoldiff: semantic policy difference library
+- libqpol: library that abstracts policy internals
+- libseaudit: parse and filter SELinux audit messages in log files
+- libsefs: SELinux file contexts library
+
+%description -n python-setools -l pl.UTF-8
+SETools to zbiór narzędzi graficznych, narzędzi linii poleceń oraz
+bibliotek mających na celu ułatwienie analizy polityk SELinuksa.
+
+Ten pakiet zawiera wiązania Pythona do bibliotek uruchomieniowych:
+- libapol - analizy polityk
+- libpoldiff - różnic semantycznych polityk
+- libqpol - abstrakcji wnętrzności polityk
+- libseaudit - analizy i filtrowania komunikatów audytowych SELinuksa
+  z plików logów
+- libsefs - kontekstów plików SELinuksa
+
+%package -n tcl-setools
+Summary:       Tcl bindings for SELinux policy analysis libraries
+Summary(pl.UTF-8):     Wiązania Tcl-a do bibliotek analizy polityk SELinuksa
+License:       LGPL v2.1+
+Group:         Libraries
+Requires:      %{name}-libs = %{version}-%{release}
+Requires:      tcl >= 8.4
+
+%description -n tcl-setools
+SETools is a collection of graphical tools, command-line tools, and
+libraries designed to facilitate SELinux policy analysis.
+
+This package includes Tcl bindings for the following libraries:
+- libapol: policy analysis library
+- libpoldiff: semantic policy difference library
+- libqpol: library that abstracts policy internals
+- libseaudit: parse and filter SELinux audit messages in log files
+- libsefs: SELinux file contexts library
+
+%description -n tcl-setools -l pl.UTF-8
+SETools to zbiór narzędzi graficznych, narzędzi linii poleceń oraz
+bibliotek mających na celu ułatwienie analizy polityk SELinuksa.
+
+Ten pakiet zawiera wiązania Tcl-a do bibliotek uruchomieniowych:
+- libapol - analizy polityk
+- libpoldiff - różnic semantycznych polityk
+- libqpol - abstrakcji wnętrzności polityk
+- libseaudit - analizy i filtrowania komunikatów audytowych SELinuksa
+  z plików logów
+- libsefs - kontekstów plików SELinuksa
 
 %prep
 %setup -q
 %patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
 
 %build
-%{__make} all \
-       DYNAMIC=1 \
-       CC="%{__cc}" \
-       OPT="%{rpmcflags}" \
-       TCL_LIBINC="" \
-       TCL_LIBS="-ltk -ltcl -lfl -lm -ldl"
+%{__libtoolize}
+%{__aclocal} -I m4
+%{__autoconf}
+%{__autoheader}
+%{__automake}
+%configure \
+       CLASSPATH=. \
+       TCLSH_PROG=/usr/bin/tclsh \
+       WISH_PROG=/usr/bin/wish \
+       --disable-bwidget-check \
+       --disable-selinux-check \
+       %{?with_java:--enable-swig-java} \
+       %{?with_python:--enable-swig-python} \
+       --with-java-prefix=%{java_home}
+
+%{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_bindir}
+install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir},/etc/pam.d}
 
 %{__make} install \
-       DESTDIR=$RPM_BUILD_ROOT \
-       SHARED_LIB_INSTALL_DIR=$RPM_BUILD_ROOT%{_libdir}
-rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/docs
+       DESTDIR=$RPM_BUILD_ROOT
+
+cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/seaudit
+cp -p packages/rpm/*.desktop $RPM_BUILD_ROOT%{_desktopdir}
+cp -p apol/apol.png seaudit/seaudit.png sediff/sediffx.png $RPM_BUILD_ROOT%{_pixmapsdir}
+
+# let rpm autodetect dependencies
+chmod 755 $RPM_BUILD_ROOT%{_libdir}/lib*.so* \
+       $RPM_BUILD_ROOT%{_libdir}/setools/*/*.so*
+%if %{with python}
+chmod 755 $RPM_BUILD_ROOT%{py_sitedir}/setools/*.so*
+%py_comp $RPM_BUILD_ROOT%{py_sitedir}/setools
+%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}/setools
+%py_postclean
+%endif
+
+%if %{with java}
+# replace symlinks with direct jars
+%{__mv} $RPM_BUILD_ROOT%{pkgdatadir}/*.jar $RPM_BUILD_ROOT%{_javadir}
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%post -p /sbin/ldconfig
+%post  libs -p /sbin/ldconfig
+%postun        libs -p /sbin/ldconfig
 
-%postun -p /sbin/ldconfig
+%post  -n java-setools -p /sbin/ldconfig
+%postun        -n java-setools -p /sbin/ldconfig
 
 %files
 %defattr(644,root,root,755)
-%doc KNOWN-BUGS README apol/*.txt seaudit/seaudit_help.txt
-%attr(755,root,root) %{_bindir}/*
-%attr(755,root,root) %{_sbindir}/*
-%attr(755,root,root) %{_libdir}/lib*.so.*.*
-%{_datadir}/%{name}-%{version}
-%{_mandir}/man[18]/*
+%attr(755,root,root) %{_bindir}/findcon
+%attr(755,root,root) %{_bindir}/indexcon
+%attr(755,root,root) %{_bindir}/replcon
+%attr(755,root,root) %{_bindir}/seaudit-report
+%attr(755,root,root) %{_bindir}/sechecker
+%attr(755,root,root) %{_bindir}/sediff
+%attr(755,root,root) %{_bindir}/seinfo
+%attr(755,root,root) %{_bindir}/sesearch
+%dir %{pkgdatadir}
+%{pkgdatadir}/sechecker-profiles
+%{pkgdatadir}/sechecker_help.txt
+%{pkgdatadir}/seaudit-report-service
+%{pkgdatadir}/seaudit-report.conf
+%{pkgdatadir}/seaudit-report.css
+%{_mandir}/man1/findcon.1*
+%{_mandir}/man1/indexcon.1*
+%{_mandir}/man1/replcon.1*
+%{_mandir}/man1/sechecker.1*
+%{_mandir}/man1/sediff.1*
+%{_mandir}/man1/seinfo.1*
+%{_mandir}/man1/sesearch.1*
+%{_mandir}/man8/seaudit-report.8*
+
+%files gui
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/apol
+%attr(755,root,root) %{_bindir}/sediffx
+%attr(755,root,root) %{_sbindir}/seaudit
+%dir %{_libdir}/setools/apol_tcl
+%attr(755,root,root) %{_libdir}/setools/apol_tcl/libapol_tcl.so.*.*
+%{_libdir}/setools/apol_tcl/pkgIndex.tcl
+%{pkgdatadir}/apol.gif
+%{pkgdatadir}/apol_help.txt
+%{pkgdatadir}/apol_perm_mapping_*
+%{pkgdatadir}/domaintrans_help.txt
+%{pkgdatadir}/dot_seaudit
+%{pkgdatadir}/file_relabel_help.txt
+%{pkgdatadir}/infoflow_help.txt
+%{pkgdatadir}/sediff_help.txt
+%{pkgdatadir}/seaudit_help.txt
+%{pkgdatadir}/types_relation_help.txt
+%{pkgdatadir}/*.glade
+%{pkgdatadir}/*.png
+%config(noreplace) %verify(not md5 mtime size) /etc/pam.d/seaudit
+%{_desktopdir}/apol.desktop
+%{_desktopdir}/seaudit.desktop
+%{_desktopdir}/sediffx.desktop
+%{_pixmapsdir}/apol.png
+%{_pixmapsdir}/seaudit.png
+%{_pixmapsdir}/sediffx.png
+%{_mandir}/man1/apol.1*
+%{_mandir}/man1/sediffx.1*
+%{_mandir}/man8/seaudit.8*
+
+%files libs
+%defattr(644,root,root,755)
+%doc AUTHORS COPYING ChangeLog KNOWN-BUGS NEWS README TODO
+%attr(755,root,root) %{_libdir}/libapol.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libapol.so.4
+%attr(755,root,root) %{_libdir}/libpoldiff.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpoldiff.so.1
+%attr(755,root,root) %{_libdir}/libqpol.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libqpol.so.1
+%attr(755,root,root) %{_libdir}/libseaudit.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libseaudit.so.4
+%attr(755,root,root) %{_libdir}/libsefs.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsefs.so.4
 
 %files devel
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/lib*.so
-%{_includedir}/*
+%attr(755,root,root) %{_libdir}/libapol.so
+%attr(755,root,root) %{_libdir}/libpoldiff.so
+%attr(755,root,root) %{_libdir}/libqpol.so
+%attr(755,root,root) %{_libdir}/libseaudit.so
+%attr(755,root,root) %{_libdir}/libsefs.so
+%{_includedir}/apol
+%{_includedir}/poldiff
+%{_includedir}/qpol
+%{_includedir}/seaudit
+%{_includedir}/sefs
+%{_pkgconfigdir}/libapol.pc
+%{_pkgconfigdir}/libpoldiff.pc
+%{_pkgconfigdir}/libqpol.pc
+%{_pkgconfigdir}/libseaudit.pc
+%{_pkgconfigdir}/libsefs.pc
 
 %files static
 %defattr(644,root,root,755)
-%{_libdir}/lib*.a
+%{_libdir}/libapol.a
+%{_libdir}/libpoldiff.a
+%{_libdir}/libqpol.a
+%{_libdir}/libseaudit.a
+%{_libdir}/libsefs.a
+
+%if %{with java}
+%files -n java-setools
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libjapol.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libjapol.so.4
+%attr(755,root,root) %{_libdir}/libjapol.so
+%attr(755,root,root) %{_libdir}/libjpoldiff.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libjpoldiff.so.1
+%attr(755,root,root) %{_libdir}/libjpoldiff.so
+%attr(755,root,root) %{_libdir}/libjqpol.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libjqpol.so.1
+%attr(755,root,root) %{_libdir}/libjqpol.so
+%attr(755,root,root) %{_libdir}/libjseaudit.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libjseaudit.so.4
+%attr(755,root,root) %{_libdir}/libjseaudit.so
+%attr(755,root,root) %{_libdir}/libjsefs.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libjsefs.so.4
+%attr(755,root,root) %{_libdir}/libjsefs.so
+%{_javadir}/apol.jar
+%{_javadir}/poldiff.jar
+%{_javadir}/qpol.jar
+%{_javadir}/seaudit.jar
+%{_javadir}/sefs.jar
+%endif
+
+%if %{with python}
+%files -n python-setools
+%defattr(644,root,root,755)
+%dir %{py_sitedir}/setools
+%attr(755,root,root) %{py_sitedir}/setools/_apol.so*
+%attr(755,root,root) %{py_sitedir}/setools/_poldiff.so*
+%attr(755,root,root) %{py_sitedir}/setools/_qpol.so*
+%attr(755,root,root) %{py_sitedir}/setools/_seaudit.so*
+%attr(755,root,root) %{py_sitedir}/setools/_sefs.so*
+%attr(755,root,root) %{py_sitedir}/setools/_seinfo.so
+%attr(755,root,root) %{py_sitedir}/setools/_sesearch.so
+%{py_sitedir}/setools/__init__.py[co]
+%{py_sitedir}/setools/apol.py[co]
+%{py_sitedir}/setools/poldiff.py[co]
+%{py_sitedir}/setools/qpol.py[co]
+%{py_sitedir}/setools/seaudit.py[co]
+%{py_sitedir}/setools/sefs.py[co]
+%{py_sitedir}/setools-1.0-py*.egg-info
+%dir %{py_sitescriptdir}/setools
+%{py_sitescriptdir}/setools/__init__.py[co]
+%endif
+
+%files -n tcl-setools
+%defattr(644,root,root,755)
+%dir %{_libdir}/setools
+%dir %{_libdir}/setools/apol
+%attr(755,root,root) %{_libdir}/setools/apol/libtapol.so.*.*
+%{_libdir}/setools/apol/pkgIndex.tcl
+%dir %{_libdir}/setools/poldiff
+%attr(755,root,root) %{_libdir}/setools/poldiff/libtpoldiff.so.*.*.*
+%{_libdir}/setools/poldiff/pkgIndex.tcl
+%dir %{_libdir}/setools/qpol
+%attr(755,root,root) %{_libdir}/setools/qpol/libtqpol.so.*.*
+%{_libdir}/setools/qpol/pkgIndex.tcl
+%dir %{_libdir}/setools/seaudit
+%attr(755,root,root) %{_libdir}/setools/seaudit/libtseaudit.so.*.*
+%{_libdir}/setools/seaudit/pkgIndex.tcl
+%dir %{_libdir}/setools/sefs
+%attr(755,root,root) %{_libdir}/setools/sefs/libtsefs.so.*.*.*
+%{_libdir}/setools/sefs/pkgIndex.tcl
This page took 0.416975 seconds and 4 git commands to generate.