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

📄 mmsaevn.c

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