//----------------------------------------------------------------------------- inline void MIH_C_LINK_ADDR_encode(Bit_Buffer_t* bbP, MIH_C_LINK_ADDR_T *dataP) { //----------------------------------------------------------------------------- MIH_C_CHOICE_encode(bbP, &dataP->choice); switch (dataP->choice) { case MIH_C_CHOICE_MAC_ADDR: MIH_C_MAC_ADDR_encode(bbP, &dataP->_union.mac_addr); break; case MIH_C_CHOICE_3GPP_3G_CELL_ID: MIH_C_3GPP_3G_CELL_ID_encode(bbP, &dataP->_union._3gpp_3g_cell_id); break; case MIH_C_CHOICE_3GPP_2G_CELL_ID: MIH_C_3GPP_2G_CELL_ID_encode(bbP, &dataP->_union._3gpp_2g_cell_id); break; case MIH_C_CHOICE_3GPP_ADDR: MIH_C_3GPP_ADDR_encode(bbP, &dataP->_union._3gpp_addr); break; case MIH_C_CHOICE_3GPP2_ADDR: MIH_C_3GPP2_ADDR_encode(bbP, &dataP->_union._3gpp2_addr); break; case MIH_C_CHOICE_OTHER_L2_ADDR: MIH_C_OTHER_L2_ADDR_encode(bbP, &dataP->_union.other_l2_addr); break; default: printf("[MIH_C] ERROR NO KNOWN VALUE FOR ENCODING CHOICE OF MIH_C_LINK_ADDR_T %d\n", dataP->choice); } }
//----------------------------------------------------------------------------- void MIH_C_QOS_PARAM_VAL_encode(Bit_Buffer_t* bbP, MIH_C_QOS_PARAM_VAL_T *dataP) { //----------------------------------------------------------------------------- MIH_C_CHOICE_encode(bbP, &dataP->choice); switch (dataP->choice) { case 0: MIH_C_NUM_COS_TYPES_encode(bbP, &dataP->_union.num_qos_types); break; case 1: MIH_C_MIN_PK_TX_DELAY_LIST_encode(bbP, &dataP->_union.min_pk_tx_delay_list); break; case 2: MIH_C_AVG_PK_TX_DELAY_LIST_encode(bbP, &dataP->_union.avg_pk_tx_delay_list); break; case 3: MIH_C_MAX_PK_TX_DELAY_LIST_encode(bbP, &dataP->_union.max_pk_tx_delay_list); break; case 4: MIH_C_PK_DELAY_JITTER_LIST_encode(bbP, &dataP->_union.pk_delay_jitter_list); break; case 5: MIH_C_PK_LOSS_RATE_LIST_encode(bbP, &dataP->_union.pk_loss_rate_list); break; default: printf("[MIH_C] ERROR NO KNOWN VALUE FOR ENCODING CHOICE OF MIH_C_QOS_PARAM_VAL_T %d\n", dataP->choice); } }