📄 mmsaevn.c
字号:
if (num_reps) /* if this an auto repeat - */ { if (start_cont ()) /* wait for 1st to complete */ return; num_outstanding = 1; while (rep_count < num_reps) /* if enough done - */ { if (! mp_delee (chan, req_info)) break; num_outstanding++; if (cont_serve ()) /* if user hit a key */ return; } cont_done (); /* display results */ } } else wait_msg ("\n Must enter all required information "); (*menu_set_fun) ();#endif }/************************************************************************//* do_geteea *//* create and send a get event enrollment attributes request *//************************************************************************/ST_VOID do_geteea (ST_VOID) {#if MMS_GETEEA_EN & REQ_ENGETEEA_REQ_INFO *req_info;OBJECT_NAME *obj_ptr;ST_INT chan;ST_BOOLEAN data_entered;ST_INT num;ST_BOOLEAN done;ST_UCHAR temp [100]; if (!get_chan (&chan)) { (*menu_set_fun) (); return; } req_info = (GETEEA_REQ_INFO *) dest_buffer; obj_ptr = (OBJECT_NAME *) (req_info + 1); printf ("\n (0:specific, 1:client, 2:event condition, 3:event action)"); printf ("\n Enter Scope of Request (0-3) (R) : (default = 1) "); req_info->scope_of_req = 1; if (intget (&num)) { if ((num >= 0) && (num <= 3)) req_info->scope_of_req = num; } data_entered = SD_TRUE; if (data_entered) { req_info->eenames_pres = SD_FALSE; if (ask (" Send Event Enrollment Names? (y/n) : (default = no)", 0)) { req_info->eenames_pres = SD_TRUE; req_info->num_of_eenames = 0; done = SD_FALSE; while (!done) { printf (" Enter Object Name : \n"); if (get_objname (obj_ptr)) { req_info->num_of_eenames++; obj_ptr++; } else done = SD_TRUE; } } } if (data_entered) { req_info->client_app_pres = SD_FALSE; if (ask (" Send Client Application? (y/n) : (default = no)",0)) { if (req_info->client_app = get_asn1_app_ref (&(req_info->client_app_len), (ST_UCHAR *)temp,sizeof (temp))) req_info->client_app_pres = SD_TRUE; } } if (data_entered) { req_info->evcon_name_pres = SD_FALSE; printf (" Enter Event Condition Name (O) :\n"); if (get_objname (&req_info->evcon_name)) req_info->evcon_name_pres = SD_TRUE; } if (data_entered) { req_info->evact_name_pres = SD_FALSE; printf (" Enter Event Action Name (O) :\n"); if (get_objname (&req_info->evact_name)) req_info->evact_name_pres = SD_TRUE; } if (data_entered) { req_info->ca_name_pres = SD_FALSE; printf (" Enter Continue After Name (O) :\n"); if (get_objname (&req_info->ca_name)) req_info->ca_name_pres = SD_TRUE; } if (data_entered) { if (! mp_geteea (chan,req_info)) print_req_error (); if (num_reps) /* if this an auto repeat - */ { if (start_cont ()) /* wait for 1st to complete */ return; num_outstanding = 1; while (rep_count < num_reps) /* if enough done - */ { if (! mp_geteea (chan, req_info)) break; num_outstanding++; if (cont_serve ()) /* if user hit a key */ return; } cont_done (); /* display results */ } } else wait_msg ("\n Must enter all required information "); (*menu_set_fun) ();#endif }/************************************************************************//* do_repees *//* create and send a report event enrollment status request *//************************************************************************/ST_VOID do_repees (ST_VOID) {#if MMS_REPEES_EN & REQ_ENREPEES_REQ_INFO req_info;ST_INT chan;ST_BOOLEAN data_entered; if (!get_chan (&chan)) { (*menu_set_fun) (); return; } printf ("\n Enter Event Enrollment Name : \n"); data_entered = get_objname (&req_info.evenroll_name); if (data_entered) { if (! mp_repees (chan,&req_info)) print_req_error (); if (num_reps) /* if this an auto repeat - */ { if (start_cont ()) /* wait for 1st to complete */ return; num_outstanding = 1; while (rep_count < num_reps) /* if enough done - */ { if (! mp_repees (chan, &req_info)) break; num_outstanding++; if (cont_serve ()) /* if user hit a key */ return; } cont_done (); /* display results */ } } else wait_msg ("\n Must enter all required information "); (*menu_set_fun) ();#endif }/************************************************************************//* do_altee *//* create and send an alter event enrollment request *//************************************************************************/ST_VOID do_altee (ST_VOID) {#if MMS_ALTEE_EN & REQ_ENALTEE_REQ_INFO req_info;ST_INT chan;ST_BOOLEAN data_entered;ST_INT num; if (!get_chan (&chan)) { (*menu_set_fun) (); return; } printf ("\n Enter Event Enrollment Name : \n"); data_entered = get_objname (&req_info.evenroll_name); if (data_entered) { req_info.ec_transitions_pres = SD_FALSE; if (ask (" Send Event Condition Transitions ? (default = no) ", 0)) { req_info.ec_transitions_pres = SD_TRUE; req_info.ec_transitions = 0x00; if (ask (" Idle to Disabled (y/n) : ", 0)) req_info.ec_transitions |= 0x01; if (ask (" Active to Disabled (y/n) : ", 0)) req_info.ec_transitions |= 0x02; if (ask (" Disabled to Idle (y/n) : ", 0)) req_info.ec_transitions |= 0x04; if (ask (" Active to Idle (y/n) : ", 0)) req_info.ec_transitions |= 0x08; if (ask (" Disabled to Active (y/n) : ", 0)) req_info.ec_transitions |= 0x10; if (ask (" Idle to Active (y/n) : ", 0)) req_info.ec_transitions |= 0x20; if (ask (" Any to Deleted (y/n) : ", 0)) req_info.ec_transitions |= 0x40; } } if (data_entered) { req_info.alarm_ack_rule_pres = SD_FALSE; printf (" Enter Alarm Acknowledgment Rule (0-3) : (O) "); if (intget (&num)) { if ((num >= 0) && (num <= 3)) { req_info.alarm_ack_rule_pres = SD_TRUE; req_info.alarm_ack_rule = num; } } } if (data_entered) { if (! mp_altee (chan,&req_info)) print_req_error (); if (num_reps) /* if this an auto repeat - */ { if (start_cont ()) /* wait for 1st to complete */ return; num_outstanding = 1; while (rep_count < num_reps) /* if enough done - */ { if (! mp_altee (chan, &req_info)) break; num_outstanding++; if (cont_serve ()) /* if user hit a key */ return; } cont_done (); /* display results */ } } else wait_msg ("\n Must enter all required information "); (*menu_set_fun) ();#endif }/************************************************************************//* do_evnot *//* create and send an event notification request *//************************************************************************/ST_VOID do_evnot (ST_VOID) {#if MMS_EVNOT_EN & REQ_ENEVNOT_REQ_INFO req_info;ERR_INFO err;ST_INT chan;ST_BOOLEAN data_entered;ST_LONG big;ST_INT num;ST_INT len;ST_UCHAR *inp_str;ST_CHAR temp [100]; if (!get_chan (&chan)) { (*menu_set_fun) (); return; } inp_str = (ST_UCHAR *)dest_buffer; printf ("\n Enter Event Enrollment Name :\n"); data_entered = get_objname (&req_info.evenroll_name); if (data_entered) { printf (" Enter Event Condition Name :\n"); data_entered = get_objname (&req_info.evcon_name); } if (data_entered) { printf (" Enter Severity (0 - 127): (R) "); req_info.severity = 0; if (intget (&num) && (num >= 0) && (num <= 127)) req_info.severity = (ST_UCHAR) num; } req_info.cur_state_pres = SD_FALSE; if (data_entered) { printf (" (0:disabled, 1:idle, 2:active) "); printf ("\n Enter Current State : (O) "); if (intget (&num) && (num >= 0) && (num <= 2)) { req_info.cur_state = num; req_info.cur_state_pres = SD_TRUE; } } if (data_entered) { printf (" Enter Transition Time : (R) \n"); data_entered = get_evtime (&req_info.trans_time); } if (data_entered) { req_info.not_lost = (ST_BOOLEAN) ask (" Enter Notification Lost (y/n) : (default = FALSE) ",0); } if (data_entered) { printf (" (0:none, 1:simple, 2:ack active, 3:ack-all) "); printf ("\n Enter Acknowledgement Rule : (O) "); req_info.alarm_ack_rule_pres = SD_FALSE; if (intget (&num)) if ((num >= 0) && (num <= 3)) { req_info.alarm_ack_rule_pres = SD_TRUE; req_info.alarm_ack_rule = num; } } req_info.evact_result_pres = SD_FALSE; if (data_entered && ask (" Send Action Result? ",0)) { printf (" Enter Event Action Name : (R) \n"); if (get_objname (&(req_info.evact_name))) req_info.evact_result_pres = SD_TRUE; } if (data_entered && req_info.evact_result_pres) { printf (" (0:success, 1:failure) "); printf ("\n Enter Action Result Tag : (default = 0) "); req_info.evact_result_tag = 0; if (intget (&num) && ((num == 0) || (num == 1))) req_info.evact_result_tag = num; if (req_info.evact_result_tag == 0) { /* success */ printf (" Enter Confirmed Service Response ASN.1 : (R) "); if (len = input_hex ((ST_UCHAR *)temp, 100)) { req_info.conf_serv_resp_len = len; memcpy (inp_str, temp, len); req_info.conf_serv_resp = inp_str; inp_str += len; } printf (" Enter Companion Standard Response Detail ASN.1 : (O) "); if (len = input_hex ((ST_UCHAR *)temp, 100)) { req_info.cs_rdetail_pres = SD_TRUE; req_info.cs_rdetail_len = len; memcpy (inp_str, temp, len); req_info.cs_rdetail = inp_str; inp_str += len; } else req_info.cs_rdetail_pres = SD_FALSE; } else { /* failure */ req_info.mod_pos_pres = SD_FALSE; printf (" Enter Modifier Position : (O) "); if (longget (&big)) { req_info.mod_pos_pres = SD_TRUE; req_info.mod_pos = (ST_UINT) big; } get_service_err (&err); req_info.serv_err = &err; } } if (data_entered) { if (mms_op_err = mp_evnot (chan,&req_info)) print_req_error (); if (num_reps) /* if this an auto repeat - */ { if (start_cont ()) /* wait for 1st to complete */ return; num_outstanding = 1; while (rep_count < num_reps) /* if enough done - */ { if (mms_op_err = mp_evnot (chan, &req_info)) break; num_outstanding++; if (cont_serve ()) /* if user hit a key */ return; } cont_done (); /* display results */ } } else wait_msg ("\n Must enter all required information "); (*menu_set_fun) ();#endif }/************************************************************************//* do_ackevnot *//* create and send an acknowledge event notification request *//************************************************************************/ST_VOID do_ackevnot (ST_VOID) {#if MMS_ACKEVNOT_EN & REQ_ENACKEVNOT_REQ_INFO req_info;ST_INT chan;ST_INT num;ST_BOOLEAN data_entered; if (!get_chan (&chan)) { (*menu_set_fun) (); return; } printf ("\n Enter Event Enrollment Name : (R)\n"); data_entered = get_objname (&req_info.evenroll_name); if (data_entered) { printf (" (0:disabled, 1:idle, 2:active)\n"); printf (" Enter Acknowledge State (0-2) : (R) "); req_info.ack_state = 0; if (data_entered = intget (&num)) { if ((num >= 0) && (num <= 2)) req_info.ack_state = (ST_CHAR) num; else data_entered = SD_FALSE; } } if (data_entered) data_entered = get_evtime (&req_info.evtime); if (data_entered) { req_info.ackec_name_pres = SD_FALSE; printf (" Enter Acknowledgement Event Condition Name (O) : \n"); if (get_objname (&req_info.ackec_name)) req_info.ackec_name_pres = SD_TRUE; } if (data_entered) { if (! mp_ackevnot (chan, &req_info)) print_req_error (); if (num_reps) /* if this an auto repeat - */ { if (start_cont ()) /* wait for 1st to complete */ return; num_outstanding = 1; while (rep_count < num_reps) /* if enough done - */ { if (! mp_ackevnot (chan, &req_info)) break; num_outstanding++; if (cont_serve ()) /* if user hit a key */ return; } cont_done (); /* display results */ } } else wait_msg ("\n Must enter all required information "); (*menu_set_fun) ();#endif }/************************************************************************//* do_getas *//* create and send a get alarm summary request *//************************************************************************/ST_VOID do_getas (ST_VOID) {#if MMS_GETAS_EN & REQ_ENGETAS_REQ_INFO req_info;ST_INT chan;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -