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.
This commit is contained in:
Paul Jakma 2011-04-08 12:44:43 +01:00
parent 651e70d7f4
commit f63f06da2e
9 changed files with 31 additions and 28 deletions

View File

@ -91,13 +91,13 @@ static struct hash *ashash;
/* Stream for SNMP. See aspath_snmp_pathseg */ /* Stream for SNMP. See aspath_snmp_pathseg */
static struct stream *snmp_stream; static struct stream *snmp_stream;
static inline as_t * static as_t *
assegment_data_new (int num) assegment_data_new (int num)
{ {
return (XCALLOC (MTYPE_AS_SEG_DATA, ASSEGMENT_DATA_SIZE (num, 1))); return (XCALLOC (MTYPE_AS_SEG_DATA, ASSEGMENT_DATA_SIZE (num, 1)));
} }
static inline void static void
assegment_data_free (as_t *asdata) assegment_data_free (as_t *asdata)
{ {
XFREE (MTYPE_AS_SEG_DATA,asdata); XFREE (MTYPE_AS_SEG_DATA,asdata);
@ -812,7 +812,7 @@ aspath_parse (struct stream *s, size_t length, int use32bit)
return find; return find;
} }
static inline void static void
assegment_data_put (struct stream *s, as_t *as, int num, int use32bit) assegment_data_put (struct stream *s, as_t *as, int num, int use32bit)
{ {
int i; int i;
@ -830,7 +830,7 @@ assegment_data_put (struct stream *s, as_t *as, int num, int use32bit)
} }
} }
static inline size_t static size_t
assegment_header_put (struct stream *s, u_char type, int length) assegment_header_put (struct stream *s, u_char type, int length)
{ {
size_t lenp; size_t lenp;

View File

@ -695,7 +695,7 @@ peer_sort (struct peer *peer)
} }
} }
static inline void static void
peer_free (struct peer *peer) peer_free (struct peer *peer)
{ {
assert (peer->status == Deleted); assert (peer->status == Deleted);

View File

@ -2317,6 +2317,21 @@ static const char map64kto17_nbo[0xffff + 1] =
#define MASKBIT(offset) ((0xff << (PNBBY - (offset))) & 0xff) #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. */ /* Address Famiy Identifier to Address Family converter. */
int int
afi2family (afi_t afi) afi2family (afi_t afi)

View File

@ -128,26 +128,14 @@ struct prefix_rd
/* Prefix's family member. */ /* Prefix's family member. */
#define PREFIX_FAMILY(p) ((p)->family) #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. */ /* Prototypes. */
extern int afi2family (afi_t); extern int afi2family (afi_t);
extern afi_t family2afi (int); 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 struct prefix *prefix_new (void);
extern void prefix_free (struct prefix *); extern void prefix_free (struct prefix *);
extern const char *prefix_family_str (const struct prefix *); extern const char *prefix_family_str (const struct prefix *);

View File

@ -248,7 +248,7 @@ cpu_record_hash_free (void *a)
XFREE (MTYPE_THREAD_STATS, hist); XFREE (MTYPE_THREAD_STATS, hist);
} }
static inline void static void
vty_out_cpu_thread_history(struct vty* vty, vty_out_cpu_thread_history(struct vty* vty,
struct cpu_thread_history *a) struct cpu_thread_history *a)
{ {
@ -608,7 +608,7 @@ thread_master_free (struct thread_master *m)
} }
/* Thread list is empty or not. */ /* Thread list is empty or not. */
static inline int static int
thread_empty (struct thread_list *list) thread_empty (struct thread_list *list)
{ {
return list->head ? 0 : 1; return list->head ? 0 : 1;

View File

@ -103,7 +103,7 @@ work_queue_free (struct work_queue *wq)
return; return;
} }
static inline int static int
work_queue_schedule (struct work_queue *wq, unsigned int delay) work_queue_schedule (struct work_queue *wq, unsigned int delay)
{ {
/* if appropriate, schedule work queue thread */ /* if appropriate, schedule work queue thread */

View File

@ -746,7 +746,7 @@ ospf_stub_router_timer (struct thread *t)
return 0; return 0;
} }
inline static void static void
ospf_stub_router_check (struct ospf_area *area) ospf_stub_router_check (struct ospf_area *area)
{ {
/* area must either be administratively configured to be stub /* area must either be administratively configured to be stub

View File

@ -266,7 +266,7 @@ ospf_packet_dup (struct ospf_packet *op)
} }
/* XXX inline */ /* XXX inline */
static inline unsigned int static unsigned int
ospf_packet_authspace (struct ospf_interface *oi) ospf_packet_authspace (struct ospf_interface *oi)
{ {
int auth = 0; int auth = 0;
@ -2213,7 +2213,7 @@ ospf_associate_packet_vl (struct ospf *ospf, struct interface *ifp,
return NULL; return NULL;
} }
static inline int static int
ospf_check_area_id (struct ospf_interface *oi, struct ospf_header *ospfh) ospf_check_area_id (struct ospf_interface *oi, struct ospf_header *ospfh)
{ {
/* Check match the Area ID of the receiving interface. */ /* Check match the Area ID of the receiving interface. */

View File

@ -216,7 +216,7 @@ if_subnet_delete (struct interface *ifp, struct connected *ifc)
* interface will affect only the primary interface/address on Solaris. * interface will affect only the primary interface/address on Solaris.
************************End Solaris flags hacks *********************** ************************End Solaris flags hacks ***********************
*/ */
static inline void static void
if_flags_mangle (struct interface *ifp, uint64_t *newflags) if_flags_mangle (struct interface *ifp, uint64_t *newflags)
{ {
#ifdef SUNOS_5 #ifdef SUNOS_5