Some more exports
authorSven-Ola Tuecke <sven-ola@gmx.de>
Sat, 13 Dec 2008 23:15:42 +0000 (00:15 +0100)
committerSven-Ola Tuecke <sven-ola@gmx.de>
Sat, 13 Dec 2008 23:15:42 +0000 (00:15 +0100)
23 files changed:
.hgignore
Makefile
olsrd-exports.sh
src/common/autobuf.h
src/common/avl.h
src/common/string.h
src/defs.h
src/hashing.h
src/interfaces.h
src/ipcalc.h
src/link_set.h
src/log.h
src/lq_plugin.h
src/mantissa.h
src/mid_set.h
src/misc.h
src/mpr_selector_set.h
src/net_olsr.h
src/olsr.h
src/olsr_cookie.h
src/parser.h
src/scheduler.h
src/tc_set.h

index 950bab5..0301db2 100644 (file)
--- a/.hgignore
+++ b/.hgignore
@@ -22,6 +22,7 @@ lib/*/*so.*.*
 *.dll
 olsrd.exe
 olsr-setup.exe
+olsrd.exports
 *.opt
 *.ncb
 *.aps
index 4b509e8..3b3fb55 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -56,7 +56,7 @@ endif
 
 SWITCHDIR =    src/olsr_switch
 CFGDIR =       src/cfgparser
-include $(CFGDIR)/local.mk
+#include $(CFGDIR)/local.mk
 TAG_SRCS =     $(SRCS) $(HDRS) $(wildcard $(CFGDIR)/*.[ch] $(SWITCHDIR)/*.[ch])
 
 .PHONY: default_target switch
index 271c245..e13ec40 100755 (executable)
@@ -5,7 +5,12 @@
 # shrinks the binary because not all exportable symbols are exported.
 # To find symbols which are imported from olsrd plugins, we surround
 # all those symboles with EXPORT(sym) in the include files. Use the
-# outcome of this script as input file, e.g with the following cmd:
-# make all LDFLAGS=-Wl,--dynamic-list=$(./olsrd-exports.sh $(find src -name "*.h"))
+# outcome of this script as input file, e.g with the following cmds:
+#
+# ./olsrd-exports.sh $(find src -name "*.h") > olsrd.exports
+# make all LDFLAGS=-Wl,--dynamic-list=olsrd.exports
+#
+# To find the used identifiers, you may use this:
+# make libs LDFLAGS=-Wl,--noinhibit-exec
 
 sed -n -e '1s/.*/{/p;$s/.*/};/p;/#define/d;s/.*\<EXPORT\>[     ]*(\([^)]\+\)).*/  "\1";/p' $*
index aae7c5a..24f09d3 100644 (file)
@@ -57,9 +57,9 @@ struct autobuf {
     char *buf;
 };
 
-int  abuf_init(struct autobuf *autobuf, int initial_size);
-void abuf_free(struct autobuf *autobuf);
-int  abuf_appendf(struct autobuf *autobuf, const char *fmt, ...) __attribute__((format(printf, 2, 3)));
+int  EXPORT(abuf_init)(struct autobuf *autobuf, int initial_size);
+void EXPORT(abuf_free)(struct autobuf *autobuf);
+int  EXPORT(abuf_appendf)(struct autobuf *autobuf, const char *fmt, ...) __attribute__((format(printf, 2, 3)));
 int  EXPORT(abuf_puts)(struct autobuf *autobuf, const char *s);
 int  EXPORT(abuf_strftime)(struct autobuf *autobuf, const char *format, const struct tm *tm);
 int  EXPORT(abuf_memcpy)(struct autobuf *autobuf, const void *p, const unsigned int len);
