/*
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/*
* BSD 3 Clause License
*
* Copyright (c) 2007, The Storage Networking Industry Association.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* distribution.
*
* - Neither the name of The Storage Networking Industry Association (SNIA)
* nor the names of its contributors may be used to endorse or promote
* products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
/* Copyright (c) 1996, 1997 PDC, Network Appliance. All Rights Reserved */
#define VER 3
const NDMPV2 = 2;
const NDMPV3 = 3;
const NDMPV4 = 4;
const NDMPPORT = 10000;
struct ndmp_u_quad
{
};
struct ndmp_pval
{
};
struct ndmp_scsi_device
{
};
struct ndmp_tape_device
{
};
enum ndmp_error
{
NDMP_NO_ERR = 0, /* No error */
/*
* NDMP V3
*/
NDMP_CONNECT_ERR = 23,
/*
* NDMP V4
*/
NDMP_SEQUENCE_NUM_ERR = 24,
NDMP_PRECONDITION_ERR = 26,
};
{
};
enum ndmp_message
{
NDMP_CONNECT_OPEN = 0x900,
NDMP_CONNECT_CLIENT_AUTH = 0x901,
NDMP_CONNECT_CLOSE = 0x902,
NDMP_CONNECT_SERVER_AUTH = 0x903,
NDMP_CONFIG_GET_HOST_INFO = 0x100,
NDMP_CONFIG_GET_CONNECTION_TYPE = 0x102,
NDMP_CONFIG_GET_AUTH_ATTR = 0x103,
NDMP_SCSI_OPEN = 0x200,
NDMP_SCSI_CLOSE = 0x201,
NDMP_SCSI_GET_STATE = 0x202,
NDMP_SCSI_RESET_DEVICE = 0x204,
NDMP_SCSI_EXECUTE_CDB = 0x206,
NDMP_TAPE_OPEN = 0x300,
NDMP_TAPE_CLOSE = 0x301,
NDMP_TAPE_GET_STATE = 0x302,
NDMP_TAPE_MTIO = 0x303,
NDMP_TAPE_WRITE = 0x304,
NDMP_TAPE_READ = 0x305,
NDMP_TAPE_EXECUTE_CDB = 0x307,
NDMP_DATA_GET_STATE = 0x400,
NDMP_DATA_START_BACKUP = 0x401,
NDMP_DATA_START_RECOVER = 0x402,
NDMP_DATA_ABORT = 0x403,
NDMP_DATA_GET_ENV = 0x404,
NDMP_DATA_RESVD1 = 0x405,
NDMP_DATA_RESVD2 = 0x406,
NDMP_DATA_STOP = 0x407,
NDMP_DATA_LISTEN = 0x409,
NDMP_DATA_CONNECT = 0x40A,
NDMP_NOTIFY_RESERVED = 0x500,
NDMP_NOTIFY_DATA_HALTED = 0x501,
NDMP_NOTIFY_CONNECTION_STATUS = 0x502,
NDMP_NOTIFY_MOVER_HALTED = 0x503,
NDMP_NOTIFY_MOVER_PAUSED = 0x504,
NDMP_NOTIFY_DATA_READ = 0x505,
NDMP_MOVER_GET_STATE = 0xA00,
NDMP_MOVER_LISTEN = 0xA01,
NDMP_MOVER_CONTINUE = 0xA02,
NDMP_MOVER_ABORT = 0xA03,
NDMP_MOVER_STOP = 0xA04,
NDMP_MOVER_SET_WINDOW = 0xA05,
NDMP_MOVER_READ = 0xA06,
NDMP_MOVER_CLOSE = 0xA07,
NDMP_MOVER_SET_RECORD_SIZE = 0xA08,
NDMP_EXT_STANDARD_BASE = 0x10000,
NDMP_EXT_PROPRIETARY_BASE = 0x20000000
};
const NDMP_MESSAGE_POST = NDMP_MESSAGE_REQUEST;
struct ndmp_header
{
};
/***************************/
/* CONNECT INTERFACE (V2) */
/***************************/
/* NDMP_CONNECT_OPEN */
struct ndmp_connect_open_request
{
};
struct ndmp_connect_open_reply
{
};
/* NDMP_CONNECT_CLIENT_AUTH = NDMP_CONNECT_AUTH */
enum ndmp_auth_type
{
NDMP_AUTH_NONE, /* no password is required */
NDMP_AUTH_TEXT, /* the clear text password */
NDMP_AUTH_MD5 /* md5 */
};
struct ndmp_auth_text
{
};
struct ndmp_auth_md5
{
};
{
case NDMP_AUTH_NONE:
void;
case NDMP_AUTH_TEXT:
struct ndmp_auth_text auth_text;
case NDMP_AUTH_MD5:
struct ndmp_auth_md5 auth_md5;
};
{
};
{
};
/* NDMP_CONNECT_CLOSE */
/* no request arguments */
/* no reply arguments */
/* NDMP_CONNECT_SERVER_AUTH */
{
case NDMP_AUTH_NONE:
void;
case NDMP_AUTH_TEXT:
void;
case NDMP_AUTH_MD5:
};
{
};
{
};
/***************************/
/* CONNECT INTERFACE (V3) */
/***************************/
/* NDMP_CONNECT_OPEN - same as V2 */
struct ndmp_auth_text_v3
{
};
struct ndmp_auth_md5_v3
{
};
{
case NDMP_AUTH_NONE:
void;
case NDMP_AUTH_TEXT:
struct ndmp_auth_text_v3 auth_text;
case NDMP_AUTH_MD5:
struct ndmp_auth_md5_v3 auth_md5;
};
{
};
{
};
/* NDMP_CONNECT_CLOSE - same as V2 */
/* NDMP_CONNECT_SERVER_AUTH - same as V2 */
/***************************/
/* CONNECT INTERFACE (V4) */
/***************************/
/* NDMP_CONNECT_OPEN - same as V3 */
/* NDMP_CONNECT_CLIENT_AUTH - same as V3 */
/* NDMP_CONNECT_CLOSE - same as V3 */
/* NDMP_CONNECT_SERVER_AUTH - same as V3 */
/*************************/
/* CONFIG INTERFACE (V2) */
/*************************/
/* NDMP_CONFIG_GET_HOST_INFO */
/* no request arguments */
{
};
/* NDMP_CONFIG_GET_BUTYPE_ATTR */
const NDMP_NO_BACKUP_FILELIST = 0x0001;
const NDMP_NO_BACKUP_FHINFO = 0x0002;
const NDMP_NO_RECOVER_FILELIST = 0x0004;
const NDMP_NO_RECOVER_FHINFO = 0x0008;
const NDMP_NO_RECOVER_SSID = 0x0010;
const NDMP_NO_RECOVER_INC_ONLY = 0x0020;
{
};
{
};
/* NDMP_CONFIG_GET_MOVER_TYPE */
/* no request arguments */
enum ndmp_addr_type
{
NDMP_ADDR_LOCAL = 0,
NDMP_ADDR_TCP = 1,
NDMP_ADDR_IPC = 3
};
{
};
/* NDMP_CONFIG_GET_AUTH_ATTR */
{
};
{
};
/*************************/
/* CONFIG INTERFACE (V3) */
/*************************/
/* NDMP_CONFIG_GET_HOST_INFO */
/* no request arguments */
{
};
/* NDMP_CONFIG_GET_CONNECTION_TYPE */
/* no request arguments */
{
};
/* NDMP_CONFIG_GET_AUTH_ATTR - same as V2 */
/* NDMP_CONFIG_GET_SERVER_INFO */
/* no requset arguments */
{
};
/* Backup type attributes */
const NDMP_BUTYPE_BACKUP_FILELIST = 0x0002;
const NDMP_BUTYPE_RECOVER_FILELIST = 0x0004;
const NDMP_BUTYPE_BACKUP_DIRECT = 0x0008;
const NDMP_BUTYPE_RECOVER_DIRECT = 0x0010;
const NDMP_BUTYPE_BACKUP_INCREMENTAL = 0x0020;
const NDMP_BUTYPE_RECOVER_INCREMENTAL = 0x0040;
const NDMP_BUTYPE_BACKUP_UTF8 = 0x0080;
const NDMP_BUTYPE_RECOVER_UTF8 = 0x0100;
struct ndmp_butype_info
{
};
/* NDMP_CONFIG_GET_BUTYPE_INFO */
/* no request arguments */
{
};
/* invalid bit */
const NDMP_FS_INFO_TOTAL_SIZE_INVALID = 0x00000001;
const NDMP_FS_INFO_USED_SIZE_INVALID = 0x00000002;
const NDMP_FS_INFO_AVAIL_SIZE_INVALID = 0x00000004;
const NDMP_FS_INFO_TOTAL_INODES_INVALID = 0x00000008;
const NDMP_FS_INFO_USED_INODES_INVALID = 0x00000010;
struct ndmp_fs_info_v3
{
};
/* NDMP_CONFIG_GET_FS_INFO */
/* no request arguments */
{
};
/* NDMP_CONFIG_GET_TAPE_INFO */
/* no request arguments */
/* tape attributes */
const NDMP_TAPE_ATTR_REWIND = 0x00000001;
const NDMP_TAPE_ATTR_UNLOAD = 0x00000002;
const NDMP_TAPE_ATTR_RAW = 0x00000004;
struct ndmp_device_capability_v3
{
};
struct ndmp_device_info_v3
{
};
{
};
/* NDMP_CONFIG_GET_SCSI_INFO */
/* jukebox attributes */
{
};
/*************************/
/* CONFIG INTERFACE (V4) */
/*************************/
/* NDMP_CONFIG_GET_HOST_INFO - same as V3 */
/* NDMP_CONFIG_GET_SERVER_INFO - same as V3 */
/* NDMP_CONFIG_GET_CONNECTION_TYPE - same as V3 */
/* NDMP_CONFIG_GET_AUTH_ATTR - same as V3 */
{
};
/* NDMP_CONFIG_GET_FS_INFO - same as V3 */
struct ndmp_class_list
{
};
struct ndmp_class_version
{
};
{
};
{
};
{
};
/***********************/
/* SCSI INTERFACE (V2) */
/***********************/
/* NDMP_SCSI_OPEN */
struct ndmp_scsi_open_request
{
};
struct ndmp_scsi_open_reply
{
};
/* NDMP_SCSI_CLOSE */
/* no request arguments */
struct ndmp_scsi_close_reply
{
};
/* NDMP_SCSI_GET_STATE */
/* no request arguments */
struct ndmp_scsi_get_state_reply
{
short target_controller;
short target_id;
short target_lun;
};
/* NDMP_SCSI_SET_TARGET */
struct ndmp_scsi_set_target_request
{
};
struct ndmp_scsi_set_target_reply
{
};
/* NDMP_SCSI_RESET_DEVICE */
/* no request arguments */
struct ndmp_scsi_reset_device_reply
{
};
/* NDMP_SCSI_RESET_BUS */
/* no request arguments */
struct ndmp_scsi_reset_bus_reply
{
};
/* NDMP_SCSI_EXECUTE_CDB */
struct ndmp_execute_cdb_request
{
};
struct ndmp_execute_cdb_reply
{
};
/***********************/
/* SCSI INTERFACE (V3) */
/***********************/
/* NDMP_SCSI_OPEN */
struct ndmp_scsi_open_request_v3
{
};
/* reply the same as V2 */
/* NDMP_SCSI_CLOSE - same as V2 */
/* NDMP_SCSI_GET_STATE - same as V2 */
{
};
/* reply the same as V2 */
/* NDMP_SCSI_RESET_DEVICE - same as V2 */
/* NDMP_SCSI_RESET_BUS - same as V2 */
/* NDMP_SCSI_EXECUTE_CDB - same as V2 */
/***********************/
/* SCSI INTERFACE (V4) */
/***********************/
/* NDMP_SCSI_OPEN - same as V3 */
/* NDMP_SCSI_CLOSE - same as V3 */
/* NDMP_SCSI_GET_STATE - same as V3 */
/* NDMP_SCSI_RESET_DEVICE - same as V3 */
/* NDMP_SCSI_EXECUTE_CDB - same as V3 */
/***********************/
/* TAPE INTERFACE (V2) */
/***********************/
/* NDMP_TAPE_OPEN */
enum ndmp_tape_open_mode
{
NDMP_TAPE_RAW_MODE, /* NDMP V4 */
};
struct ndmp_tape_open_request
{
};
struct ndmp_tape_open_reply
{
};
/* NDMP_TAPE_CLOSE */
/* no request arguments */
struct ndmp_tape_close_reply
{
};
/* NDMP_TAPE_GET_STATE */
/* no request arguments */
struct ndmp_tape_get_state_reply
{
};
enum ndmp_tape_mtio_op
{
NDMP_MTIO_FSF = 0,
NDMP_MTIO_BSF = 1,
NDMP_MTIO_FSR = 2,
NDMP_MTIO_BSR = 3,
NDMP_MTIO_REW = 4,
NDMP_MTIO_EOF = 5,
NDMP_MTIO_OFF = 6,
};
struct ndmp_tape_mtio_request
{
};
struct ndmp_tape_mtio_reply
{
};
/* NDMP_TAPE_WRITE */
struct ndmp_tape_write_request
{
};
struct ndmp_tape_write_reply
{
};
/* NDMP_TAPE_READ */
struct ndmp_tape_read_request
{
};
struct ndmp_tape_read_reply
{
};
/* NDMP_TAPE_EXECUTE_CDB */
/***********************/
/* TAPE INTERFACE (V3) */
/***********************/
/* NDMP_TAPE_OPEN */
struct ndmp_tape_open_request_v3
{
};
/* reply the same as V2 */
/* NDMP_TAPE_CLOSE - same as V2 */
/* NDMP_TAPE_GET_STATE */
/* no request arguments */
/* invalid bit */
const NDMP_TAPE_STATE_FILE_NUM_INVALID = 0x00000001;
const NDMP_TAPE_STATE_SOFT_ERRORS_INVALID = 0x00000002;
const NDMP_TAPE_STATE_BLOCK_SIZE_INVALID = 0x00000004;
const NDMP_TAPE_STATE_BLOCKNO_INVALID = 0x00000008;
const NDMP_TAPE_STATE_TOTAL_SPACE_INVALID = 0x00000010;
const NDMP_TAPE_STATE_SPACE_REMAIN_INVALID = 0x00000020;
const NDMP_TAPE_STATE_PARTITION_INVALID = 0x00000040;
struct ndmp_tape_get_state_reply_v3
{
};
/* NDMP_TAPE_MTIO - same as V2 */
/* NDMP_TAPE_WRITE - same as V2 */
/* NDMP_TAPE_READ - same as V2 */
/* NDMP_TAPE_EXECUTE_CDB - same as V2 */
/***********************/
/* TAPE INTERFACE (V4) */
/***********************/
/* NDMP_TAPE_OPEN - same as V3 */
/* NDMP_TAPE_CLOSE - same as V3 */
struct ndmp_tape_get_state_reply_v4
{
};
/* NDMP_TAPE_MTIO - same as V3 */
/* NDMP_TAPE_WRITE - same as V3 */
/* NDMP_TAPE_READ - same as V3 */
/* NDMP_TAPE_EXECUTE_CDB - same as V3 */
/************************/
/* MOVER INTERFACE (V2) */
/************************/
enum ndmp_mover_mode
{
NDMP_MOVER_MODE_READ = 0,
};
enum ndmp_mover_state
{
};
{
NDMP_MOVER_PAUSE_NA = 0,
NDMP_MOVER_PAUSE_EOM = 1,
NDMP_MOVER_PAUSE_EOF = 2,
};
{
NDMP_MOVER_HALT_NA = 0,
};
/* NDMP_MOVER_GET_STATE */
/* no request arguments */
struct ndmp_mover_get_state_reply
{
};
/* NDMP_MOVER_LISTEN */
struct ndmp_tcp_addr
{
};
{
case NDMP_ADDR_LOCAL:
void;
case NDMP_ADDR_TCP:
};
struct ndmp_mover_listen_request
{
};
struct ndmp_mover_listen_reply
{
};
/* NDMP_MOVER_SET_RECORD_SIZE */
{
};
{
};
/* NDMP_MOVER_SET_WINDOW */
{
};
struct ndmp_mover_set_window_reply
{
};
/* NDMP_MOVER_CONTINUE */
/* no request arguments */
struct ndmp_mover_continue_reply
{
};
/* NDMP_MOVER_ABORT */
/* no request arguments */
struct ndmp_mover_abort_reply
{
};
/* NDMP_MOVER_STOP */
/* no request arguments */
struct ndmp_mover_stop_reply
{
};
/* NDMP_MOVER_READ */
struct ndmp_mover_read_request
{
};
struct ndmp_mover_read_reply
{
};
/* NDMP_MOVER_CLOSE */
/* no request arguments */
struct ndmp_mover_close_reply
{
};
/************************/
/* MOVER INTERFACE (V3) */
/************************/
/* NDMP_MOVER_STATE - same as V2 */
/* NDMP_MOVER_PAUSE_REASON - same as V2 */
/* NDMP_MOVER_HALT_REASON - same as V2 */
/* NDMP_MOVER_MODE - same as V2 */
struct ndmp_fc_addr_v3
{
};
struct ndmp_ipc_addr_v3
{
};
{
case NDMP_ADDR_LOCAL:
void;
case NDMP_ADDR_TCP:
case NDMP_ADDR_FC:
case NDMP_ADDR_IPC:
};
%
%
%/*
% * Macros to access the port and IP address of TCP addresses.
% */
%#ifndef tcp_ip_v3
%#endif /* tcp_ip_v3 */
%#ifndef tcp_port_v3
%#endif /* tcp_port_v3 */
/* NDMP_MOVER_GET_STATE */
/* no request arguments */
{
};
/* NDMP_MOVER_LISTEN - same as v2 */
struct ndmp_mover_listen_reply_v3
{
};
/* NDMP_MOVER_CONNECT */
{
};
struct ndmp_mover_connect_reply_v3
{
};
/* NDMP_MOVER_SET_RECORD_SIZE - same as V2 */
/* NDMP_MOVER_SET_WINDOW - same as V2 */
/* NDMP_MOVER_CONTINUE - same as V2 */
/* NDMP_MOVER_ABORT - same as V2 */
/* NDMP_MOVER_STOP - same as V2 */
/* NDMP_MOVER_READ - same as V2 */
/* NDMP_MOVER_CLOSE - same as V2 */
/************************/
/* MOVER INTERFACE (V4) */
/************************/
/* NDMP_MOVER_SET_RECORD_SIZE - same as V3 */
/* NDMP_MOVER_SET_WINDOW_SIZE - same as V3 */
%
%
%/*
% * Macros to access the port and IP address of TCP addresses.
% */
%#ifndef tcp_addr_v4
%#endif /* tcp_addr_v4 */
%#ifndef tcp_ip_v4
%#endif /* tcp_ip_v4 */
%#ifndef tcp_port_v4
%#endif /* tcp_port_v4 */
%#ifndef tcp_len_v4
%#endif /* tcp_len_v4 */
%#ifndef tcp_env_v4
%#endif /* tcp_env_v4 */
struct ndmp_tcp_addr_v4
{
};
union ndmp_addr_v4
switch (ndmp_addr_type addr_type)
{
case NDMP_ADDR_LOCAL:
void;
case NDMP_ADDR_TCP:
case NDMP_ADDR_IPC:
};
{
};
struct ndmp_mover_listen_reply_v4
{
};
/* NDMP_MOVER_READ - same as v3 */
{
};
/* NDMP_MOVER_CONTINUE - same as V3 */
/* NDMP_MOVER_CLOSE - same as V3 */
/* NDMP_MOVER_ABORT - same as V3 */
/* NDMP_MOVER_STOP - same as V3 */
/***********************/
/* DATA INTERFACE (V2) */
/***********************/
/* NDMP_DATA_GET_STATE */
/* no request arguments */
enum ndmp_data_operation
{
NDMP_DATA_OP_BACKUP = 1,
NDMP_DATA_OP_RECOVER = 2,
};
enum ndmp_data_state
{
NDMP_DATA_STATE_IDLE = 0,
};
{
NDMP_DATA_HALT_NA = 0,
};
struct ndmp_data_get_state_reply
{
};
/* NDMP_DATA_START_BACKUP */
{
};
struct ndmp_data_start_backup_reply
{
};
/* NDMP_DATA_START_RECOVER */
struct ndmp_name
{
};
{
};
{
};
/* NDMP_DATA_ABORT */
/* no request arguments */
struct ndmp_data_abort_reply
{
};
/* NDMP_DATA_STOP */
/* no request arguments */
struct ndmp_data_stop_reply
{
};
/* NDMP_DATA_GET_ENV */
/* no request arguments */
struct ndmp_data_get_env_reply
{
};
/* no reply arguments */
{
};
/* no reply arguments */
/***********************/
/* DATA INTERFACE (V3) */
/***********************/
/* NDMP_DATA_GET_STATE */
/* no request arguments */
/* ndmp_data_operation the same as V2 */
/* 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_v3
{
};
/* NDMP_DATA_START_BACKUP */
{
};
/* NDMP_DATA_START_RECOVER */
struct ndmp_name_v3
{
};
{
};
/* NDMP_DATA_ABORT - same as V2 */
/* NDMP_DATA_STOP - same as V2 */
/* NDMP_DATA_GET_ENV - same as V2 */
/* NDMP_DATA_LISTEN */
struct ndmp_data_listen_request_v3
{
};
struct ndmp_data_listen_reply_v3
{
};
/* NDMP_DATA_CONNECT */
struct ndmp_data_connect_request_v3
{
};
struct ndmp_data_connect_reply_v3
{
};
/***********************/
/* DATA INTERFACE (V4) */
/***********************/
struct ndmp_data_get_state_reply_v4
{
};
struct ndmp_data_listen_reply_v4
{
};
struct ndmp_data_connect_request_v4
{
};
/* NDMP_DATA_START_BACKUP - same as V3 */
/* NDMP_DATA_START_RECOVER - same as V3 */
/* NDMP_DATA_ABORT - same as V3 */
/* NDMP_DATA_STOP - same as V3 */
/* NDMP_DATA_GET_ENV - same as V3 */
/*************************/
/* NOTIFY INTERFACE (V2) */
/*************************/
/* NDMP_NOTIFY_CONNECTED */
enum ndmp_connect_reason
{
NDMP_CONNECTED, /* Connect successfully */
NDMP_SHUTDOWN, /* Connection shutdown */
NDMP_REFUSED /* reach the maximum number of connections */
};
{
};
/* NDMP_NOTIFY_MOVER_PAUSED */
{
};
/* no reply arguments */
/* NDMP_NOTIFY_MOVER_HALTED */
{
};
/* no reply arguments */
/* NDMP_NOTIFY_DATA_READ */
{
};
/* no reply arguments */
/*************************/
/* NOTIFY INTERFACE (V3) */
/*************************/
/* NDMP_NOTIFY_DATA_HALTED - same as V2 */
/* NDMP_NOTIFY_CONNECTED - same as V2 */
/* NDMP_NOTIFY_MOVER_PAUSED - same as V2 */
/* NDMP_NOTIFY_MOVER_HALTED - same as V2 */
/* NDMP_NOTIFY_DATA_READ - same as V2 */
/*************************/
/* NOTIFY INTERFACE (V4) */
/*************************/
{
};
/* NDMP_NOTIFY_CONNECTION_STATUS - same as V3 */
{
};
/* NDMP_NOTIFY_MOVER_PAUSED - same as V3 */
/* NDMP_NOTIFY_DATA_READ - same as V3 */
/**********************/
/* LOG INTERFACE (V2) */
/**********************/
/* NDMP_LOG_LOG */
struct ndmp_log_log_request
{
};
/* no reply arguments */
/* NDMP_LOG_DEBUG */
enum ndmp_debug_level
{
};
struct ndmp_log_debug_request
{
};
/* no reply arguments */
/* NDMP_LOG_FILE */
struct ndmp_log_file_request
{
};
/* no reply arguments */
/**********************/
/* LOG INTERFACE (V3) */
/**********************/
/* NDMP_LOG_MESSAGE */
enum ndmp_log_type
{
NDMP_LOG_NORMAL = 0,
NDMP_LOG_DEBUG = 1,
NDMP_LOG_ERROR = 2,
NDMP_LOG_WARNING = 3
};
struct ndmp_log_message_request_v3
{
};
/* no reply arguments */
/* NDMP_LOG_FILE */
struct ndmp_log_file_request_v3
{
};
/* no reply arguments */
/**********************/
/* LOG INTERFACE (V4) */
/**********************/
{
};
enum ndmp_recovery_status
{
};
struct ndmp_log_message_request_v4
{
};
struct ndmp_log_file_request_v4
{
};
/*******************************/
/* FILE HISTORY INTERFACE (V2) */
/*******************************/
/* NDMP_FH_ADD_UNIX_PATH */
typedef string ndmp_unix_path<>;
enum ndmp_file_type
{
NDMP_FILE_DIR = 0,
NDMP_FILE_FIFO = 1,
NDMP_FILE_CSPEC = 2,
NDMP_FILE_BSPEC = 3,
NDMP_FILE_REG = 4,
NDMP_FILE_SLINK = 5,
NDMP_FILE_SOCK = 6,
NDMP_FILE_REGISTRY = 7,
NDMP_FILE_OTHER = 8
};
struct ndmp_unix_file_stat
{
};
struct ndmp_fh_unix_path
{
};
{
};
/* no reply arguments */
/* NDMP_FH_ADD_UNIX_DIR */
struct ndmp_fh_unix_dir
{
};
struct ndmp_fh_add_unix_dir_request
{
};
/* no reply arguments */
/* NDMP_FH_ADD_UNIX_NODE */
struct ndmp_fh_unix_node
{
};
{
};
/* no reply arguments */
/********************************/
/* FILE HISTORY INTERFACE (V3) */
/********************************/
/* NDMP_FH_ADD_FILE */
enum ndmp_fs_type
{
NDMP_FS_UNIX = 0,
NDMP_FS_NT = 1,
NDMP_FS_OTHER = 2
};
typedef string ndmp_path_v3<>;
struct ndmp_nt_path_v3
{
};
{
case NDMP_FS_UNIX:
case NDMP_FS_NT:
default:
};
/* 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_v3
{
};
/* one file could have both UNIX and NT name and attributes */
struct ndmp_file_v3
{
};
struct ndmp_fh_add_file_request_v3
{
};
/* no reply arguments */
/* NDMP_FH_ADD_DIR */
struct ndmp_dir_v3
{
};
struct ndmp_fh_add_dir_request_v3
{
ndmp_dir_v3 dirs<>;
};
/* no reply arguments */
/* NDMP_FH_ADD_NODE */
struct ndmp_node_v3
{
};
struct ndmp_fh_add_node_request_v3
{
};
/* no reply arguments */
/********************************/
/* FILE HISTORY INTERFACE (V4) */
/********************************/
/* NDMP_FH_ADD_FILE - same as V3 */
/* NDMP_FH_ADD_DIR - same as V3 */
/* NDMP_FH_ADD_NODE - same as V3 */
/********************************/
/* NDMP requests */
/********************************/
/* CONNECT */
typedef ndmp_auth_text ndmp_auth_text_v2;
typedef ndmp_auth_text_v3 ndmp_auth_text_v4;
typedef ndmp_auth_md5 ndmp_auth_md5_v2;
typedef ndmp_auth_md5_v3 ndmp_auth_md5_v4;
typedef ndmp_auth_data ndmp_auth_data_v2;
typedef ndmp_auth_data_v3 ndmp_auth_data_v4;
/* CONFIG */
typedef ndmp_fs_info_v3 ndmp_fs_info_v4;
typedef ndmp_device_info_v3 ndmp_device_info_v4;
/* SCSI */
/* TAPE */
/* MOVER */
typedef ndmp_fc_addr_v3 ndmp_fc_addr;
typedef ndmp_ipc_addr_v3 ndmp_ipc_addr;
/* DATA */
typedef ndmp_name ndmp_name_v2;
/* NOTIFY */
/* LOG */
/* FILE HISTORY */
typedef ndmp_file_v3 ndmp_file;
typedef ndmp_dir_v3 ndmp_dir;
typedef ndmp_node_v3 ndmp_node;