📄 mmsaevn.c
字号:
req_info.priority_pres = SD_TRUE; req_info.priority = (ST_UCHAR) num; } } } if (data_entered) { if (! mp_trige (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_trige (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_defea *//* create and send a define event action request *//************************************************************************/ST_VOID do_defea (ST_VOID) {#if MMS_DEFEA_EN & REQ_ENDEFEA_REQ_INFO *req_info;MODIFIER *mod_ptr;ST_INT chan;ST_BOOLEAN data_entered;ST_INT len;ST_BOOLEAN done;ST_UCHAR cs_req [100];ST_UCHAR cs_rdet [100]; if (!get_chan (&chan)) { (*menu_set_fun) (); return; } req_info = (DEFEA_REQ_INFO *) dest_buffer; mod_ptr = (MODIFIER *) (req_info + 1); printf ("\n Enter Event Action Name :\n"); data_entered = get_objname (&req_info->evact_name); req_info->modlist_pres = SD_FALSE; if (data_entered) { if (ask (" List of Modifiers (y/n) : (O) ", 0)) { req_info->modlist_pres = SD_TRUE; req_info->num_of_modifiers = 0; done = SD_FALSE; while (!done) { printf (" Enter Modifier :\n"); if (get_modifier (mod_ptr)) { req_info->num_of_modifiers++; mod_ptr++; } else done = SD_TRUE; } } } if (data_entered) { printf (" Enter Confirmed Service Request : (R) "); if (len = input_hex (cs_req, 100)) { req_info->conf_serv_req = cs_req; req_info->conf_serv_req_len = len; } else data_entered = SD_FALSE; } if (data_entered) { req_info->cs_rdetail_pres = SD_FALSE; if (ask (" Send Companion Standard Request Detail (y/n) : (O) ", 0)) { printf (" Enter Companion Standard Request Detail : (O) "); if (len = input_hex (cs_rdet, 100)) { req_info->cs_rdetail_pres = SD_TRUE; req_info->cs_rdetail = cs_rdet; req_info->cs_rdetail_len = len; } } } if (data_entered) { if (! mp_defea (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_defea (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_delea *//* create and send a delete event action request *//************************************************************************/ST_VOID do_delea (ST_VOID) {#if MMS_DELEA_EN & REQ_ENDELEA_REQ_INFO *req_info;OBJECT_NAME *obj_ptr;ST_INT chan;ST_BOOLEAN data_entered;ST_INT num;ST_BOOLEAN done;ST_CHAR temp [100]; if (!get_chan (&chan)) { (*menu_set_fun) (); return; } req_info = (DELEA_REQ_INFO *) dest_buffer; obj_ptr = (OBJECT_NAME *) (req_info + 1); printf ("\n (0:specific, 1:aa-specific, 3:domain, 4:vmd)"); printf ("\n Enter Scope of Delete (0-3) (R) : "); if (data_entered = intget (&num)) { switch (num) { case (0) : req_info->req_tag = 0; req_info->num_of_names = 0; done = SD_FALSE; while (!done) { printf (" Enter Object Name : \n"); if (get_objname (obj_ptr)) { req_info->num_of_names++; obj_ptr++; } else done = SD_TRUE; } break; case (1) : req_info->req_tag = 1; break; case (3) : printf (" Enter Domain Name : (R) "); if (strget (temp)) { req_info->req_tag = 3; temp [MAX_IDENT_LEN] = '\x00'; strcpy (req_info->dname,temp); } else data_entered = SD_FALSE; break; case (4) : req_info->req_tag = 4; break; default : data_entered = SD_FALSE; break; } } if (data_entered) { if (! mp_delea (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_delea (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_geteaa *//* create and send a get event action attributes request *//************************************************************************/ST_VOID do_geteaa (ST_VOID) {#if MMS_GETEAA_EN & REQ_ENGETEAA_REQ_INFO req_info;ST_INT chan;ST_BOOLEAN data_entered; if (!get_chan (&chan)) { (*menu_set_fun) (); return; } printf ("\n Enter Event Action Name :\n"); data_entered = get_objname (&req_info.evact_name); if (data_entered) { if (! mp_geteaa (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_geteaa (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_repeas *//* create and send a report event action status request *//************************************************************************/ST_VOID do_repeas (ST_VOID) {#if MMS_REPEAS_EN & REQ_ENREPEAS_REQ_INFO req_info;ST_INT chan;ST_BOOLEAN data_entered; if (!get_chan (&chan)) { (*menu_set_fun) (); return; } printf ("\n Enter Event Action Name :\n"); data_entered = get_objname (&req_info.evact_name); if (data_entered) { if (! mp_repeas (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_repeas (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_defee *//* create and send a define event enrollment request *//************************************************************************/ST_VOID do_defee (ST_VOID) {#if MMS_DEFEE_EN & REQ_ENDEFEE_REQ_INFO req_info;ST_INT chan;ST_BOOLEAN data_entered;ST_INT num;ST_UCHAR temp [100]; 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) { printf (" Enter Event Condition Name :\n"); data_entered = get_objname (&req_info.evcon_name); } if (data_entered) { req_info.ec_transitions = 0x00; printf (" Enter Event Condition Transitions : (default = no) \n"); 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 = 0; printf (" Enter Alarm Acknowledgment Rule (0-3) : (R) (default = 0)"); if (intget (&num)) { if ((num >= 0) && (num <= 3)) req_info.alarm_ack_rule = num; } } 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.client_app_pres = SD_FALSE; if (ask (" Send Client Application : (y/n) (O) ",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.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_defee (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_defee (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_delee *//* create and send a delete event enrollment request *//************************************************************************/ST_VOID do_delee (ST_VOID) {#if MMS_DELEE_EN & REQ_ENDELEE_REQ_INFO *req_info;OBJECT_NAME *obj_ptr;ST_INT chan;ST_BOOLEAN data_entered;ST_INT num;ST_BOOLEAN done; if (!get_chan (&chan)) { (*menu_set_fun) (); return; } req_info = (DELEE_REQ_INFO *) dest_buffer; obj_ptr = (OBJECT_NAME *) (req_info + 1); printf ("\n (0:specific, 1:event condition, 2:event action)"); printf ("\n Enter Scope of Delete (0-2) (R) : "); if (data_entered = intget (&num)) { switch (num) { case (0) : req_info->req_tag = 0; req_info->sod.num_of_names = 0; done = SD_FALSE; while (!done) { printf (" Enter Object Name : \n"); if (get_objname (obj_ptr)) { req_info->sod.num_of_names++; obj_ptr++; } else done = SD_TRUE; } break; case (1) : printf (" Enter Event Condition Name : \n"); if (data_entered = get_objname (&req_info->sod.evcon_name)) req_info->req_tag = 1; break; case (2) : printf (" Enter Event Action Name : \n"); if (data_entered = get_objname (&req_info->sod.evact_name)) req_info->req_tag = 2; break; default : data_entered = SD_FALSE; break; } } if (data_entered) { if (! mp_delee (chan,req_info)) print_req_error ();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -