void new_entry_index_note(char *str, const char * const note, void (*function)(void), int identifier) { int index; index = add_new_entry(str, function, identifier); set_note((char *)note, index); }
void process_msg(void) { if ((msg_rcv.root_id < msg.root_id) && ~((heart_beats < IGNORE_ROOT_MSG) && (msg.root_id == node_id))) { msg.root_id = msg_rcv.root_id; seq_num = msg_rcv.seq_num; } else { if ((msg.root_id == msg_rcv.root_id) && ((int8_t)(msg_rcv.seq_num - seq_num) > 0)) { seq_num = msg_rcv.seq_num; } else { goto exit; } } if (msg.root_id < node_id) heart_beats = 0; add_new_entry(); calculate_conversion(); // process_post(PROCESS_BROADCAST, ftsp_table_updated, (process_data_t)NULL); leds_blink(); exit: state &= ~STATE_PROCESSING; }
void new_toggle_entry_note(char *str, char *note, void (*function)(void), int identifier) { int index; index = add_new_entry(str, function, identifier); update_status(0, identifier); set_note(note, index); }
void add_entry(stk::mesh::Entity face, const SideSetEntry &sideSetEntry) { FaceToSideSetMap::iterator iter = m_faceToSideSetMap.find(face); if(iter == m_faceToSideSetMap.end()) { add_new_entry(face, sideSetEntry); } else { iter->second.insert(sideSetEntry); } }
int main(){ uint8_t dummy_mask[MTCH_FLD_LEN]; uint8_t dummy_flow_entry[MTCH_FLD_LEN + 1]; uint8_t dummy_action[ACTN_ST_LEN]; uint8_t dummy_flag[2]; int mask_pos[2]; tcam_unit match_unit; match_unit.mask_tail = 0; match_unit.flow_tail = 0; create_mask(dummy_mask); create_flow_entry(dummy_flow_entry); create_action(dummy_action); dummy_flag[0] = rand() % 256; dummy_flag[1] = rand() % 256; //mask 1 has 1 flow add_new_entry(&match_unit, dummy_mask, dummy_flow_entry, dummy_action, dummy_flag); uint8_t dummy_flow_entry_2[MTCH_FLD_LEN + 1]; create_flow_entry(dummy_flow_entry_2); create_action(dummy_action); dummy_flag[0] = rand() % 256; dummy_flag[1] = rand() % 256; //mask 1 has 2 flows add_new_entry(&match_unit, dummy_mask, dummy_flow_entry_2, dummy_action, dummy_flag); uint8_t dummy_mask_2[MTCH_FLD_LEN]; create_mask(dummy_mask_2); create_flow_entry(dummy_flow_entry_2); create_action(dummy_action); dummy_flag[0] = 65; dummy_flag[1] = rand() % 256; //mask 2 has 1 flow add_new_entry(&match_unit, dummy_mask_2, dummy_flow_entry_2, dummy_action, dummy_flag); uint8_t dummy_flow_entry_3[MTCH_FLD_LEN + 1]; create_flow_entry(dummy_flow_entry_3); create_action(dummy_action); //mask 2 has 2 flows add_new_entry(&match_unit, dummy_mask_2, dummy_flow_entry_3, dummy_action, dummy_flag); create_flow_entry(dummy_flow_entry_2); create_action(dummy_action); //mask 1 has 3 flows add_new_entry(&match_unit, dummy_mask, dummy_flow_entry_2, dummy_action, dummy_flag); create_flow_entry(dummy_flow_entry_2); create_action(dummy_action); //mask 2 has 3 flows add_new_entry(&match_unit, dummy_mask_2, dummy_flow_entry_2, dummy_action, dummy_flag); output_all_actions(&match_unit); output_all_flow_entries(&match_unit); output_flags(&match_unit); int pos = delete_flow_entry(&match_unit, dummy_flow_entry); printf("%d\n", pos); output_all_actions(&match_unit); output_all_flow_entries(&match_unit); output_flags(&match_unit); uint8_t dummy_action_set[ACTN_ST_LEN]; //search Mask 1 entry 1 //this flow entry has been deleted pos = search_flow(&match_unit, dummy_flow_entry, dummy_action_set, mask_pos); printf("%d %d\n", pos, get_mask_pos(&match_unit, pos)); if(pos != -1) write_output(dummy_action_set); //search mask 2 entry 3 pos = search_flow(&match_unit, dummy_flow_entry_2, dummy_action_set, mask_pos); printf("%d %d\n", pos, get_mask_pos(&match_unit, pos)); if(pos != -1) write_output(dummy_action_set); //search mask 2 entry 2 pos = search_flow(&match_unit, dummy_flow_entry_3, dummy_action_set, mask_pos); printf("%d %d\n", pos, get_mask_pos(&match_unit, pos)); if(pos != -1) write_output(dummy_action_set); /*uint8_t flag_modification[2]; flag_modification[0] = 64; flag_modification[1] = 9; uint8_t new_action_val[8]; uint8_t i; printf("New Action Values:\n"); for(i = 0; i < 8; i++){ new_action_val[i] = rand() % 256; printf("%d\t", new_action_val[i]); } modify_entry(&match_unit, dummy_flow_entry_2, flag_modification, new_action_val); output_all_actions(&match_unit); output_all_flow_entries(&match_unit); output_flags(&match_unit);*/ return 0; }
void new_toggle_entry(char *str, void (*function)(void), int identifier) { add_new_entry(str, function, identifier); update_status(0, identifier); }
void new_entry_index(char *str, void (*function)(void), int identifier) { add_new_entry(str, function, identifier); }