diff options
author | Nathan Scott <nathans@sgi.com> | 2003-02-20 03:31:38 +0000 |
---|---|---|
committer | Nathan Scott <nathans@sgi.com> | 2003-02-20 03:31:38 +0000 |
commit | 38a1dc504c6f43bb1ebafa64882886d9a9a13ce7 (patch) | |
tree | 969673910d5b443675ebb29eb6a7d4cdf1cc8e81 /libacl | |
parent | 61ac9c1b4356010afd3bb329c3a41e99a115d768 (diff) | |
download | acl-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.h | 12 | ||||
-rw-r--r-- | libacl/libobj.h | 22 |
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 */ |