1 #ifndef _SELINUX_DSO_H
2 #define _SELINUX_DSO_H	1
3 
4 #ifdef SHARED
5 # define hidden __attribute__ ((visibility ("hidden")))
6 # define hidden_proto(fct) __hidden_proto (fct, fct##_internal)
7 # define __hidden_proto(fct, internal)	\
8      extern __typeof (fct) internal;	\
9      extern __typeof (fct) fct __asm (#internal) hidden;
10 # if defined(__alpha__) || defined(__mips__)
11 #  define hidden_def(fct) \
12      asm (".globl " #fct "\n" #fct " = " #fct "_internal");
13 # else
14 #  define hidden_def(fct) \
15      asm (".globl " #fct "\n.set " #fct ", " #fct "_internal");
16 #endif
17 #else
18 # define hidden
19 # define hidden_proto(fct)
20 # define hidden_def(fct)
21 #endif
22 
23 #endif
24