All of lore.kernel.org
 help / color / mirror / Atom feed
From: Antonio Quartulli <ordex@autistici.org>
To: b.a.t.m.a.n@lists.open-mesh.org
Subject: [B.A.T.M.A.N.] [PATCHv3 3/3] batman-adv: use static inline functions to fake not compiled-in routines
Date: Thu, 12 Apr 2012 09:07:29 +0200	[thread overview]
Message-ID: <1334214449-3996-4-git-send-email-ordex@autistici.org> (raw)
In-Reply-To: <1334214449-3996-1-git-send-email-ordex@autistici.org>

In case of not compiled-in components, we need to fake some functions in order
to let the rest of the code correctly build. But instead of using something
like:

We have to use:

static inline bla_init(struct bat_priv *bat_priv)
{
	return 1;
}

In this way the compiler can correctly check the type and the number of the
arguments passed to the function, even if the related component (bla in this
case) is not compiled.

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
---
 bridge_loop_avoidance.h |   60 ++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 51 insertions(+), 9 deletions(-)

diff --git a/bridge_loop_avoidance.h b/bridge_loop_avoidance.h
index e1a2966..e39f93a 100644
--- a/bridge_loop_avoidance.h
+++ b/bridge_loop_avoidance.h
@@ -40,16 +40,58 @@ void bla_free(struct bat_priv *bat_priv);
 #define BLA_CRC_INIT	0
 #else /* ifdef CONFIG_BATMAN_ADV_BLA */
 
-#define bla_rx(...)				(0)
-#define bla_tx(...)				(0)
-#define bla_is_backbone_gw(...)			(0)
-#define bla_claim_table_seq_print_text		(0)
-#define bla_is_backbone_gw_orig(...)		(0)
-#define bla_check_bcast_duplist(...)		(0)
-#define bla_update_orig_address(...)		do {} while (0)
-#define bla_init(...)				(1)
-#define bla_free(...)				do {} while (0)
+static inline int bla_rx(struct bat_priv *bat_priv, struct sk_buff *skb,
+			 short vid)
+{
+	return 0;
+}
 
+static inline int bla_tx(struct bat_priv *bat_priv, struct sk_buff *skb,
+			 short vid)
+{
+	return 0;
+}
+
+static inline int bla_is_backbone_gw(struct sk_buff *skb,
+				     struct orig_node *orig_node,
+				     int hdr_size)
+{
+	return 0;
+}
+
+static inline int bla_claim_table_seq_print_text(struct seq_file *seq,
+						 void *offset)
+{
+	return 0;
+}
+
+static inline int bla_is_backbone_gw_orig(struct bat_priv *bat_priv,
+					  uint8_t *orig)
+{
+	return 0;
+}
+
+static inline int bla_check_bcast_duplist(struct bat_priv *bat_priv,
+					  struct bcast_packet *bcast_packet,
+					  int hdr_size)
+{
+	return 0;
+}
+
+static inline void bla_update_orig_address(struct bat_priv *bat_priv,
+					   struct hard_iface *primary_if,
+					   struct hard_iface *oldif)
+{
+}
+
+static inline int bla_init(struct bat_priv *bat_priv)
+{
+	return 1;
+}
+
+static inline void bla_free(struct bat_priv *bat_priv)
+{
+}
 
 #endif /* ifdef CONFIG_BATMAN_ADV_BLA */
 
-- 
1.7.9.4


  parent reply	other threads:[~2012-04-12  7:07 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-12  7:07 [B.A.T.M.A.N.] [PATCHv2 0/3] clean up patches Antonio Quartulli
2012-04-12  7:07 ` [B.A.T.M.A.N.] [PATCHv2 1/3] batman-adv: fix comments ending style Antonio Quartulli
2012-04-13 20:32   ` Marek Lindner
2012-04-12  7:07 ` [B.A.T.M.A.N.] [PATCHv2 2/3] batman-adv: use static const for STP constant address Antonio Quartulli
2012-04-13 20:33   ` Marek Lindner
2012-04-12  7:07 ` Antonio Quartulli [this message]
2012-04-13 20:35   ` [B.A.T.M.A.N.] [PATCHv3 3/3] batman-adv: use static inline functions to fake not compiled-in routines Marek Lindner
2012-04-13 21:04   ` Marek Lindner
2012-04-13 22:13     ` Antonio Quartulli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1334214449-3996-4-git-send-email-ordex@autistici.org \
    --to=ordex@autistici.org \
    --cc=b.a.t.m.a.n@lists.open-mesh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.