summaryrefslogtreecommitdiff
path: root/cp/msg/src/msg_cm_convert.c
diff options
context:
space:
mode:
Diffstat (limited to 'cp/msg/src/msg_cm_convert.c')
-rw-r--r--cp/msg/src/msg_cm_convert.c45
1 files changed, 29 insertions, 16 deletions
diff --git a/cp/msg/src/msg_cm_convert.c b/cp/msg/src/msg_cm_convert.c
index 71d55db65f..924803730c 100644
--- a/cp/msg/src/msg_cm_convert.c
+++ b/cp/msg/src/msg_cm_convert.c
@@ -12,36 +12,49 @@
*/
#include "common/std.h"
-#include "cp/msg/inc/msg_cm.h"
+
+#include "cp/msg/inc/msg_cm_convert.h"
void
-msg_mme_header_convert(u8 *buffer, msg_mme_t *msg, bool read, struct bitstream_t ctx)
-{
+msg_mme_header_convert(u8 *buffer, msg_mme_t *msg, bitstream_type_t b_type, bitstream_t ctx)
+{/*
+ dbg_assert(buffer);
+ dbg_assert(msg);
+ u8 tmp;
+
bitstream_access(&ctx, &msg->oda, 48);
bitstream_access(&ctx, &msg->osa, 48);
- bitstream_access(&ctx, &msg->v_lan_tag, 32);
+ //bitstream_access(&ctx, &msg->v_lan_tag, 32);
bitstream_access(&ctx, &msg->m_type, 16);
bitstream_access(&ctx, &msg->mmv, 8);
bitstream_access(&ctx, &msg->mm_type, 16);
- bitstream_access(&ctx, &msg->fmi.nf_mi, 4);
- bitstream_access(&ctx, &msg->fmi.fn_mi, 4);
- bitstream_access(&ctx, &msg->fmi.fmsn, 8);
+ tmp = msg->fmi.nf_mi;
+ bitstream_access(&ctx, &tmp, 4);
+ if(b_type == BITSTREAM_READ) msg->fmi.nf_mi = tmp;
+ tmp = msg->fmi.fn_mi;
+ bitstream_access(&ctx, &tmp, 4);
+ if(b_type == BITSTREAM_READ) msg->fmi.fn_mi = tmp;
+ bitstream_access(&ctx, &msg->fmi.fmsn, 8);
+*/
}
void
-msg_cm_unassociated_sta_ind_convert(u8 *buffer, msg_mme_t *msg, bool read)
+msg_cm_unassociated_sta_ind_convert(u8 *buffer, msg_mme_t *msg, bitstream_type_t read)
{// 11.5.1
- int i;
- struct bitstream_t ctx;
- cm_unassociated_sta_t entry;
- bitstream_init(&ctx, buffer, MME_MAX_SIZE, read);
+ bitstream_t ctx;
+ cm_unassociated_sta_t *entry_p;
+
+ dbg_assert(buffer);
+ dbg_assert(msg);
+
+ bitstream_init(&ctx, buffer, 1518, read);
msg_mme_header_convert(buffer, msg, read, ctx);
- entry = ( cm_unassociated_sta_t *) msg->mm_entry;
- bitstream_access(&ctx, &entry->nid, 2); // this is just to read the 2 non significant bits
- bitstream_access(&ctx, &entry->nid, 54);
- bitstream_access(&ctx, &entry->cco_capability, 1);
+ entry_p = ( cm_unassociated_sta_t *) msg->mm_entry;
+ bitstream_access(&ctx, &entry_p->nid, 2); // this is just to read the 2 non significant bits
+ bitstream_access(&ctx, &entry_p->nid, 54);
+ bitstream_access(&ctx, &entry_p->cco_capability, 1);
bitstream_finalise(&ctx); // don't forget it to write the last word
}