Blame src/semanageswig_ruby.i

Packit 366192
/* Author Dave Quigley
Packit 366192
 * based on semanageswig_python.i by Spencer Shimko
Packit 366192
 */
Packit 366192
Packit 366192
%header %{
Packit 366192
        #include <stdlib.h>
Packit 366192
        #include <semanage/semanage.h>
Packit 366192
Packit 366192
        #define STATUS_SUCCESS 0
Packit 366192
        #define STATUS_ERR -1
Packit 366192
%}
Packit 366192
/* a few helpful typemaps are available in this library */
Packit 366192
%include <typemaps.i>
Packit 366192
Packit 366192
/* wrap all int*'s so they can be used for results 
Packit 366192
   if it becomes necessary to send in data this should be changed to INOUT */
Packit 366192
%apply int *OUTPUT { int * };
Packit 366192
%apply int *OUTPUT { size_t * };
Packit 366192
%apply int *OUTPUT { unsigned int * };
Packit 366192
Packit 366192
%typemap(in, numinputs=0) char **(char *temp=NULL) {
Packit 366192
        $1 = &tem;;
Packit 366192
}
Packit 366192
Packit 366192
%typemap(argout) char** {
Packit 366192
        %append_output(SWIG_FromCharPtr(*$1));
Packit 366192
        free(*$1);
Packit 366192
}
Packit 366192
Packit 366192
%typemap(in, numinputs=0) char ***(char **temp=NULL) {
Packit 366192
        $1 = &tem;;
Packit 366192
}
Packit 366192
Packit 366192
/* the wrapper will setup this parameter for passing... the resulting ruby functions
Packit 366192
   will not take the semanage_module_info_t ** parameter */
Packit 366192
%typemap(in, numinputs=0) semanage_module_info_t **(semanage_module_info_t *temp=NULL) {
Packit 366192
        $1 = &tem;;
Packit 366192
}
Packit 366192
Packit 366192
%typemap(argout) semanage_module_info_t ** {
Packit 366192
        $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
Packit 366192
}
Packit 366192
Packit 366192
/** context typemaps **/
Packit 366192
Packit 366192
/* the wrapper will setup this parameter for passing... the resulting python functions
Packit 366192
   will not take the semanage_context_t ** parameter */
Packit 366192
%typemap(in, numinputs=0) semanage_context_t **(semanage_context_t *temp=NULL) {
Packit 366192
        $1 = &tem;;
Packit 366192
}
Packit 366192
Packit 366192
%typemap(argout) semanage_context_t** {
Packit 366192
        $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
Packit 366192
}
Packit 366192
Packit 366192
/** boolean typemaps **/
Packit 366192
Packit 366192
/* the wrapper will setup this parameter for passing... the resulting python functions
Packit 366192
   will not take the semanage_bool_t *** parameter */
Packit 366192
%typemap(in, numinputs=0) semanage_bool_t ***(semanage_bool_t **temp=NULL) {
Packit 366192
        $1 = &tem;;
Packit 366192
}
Packit 366192
Packit 366192
%typemap(in, numinputs=0) semanage_bool_t **(semanage_bool_t *temp=NULL) {
Packit 366192
        $1 = &tem;;
Packit 366192
}
Packit 366192
Packit 366192
%typemap(argout) semanage_bool_t ** {
Packit 366192
        $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
Packit 366192
}
Packit 366192
Packit 366192
%typemap(argout) semanage_bool_key_t ** {
Packit 366192
        $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
Packit 366192
}
Packit 366192
Packit 366192
%typemap(in, numinputs=0) semanage_bool_key_t **(semanage_bool_key_t *temp=NULL) {
Packit 366192
        $1 = &tem;;
Packit 366192
}
Packit 366192
Packit 366192
/** fcontext typemaps **/
Packit 366192
Packit 366192
/* the wrapper will setup this parameter for passing... the resulting python functions
Packit 366192
   will not take the semanage_fcontext_t *** parameter */
Packit 366192
%typemap(in, numinputs=0) semanage_fcontext_t ***(semanage_fcontext_t **temp=NULL) {
Packit 366192
        $1 = &tem;;
Packit 366192
}
Packit 366192
Packit 366192
%typemap(in, numinputs=0) semanage_fcontext_t **(semanage_fcontext_t *temp=NULL) {
Packit 366192
        $1 = &tem;;
Packit 366192
}
Packit 366192
Packit 366192
%typemap(argout) semanage_fcontext_t ** {
Packit 366192
        $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
Packit 366192
}
Packit 366192
Packit 366192
%typemap(argout) semanage_fcontext_key_t ** {
Packit 366192
        $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
Packit 366192
}
Packit 366192
Packit 366192
%typemap(in, numinputs=0) semanage_fcontext_key_t **(semanage_fcontext_key_t *temp=NULL) {
Packit 366192
        $1 = &tem;;
Packit 366192
}
Packit 366192
Packit 366192
/** interface typemaps **/
Packit 366192
Packit 366192
/* the wrapper will setup this parameter for passing... the resulting python functions
Packit 366192
   will not take the semanage_iface_t *** parameter */
