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