📄 file_history.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 + -