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