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