Home | History | Annotate | Download | only in src
      1 /* Authors: Dan Walsh
      2  *          James Athey
      3  */
      4 
      5 %module selinux
      6 %{
      7 	#include "../include/selinux/avc.h"
      8 	#include "../include/selinux/context.h"
      9 	#include "../include/selinux/get_context_list.h"
     10 	#include "../include/selinux/get_default_type.h"
     11 	#include "../include/selinux/label.h"
     12 	#include "../include/selinux/selinux.h"
     13 %}
     14 %apply int *OUTPUT { int *enforce };
     15 %apply int *OUTPUT { size_t * };
     16 
     17 %typedef unsigned mode_t;
     18 %typedef unsigned pid_t;
     19 
     20 %typemap(in, numinputs=0) (char ***names, int *len) (char **temp1, int temp2) {
     21 	$1 = &temp1;
     22 	$2 = &temp2;
     23 }
     24 
     25 %typemap(freearg) (char ***names, int *len) {
     26 	int i;
     27 	if (*$1) {
     28 		for (i = 0; i < *$2; i++) {
     29 			free((*$1)[i]);
     30 		}
     31 		free(*$1);
     32 	}
     33 }
     34 
     35 %typemap(in, numinputs=0) (char ***) (char **temp) {
     36 	$1 = &temp;
     37 }
     38 
     39 %typemap(freearg) (char ***) {
     40 	if (*$1) freeconary(*$1);
     41 }
     42 
     43 /* Ignore functions that don't make sense when wrapped */
     44 %ignore freecon;
     45 %ignore freeconary;
     46 
     47 /* Ignore functions that take a function pointer as an argument */
     48 %ignore set_matchpathcon_printf;
     49 %ignore set_matchpathcon_invalidcon;
     50 %ignore set_matchpathcon_canoncon;
     51 
     52 %ignore avc_add_callback;
     53 
     54 /* Ignore netlink stuff for now */
     55 %ignore avc_netlink_acquire_fd;
     56 %ignore avc_netlink_release_fd;
     57 %ignore avc_netlink_check_nb;
     58 
     59 %include "../include/selinux/avc.h"
     60 %include "../include/selinux/av_permissions.h"
     61 %include "../include/selinux/context.h"
     62 %include "../include/selinux/flask.h"
     63 %include "../include/selinux/get_context_list.h"
     64 %include "../include/selinux/get_default_type.h"
     65 %include "../include/selinux/label.h"
     66 %include "../include/selinux/selinux.h"
     67