index fea1077..6620dec 100644 (file)
@@ -72,7 +72,7 @@ struct avl_tree {
 #define AVL_DUP_NO 0
 
 void avl_init(struct avl_tree *, avl_tree_comp);
-struct avl_node *avl_find(struct avl_tree *, const void *);
+struct avl_node *EXPORT(avl_find)(struct avl_tree *, const void *);
 int avl_insert(struct avl_tree *, struct avl_node *, int);
 void avl_delete(struct avl_tree *, struct avl_node *);
 
index 642436c..d51d28e 100644 (file)
@@ -44,7 +44,7 @@
 #include "defs.h"
 #include <stdlib.h>
 
-char *strscpy(char *dest, const char *src, size_t size);
+char *EXPORT(strscpy)(char *dest, const char *src, size_t size);
 
 char *EXPORT(strscat)(char *dest, const char *src, size_t size);
 
index 94b771c..2f35722 100644 (file)
@@ -48,7 +48,7 @@
 /* Export symbol for use in plugins. See ../olsrd-exports.sh */
 #define EXPORT(sym) sym
 
-extern const char olsrd_version[];
+extern const char EXPORT(olsrd_version)[];
 extern const char EXPORT(build_date)[];
 extern const char EXPORT(build_host)[];
 
index aad7e48..4f0483f 100644 (file)
@@ -47,7 +47,7 @@
 
 #include "olsr_types.h"
 
-uint32_t olsr_ip_hashing(const union olsr_ip_addr *);
+uint32_t EXPORT(olsr_ip_hashing)(const union olsr_ip_addr *);
 
 #endif
 
index aa8aa72..0dc1138 100644 (file)
@@ -204,7 +204,7 @@ LISTNODE2STRUCT(list2interface, struct interface, int_node);
 #define IFCHG_IF_UPDATE        3
 
 /* The interface list head */
-extern struct list_node interface_head;
+extern struct list_node EXPORT(interface_head);
 
 typedef int (*ifchg_cb_func)(struct interface *, int);
 
index c3b7e72..882caa2 100644 (file)
@@ -75,7 +75,7 @@ static INLINE int ipequal(const union olsr_ip_addr *a, const union olsr_ip_addr
  */
 static INLINE void genipcopy(void *dst, const void *src) { memcpy(dst, src, olsr_cnf->ipsize); }
 
-int ip_in_net(const union olsr_ip_addr *ipaddr, const struct olsr_ip_prefix *net);
+int EXPORT(ip_in_net)(const union olsr_ip_addr *ipaddr, const struct olsr_ip_prefix *net);
 
 
 int EXPORT(prefix_to_netmask)(uint8_t *, int, uint8_t);
@@ -95,7 +95,7 @@ static INLINE const char *ip6_to_string(struct ipaddr_str * const buf, const str
 
 static INLINE const char *olsr_ip_to_string(struct ipaddr_str * const buf, const union olsr_ip_addr *addr) { return inet_ntop(olsr_cnf->ip_version, addr, buf->buf, sizeof(buf->buf)); }
 
-const char *olsr_ip_prefix_to_string(struct ipprefix_str * const buf, const struct olsr_ip_prefix *prefix);
+const char *EXPORT(olsr_ip_prefix_to_string)(struct ipprefix_str * const buf, const struct olsr_ip_prefix *prefix);
 
 const char *sockaddr_to_string(char *buf, int bufsize, const struct sockaddr * const addr, unsigned int addrsize);
 
index b723ed0..feabf93 100644 (file)
@@ -115,7 +115,7 @@ void olsr_update_packet_loss_worker(struct link_entry *, bool);
 void signal_link_changes(bool);   /* XXX ugly */
 
 
-struct link_entry *get_best_link_to_neighbor(const union olsr_ip_addr *);
+struct link_entry *EXPORT(get_best_link_to_neighbor)(const union olsr_ip_addr *);
 
 struct link_entry *lookup_link_entry(const union olsr_ip_addr *,
                                     const union olsr_ip_addr *remote_main,
@@ -126,7 +126,7 @@ struct link_entry *update_link_entry(const union olsr_ip_addr *,
                                     const struct lq_hello_message *,
                                     struct interface *);
 
-int check_neighbor_link(const union olsr_ip_addr *);
+int EXPORT(check_neighbor_link)(const union olsr_ip_addr *);
 int replace_neighbor_link_set(const struct neighbor_entry *,
                            struct neighbor_entry *);
 int lookup_link_status(const struct link_entry *);
index 58e3772..37d84d5 100644 (file)
--- a/src/log.h
+++ b/src/log.h
@@ -47,6 +47,8 @@
 #ifndef _OLSR_SYSLOG_H
 #define _OLSR_SYSLOG_H
 
+#include "defs.h"
+
 #define OLSR_LOG_INFO            1
 #define OLSR_LOG_ERR             2
 
@@ -54,7 +56,7 @@ void
 olsr_openlog(const char *ident);
 
 void
-olsr_syslog(int level, const char *format, ...) __attribute__((format(printf,2,3)));
+EXPORT(olsr_syslog)(int level, const char *format, ...) __attribute__((format(printf,2,3)));
 
 
 #endif
index 34a2f27..086d97b 100644 (file)
@@ -131,7 +131,7 @@ const char *EXPORT(get_link_entry_text)(struct link_entry *entry,
 const char *EXPORT(get_tc_edge_entry_text)(struct tc_edge_entry *entry,
                                   char separator,
                                   struct lqtextbuffer *buffer);
-const char *get_linkcost_text(olsr_linkcost cost, bool route,
+const char *EXPORT(get_linkcost_text)(olsr_linkcost cost, bool route,
                              struct lqtextbuffer *buffer);
 
 void olsr_copy_hello_lq(struct lq_hello_neighbor *target,
index bbd3c1e..2a591cc 100644 (file)
@@ -43,6 +43,7 @@
 #ifndef _OLSR_MANTISSA
 #define _OLSR_MANTISSA
 
+#include "defs.h"
 #include "olsr_types.h"
 
 /* olsr_reltime is a relative timestamp measured in microseconds */
@@ -61,9 +62,9 @@ typedef uint32_t olsr_reltime;
  * me is the 8 bit mantissa/exponent value
  *
  */
-olsr_reltime me_to_reltime(const uint8_t);
+olsr_reltime EXPORT(me_to_reltime)(const uint8_t);
 
-uint8_t reltime_to_me(const olsr_reltime);
+uint8_t EXPORT(reltime_to_me)(const olsr_reltime);
 
 #endif
 
index b5639ba..3c0d35a 100644 (file)
@@ -84,7 +84,7 @@ bool olsr_input_mid(union olsr_message *, struct interface *,
 
 void olsr_init_mid_set(void);
 void olsr_delete_mid_entry(struct mid_entry *);
-union olsr_ip_addr *olsr_lookup_main_addr_by_alias(const union olsr_ip_addr *);
+union olsr_ip_addr *EXPORT(olsr_lookup_main_addr_by_alias)(const union olsr_ip_addr *);
 struct mid_entry *olsr_lookup_tc_mid_entry(struct tc_entry *,
                                                const union olsr_ip_addr *);
 void olsr_print_mid_set(void);
index 2171959..a2e653a 100644 (file)
 #ifndef _OLSR_MISC_H
 #define _OLSR_MISC_H
 
+#include "defs.h"
+
 void clear_console(void);
 
-int set_nonblocking(int fd);
+int EXPORT(set_nonblocking)(int fd);
 
 #endif
 
index 9ee130b..966d03f 100644 (file)
@@ -63,7 +63,7 @@ static INLINE uint16_t get_local_ansn(void) { return ansn; }
 
 static INLINE void increase_local_ansn(void) { ansn++; }
 
-struct mpr_selector *olsr_lookup_mprs_set(const union olsr_ip_addr *);
+struct mpr_selector *EXPORT(olsr_lookup_mprs_set)(const union olsr_ip_addr *);
 
 int olsr_update_mprs_set(const union olsr_ip_addr *, olsr_reltime);
 
index 91689cf..c3cb781 100644 (file)
@@ -97,13 +97,13 @@ static INLINE uint16_t net_output_pending(const struct interface *ifp) { return
 int net_reserve_bufspace(struct interface *, int);
 #endif
 
-int net_outbuffer_push(struct interface *, const void *, const uint16_t);
+int EXPORT(net_outbuffer_push)(struct interface *, const void *, const uint16_t);
 
 #if 0
 int net_outbuffer_push_reserved(struct interface *, const void *, const uint16_t);
 #endif
 
-int net_output(struct interface *);
+int EXPORT(net_output)(struct interface *);
 
 void EXPORT(add_ptf)(packet_transform_function);
 
index e5fa64d..43c57b5 100644 (file)
@@ -90,10 +90,10 @@ const char *
 olsr_status_to_string(uint8_t);
 
 void
-olsr_exit(const char *, int);
+EXPORT(olsr_exit)(const char *, int);
 
 void *
-olsr_malloc(size_t, const char *);
+EXPORT(olsr_malloc)(size_t, const char *);
 
 #endif
 
index d26ffb6..ba7f964 100644 (file)
@@ -87,7 +87,7 @@ struct olsr_cookie_mem_brand {
 };
 
 /* Externals. */
-extern struct olsr_cookie_info *olsr_alloc_cookie(const char *,
+extern struct olsr_cookie_info *EXPORT(olsr_alloc_cookie)(const char *,
                                                  olsr_cookie_type);
 extern void olsr_delete_all_cookies(void);
 #ifndef NODEBUG
index 2c1aab8..ed2d247 100644 (file)
@@ -85,7 +85,7 @@ void
 olsr_input_hostemu(int, void *, unsigned int);
 
 void
-olsr_parser_add_function(parse_function, uint32_t);
+EXPORT(olsr_parser_add_function)(parse_function, uint32_t);
 
 #if 0
 int
index 6f649fe..d77c498 100644 (file)
@@ -95,12 +95,12 @@ LISTNODE2STRUCT(list2timer, struct timer_entry, timer_list);
 /* Timers */
 void olsr_init_timers(void);
 void olsr_flush_timers(void);
-void olsr_set_timer(struct timer_entry **, unsigned int, uint8_t, bool,
+void EXPORT(olsr_set_timer)(struct timer_entry **, unsigned int, uint8_t, bool,
                    timer_cb_func, void *, olsr_cookie_t);
 struct timer_entry *EXPORT(olsr_start_timer)(unsigned int, uint8_t, bool,
                                     timer_cb_func, void *, olsr_cookie_t);
 void olsr_change_timer(struct timer_entry *, unsigned int, uint8_t, bool);
-void olsr_stop_timer(struct timer_entry *);
+void EXPORT(olsr_stop_timer)(struct timer_entry *);
 
 /* Printing timestamps */
 #ifndef NODEBUG
@@ -165,7 +165,7 @@ LISTNODE2STRUCT(list2socket, struct olsr_socket_entry, socket_node);
 
 
 void EXPORT(add_olsr_socket)(int fd, socket_handler_func pf_pr, socket_handler_func pf_imm, void *data, unsigned int flags);
-int remove_olsr_socket(int fd, socket_handler_func pf_pr, socket_handler_func pf_imm);
+int EXPORT(remove_olsr_socket)(int fd, socket_handler_func pf_pr, socket_handler_func pf_imm);
 void olsr_flush_sockets(void);
 void EXPORT(enable_olsr_socket)(int fd, socket_handler_func pf_pr, socket_handler_func pf_imm, unsigned int flags);
 void EXPORT(disable_olsr_socket)(int fd, socket_handler_func pf_pr, socket_handler_func pf_imm, unsigned int flags);
index 02a0a9d..bda5568 100644 (file)
@@ -157,7 +157,7 @@ bool olsr_input_tc(union olsr_message *, struct interface *,
                   union olsr_ip_addr *from);
 
 /* tc_entry manipulation */
-struct tc_entry *olsr_lookup_tc_entry(const union olsr_ip_addr *);
+struct tc_entry *EXPORT(olsr_lookup_tc_entry)(const union olsr_ip_addr *);
 struct tc_entry *olsr_locate_tc_entry(const union olsr_ip_addr *);
 /*
  * Increment the reference counter.
@@ -169,7 +169,7 @@ static INLINE void olsr_lock_tc_entry(struct tc_entry *tc) { tc->refcount++; }
 static INLINE void olsr_unlock_tc_entry(struct tc_entry *tc) { if (--tc->refcount == 0) { /* All references are gone. */ olsr_cookie_free(tc_mem_cookie, tc); } }
 
 /* tc_edge_entry manipulation */
-struct tc_edge_entry *olsr_lookup_tc_edge(struct tc_entry *,
+struct tc_edge_entry *EXPORT(olsr_lookup_tc_edge)(struct tc_entry *,
                                          union olsr_ip_addr *);
 struct tc_edge_entry *olsr_add_tc_edge_entry(struct tc_entry *,
                                             union olsr_ip_addr *, uint16_t);