Packit 366192
%typemap(in, numinputs=0) semanage_iface_t ***(semanage_iface_t **temp=NULL) {
Packit 366192
        $1 = &tem;;
Packit 366192
}
Packit 366192
Packit 366192
%typemap(in, numinputs=0) semanage_iface_t **(semanage_iface_t *temp=NULL) {
Packit 366192
        $1 = &tem;;
Packit 366192
}
Packit 366192
Packit 366192
%typemap(argout) semanage_iface_t ** {
Packit 366192
        $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
Packit 366192
}
Packit 366192
Packit 366192
%typemap(argout) semanage_iface_key_t ** {
Packit 366192
        $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
Packit 366192
}
Packit 366192
Packit 366192
%typemap(in, numinputs=0) semanage_iface_key_t **(semanage_iface_key_t *temp=NULL) {
Packit 366192
        $1 = &tem;;
Packit 366192
}
Packit 366192
Packit 366192
/** seuser typemaps **/
Packit 366192
Packit 366192
/* the wrapper will setup this parameter for passing... the resulting python functions
Packit 366192
   will not take the semanage_seuser_t *** parameter */
Packit 366192
%typemap(in, numinputs=0) semanage_seuser_t ***(semanage_seuser_t **temp=NULL) {
Packit 366192
        $1 = &tem;;
Packit 366192
}
Packit 366192
Packit 366192
%typemap(in, numinputs=0) semanage_seuser_t **(semanage_seuser_t *temp=NULL) {
Packit 366192
        $1 = &tem;;
Packit 366192
}
Packit 366192
Packit 366192
%typemap(argout) semanage_seuser_t ** {
Packit 366192
        $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
Packit 366192
}
Packit 366192
Packit 366192
%typemap(argout) semanage_seuser_key_t ** {
Packit 366192
        $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
Packit 366192
}
Packit 366192
Packit 366192
%typemap(in, numinputs=0) semanage_seuser_key_t **(semanage_seuser_key_t *temp=NULL) {
Packit 366192
        $1 = &tem;;
Packit 366192
}
Packit 366192
Packit 366192
/** user typemaps **/
Packit 366192
Packit 366192
/* the wrapper will setup this parameter for passing... the resulting python functions
Packit 366192
   will not take the semanage_user_t *** parameter */
Packit 366192
%typemap(in, numinputs=0) semanage_user_t ***(semanage_user_t **temp=NULL) {
Packit 366192
        $1 = &tem;;
Packit 366192
}
Packit 366192
Packit 366192
%typemap(in, numinputs=0) semanage_user_t **(semanage_user_t *temp=NULL) {
Packit 366192
        $1 = &tem;;
Packit 366192
}
Packit 366192
Packit 366192
%typemap(argout) semanage_user_t ** {
Packit 366192
        $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
Packit 366192
}
Packit 366192
Packit 366192
%typemap(argout) semanage_user_key_t ** {
Packit 366192
        $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
Packit 366192
}
Packit 366192
Packit 366192
%typemap(in, numinputs=0) semanage_user_key_t **(semanage_user_key_t *temp=NULL) {
Packit 366192
        $1 = &tem;;
Packit 366192
}
Packit 366192
Packit 366192
/** port typemaps **/
Packit 366192
Packit 366192
/* the wrapper will setup this parameter for passing... the resulting python functions
Packit 366192
   will not take the semanage_port_t *** parameter */
Packit 366192
%typemap(in, numinputs=0) semanage_port_t ***(semanage_port_t **temp=NULL) {
Packit 366192
        $1 = &tem;;
Packit 366192
}
Packit 366192
Packit 366192
%typemap(in, numinputs=0) semanage_port_t **(semanage_port_t *temp=NULL) {
Packit 366192
        $1 = &tem;;
Packit 366192
}
Packit 366192
Packit 366192
%typemap(argout) semanage_port_t ** {
Packit 366192
        $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
Packit 366192
}
Packit 366192
Packit 366192
%typemap(argout) semanage_port_key_t ** {
Packit 366192
        $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
Packit 366192
}
Packit 366192
Packit 366192
%typemap(in, numinputs=0) semanage_port_key_t **(semanage_port_key_t *temp=NULL) {
Packit 366192
        $1 = &tem;;
Packit 366192
}
Packit 366192
Packit 366192
/** node typemaps **/
Packit 366192
Packit 366192
/* the wrapper will setup this parameter for passing... the resulting python functions
Packit 366192
   will not take the semanage_node_t *** parameter */
Packit 366192
%typemap(in, numinputs=0) semanage_node_t ***(semanage_node_t **temp=NULL) {
Packit 366192
        $1 = &tem;;
Packit 366192
}
Packit 366192
Packit 366192
%typemap(in, numinputs=0) semanage_node_t **(semanage_node_t *temp=NULL) {
Packit 366192
        $1 = &tem;;
Packit 366192
}
Packit 366192
Packit 366192
%typemap(argout) semanage_node_t ** {
Packit 366192
        $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
Packit 366192
}
Packit 366192
Packit 366192
Packit 366192
%typemap(argout) semanage_node_key_t ** {
Packit 366192
        $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
Packit 366192
}
Packit 366192
Packit 366192
%typemap(in, numinputs=0) semanage_node_key_t **(semanage_node_key_t *temp=NULL) {
Packit 366192
        $1 = &tem;;
Packit 366192
}
Packit 366192
Packit 366192
%include "semanageswig.i"