📄 ndmp.x
字号:
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 + -