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

📄 mms_vfil.h

📁 ICCP Toolkit 是在 Tru64下开发Tase.2通信协议的开发包
💻 H
字号:
/************************************************************************//* SISCO SOFTWARE MODULE HEADER *****************************************//************************************************************************//*   (c) Copyright Systems Integration Specialists Company, Inc.,	*//*      	  1986 - 1997, All Rights Reserved.		        *//*									*//* MODULE NAME : mms_vfil.h						*//* PRODUCT(S)  : MMSEASE						*//*									*//* MODULE DESCRIPTION : 						*//*	This module contains data and function definitions associated	*//*	with the MMS virtual machine file operations.			*//*									*//* MODIFICATION LOG :							*//*  Date     Who   Rev			Comments			*//* --------  ---  ------   -------------------------------------------	*//* 08/13/97  RKR     01    Format changes				*//* 04/02/97  DTL   7.00    MMSEASE 7.0 release. See MODL70.DOC for	*//*			   history.					*//************************************************************************/#ifndef MMS_VFIL_INCLUDED#define MMS_VFIL_INCLUDED#include "mms_pfil.h"#ifdef __cplusplusextern "C" {#endif/************************************************************************//************************************************************************//* FILE HANDLING							*//************************************************************************//* structures and variables used in remote file access handling 	*//*									*//* The user can set the variables below if desired to modify the limits *//* of the file handling system. They should be changed at powerup time	*//* if at all; they are setup with appropriate default values.		*//************************************************************************/extern ST_INT max_loc_open;		/* user limit # open (20)	*/extern ST_INT max_rem_open;		/* user limit # open (20)	*/extern ST_INT m_loc_files_open;		/* number of files open 	*/extern ST_INT m_rem_files_open;		/* number of files open 	*//************************************************************************/#define MAX_FCOPY_PIPELINE_DEPTH 10/* This array of integers is used to specify the pipeline depth for 	*//* file copies on a channel by channel basis. A value of 0 or 1 causes	*//* no pipelining to take place.						*/extern ST_INT *m_fcopy_pipe_depth;/************************************************************************//* The structure below is the basic file control element, and is used	*//* for both local and remote file control, as well as virtial machine	*//* file operation control.						*//************************************************************************/struct fctrl_info  {  ST_INT    refnum; 			/* index back to table		*/  ST_INT    chan;			/* channel that requested open	*/  ST_INT32  frsmid; 			/* file read state machine id	*/  FILE	    *handle;			/* file pointer 		*/  ST_UINT32 fsize; 			/* length of file		*/  time_t    open_time;			/* time file was opened 	*/  time_t    acc_time;			/* time file was last accessed	*/  ST_INT    path_len;			/* length of file path name	*/  ST_CHAR   path[MAX_FILE_NAME];	/* file path name		*/					/* data read parameters 	*/  ST_INT    dest_path_len;		/* length of dest file name	*/  ST_CHAR   dest_path[MAX_FILE_NAME]; 	/* destination file path name	*/  ST_UCHAR  *buffer;			/* destination			*/  ST_LONG   bytes_read;			/* # bytes read into buffer	*/  ST_LONG   bytes_req;			/* # bytes requested		*/  };typedef struct fctrl_info FCTRL_INFO;/************************************************************************//* The two structures below are used for local and remote file control	*//* and should not be modified or used directly by the user, as they	*//*are subject to change.						*//*									*//* Remote/Local File Control -						*//* stat values :							*//*	0 :	No Activity						*//*	1 :	Pending Open						*//*	2 :	Open							*//*	3 :	Pending Close						*//************************************************************************/struct fctrlinfo  {  ST_CHAR    stat[MAX_FILES_OPEN];	/* flag, set if file open	*/  FCTRL_INFO *finfo[MAX_FILES_OPEN];  };typedef struct fctrlinfo FCTRLINFO;/************************************************************************//* File Control Structure used to execute a FILE COPY			*//************************************************************************/struct fcopy_info  {  ST_INT           opcode;		/* operation code		*/  ST_RET           error;		/* error code			*/  OBTFILE_REQ_INFO *obtfinfo;	/* pointer to file information	*/  FCTRL_INFO       *fctrl;		/* pointer to file control	*/  struct fcopy_pipe_ctrl *fpipe;/* pointer to pipeline		*/  };typedef struct fcopy_info FCOPY_INFO;extern FCTRLINFO m_local_fctrl_info;extern FCTRLINFO m_rem_fctrl_info;/************************************************************************//* Functions used to get a pointer to file ctrl information for local	*//* and remote files.							*//************************************************************************/FCTRL_INFO *ms_get_rem_finfo (ST_CHAR *fname, ST_INT chan);FCTRL_INFO *ms_get_loc_finfo (ST_CHAR *fname);/************************************************************************//* Virtual Machine functions for handling FILE ACCESS			*//************************************************************************/MMSREQ_PEND *mv_fcopy  (ST_INT chan, ST_CHAR *from, ST_INT from_len, 				    ST_CHAR *to, ST_INT to_len);MMSREQ_PEND *mv_fopen  (ST_INT chan, ST_CHAR *path, ST_INT path_len, 				ST_UINT32 init_pos);MMSREQ_PEND *mv_fread  (ST_INT chan, ST_INT refnum, 				ST_UCHAR *dest, ST_LONG num_bytes);MMSREQ_PEND *mv_fclose (ST_INT chan, ST_INT refnum);ST_RET mv_obtfile_resp (MMSREQ_IND *ind);ST_RET mv_fopen_resp   (MMSREQ_IND *ind);ST_RET mv_file_open_resp (MMSREQ_IND *req_info, ST_INT *fctrl_index_out);ST_RET mv_fread_resp   (MMSREQ_IND *ind);ST_RET mv_fclose_resp  (MMSREQ_IND *ind);ST_RET mv_frename_resp (MMSREQ_IND *ind);ST_RET mv_fdelete_resp (MMSREQ_IND *ind);ST_RET mv_fdir_resp    (MMSREQ_IND *ind);/************************************************************************//* The functions below are used for clearing the local and remote file	*//* control structures. If the selected channel == -1, clear all.	*//************************************************************************/ST_RET ms_clr_rem_fctrl  (ST_INT chan);ST_RET ms_clr_locl_fctrl (ST_INT chan);/************************************************************************/MMSREQ_PEND *ms_fcopy_start (ST_INT chan, ST_INT opcode,		 	     OBTFILE_REQ_INFO *obtfile_info);#ifdef __cplusplus}#endif#endif	/* #define MMS_VFIL_INCLUDED */

⌨️ 快捷键说明

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