Chris PeBenito 473ea7
#ifndef _SELINUX_DSO_H
Chris PeBenito 473ea7
#define _SELINUX_DSO_H	1
Chris PeBenito 473ea7
Chris PeBenito 473ea7
#ifdef SHARED
Chris PeBenito 473ea7
# define hidden __attribute__ ((visibility ("hidden")))
Chris PeBenito 473ea7
# define hidden_proto(fct) __hidden_proto (fct, fct##_internal)
Chris PeBenito 473ea7
# define __hidden_proto(fct, internal)	\
Chris PeBenito 473ea7
     extern __typeof (fct) internal;	\
Chris PeBenito 473ea7
     extern __typeof (fct) fct __asm (#internal) hidden;
Chris PeBenito 473ea7
# if defined(__alpha__) || defined(__mips__)
Chris PeBenito 473ea7
#  define hidden_def(fct) \
Chris PeBenito 473ea7
     asm (".globl " #fct "\n" #fct " = " #fct "_internal");
Chris PeBenito 473ea7
# else
Chris PeBenito 473ea7
#  define hidden_def(fct) \
Chris PeBenito 473ea7
     asm (".globl " #fct "\n.set " #fct ", " #fct "_internal");
Chris PeBenito 473ea7
#endif
Chris PeBenito 473ea7
#else
Chris PeBenito 473ea7
# define hidden
Chris PeBenito 473ea7
# define hidden_proto(fct)
Chris PeBenito 473ea7
# define hidden_def(fct)
Chris PeBenito 473ea7
#endif
Chris PeBenito 473ea7
Chris PeBenito 473ea7
#endif