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

📄 file_history.c

📁 网络数据管理协议的开发
💻 C
字号:
/*                               -*- Mode: C -*-  * file_history.c *  * Description     : File history request handlers. *  * Copyright (c) 1996,1997 PDC, Network Appliance. All Rights Reserved. * * $Id: file_history.c,v 1.8 1998/05/26 03:51:51 tim Exp $ */#if !defined(lint) && !defined(SABER)static char rcsId[] __attribute__ ((unused)) = "@(#) $Id: file_history.c,v 1.8 1998/05/26 03:51:51 tim Exp $";#endif#include "ndmp_common.h"extern bool_t	optionVerboseFh;static char*	fstype_str[] = {	"UNIX", "NT", "OTHER"};static char*	ftype_str[] = {	"DIR", "FIFO", "CSPEC", "BSPEC", "REG", "SLINK", "SOCK", "REGISTRY", "OTHER"};/* * fileHistoryAddFile *   ndmp_fh_add_file_request message handler. * * Parameters: *   connection (input) - NDMP connection. *   msginfo    (input) - message. * * Returns: *   void */voidfileHistoryAddFile(NdmpConnection	connection __attribute__ ((unused)),				   void*			body){	ndmp_fh_add_file_request*	request =		(ndmp_fh_add_file_request *)body;    u_long 			        i;	u_long					j;	ndmp_file*				file;	ndmp_file_name*			name;	ndmp_file_stat*			filestat;		Log("Received ndmp_fh_add_file request: %lu entries.\n",		request->files.files_len);		if (optionVerboseFh == TRUE)	{		for (i = 0; i < request->files.files_len; i++)		{			file = &request->files.files_val[i];					Log("  fh_info:%llu.\n",				quadToLongLong(file->fh_info));			Log("  node:%llu.\n",				quadToLongLong(file->node));			for (j = 0; j < file->names.names_len; j++)			{				name = &file->names.names_val[j];				 				switch (name->fs_type)				{					case NDMP_FS_UNIX:					{						Log("  fs_type:UNIX path:%s\n",							name->ndmp_file_name_u.unix_name);						break;					}					case NDMP_FS_NT:					{						Log("  fs_type:NT nt_path:%s dos_path:%s\n",							name->ndmp_file_name_u.nt_name.nt_path,							name->ndmp_file_name_u.nt_name.dos_path);						break;					}					case NDMP_FS_OTHER:					{						Log("  fs_type:OTHER path:%s\n",							name->ndmp_file_name_u.other_name);						break;					}				}			}						for (j = 0; j < file->stats.stats_len; j++)			{				filestat = &file->stats.stats_val[j];				 				Log("  fs_type:%s ftype:%s invalid:0x%lx mtime:%lu atime:%lu ctime:%lu owner:%lu group:%lu fattr:0%lo size:%llu links:%lu.\n",						fstype_str[filestat->fs_type],						ftype_str[filestat->ftype],						filestat->invalid,						filestat->mtime,						filestat->atime,						filestat->ctime,						filestat->owner,						filestat->group,						filestat->fattr,						quadToLongLong(filestat->size),						filestat->links);			}		}	}}/* * fileHistoryAddDir *   ndmp_fh_add_dir_request message handler. * * Parameters: *   connection (input) - NDMP connection. *   msginfo    (input) - message. * * Returns: *   void */voidfileHistoryAddDir(NdmpConnection	connection __attribute__ ((unused)),				  void*				body){	ndmp_fh_add_dir_request*	request =		(ndmp_fh_add_dir_request *)body;	u_long			i;	u_long			j;	ndmp_file_name*	name;		Log("Received ndmp_fh_add_dir request: %lu entries.\n",		request->dirs.dirs_len);	if (optionVerboseFh == TRUE)	{		for (i = 0; i < request->dirs.dirs_len; i++)		{			Log("  inode:%lu parent:%lu.\n",				request->dirs.dirs_val[i].node,				request->dirs.dirs_val[i].parent);			for (j = 0; j < request->dirs.dirs_val[i].names.names_len; j++)			{				name = &request->dirs.dirs_val[i].names.names_val[j];				 				switch (name->fs_type)				{					case NDMP_FS_UNIX:					{						Log("  fs_type:UNIX path:%s\n",							name->ndmp_file_name_u.unix_name);						break;					}					case NDMP_FS_NT:					{						Log("  fs_type:NT nt_path:%s dos_path:%s\n",							name->ndmp_file_name_u.nt_name.nt_path,							name->ndmp_file_name_u.nt_name.dos_path);						break;					}					case NDMP_FS_OTHER:					{						Log("  fs_type:OTHER path:%s\n",							name->ndmp_file_name_u.other_name);						break;					}				}			}		}	}}/* * fileHistoryAddNode *   ndmp_fh_add_node request message handler. * * Parameters: *   connection (input) - NDMP connection. *   msginfo    (input) - message. * * Returns: *   void */voidfileHistoryAddNode(NdmpConnection	connection __attribute__ ((unused)),				   void*				body){	ndmp_fh_add_node_request*	request =		(ndmp_fh_add_node_request *)body;	u_long					i;	u_long					j;	ndmp_node*				node;	ndmp_file_stat*			filestat;		Log("Received fh_add_unix_node request: %lu entries.\n",		request->nodes.nodes_len);	if (optionVerboseFh == TRUE)	{		for (i = 0; i < request->nodes.nodes_len; i++)		{			node = &request->nodes.nodes_val[i];					Log("  node:%lu fh_info:%llu.\n",				node->node,				quadToLongLong(node->fh_info));			for (j = 0; j < node->stats.stats_len; j++)			{				filestat = &node->stats.stats_val[j];								Log("  fs_type:%s ftype:%s invalid:0x%lx mtime:%lu atime:%lu ctime:%lu owner:%lu group:%lu fattr:0%lo size:%llu links:%lu.\n",					fstype_str[filestat->fs_type],					ftype_str[filestat->ftype],					filestat->invalid,					filestat->mtime,					filestat->atime,					filestat->ctime,					filestat->owner,					filestat->group,					filestat->fattr,					quadToLongLong(filestat->size),					filestat->links);			}		}	}}

⌨️ 快捷键说明

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