⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mmsaevn.c

📁 ICCP Toolkit 是在 Tru64下开发Tase.2通信协议的开发包
💻 C
📖 第 1 页 / 共 4 页
字号:
    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 + -