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

📄 u_ifil.c

📁 ICCP Toolkit 是在 Tru64下开发Tase.2通信协议的开发包
💻 C
字号:
/************************************************************************//* SISCO SOFTWARE MODULE HEADER *****************************************//************************************************************************//*   (c) Copyright Systems Integration Specialists Company, Inc.,	*//*      	  1986 - 2001, All Rights Reserved.		        *//*									*//* MODULE NAME : u_ifil.c						*//* PRODUCT(S)  : MMSEASE						*//*									*//* MODULE DESCRIPTION : 						*//*	This module contains user defined code to service file		*//*	management indications.	 These functions are invoked from	*//*	the 'mms_ind_serve' function, and should perform the request	*//*	action.								*//*									*//* GLOBAL FUNCTIONS DEFINED IN THIS MODULE :				*//*									*//* MODIFICATION LOG :							*//*  Date     Who   Rev			Comments			*//* --------  ---  ------   -------------------------------------------	*//* 11/29/01  EJV     02    Del code for old LATT, XENIX, ultrix, RMX86.	*//* 07/29/97  DSF     01    Removed references to INSTANTC		*//* 04/15/97  DSF   7.00    MMSEASE 7.0 release. See MODL70.DOC for	*//*			   history.					*//************************************************************************/#include "glbtypes.h"#include "sysincs.h"#include "mms_usr.h"#include "userdefs.h"#include "mmsop_en.h"#include "gvaldefs.h"#include "scrndefs.h"#include "fkeydefs.h"#include "mms_pfil.h"#include "mms_vfil.h"#include "mem_chk.h"/************************************************************************//* For debug version, use a static pointer to avoid duplication of 	*//* __FILE__ strings.							*//************************************************************************/#ifdef DEBUG_SISCOstatic ST_CHAR *thisFileName = __FILE__;#endif#define USE_MV_RESP /************************************************************************//************************************************************************//*			FILE MANAGEMENT 				*//************************************************************************//************************************************************************//* OBTAIN FILE								*//************************************************************************/#if MMS_OBTAINFILE_EN & RESP_ENST_VOID u_obtfile_ind (MMSREQ_IND *req_info)  {OBTFILE_REQ_INFO *ptr;ST_INT i;FILE_NAME	*fname_idx;  if (mms_debug_sel & MMS_LOG_USR_IND)    {    indic_info_print (req_info,"Obtain File ");    ptr = (OBTFILE_REQ_INFO *) req_info->req_info_ptr;    printf ("\n App Ref Title    : ");    if (ptr->ar_title_pres)      print_asn1_app_ref (ptr->ar_title, ptr->ar_len);    else      printf ("Not Present");    fname_idx = (FILE_NAME *)(ptr + 1);    printf ("\n Number of Source FileNames  : %d ", ptr->num_of_src_fname);    for (i = 0; i < ptr->num_of_src_fname; i++, fname_idx++)      {      printf ("\n   %d) ", i+1);      list_bytes ((ST_UCHAR *)fname_idx->fname, fname_idx->fn_len);      }    printf ("\n Number of Destination FileNames  : %d ",              ptr->num_of_dest_fname);    for (i = 0; i < ptr->num_of_dest_fname; i++, fname_idx++)      {      printf ("\n   %d) ", i+1);      list_bytes ((ST_UCHAR *)fname_idx->fname, fname_idx->fn_len);      }    }  mv_obtfile_resp (req_info);  indic_info_wait ();			/* allow user to see indic info */  }#endif/************************************************************************//* FILE OPEN								*//************************************************************************/#if MMS_FOPEN_EN & RESP_ENST_VOID u_fopen_ind (MMSREQ_IND *req_info)  {#if !defined (USE_MV_RESP)FOPEN_RESP_INFO respinfo;#endifFOPEN_REQ_INFO  *ptr;FILE_NAME	*fname_idx;ST_INT   i;static ST_INT32 frsmid = 123456789;  if (mms_debug_sel & MMS_LOG_USR_IND)    {    indic_info_print (req_info,"File open ");    ptr = (FOPEN_REQ_INFO *) req_info->req_info_ptr;    fname_idx = (FILE_NAME *)(ptr + 1);    printf ("\n Number of FileNames  : %d ", ptr->num_of_fname);    for (i = 0; i < ptr->num_of_fname; i++, fname_idx++)      {      printf ("\n   %d) ", i+1);      list_bytes ((ST_UCHAR *)fname_idx->fname, fname_idx->fn_len);      }    printf ("\n Initial Position = %lu ", ptr->init_pos);    }#ifdef USE_MV_RESP  mv_fopen_resp (req_info);#else  respinfo.frsmid	= frsmid++;  respinfo.ent.mtimpres = SD_TRUE;  respinfo.ent.fsize = 55611L;  respinfo.ent.mtime = time (NULL);  mp_fopen_resp (req_info, &respinfo);	/* send the response	*/#endif  indic_info_wait ();			/* allow user to see indic info */  }#endif/************************************************************************//* FILE READ								*//************************************************************************/#if MMS_FREAD_EN & RESP_ENST_VOID u_fread_ind (MMSREQ_IND *req_info)  {FREAD_REQ_INFO *ptr;  if (mms_debug_sel & MMS_LOG_USR_IND)    {    indic_info_print (req_info,"File read ");    ptr = (FREAD_REQ_INFO *) req_info->req_info_ptr;    printf ("\n File Read State Machine Id = %ld", ptr->frsmid);    }  mv_fread_resp (req_info);  indic_info_wait ();			/* allow user to see indic info */  }#endif/************************************************************************//* FILE CLOSE								*//************************************************************************/#if MMS_FCLOSE_EN & RESP_ENST_VOID u_fclose_ind (MMSREQ_IND *req_info)  {FCLOSE_REQ_INFO *ptr;  if (mms_debug_sel & MMS_LOG_USR_IND)    {    indic_info_print (req_info,"File close ");    ptr = (FCLOSE_REQ_INFO *) req_info->req_info_ptr;    printf ("\n File Read State Machine Id = %ld", ptr->frsmid);    }  mv_fclose_resp (req_info);  indic_info_wait ();			/* allow user to see indic info */  }#endif/************************************************************************//* FILE RENAME								*//************************************************************************/#if MMS_FRENAME_EN & RESP_ENST_VOID u_frename_ind (MMSREQ_IND *req_info)  {FRENAME_REQ_INFO *info_ptr;FILE_NAME	*fname_idx;ST_INT	i;  if (mms_debug_sel & MMS_LOG_USR_IND)    {    info_ptr = (FRENAME_REQ_INFO *) req_info->req_info_ptr;    indic_info_print (req_info,"File rename ");    fname_idx = (FILE_NAME *)(info_ptr + 1);    printf ("\n Number of Current FileNames  : %d ", info_ptr->num_of_cur_fname);    for (i = 0; i < info_ptr->num_of_cur_fname; i++, fname_idx++)      {      printf ("\n   %d) ", i+1);      list_bytes ((ST_UCHAR *)fname_idx->fname, fname_idx->fn_len);      }    printf ("\n Number of New FileNames  : %d ",              info_ptr->num_of_new_fname);    for (i = 0; i < info_ptr->num_of_new_fname; i++, fname_idx++)      {      printf ("\n   %d) ", i+1);      list_bytes ((ST_UCHAR *)fname_idx->fname, fname_idx->fn_len);      }    }  mv_frename_resp (req_info);  indic_info_wait ();			/* allow user to see indic info */  }#endif/************************************************************************//* FILE DELETE								*//************************************************************************/#if MMS_FDELETE_EN & RESP_ENST_VOID u_fdelete_ind (MMSREQ_IND *req_info)  {FDELETE_REQ_INFO *info_ptr;FILE_NAME	*fname_idx;ST_INT 	i;  if (mms_debug_sel & MMS_LOG_USR_IND)    {    info_ptr = (FDELETE_REQ_INFO *) req_info->req_info_ptr;    indic_info_print (req_info,"File delete ");    fname_idx = (FILE_NAME *)(info_ptr + 1);    printf ("\n Number of FileNames  : %d ", info_ptr->num_of_fname);    for (i = 0; i < info_ptr->num_of_fname; i++, fname_idx++)      {      printf ("\n   %d) ", i+1);      list_bytes ((ST_UCHAR *)fname_idx->fname, fname_idx->fn_len);      }    }  mv_fdelete_resp (req_info);  indic_info_wait ();			/* allow user to see indic info */  }#endif/************************************************************************//* FILE DIRECTORY							*//************************************************************************/#if MMS_FDIR_EN & RESP_ENST_VOID u_fdir_ind (MMSREQ_IND *req_info)  {ST_INT	i;FDIR_REQ_INFO  *ind_ptr;FILE_NAME	*fname_idx;  if (mms_debug_sel & MMS_LOG_USR_IND)    {    ind_ptr = (FDIR_REQ_INFO *) req_info->req_info_ptr;    indic_info_print (req_info,"File directory ");    printf ("\n FileName Specification : ");    if (ind_ptr->filespec_pres)      {      fname_idx = (FILE_NAME *)(ind_ptr + 1);      printf ("\n Number FileName Specifications  : %d ", ind_ptr->num_of_fs_fname);      for (i = 0; i < ind_ptr->num_of_fs_fname; i++, fname_idx++)        {        printf ("\n   %d) ", i+1);        list_bytes ((ST_UCHAR *)fname_idx->fname, fname_idx->fn_len);        }      }    else      printf ("not present");    printf ("\n FileName to continue after : ");    if (ind_ptr->cont_after_pres)      {      printf ("\n Number of FileNames to continue after : %d ",                ind_ptr->num_of_ca_fname);      fname_idx = (FILE_NAME *)(ind_ptr + 1);      fname_idx += ind_ptr -> num_of_fs_fname;      for (i = 0; i < ind_ptr->num_of_ca_fname; i++, fname_idx++)        {        printf ("\n   %d) ", i+1);        list_bytes ((ST_UCHAR *)fname_idx->fname, fname_idx->fn_len);        }      }    else      printf ("not present");    }  mv_fdir_resp (req_info);    indic_info_wait ();			/* allow user to see indic info */  }#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -