summaryrefslogtreecommitdiff
path: root/cesar/cp/msg/src
diff options
context:
space:
mode:
authorThierry Carré2013-03-22 16:53:40 +0100
committerThierry Carré2013-04-26 17:03:18 +0200
commit93eb48940a1bdca5ecc5ff9bb2a549ff039120d7 (patch)
treecbcf43de4ac74b7dd86e7f467511cafcac1bb64c /cesar/cp/msg/src
parent834a7f80990e905d53b1563b3d9581d5987d562f (diff)
cesar/cp/{msg, av/fsm, sta/action}: add force_role drv to be received, refs #3789
Diffstat (limited to 'cesar/cp/msg/src')
-rw-r--r--cesar/cp/msg/src/msg.c2
-rw-r--r--cesar/cp/msg/src/msg_drv.c17
2 files changed, 19 insertions, 0 deletions
diff --git a/cesar/cp/msg/src/msg.c b/cesar/cp/msg/src/msg.c
index c5c136fb7c..aa51703e68 100644
--- a/cesar/cp/msg/src/msg.c
+++ b/cesar/cp/msg/src/msg.c
@@ -256,6 +256,8 @@ cp_msg_mme_allowed_t cp_msg_mme_allowed[] =
CP_MSG_MME_ALLOWED_ENTRY (DRV_STA_SET_CONFIG_CNF, STA_UNASSOC, NEK_ENC_NO, FROM_H1_NO, NO_EVENT),
CP_MSG_MME_ALLOWED_ENTRY (DRV_MCAST_SET_LIST_REQ, STA_UNASSOC, NEK_ENC_NO, FROM_H1_YES, DRV_MCAST_SET_LIST_REQ),
CP_MSG_MME_ALLOWED_ENTRY (DRV_MCAST_SET_LIST_CNF, STA_UNASSOC, NEK_ENC_NO, FROM_H1_NO, NO_EVENT),
+ CP_MSG_MME_ALLOWED_ENTRY (DRV_STA_FORCE_ROLE_REQ, STA_UNASSOC, NEK_ENC_NO, FROM_H1_YES, DRV_STA_FORCE_ROLE_REQ),
+ CP_MSG_MME_ALLOWED_ENTRY (DRV_STA_FORCE_ROLE_CNF, STA_UNASSOC, NEK_ENC_NO, FROM_H1_NO, NO_EVENT),
};
uint cp_msg_mme_allowed_count = COUNT (cp_msg_mme_allowed);
diff --git a/cesar/cp/msg/src/msg_drv.c b/cesar/cp/msg/src/msg_drv.c
index 5a4051f4de..b0d0a279a3 100644
--- a/cesar/cp/msg/src/msg_drv.c
+++ b/cesar/cp/msg/src/msg_drv.c
@@ -533,6 +533,23 @@ cp_msg_drv_sta_get_key_cnf_send (cp_t *ctx, cp_mme_peer_t *peer,
}
bool
+cp_msg_drv_sta_force_role_req_receive (
+ cp_t *ctx, cp_mme_rx_t *mme, char *force_role)
+{
+ dbg_assert (ctx);
+ dbg_assert (mme);
+
+ if (cp_msg_mme_read_error (ctx, mme))
+ {
+ *force_role = bitstream_read (&mme->bitstream, 8);
+
+ /* TODO: Add range value check. */
+ return true;
+ }
+ return false;
+}
+
+bool
cp_msg_drv_sta_status_req_receive (cp_t *ctx, cp_mme_rx_t *mme)
{
dbg_assert (ctx);