Browse Source

faux: FAUX_HIDDEN macro to make symol hidden within DSO

Serj Kalichev 3 years ago
parent
commit
08aee0ad40
3 changed files with 25 additions and 16 deletions
  1. 7 0
      faux/faux.h
  2. 8 6
      faux/ini/private.h
  3. 10 10
      faux/sched/private.h

+ 7 - 0
faux/faux.h

@@ -70,6 +70,13 @@ typedef enum {
 #define C_DECL_END
 #endif
 
+/** @def FAUX_HIDDEN
+ *
+ * Make symbol hidden within DSO (dynamic shared object). It's usefull to don't
+ * pollute library namespace.
+ */
+#define FAUX_HIDDEN __attribute__ ((visibility ("hidden")))
+
 C_DECL_BEGIN
 
 // Memory

+ 8 - 6
faux/ini/private.h

@@ -13,12 +13,14 @@ struct faux_ini_s {
 
 C_DECL_BEGIN
 
-int faux_pair_compare(const void *first, const void *second);
-int faux_pair_kcompare(const void *key, const void *list_item);
-faux_pair_t *faux_pair_new(const char *name, const char *value);
-void faux_pair_free(void *pair);
+FAUX_HIDDEN int faux_pair_compare(const void *first, const void *second);
+FAUX_HIDDEN int faux_pair_kcompare(const void *key, const void *list_item);
+FAUX_HIDDEN faux_pair_t *faux_pair_new(const char *name, const char *value);
+FAUX_HIDDEN void faux_pair_free(void *pair);
 
-void faux_pair_set_name(faux_pair_t *pair, const char *name);
-void faux_pair_set_value(faux_pair_t *pair, const char *value);
+FAUX_HIDDEN const char *faux_pair_name(const faux_pair_t *pair);
+FAUX_HIDDEN void faux_pair_set_name(faux_pair_t *pair, const char *name);
+FAUX_HIDDEN const char *faux_pair_value(const faux_pair_t *pair);
+FAUX_HIDDEN void faux_pair_set_value(faux_pair_t *pair, const char *value);
 
 C_DECL_END

+ 10 - 10
faux/sched/private.h

@@ -23,15 +23,15 @@ struct faux_sched_s {
 
 C_DECL_BEGIN
 
-int faux_ev_compare(const void *first, const void *second);
-int faux_ev_compare_id(const void *key, const void *list_item);
-int faux_ev_compare_data(const void *key, const void *list_item);
-int faux_ev_compare_ptr(const void *key, const void *list_item);
-
-void faux_ev_free_forced(void *ptr);
-void faux_ev_set_busy(faux_ev_t *ev, bool_t busy);
-bool_t faux_ev_dec_cycles(faux_ev_t *ev, unsigned int *new_cycle_num);
-bool_t faux_ev_reschedule(faux_ev_t *ev, const struct timespec *new_time);
-bool_t faux_ev_reschedule_period(faux_ev_t *ev);
+FAUX_HIDDEN int faux_ev_compare(const void *first, const void *second);
+FAUX_HIDDEN int faux_ev_compare_id(const void *key, const void *list_item);
+FAUX_HIDDEN int faux_ev_compare_data(const void *key, const void *list_item);
+FAUX_HIDDEN int faux_ev_compare_ptr(const void *key, const void *list_item);
+
+FAUX_HIDDEN void faux_ev_free_forced(void *ptr);
+FAUX_HIDDEN void faux_ev_set_busy(faux_ev_t *ev, bool_t busy);
+FAUX_HIDDEN bool_t faux_ev_dec_cycles(faux_ev_t *ev, unsigned int *new_cycle_num);
+FAUX_HIDDEN bool_t faux_ev_reschedule(faux_ev_t *ev, const struct timespec *new_time);
+FAUX_HIDDEN bool_t faux_ev_reschedule_period(faux_ev_t *ev);
 
 C_DECL_END