summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPaul Jakma <paul@quagga.net>2011-04-08 12:44:43 +0100
committerPaul Jakma <paul@quagga.net>2012-01-06 16:18:18 +0000
commitf63f06da2e7be6b17c72dd6110aae179f42f3700 (patch)
treea36b625a9ea06d0720a240276ed1b8af33193ed7 /lib
parent651e70d7f419ee7af75113f80e688c0100e9cff5 (diff)
general: remove inline qualifiers and move in-header functions to objects
* (general) Move functions in headers into files, to be compiled into shared object files. Remove inline qualifier from functions. Let the compiler do the work.
Diffstat (limited to 'lib')
-rw-r--r--lib/prefix.c15
-rw-r--r--lib/prefix.h20
-rw-r--r--lib/thread.c4
-rw-r--r--lib/workqueue.c2
4 files changed, 22 insertions, 19 deletions
diff --git a/lib/prefix.c b/lib/prefix.c
index 1b1c6626..3ab67f3d 100644
--- a/lib/prefix.c
+++ b/lib/prefix.c
@@ -2317,6 +2317,21 @@ static const char map64kto17_nbo[0xffff + 1] =
#define MASKBIT(offset) ((0xff << (PNBBY - (offset))) & 0xff)
+unsigned int
+prefix_bit (const u_char *prefix, const u_char prefixlen)
+{
+ unsigned int offset = prefixlen / 8;
+ unsigned int shift = 7 - (prefixlen % 8);
+
+ return (prefix[offset] >> shift) & 1;
+}
+
+unsigned int
+prefix6_bit (const struct in6_addr *prefix, const u_char prefixlen)
+{
+ return prefix_bit((const u_char *) &prefix->s6_addr, prefixlen);
+}
+
/* Address Famiy Identifier to Address Family converter. */
int
afi2family (afi_t afi)
diff --git a/lib/prefix.h b/lib/prefix.h
index dab4202e..7f0d3607 100644
--- a/lib/prefix.h
+++ b/lib/prefix.h
@@ -128,26 +128,14 @@ struct prefix_rd
/* Prefix's family member. */
#define PREFIX_FAMILY(p) ((p)->family)
-/* Check bit of the prefix. */
-static inline unsigned int
-prefix_bit (const u_char *prefix, const u_char prefixlen)
-{
- unsigned int offset = prefixlen / 8;
- unsigned int shift = 7 - (prefixlen % 8);
-
- return (prefix[offset] >> shift) & 1;
-}
-
-static inline unsigned int
-prefix6_bit (const struct in6_addr *prefix, const u_char prefixlen)
-{
- return prefix_bit((const u_char *) &prefix->s6_addr, prefixlen);
-}
-
/* Prototypes. */
extern int afi2family (afi_t);
extern afi_t family2afi (int);
+/* Check bit of the prefix. */
+extern unsigned int prefix_bit (const u_char *prefix, const u_char prefixlen);
+extern unsigned int prefix6_bit (const struct in6_addr *prefix, const u_char prefixlen);
+
extern struct prefix *prefix_new (void);
extern void prefix_free (struct prefix *);
extern const char *prefix_family_str (const struct prefix *);
diff --git a/lib/thread.c b/lib/thread.c
index fd841c21..6d3c3cb3 100644
--- a/lib/thread.c
+++ b/lib/thread.c
@@ -248,7 +248,7 @@ cpu_record_hash_free (void *a)
XFREE (MTYPE_THREAD_STATS, hist);
}
-static inline void
+static void
vty_out_cpu_thread_history(struct vty* vty,
struct cpu_thread_history *a)
{
@@ -608,7 +608,7 @@ thread_master_free (struct thread_master *m)
}
/* Thread list is empty or not. */
-static inline int
+static int
thread_empty (struct thread_list *list)
{
return list->head ? 0 : 1;
diff --git a/lib/workqueue.c b/lib/workqueue.c
index 52b5f41c..61643bf8 100644
--- a/lib/workqueue.c
+++ b/lib/workqueue.c
@@ -103,7 +103,7 @@ work_queue_free (struct work_queue *wq)
return;
}
-static inline int
+static int
work_queue_schedule (struct work_queue *wq, unsigned int delay)
{
/* if appropriate, schedule work queue thread */