예제 #1
0
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);
}
예제 #2
0
파일: ftsp.c 프로젝트: EDAyele/ptunes
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;
}
예제 #3
0
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;

}
예제 #6
0
void    new_toggle_entry(char *str, void (*function)(void), int identifier)
{
    add_new_entry(str, function, identifier);
    update_status(0, identifier);
}
예제 #7
0
void    new_entry_index(char *str, void (*function)(void), int identifier)
{
    add_new_entry(str, function, identifier);
}