summaryrefslogtreecommitdiff
path: root/libacl
diff options
context:
space:
mode:
authorNathan Scott <nathans@sgi.com>2003-02-20 03:31:38 +0000
committerNathan Scott <nathans@sgi.com>2003-02-20 03:31:38 +0000
commit38a1dc504c6f43bb1ebafa64882886d9a9a13ce7 (patch)
tree969673910d5b443675ebb29eb6a7d4cdf1cc8e81 /libacl
parent61ac9c1b4356010afd3bb329c3a41e99a115d768 (diff)
downloadacl-38a1dc504c6f43bb1ebafa64882886d9a9a13ce7.tar.gz
Merge symbol visibility patch from Andreas for hiding symbols in libacl
which we don't want exported, provided the compiler supports that (adds a configure check too).
Diffstat (limited to 'libacl')
-rw-r--r--libacl/libacl.h12
-rw-r--r--libacl/libobj.h22
2 files changed, 22 insertions, 12 deletions
diff --git a/libacl/libacl.h b/libacl/libacl.h
index 85864cd..9a443ac 100644
--- a/libacl/libacl.h
+++ b/libacl/libacl.h
@@ -105,16 +105,16 @@ struct __acl {
struct __acl_entry x_entries[0];
};
-extern int __acl_reorder_entry_obj_p(acl_entry_obj *acl_entry_obj_p);
-extern int __acl_reorder_obj_p(acl_obj *acl_obj_p);
+extern int __acl_reorder_entry_obj_p(acl_entry_obj *acl_entry_obj_p) hidden;
+extern int __acl_reorder_obj_p(acl_obj *acl_obj_p) hidden;
-extern acl_obj *__acl_init_obj(int count);
-extern acl_entry_obj *__acl_create_entry_obj(acl_obj *acl_obj_p);
-extern void __acl_free_acl_obj(acl_obj *acl_obj_p);
+extern acl_obj *__acl_init_obj(int count) hidden;
+extern acl_entry_obj *__acl_create_entry_obj(acl_obj *acl_obj_p) hidden;
+extern void __acl_free_acl_obj(acl_obj *acl_obj_p) hidden;
extern char *__acl_to_any_text(acl_t acl, ssize_t *len_p,
const char *prefix, char separator,
- const char *suffix, int options);
+ const char *suffix, int options) hidden;
#define FOREACH_ACL_ENTRY(entry_obj_p, acl_obj_p) \
for( (entry_obj_p) = (acl_obj_p)->anext; \
diff --git a/libacl/libobj.h b/libacl/libobj.h
index 5ff8cd4..988b96d 100644
--- a/libacl/libobj.h
+++ b/libacl/libobj.h
@@ -3,6 +3,15 @@
#include <stdlib.h>
+#include "config.h"
+
+/* Mark library internal functions as hidden */
+#if defined(HAVE_VISIBILITY_ATTRIBUTE)
+# define hidden __attribute__((visibility("hidden")))
+#else
+# define hidden /* hidden */
+#endif
+
/* Ugly pointer manipulation */
#ifdef LIBACL_DEBUG
@@ -68,14 +77,15 @@ struct string_obj_tag {
#define sstr i.s_str
/* object creation, destruction, conversion and validation */
-void *__new_var_obj_p(int magic, size_t size);
-void __new_obj_p_here(int magic, void *here);
-void __free_obj_p(obj_prefix *obj_p);
-obj_prefix *__check_obj_p(obj_prefix *obj_p, int magic);
+void *__new_var_obj_p(int magic, size_t size) hidden;
+void __new_obj_p_here(int magic, void *here) hidden;
+void __free_obj_p(obj_prefix *obj_p) hidden;
+obj_prefix *__check_obj_p(obj_prefix *obj_p, int magic) hidden;
#ifdef LIBACL_DEBUG
-obj_prefix *__ext2int_and_check(void *ext_p, int magic, const char *typename);
+obj_prefix *__ext2int_and_check(void *ext_p, int magic,
+ const char *typename) hidden;
#else
-obj_prefix *__ext2int_and_check(void *ext_p, int magic);
+obj_prefix *__ext2int_and_check(void *ext_p, int magic) hidden;
#endif
#endif /* __LIBOBJ_H */