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

📄 ndmp.x

📁 网络数据管理协议的开发
💻 X
📖 第 1 页 / 共 2 页
字号:
	NDMP_MTIO_EOF,	NDMP_MTIO_OFF};struct ndmp_tape_mtio_request{	ndmp_tape_mtio_op	tape_op;	u_long				count;};struct ndmp_tape_mtio_reply{	ndmp_error	error;	u_long		resid_count;};/* NDMP_TAPE_WRITE */struct ndmp_tape_write_request{	opaque	data_out<>;};struct ndmp_tape_write_reply{	ndmp_error	error;	u_long		count;};/* NDMP_TAPE_READ */struct ndmp_tape_read_request{	u_long	count;};struct ndmp_tape_read_reply{	ndmp_error	error;	opaque		data_in<>;};/* NDMP_TAPE_EXECUTE_CDB */typedef ndmp_execute_cdb_request	ndmp_tape_execute_cdb_request;typedef ndmp_execute_cdb_reply		ndmp_tape_execute_cdb_reply;/********************************//* MOVER INTERFACE              *//********************************//* NDMP_MOVER_GET_STATE */enum ndmp_mover_state{	NDMP_MOVER_STATE_IDLE,	NDMP_MOVER_STATE_LISTEN,	NDMP_MOVER_STATE_ACTIVE,	NDMP_MOVER_STATE_PAUSED,	NDMP_MOVER_STATE_HALTED};enum ndmp_mover_pause_reason{	NDMP_MOVER_PAUSE_NA,	NDMP_MOVER_PAUSE_EOM,	NDMP_MOVER_PAUSE_EOF,	NDMP_MOVER_PAUSE_SEEK,	NDMP_MOVER_PAUSE_MEDIA_ERROR,	NDMP_MOVER_PAUSE_EOW};enum ndmp_mover_halt_reason{	NDMP_MOVER_HALT_NA,	NDMP_MOVER_HALT_CONNECT_CLOSED,	NDMP_MOVER_HALT_ABORTED,	NDMP_MOVER_HALT_INTERNAL_ERROR,	NDMP_MOVER_HALT_CONNECT_ERROR};/* mover address */enum ndmp_mover_mode{	NDMP_MOVER_MODE_READ,	/* read from data connection; write to tape */	NDMP_MOVER_MODE_WRITE	/* write to data connection; read from tape */};struct ndmp_tcp_addr{	u_long	ip_addr;	u_short	port;};struct ndmp_fc_addr{	u_long	loop_id;};struct ndmp_ipc_addr{	opaque	comm_data<>;};union ndmp_addr switch (ndmp_addr_type addr_type){	case NDMP_ADDR_LOCAL:		void;	case NDMP_ADDR_TCP:		ndmp_tcp_addr	tcp_addr;	case NDMP_ADDR_FC:		ndmp_fc_addr	fc_addr;	case NDMP_ADDR_IPC:		ndmp_ipc_addr	ipc_addr;	};/* no request arguments */struct ndmp_mover_get_state_reply{	ndmp_error				error;	ndmp_mover_state		state;	ndmp_mover_pause_reason	pause_reason;	ndmp_mover_halt_reason	halt_reason;	u_long					record_size;	u_long					record_num;	ndmp_u_quad				data_written;	ndmp_u_quad				seek_position;	ndmp_u_quad				bytes_left_to_read;	ndmp_u_quad				window_offset;	ndmp_u_quad				window_length;	ndmp_addr				data_connection_addr;};/* NDMP_MOVER_LISTEN */struct ndmp_mover_listen_request{	ndmp_mover_mode		mode;	ndmp_addr_type	addr_type;};struct ndmp_mover_listen_reply{	ndmp_error	error;	ndmp_addr	data_connection_addr;};/* NDMP_MOVER_CONNECT */struct ndmp_mover_connect_request{	ndmp_mover_mode		mode;	ndmp_addr		addr;};struct ndmp_mover_connect_reply{	ndmp_error	error;};/* NDMP_MOVER_SET_RECORD_SIZE */struct ndmp_mover_set_record_size_request{	u_long	len;};struct ndmp_mover_set_record_size_reply{	ndmp_error	error;};/* NDMP_MOVER_SET_WINDOW */struct ndmp_mover_set_window_request{	ndmp_u_quad	offset;	ndmp_u_quad	length;};struct ndmp_mover_set_window_reply{	ndmp_error	error;};/* NDMP_MOVER_CONTINUE *//* no request arguments */struct ndmp_mover_continue_reply{	ndmp_error	error;};/* NDMP_MOVER_ABORT *//* no request arguments */struct ndmp_mover_abort_reply{	ndmp_error	error;};/* NDMP_MOVER_STOP *//* no request arguments */struct ndmp_mover_stop_reply{	ndmp_error	error;};/* NDMP_MOVER_READ */struct ndmp_mover_read_request{	ndmp_u_quad	offset;	ndmp_u_quad	length;};struct ndmp_mover_read_reply{	ndmp_error	error;};/* NDMP_MOVER_CLOSE *//* no request arguments */struct ndmp_mover_close_reply{	ndmp_error	error;};/********************************//* DATA INTERFACE			    *//********************************//* NDMP_DATA_GET_STATE *//* no request arguments */enum ndmp_data_operation{	NDMP_DATA_OP_NOACTION,	NDMP_DATA_OP_BACKUP,	NDMP_DATA_OP_RESTORE};enum ndmp_data_state{	NDMP_DATA_STATE_IDLE,	NDMP_DATA_STATE_ACTIVE,	NDMP_DATA_STATE_HALTED,	NDMP_DATA_STATE_LISTEN,	NDMP_DATA_STATE_CONNECTED};enum ndmp_data_halt_reason{	NDMP_DATA_HALT_NA,	NDMP_DATA_HALT_SUCCESSFUL,	NDMP_DATA_HALT_ABORTED,	NDMP_DATA_HALT_INTERNAL_ERROR,	NDMP_DATA_HALT_CONNECT_ERROR};/* invalid bit */const NDMP_DATA_STATE_EST_BYTES_REMAIN_INVALID	= 0x00000001;const NDMP_DATA_STATE_EST_TIME_REMAIN_INVALID	= 0x00000002;struct ndmp_data_get_state_reply{	u_long					invalid;	ndmp_error				error;	ndmp_data_operation		operation;	ndmp_data_state			state;	ndmp_data_halt_reason	halt_reason;	ndmp_u_quad				bytes_processed;	ndmp_u_quad				est_bytes_remain;	u_long					est_time_remain;	ndmp_addr				data_connection_addr;	ndmp_u_quad				read_offset;	ndmp_u_quad				read_length;};/* NDMP_DATA_START_BACKUP */struct ndmp_data_start_backup_request{	string		bu_type<>;	/* backup method to use */	ndmp_pval	env<>;		/* Parameters that may modify backup */};struct ndmp_data_start_backup_reply{	ndmp_error	error;};/* NDMP_DATA_START_RECOVER */struct ndmp_name{	string		original_path<>;	string		destination_dir<>;	string		new_name<>;	/* Direct access restore only */	string		other_name<>;	/* Direct access restore only */	ndmp_u_quad	node;		/* Direct access restore only */	ndmp_u_quad	fh_info;	/* Direct access restore only */};struct ndmp_data_start_recover_request{	ndmp_pval	env<>;	ndmp_name	nlist<>;	string		bu_type<>;};struct ndmp_data_start_recover_reply{	ndmp_error	error;};/* NDMP_DATA_ABORT *//* no request arguments */struct ndmp_data_abort_reply{	ndmp_error	error;};/* NDMP_DATA_STOP *//* no request arguments */struct ndmp_data_stop_reply{	ndmp_error	error;};/* NDMP_DATA_GET_ENV *//* no request arguments */struct ndmp_data_get_env_reply{	ndmp_error	error;	ndmp_pval	env<>;};/* NDMP_DATA_LISTEN */struct ndmp_data_listen_request{	ndmp_addr_type	addr_type;};struct ndmp_data_listen_reply{	ndmp_error	error;	ndmp_addr	data_connection_addr;};/* NDMP_DATA_CONNECT */struct ndmp_data_connect_request{	ndmp_addr	addr;};struct ndmp_data_connect_reply{	ndmp_error	error;};/****************************************//* NOTIFY INTERFACE 			*//****************************************//* NDMP_NOTIFY_DATA_HALTED */struct ndmp_notify_data_halted_request{	ndmp_data_halt_reason	reason;	string					text_reason<>;};/* NDMP_NOTIFY_CONNECTED */enum ndmp_connect_reason{	NDMP_CONNECTED,		/* Connect sucessfully */	NDMP_SHUTDOWN,		/* Connection shutdown */	NDMP_REFUSED		/* reach the maximum number of connections */};struct ndmp_notify_connected_request{	ndmp_connect_reason	reason;	u_short				protocol_version;	string				text_reason<>;};/* NDMP_NOTIFY_MOVER_PAUSED */struct ndmp_notify_mover_paused_request{	ndmp_mover_pause_reason	reason;	ndmp_u_quad				seek_position;};/* No reply *//* NDMP_NOTIFY_MOVER_HALTED */struct ndmp_notify_mover_halted_request{	ndmp_mover_halt_reason	reason;	string					text_reason<>;};/* No reply *//* NDMP_NOTIFY_DATA_READ */struct ndmp_notify_data_read_request{	ndmp_u_quad	offset;	ndmp_u_quad	length;};/* No reply *//********************************//* LOG INTERFACE				*//********************************//* NDMP_LOG_MESSAGE */enum ndmp_log_type{	NDMP_LOG_NORMAL,	NDMP_LOG_DEBUG,	NDMP_LOG_ERROR,	NDMP_LOG_WARNING};struct ndmp_log_message_request{	ndmp_log_type	log_type;	u_long			message_id;	string			entry<>;};/* No reply *//* NDMP_LOG_FILE */struct ndmp_log_file_request{	string		name<>;	ndmp_error	error;};/* No reply *//********************************//* File History INTERFACE	    *//********************************//* NDMP_FH_ADD_FILE */enum ndmp_fs_type{	NDMP_FS_UNIX,	/* UNIX */	NDMP_FS_NT,	/* NT */	NDMP_FS_OTHER};typedef string ndmp_path<>;struct ndmp_nt_path{	ndmp_path	nt_path;	ndmp_path	dos_path;}; union ndmp_file_name switch (ndmp_fs_type fs_type){	case NDMP_FS_UNIX:		ndmp_path		unix_name;	case NDMP_FS_NT:		ndmp_nt_path	nt_name;	default:		ndmp_path		other_name;};enum ndmp_file_type{	NDMP_FILE_DIR,	NDMP_FILE_FIFO,	NDMP_FILE_CSPEC,	NDMP_FILE_BSPEC,	NDMP_FILE_REG,	NDMP_FILE_SLINK,	NDMP_FILE_SOCK,	NDMP_FILE_REGISTRY,	NDMP_FILE_OTHER};/* invalid bit */const NDMP_FILE_STAT_ATIME_INVALID	= 0x00000001;const NDMP_FILE_STAT_CTIME_INVALID	= 0x00000002;const NDMP_FILE_STAT_GROUP_INVALID	= 0x00000004;struct ndmp_file_stat{	u_long			invalid;	ndmp_fs_type	fs_type;	ndmp_file_type	ftype;	u_long			mtime;	u_long			atime;	u_long			ctime;	u_long			owner; /* uid for UNIX, owner for NT */	u_long			group; /* gid for UNIX, NA for NT */	u_long			fattr; /* mode for UNIX, fattr for NT */	ndmp_u_quad		size;	u_long			links;};/* one file could have both UNIX and NT name and attributes */struct ndmp_file{	ndmp_file_name	names<>;	ndmp_file_stat	stats<>;	ndmp_u_quad		node;		/* used for the direct access */	ndmp_u_quad		fh_info;	/* used for the direct access */};struct ndmp_fh_add_file_request{	ndmp_file		files<>;};/* No reply *//* NDMP_FH_ADD_DIR */struct ndmp_dir{	ndmp_file_name	names<>;	ndmp_u_quad		node;	ndmp_u_quad		parent;}; struct ndmp_fh_add_dir_request{	ndmp_dir	dirs<>;};/* No reply */ /* NDMP_FH_ADD_NODE */struct ndmp_node{	ndmp_file_stat	stats<>;	ndmp_u_quad		node;	ndmp_u_quad		fh_info;}; struct ndmp_fh_add_node_request{	ndmp_node	nodes<>;};/* No reply */

⌨️ 快捷键说明

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