static void prvCreatePacket1(internals_t * internP) { // this is the beginning of the session SmlAlertPtr_t alertP; alertP = smlAllocAlert(); if (alertP) { SmlReplacePtr_t replaceP; switch(internP->state) { case STATE_CLIENT_INIT: alertP->data = smlString2Pcdata("1201"); break; case STATE_SERVER_INIT: alertP->data = smlString2Pcdata("1200"); break; default: smlFreeProtoElement((basicElement_t *)alertP); return; } smlFreeItemList(alertP->itemList); alertP->itemList = NULL; replaceP = get_device_info(internP); if (replaceP) { add_element(internP, (basicElement_t *)alertP); add_element(internP, (basicElement_t *)replaceP); internP->state = STATE_IN_SESSION; } else { smlFreeProtoElement((basicElement_t *)alertP); } } }
void free_element(elemCell_t * cellP) { smlFreeProtoElement(cellP->element); free(cellP); }