summaryrefslogtreecommitdiff
path: root/cesar/cp2/msg
diff options
context:
space:
mode:
Diffstat (limited to 'cesar/cp2/msg')
-rw-r--r--cesar/cp2/msg/cc_set_tei_map.h44
-rw-r--r--cesar/cp2/msg/msg.h13
2 files changed, 52 insertions, 5 deletions
diff --git a/cesar/cp2/msg/cc_set_tei_map.h b/cesar/cp2/msg/cc_set_tei_map.h
index 343b1c9e49..94517cda81 100644
--- a/cesar/cp2/msg/cc_set_tei_map.h
+++ b/cesar/cp2/msg/cc_set_tei_map.h
@@ -22,4 +22,48 @@ enum cc_set_tei_map_mode_t
CC_SET_TEI_MAP_MODE_MAX
};
+enum cc_set_tei_map_tx_kind_t
+{
+ CC_SET_TEI_MAP_TX_KIND_UNICAST,
+ CC_SET_TEI_MAP_TX_KIND_BROADCAST,
+ CC_SET_TEI_MAP_TX_KIND_MAX
+};
+
+/** Provide the All list to the station associated. */
+struct cc_set_tei_map_tx_unicast_t
+{
+ /** Mode. */
+ enum cc_set_tei_map_mode_t mode;
+ /** TEI provided. */
+ u8 tei;
+ /** Peer information. */
+ cp_mme_peer_info_t peer_info;
+};
+typedef struct cc_set_tei_map_tx_unicast_t cc_set_tei_map_tx_unicast_t;
+
+struct cc_set_tei_map_tx_bcast_t
+{
+ /** Mode. */
+ enum cc_set_tei_map_mode_t mode;
+ /** Station TEI. */
+ u8 tei;
+ /** Station Mac address. */
+ mac_t mac_address;
+};
+typedef struct cc_set_tei_map_tx_bcast_t cc_set_tei_map_tx_bcast_t;
+
+/** CC_TEI_MAP_TX_T type. */
+struct cc_set_tei_map_tx_t
+{
+ /** Type. */
+ enum cc_set_tei_map_tx_kind_t type;
+ union {
+ /** Send to all stations. */
+ cc_set_tei_map_tx_bcast_t broadcast;
+ /** Send only to the associated station. */
+ cc_set_tei_map_tx_unicast_t unicast;
+ };
+};
+typedef struct cc_set_tei_map_tx_t cc_set_tei_map_tx_t;
+
#endif /* msg_cc_set_tei_map_h */
diff --git a/cesar/cp2/msg/msg.h b/cesar/cp2/msg/msg.h
index 99f214270e..e99dba4c43 100644
--- a/cesar/cp2/msg/msg.h
+++ b/cesar/cp2/msg/msg.h
@@ -23,6 +23,7 @@
#include "cp2/mme.h"
#include "cp2/msg/cc_assoc.h"
+#include "cp2/msg/cc_set_tei_map.h"
BEGIN_DECLS
@@ -164,12 +165,14 @@ void cp_msg_cc_leave_ind_send (cp_t *ctx, cp_mme_peer_info_t peer_info, u8 reaso
void cp_msg_cc_leave_ind_receive(cp_t *ctx, cp_mme_rx_t *mme);
/**
- * send the message through the cp_cl_interf api.
- *
- * \param tei : in case of mode 0x1, this is the TEI of the new station
+ * Send the TEI MAP.
+ * \param ctx the Control plane context.
+ * \param cc_tei_map_info the object containing the information to send to a
+ * STA or for all the STAs in the AVLN.
*/
-void cp_msg_cc_set_tei_map_ind_send (cp_t *ctx, cp_mme_peer_info_t peer_info,
- u8 mode, u8 tei);
+void cp_msg_cc_set_tei_map_ind_send (cp_t *ctx,
+ cc_set_tei_map_tx_t *cc_tei_map_info);
+
void cp_msg_cc_set_tei_map_ind_receive (cp_t *ctx, cp_mme_rx_t *mme);
void cp_msg_cc_relay_req_receive (cp_t *ctx, cp_mme_rx_t *mme);