summaryrefslogtreecommitdiff
path: root/cesar/bsu
diff options
context:
space:
mode:
authorNélio Laranjeiro2012-09-05 16:45:01 +0200
committerNélio Laranjeiro2012-12-12 15:05:21 +0100
commit262b802bb1353361e83f878c6e02f455e2deaa01 (patch)
tree80b9b83607dca518c69c2ecc5495a260ff7ee65b /cesar/bsu
parent513ddabb1dd641745c596cc90ec33d21ccf02233 (diff)
cesar/bsu: add a context to bsu_init_beacon_cb, refs #3386
Diffstat (limited to 'cesar/bsu')
-rw-r--r--cesar/bsu/bsu.h7
-rw-r--r--cesar/bsu/src/bsu.c6
-rw-r--r--cesar/bsu/stub/src/bsu.c4
-rw-r--r--cesar/bsu/test/utest/src/tests.c2
4 files changed, 10 insertions, 9 deletions
diff --git a/cesar/bsu/bsu.h b/cesar/bsu/bsu.h
index 394b9f43d2..8885684e62 100644
--- a/cesar/bsu/bsu.h
+++ b/cesar/bsu/bsu.h
@@ -65,11 +65,12 @@ bsu_init (bsu_aclf_t *aclf, mac_config_t *mac_config, phy_t *phy,
/**
* Initialise the beacon callback to send to upper layer.
- * \param cb the function to call.
- * \param ul the upper layer user data.
+ * \param ctx the module context
+ * \param cb the function to call
+ * \param ul the upper layer user data
*/
void
-bsu_init_beacon_cb (bsu_beacon_processed_t cb, void *cb_ud);
+bsu_init_beacon_cb (bsu_t *ctx, bsu_beacon_processed_t cb, void *cb_ud);
/**
* Uninitialise the module.
diff --git a/cesar/bsu/src/bsu.c b/cesar/bsu/src/bsu.c
index 592a1bb4c5..55fa6657ba 100644
--- a/cesar/bsu/src/bsu.c
+++ b/cesar/bsu/src/bsu.c
@@ -979,10 +979,10 @@ bsu_init (bsu_aclf_t *aclf, mac_config_t *mac_config, phy_t *phy,
}
void
-bsu_init_beacon_cb (bsu_beacon_processed_t cb, void *cb_ud)
+bsu_init_beacon_cb (bsu_t *ctx, bsu_beacon_processed_t cb, void *cb_ud)
{
- bsu_global.ul_cb = cb;
- bsu_global.ul_data = cb_ud;
+ ctx->ul_cb = cb;
+ ctx->ul_data = cb_ud;
}
void
diff --git a/cesar/bsu/stub/src/bsu.c b/cesar/bsu/stub/src/bsu.c
index 0314cbc8cb..c97faf9512 100644
--- a/cesar/bsu/stub/src/bsu.c
+++ b/cesar/bsu/stub/src/bsu.c
@@ -84,11 +84,11 @@ bsu_update_tracking (bsu_t *ctx, u8 tei, mac_t mac_addr_track)
{}
void
-bsu_init_beacon_cb (bsu_beacon_processed_t cb, void *cb_ud)
+bsu_init_beacon_cb (bsu_t *ctx, bsu_beacon_processed_t cb, void *cb_ud)
__attribute__((weak));
void
-bsu_init_beacon_cb (bsu_beacon_processed_t cb, void *cb_ud)
+bsu_init_beacon_cb (bsu_t *ctx, bsu_beacon_processed_t cb, void *cb_ud)
{
}
diff --git a/cesar/bsu/test/utest/src/tests.c b/cesar/bsu/test/utest/src/tests.c
index 7f4dfe7e55..0aebedb5af 100644
--- a/cesar/bsu/test/utest/src/tests.c
+++ b/cesar/bsu/test/utest/src/tests.c
@@ -72,7 +72,7 @@ bsu_test_init (bsu_test_t *ctx)
ctx->bsu = bsu_init (aclf, &ctx->mac_config, (phy_t*) &ctx->phy,
ctx->mac_store, (ca_t*) &ctx->ca, (sar_t*) ctx,
ctx->timer, INVALID_PTR);
- bsu_init_beacon_cb (bsu_test_upper_layer_beacon_received, ctx);
+ bsu_init_beacon_cb (ctx->bsu, bsu_test_upper_layer_beacon_received, ctx);
/* Warn just for the test. */
ctx->bsu->sta_avln = &ctx->bsu->poweron;
ctx->bsu->sta_avln->sync.ntb_offset_tck = 256;