• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* Author: Dan Walsh
2    Based on selinuxswig_python.i by James Athey
3  */
4 
5 /* Never build rpm_execcon interface */
6 #ifndef DISABLE_RPM
7 #define DISABLE_RPM
8 #endif
9 
10 %module selinux
11 %{
12 	#include "selinux/selinux.h"
13 %}
14 
15 /* return a sid along with the result */
16 %typemap(argout) (security_id_t * sid) {
17 	if (*$1) {
18                 %append_output(SWIG_NewPointerObj(*$1, $descriptor(security_id_t), 0));
19 	}
20 }
21 
22 %typemap(in,numinputs=0) security_id_t *(security_id_t temp) {
23   $1 = &temp;
24 }
25 
26 %typemap(in,noblock=1,numinputs=0) char ** (char * temp = 0) {
27 	$1 = &temp;
28 }
29 %typemap(freearg,match="in") char ** "";
30 %typemap(argout,noblock=1) char ** {
31 	if (*$1) {
32 		%append_output(SWIG_FromCharPtr(*$1));
33 		freecon(*$1);
34 	}
35 }
36 
37 %typemap(in,noblock=1,numinputs=0) char ** (char * temp = 0) {
38 	$1 = &temp;
39 }
40 %typemap(freearg,match="in") char ** "";
41 %typemap(argout,noblock=1) char ** {
42 	if (*$1) {
43 		%append_output(SWIG_FromCharPtr(*$1));
44 		free(*$1);
45 	}
46 }
47 
48 %include "selinuxswig.i"
49