1*7917SReza.Sabdar@Sun.COM /* 2*7917SReza.Sabdar@Sun.COM * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 3*7917SReza.Sabdar@Sun.COM * Use is subject to license terms. 4*7917SReza.Sabdar@Sun.COM */ 5*7917SReza.Sabdar@Sun.COM 6*7917SReza.Sabdar@Sun.COM /* 7*7917SReza.Sabdar@Sun.COM * BSD 3 Clause License 8*7917SReza.Sabdar@Sun.COM * 9*7917SReza.Sabdar@Sun.COM * Copyright (c) 2007, The Storage Networking Industry Association. 10*7917SReza.Sabdar@Sun.COM * 11*7917SReza.Sabdar@Sun.COM * Redistribution and use in source and binary forms, with or without 12*7917SReza.Sabdar@Sun.COM * modification, are permitted provided that the following conditions 13*7917SReza.Sabdar@Sun.COM * are met: 14*7917SReza.Sabdar@Sun.COM * - Redistributions of source code must retain the above copyright 15*7917SReza.Sabdar@Sun.COM * notice, this list of conditions and the following disclaimer. 16*7917SReza.Sabdar@Sun.COM * 17*7917SReza.Sabdar@Sun.COM * - Redistributions in binary form must reproduce the above copyright 18*7917SReza.Sabdar@Sun.COM * notice, this list of conditions and the following disclaimer in 19*7917SReza.Sabdar@Sun.COM * the documentation and/or other materials provided with the 20*7917SReza.Sabdar@Sun.COM * distribution. 21*7917SReza.Sabdar@Sun.COM * 22*7917SReza.Sabdar@Sun.COM * - Neither the name of The Storage Networking Industry Association (SNIA) 23*7917SReza.Sabdar@Sun.COM * nor the names of its contributors may be used to endorse or promote 24*7917SReza.Sabdar@Sun.COM * products derived from this software without specific prior written 25*7917SReza.Sabdar@Sun.COM * permission. 26*7917SReza.Sabdar@Sun.COM * 27*7917SReza.Sabdar@Sun.COM * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 28*7917SReza.Sabdar@Sun.COM * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 29*7917SReza.Sabdar@Sun.COM * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 30*7917SReza.Sabdar@Sun.COM * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 31*7917SReza.Sabdar@Sun.COM * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 32*7917SReza.Sabdar@Sun.COM * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 33*7917SReza.Sabdar@Sun.COM * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 34*7917SReza.Sabdar@Sun.COM * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 35*7917SReza.Sabdar@Sun.COM * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 36*7917SReza.Sabdar@Sun.COM * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 37*7917SReza.Sabdar@Sun.COM * POSSIBILITY OF SUCH DAMAGE. 38*7917SReza.Sabdar@Sun.COM */ 39*7917SReza.Sabdar@Sun.COM /* Copyright (c) 1996, 1997 PDC, Network Appliance. All Rights Reserved */ 40*7917SReza.Sabdar@Sun.COM 41*7917SReza.Sabdar@Sun.COM #define VER 3 42*7917SReza.Sabdar@Sun.COM 43*7917SReza.Sabdar@Sun.COM const NDMPV2 = 2; 44*7917SReza.Sabdar@Sun.COM const NDMPV3 = 3; 45*7917SReza.Sabdar@Sun.COM const NDMPV4 = 4; 46*7917SReza.Sabdar@Sun.COM const NDMPVER = NDMPV4; 47*7917SReza.Sabdar@Sun.COM const NDMPPORT = 10000; 48*7917SReza.Sabdar@Sun.COM 49*7917SReza.Sabdar@Sun.COM struct ndmp_u_quad 50*7917SReza.Sabdar@Sun.COM { 51*7917SReza.Sabdar@Sun.COM u_long high; 52*7917SReza.Sabdar@Sun.COM u_long low; 53*7917SReza.Sabdar@Sun.COM }; 54*7917SReza.Sabdar@Sun.COM 55*7917SReza.Sabdar@Sun.COM struct ndmp_pval 56*7917SReza.Sabdar@Sun.COM { 57*7917SReza.Sabdar@Sun.COM string name<>; 58*7917SReza.Sabdar@Sun.COM string value<>; 59*7917SReza.Sabdar@Sun.COM }; 60*7917SReza.Sabdar@Sun.COM 61*7917SReza.Sabdar@Sun.COM struct ndmp_scsi_device 62*7917SReza.Sabdar@Sun.COM { 63*7917SReza.Sabdar@Sun.COM string name<>; 64*7917SReza.Sabdar@Sun.COM }; 65*7917SReza.Sabdar@Sun.COM 66*7917SReza.Sabdar@Sun.COM struct ndmp_tape_device 67*7917SReza.Sabdar@Sun.COM { 68*7917SReza.Sabdar@Sun.COM string name<>; 69*7917SReza.Sabdar@Sun.COM }; 70*7917SReza.Sabdar@Sun.COM 71*7917SReza.Sabdar@Sun.COM enum ndmp_error 72*7917SReza.Sabdar@Sun.COM { 73*7917SReza.Sabdar@Sun.COM NDMP_NO_ERR = 0, /* No error */ 74*7917SReza.Sabdar@Sun.COM NDMP_NOT_SUPPORTED_ERR = 1, /* Call is not supported */ 75*7917SReza.Sabdar@Sun.COM NDMP_DEVICE_BUSY_ERR = 2, /* The device is in use */ 76*7917SReza.Sabdar@Sun.COM NDMP_DEVICE_OPENED_ERR = 3, /* Another tape or scsi device is already open */ 77*7917SReza.Sabdar@Sun.COM NDMP_NOT_AUTHORIZED_ERR = 4, /* Connection has not been authorized */ 78*7917SReza.Sabdar@Sun.COM NDMP_PERMISSION_ERR = 5, /* Some sort of permission problem */ 79*7917SReza.Sabdar@Sun.COM NDMP_DEV_NOT_OPEN_ERR = 6, /* SCSI device is not open */ 80*7917SReza.Sabdar@Sun.COM NDMP_IO_ERR = 7, /* I/O error */ 81*7917SReza.Sabdar@Sun.COM NDMP_TIMEOUT_ERR = 8, /* command timed out */ 82*7917SReza.Sabdar@Sun.COM NDMP_ILLEGAL_ARGS_ERR = 9, /* illegal arguments in request */ 83*7917SReza.Sabdar@Sun.COM NDMP_NO_TAPE_LOADED_ERR = 10, /* Cannot open because there is no tape loaded */ 84*7917SReza.Sabdar@Sun.COM NDMP_WRITE_PROTECT_ERR = 11, /* tape cannot be open for write */ 85*7917SReza.Sabdar@Sun.COM NDMP_EOF_ERR = 12, /* Command encountered EOF */ 86*7917SReza.Sabdar@Sun.COM NDMP_EOM_ERR = 13, /* Command encountered EOM */ 87*7917SReza.Sabdar@Sun.COM NDMP_FILE_NOT_FOUND_ERR = 14, /* File not found during restore */ 88*7917SReza.Sabdar@Sun.COM NDMP_BAD_FILE_ERR = 15, /* The file descriptor is invalid */ 89*7917SReza.Sabdar@Sun.COM NDMP_NO_DEVICE_ERR = 16, /* The device is not at that target */ 90*7917SReza.Sabdar@Sun.COM NDMP_NO_BUS_ERR = 17, /* Invalid controller */ 91*7917SReza.Sabdar@Sun.COM NDMP_XDR_DECODE_ERR = 18, /* Can't decode the request argument */ 92*7917SReza.Sabdar@Sun.COM NDMP_ILLEGAL_STATE_ERR = 19, /* Call can't be performed at this state */ 93*7917SReza.Sabdar@Sun.COM NDMP_UNDEFINED_ERR = 20, /* Undefined Error */ 94*7917SReza.Sabdar@Sun.COM NDMP_XDR_ENCODE_ERR = 21, /* Can't encode the reply argument */ 95*7917SReza.Sabdar@Sun.COM NDMP_NO_MEM_ERR = 22, /* No memory */ 96*7917SReza.Sabdar@Sun.COM 97*7917SReza.Sabdar@Sun.COM /* 98*7917SReza.Sabdar@Sun.COM * NDMP V3 99*7917SReza.Sabdar@Sun.COM */ 100*7917SReza.Sabdar@Sun.COM NDMP_CONNECT_ERR = 23, 101*7917SReza.Sabdar@Sun.COM 102*7917SReza.Sabdar@Sun.COM /* 103*7917SReza.Sabdar@Sun.COM * NDMP V4 104*7917SReza.Sabdar@Sun.COM */ 105*7917SReza.Sabdar@Sun.COM NDMP_SEQUENCE_NUM_ERR = 24, 106*7917SReza.Sabdar@Sun.COM NDMP_READ_IN_PROGRESS_ERR = 25, 107*7917SReza.Sabdar@Sun.COM NDMP_PRECONDITION_ERR = 26, 108*7917SReza.Sabdar@Sun.COM NDMP_CLASS_NOT_SUPPORTED_ERR = 27, 109*7917SReza.Sabdar@Sun.COM NDMP_VERSION_NOT_SUPPORTED_ERR = 28, 110*7917SReza.Sabdar@Sun.COM NDMP_EXT_DUPL_CLASSES_ERR = 29, 111*7917SReza.Sabdar@Sun.COM NDMP_EXT_DANDN_ILLEGAL_ERR = 30 112*7917SReza.Sabdar@Sun.COM }; 113*7917SReza.Sabdar@Sun.COM 114*7917SReza.Sabdar@Sun.COM enum ndmp_header_message_type 115*7917SReza.Sabdar@Sun.COM { 116*7917SReza.Sabdar@Sun.COM NDMP_MESSAGE_REQUEST, 117*7917SReza.Sabdar@Sun.COM NDMP_MESSAGE_REPLY 118*7917SReza.Sabdar@Sun.COM }; 119*7917SReza.Sabdar@Sun.COM 120*7917SReza.Sabdar@Sun.COM enum ndmp_message 121*7917SReza.Sabdar@Sun.COM { 122*7917SReza.Sabdar@Sun.COM NDMP_CONNECT_OPEN = 0x900, 123*7917SReza.Sabdar@Sun.COM NDMP_CONNECT_CLIENT_AUTH = 0x901, 124*7917SReza.Sabdar@Sun.COM NDMP_CONNECT_CLOSE = 0x902, 125*7917SReza.Sabdar@Sun.COM NDMP_CONNECT_SERVER_AUTH = 0x903, 126*7917SReza.Sabdar@Sun.COM 127*7917SReza.Sabdar@Sun.COM NDMP_CONFIG_GET_HOST_INFO = 0x100, 128*7917SReza.Sabdar@Sun.COM NDMP_CONFIG_GET_BUTYPE_ATTR = 0x101, /* NDMP V2 */ 129*7917SReza.Sabdar@Sun.COM NDMP_CONFIG_GET_CONNECTION_TYPE = 0x102, 130*7917SReza.Sabdar@Sun.COM NDMP_CONFIG_GET_AUTH_ATTR = 0x103, 131*7917SReza.Sabdar@Sun.COM NDMP_CONFIG_GET_BUTYPE_INFO = 0x104, /* NDMP V3,4 */ 132*7917SReza.Sabdar@Sun.COM NDMP_CONFIG_GET_FS_INFO = 0x105, /* NDMP V3,4 */ 133*7917SReza.Sabdar@Sun.COM NDMP_CONFIG_GET_TAPE_INFO = 0x106, /* NDMP V3,4 */ 134*7917SReza.Sabdar@Sun.COM NDMP_CONFIG_GET_SCSI_INFO = 0x107, /* NDMP V3,4 */ 135*7917SReza.Sabdar@Sun.COM NDMP_CONFIG_GET_SERVER_INFO = 0x108, /* NDMP V3,4 */ 136*7917SReza.Sabdar@Sun.COM NDMP_CONFIG_SET_EXT_LIST = 0x109, /* NDMP V4 */ 137*7917SReza.Sabdar@Sun.COM NDMP_CONFIG_GET_EXT_LIST = 0x10A, /* NDMP V4 */ 138*7917SReza.Sabdar@Sun.COM 139*7917SReza.Sabdar@Sun.COM NDMP_SCSI_OPEN = 0x200, 140*7917SReza.Sabdar@Sun.COM NDMP_SCSI_CLOSE = 0x201, 141*7917SReza.Sabdar@Sun.COM NDMP_SCSI_GET_STATE = 0x202, 142*7917SReza.Sabdar@Sun.COM NDMP_SCSI_SET_TARGET = 0x203, /* NDMP V2,3 */ 143*7917SReza.Sabdar@Sun.COM NDMP_SCSI_RESET_DEVICE = 0x204, 144*7917SReza.Sabdar@Sun.COM NDMP_SCSI_RESET_BUS = 0x205, /* NDMP V2,3 */ 145*7917SReza.Sabdar@Sun.COM NDMP_SCSI_EXECUTE_CDB = 0x206, 146*7917SReza.Sabdar@Sun.COM 147*7917SReza.Sabdar@Sun.COM NDMP_TAPE_OPEN = 0x300, 148*7917SReza.Sabdar@Sun.COM NDMP_TAPE_CLOSE = 0x301, 149*7917SReza.Sabdar@Sun.COM NDMP_TAPE_GET_STATE = 0x302, 150*7917SReza.Sabdar@Sun.COM NDMP_TAPE_MTIO = 0x303, 151*7917SReza.Sabdar@Sun.COM NDMP_TAPE_WRITE = 0x304, 152*7917SReza.Sabdar@Sun.COM NDMP_TAPE_READ = 0x305, 153*7917SReza.Sabdar@Sun.COM NDMP_TAPE_SET_RECORD_SIZE = 0x306, /* NDMP V1 */ 154*7917SReza.Sabdar@Sun.COM NDMP_TAPE_EXECUTE_CDB = 0x307, 155*7917SReza.Sabdar@Sun.COM 156*7917SReza.Sabdar@Sun.COM NDMP_DATA_GET_STATE = 0x400, 157*7917SReza.Sabdar@Sun.COM NDMP_DATA_START_BACKUP = 0x401, 158*7917SReza.Sabdar@Sun.COM NDMP_DATA_START_RECOVER = 0x402, 159*7917SReza.Sabdar@Sun.COM NDMP_DATA_ABORT = 0x403, 160*7917SReza.Sabdar@Sun.COM NDMP_DATA_GET_ENV = 0x404, 161*7917SReza.Sabdar@Sun.COM NDMP_DATA_RESVD1 = 0x405, 162*7917SReza.Sabdar@Sun.COM NDMP_DATA_RESVD2 = 0x406, 163*7917SReza.Sabdar@Sun.COM NDMP_DATA_STOP = 0x407, 164*7917SReza.Sabdar@Sun.COM NDMP_DATA_CONTINUE = 0x408, /* NDMP V1 */ 165*7917SReza.Sabdar@Sun.COM NDMP_DATA_LISTEN = 0x409, 166*7917SReza.Sabdar@Sun.COM NDMP_DATA_CONNECT = 0x40A, 167*7917SReza.Sabdar@Sun.COM NDMP_DATA_START_RECOVER_FILEHIST = 0x40B, /* NDMP V4 */ 168*7917SReza.Sabdar@Sun.COM 169*7917SReza.Sabdar@Sun.COM NDMP_NOTIFY_RESERVED = 0x500, 170*7917SReza.Sabdar@Sun.COM NDMP_NOTIFY_DATA_HALTED = 0x501, 171*7917SReza.Sabdar@Sun.COM NDMP_NOTIFY_CONNECTION_STATUS = 0x502, 172*7917SReza.Sabdar@Sun.COM NDMP_NOTIFY_MOVER_HALTED = 0x503, 173*7917SReza.Sabdar@Sun.COM NDMP_NOTIFY_MOVER_PAUSED = 0x504, 174*7917SReza.Sabdar@Sun.COM NDMP_NOTIFY_DATA_READ = 0x505, 175*7917SReza.Sabdar@Sun.COM 176*7917SReza.Sabdar@Sun.COM _NDMP_LOG_LOG = 0x600, /* NDMP V2 */ 177*7917SReza.Sabdar@Sun.COM _NDMP_LOG_DEBUG = 0x601, /* NDMP V2 */ 178*7917SReza.Sabdar@Sun.COM NDMP_LOG_FILE = 0x602, /* NDMP V3,4 */ 179*7917SReza.Sabdar@Sun.COM NDMP_LOG_MESSAGE = 0x603, /* NDMP V3,4 */ 180*7917SReza.Sabdar@Sun.COM 181*7917SReza.Sabdar@Sun.COM NDMP_FH_ADD_UNIX_PATH = 0x700, /* NDMP V2,3 */ 182*7917SReza.Sabdar@Sun.COM NDMP_FH_ADD_UNIX_DIR = 0x701, /* NDMP V2,3 */ 183*7917SReza.Sabdar@Sun.COM NDMP_FH_ADD_UNIX_NODE = 0x702, /* NDMP V2,3 */ 184*7917SReza.Sabdar@Sun.COM NDMP_FH_ADD_FILE = 0x703, /* NDMP V3,4 */ 185*7917SReza.Sabdar@Sun.COM NDMP_FH_ADD_DIR = 0x704, /* NDMP V3,4 */ 186*7917SReza.Sabdar@Sun.COM NDMP_FH_ADD_NODE = 0x705, /* NDMP V3,4 */ 187*7917SReza.Sabdar@Sun.COM 188*7917SReza.Sabdar@Sun.COM NDMP_MOVER_GET_STATE = 0xA00, 189*7917SReza.Sabdar@Sun.COM NDMP_MOVER_LISTEN = 0xA01, 190*7917SReza.Sabdar@Sun.COM NDMP_MOVER_CONTINUE = 0xA02, 191*7917SReza.Sabdar@Sun.COM NDMP_MOVER_ABORT = 0xA03, 192*7917SReza.Sabdar@Sun.COM NDMP_MOVER_STOP = 0xA04, 193*7917SReza.Sabdar@Sun.COM NDMP_MOVER_SET_WINDOW = 0xA05, 194*7917SReza.Sabdar@Sun.COM NDMP_MOVER_READ = 0xA06, 195*7917SReza.Sabdar@Sun.COM NDMP_MOVER_CLOSE = 0xA07, 196*7917SReza.Sabdar@Sun.COM NDMP_MOVER_SET_RECORD_SIZE = 0xA08, 197*7917SReza.Sabdar@Sun.COM NDMP_MOVER_CONNECT = 0xA09, /* NDMP V3,4 */ 198*7917SReza.Sabdar@Sun.COM 199*7917SReza.Sabdar@Sun.COM NDMP_EXT_STANDARD_BASE = 0x10000, 200*7917SReza.Sabdar@Sun.COM 201*7917SReza.Sabdar@Sun.COM NDMP_EXT_PROPRIETARY_BASE = 0x20000000 202*7917SReza.Sabdar@Sun.COM 203*7917SReza.Sabdar@Sun.COM }; 204*7917SReza.Sabdar@Sun.COM 205*7917SReza.Sabdar@Sun.COM const NDMP_CONNECT_AUTH = NDMP_CONNECT_CLIENT_AUTH; 206*7917SReza.Sabdar@Sun.COM const NDMP_MESSAGE_POST = NDMP_MESSAGE_REQUEST; 207*7917SReza.Sabdar@Sun.COM 208*7917SReza.Sabdar@Sun.COM struct ndmp_header 209*7917SReza.Sabdar@Sun.COM { 210*7917SReza.Sabdar@Sun.COM u_long sequence; /* Monotonically increasing number */ 211*7917SReza.Sabdar@Sun.COM u_long time_stamp; /* Time stamp of message */ 212*7917SReza.Sabdar@Sun.COM ndmp_header_message_type message_type; /* What type of message */ 213*7917SReza.Sabdar@Sun.COM enum ndmp_message message; /* Message number */ 214*7917SReza.Sabdar@Sun.COM u_long reply_sequence; /* Reply is in response to */ 215*7917SReza.Sabdar@Sun.COM ndmp_error error; /* Communications errors */ 216*7917SReza.Sabdar@Sun.COM }; 217*7917SReza.Sabdar@Sun.COM 218*7917SReza.Sabdar@Sun.COM 219*7917SReza.Sabdar@Sun.COM /***************************/ 220*7917SReza.Sabdar@Sun.COM /* CONNECT INTERFACE (V2) */ 221*7917SReza.Sabdar@Sun.COM /***************************/ 222*7917SReza.Sabdar@Sun.COM 223*7917SReza.Sabdar@Sun.COM /* NDMP_CONNECT_OPEN */ 224*7917SReza.Sabdar@Sun.COM struct ndmp_connect_open_request 225*7917SReza.Sabdar@Sun.COM { 226*7917SReza.Sabdar@Sun.COM u_short protocol_version; /* the version of protocol supported */ 227*7917SReza.Sabdar@Sun.COM }; 228*7917SReza.Sabdar@Sun.COM 229*7917SReza.Sabdar@Sun.COM struct ndmp_connect_open_reply 230*7917SReza.Sabdar@Sun.COM { 231*7917SReza.Sabdar@Sun.COM ndmp_error error; 232*7917SReza.Sabdar@Sun.COM }; 233*7917SReza.Sabdar@Sun.COM 234*7917SReza.Sabdar@Sun.COM /* NDMP_CONNECT_CLIENT_AUTH = NDMP_CONNECT_AUTH */ 235*7917SReza.Sabdar@Sun.COM enum ndmp_auth_type 236*7917SReza.Sabdar@Sun.COM { 237*7917SReza.Sabdar@Sun.COM NDMP_AUTH_NONE, /* no password is required */ 238*7917SReza.Sabdar@Sun.COM NDMP_AUTH_TEXT, /* the clear text password */ 239*7917SReza.Sabdar@Sun.COM NDMP_AUTH_MD5 /* md5 */ 240*7917SReza.Sabdar@Sun.COM }; 241*7917SReza.Sabdar@Sun.COM 242*7917SReza.Sabdar@Sun.COM struct ndmp_auth_text 243*7917SReza.Sabdar@Sun.COM { 244*7917SReza.Sabdar@Sun.COM string user<>; 245*7917SReza.Sabdar@Sun.COM string password<>; 246*7917SReza.Sabdar@Sun.COM }; 247*7917SReza.Sabdar@Sun.COM 248*7917SReza.Sabdar@Sun.COM struct ndmp_auth_md5 249*7917SReza.Sabdar@Sun.COM { 250*7917SReza.Sabdar@Sun.COM string user<>; 251*7917SReza.Sabdar@Sun.COM opaque auth_digest[16]; 252*7917SReza.Sabdar@Sun.COM }; 253*7917SReza.Sabdar@Sun.COM 254*7917SReza.Sabdar@Sun.COM union ndmp_auth_data switch (enum ndmp_auth_type auth_type) 255*7917SReza.Sabdar@Sun.COM { 256*7917SReza.Sabdar@Sun.COM case NDMP_AUTH_NONE: 257*7917SReza.Sabdar@Sun.COM void; 258*7917SReza.Sabdar@Sun.COM case NDMP_AUTH_TEXT: 259*7917SReza.Sabdar@Sun.COM struct ndmp_auth_text auth_text; 260*7917SReza.Sabdar@Sun.COM case NDMP_AUTH_MD5: 261*7917SReza.Sabdar@Sun.COM struct ndmp_auth_md5 auth_md5; 262*7917SReza.Sabdar@Sun.COM }; 263*7917SReza.Sabdar@Sun.COM 264*7917SReza.Sabdar@Sun.COM struct ndmp_connect_client_auth_request 265*7917SReza.Sabdar@Sun.COM { 266*7917SReza.Sabdar@Sun.COM ndmp_auth_data auth_data; 267*7917SReza.Sabdar@Sun.COM }; 268*7917SReza.Sabdar@Sun.COM 269*7917SReza.Sabdar@Sun.COM struct ndmp_connect_client_auth_reply 270*7917SReza.Sabdar@Sun.COM { 271*7917SReza.Sabdar@Sun.COM ndmp_error error; 272*7917SReza.Sabdar@Sun.COM }; 273*7917SReza.Sabdar@Sun.COM 274*7917SReza.Sabdar@Sun.COM 275*7917SReza.Sabdar@Sun.COM /* NDMP_CONNECT_CLOSE */ 276*7917SReza.Sabdar@Sun.COM /* no request arguments */ 277*7917SReza.Sabdar@Sun.COM /* no reply arguments */ 278*7917SReza.Sabdar@Sun.COM 279*7917SReza.Sabdar@Sun.COM /* NDMP_CONNECT_SERVER_AUTH */ 280*7917SReza.Sabdar@Sun.COM union ndmp_auth_attr switch (enum ndmp_auth_type auth_type) 281*7917SReza.Sabdar@Sun.COM { 282*7917SReza.Sabdar@Sun.COM case NDMP_AUTH_NONE: 283*7917SReza.Sabdar@Sun.COM void; 284*7917SReza.Sabdar@Sun.COM case NDMP_AUTH_TEXT: 285*7917SReza.Sabdar@Sun.COM void; 286*7917SReza.Sabdar@Sun.COM case NDMP_AUTH_MD5: 287*7917SReza.Sabdar@Sun.COM opaque challenge[64]; 288*7917SReza.Sabdar@Sun.COM }; 289*7917SReza.Sabdar@Sun.COM 290*7917SReza.Sabdar@Sun.COM struct ndmp_connect_server_auth_request 291*7917SReza.Sabdar@Sun.COM { 292*7917SReza.Sabdar@Sun.COM ndmp_auth_attr client_attr; 293*7917SReza.Sabdar@Sun.COM }; 294*7917SReza.Sabdar@Sun.COM 295*7917SReza.Sabdar@Sun.COM struct ndmp_connect_server_auth_reply 296*7917SReza.Sabdar@Sun.COM { 297*7917SReza.Sabdar@Sun.COM ndmp_error error; 298*7917SReza.Sabdar@Sun.COM ndmp_auth_data auth_result; 299*7917SReza.Sabdar@Sun.COM }; 300*7917SReza.Sabdar@Sun.COM 301*7917SReza.Sabdar@Sun.COM 302*7917SReza.Sabdar@Sun.COM /***************************/ 303*7917SReza.Sabdar@Sun.COM /* CONNECT INTERFACE (V3) */ 304*7917SReza.Sabdar@Sun.COM /***************************/ 305*7917SReza.Sabdar@Sun.COM 306*7917SReza.Sabdar@Sun.COM /* NDMP_CONNECT_OPEN - same as V2 */ 307*7917SReza.Sabdar@Sun.COM 308*7917SReza.Sabdar@Sun.COM struct ndmp_auth_text_v3 309*7917SReza.Sabdar@Sun.COM { 310*7917SReza.Sabdar@Sun.COM string auth_id<>; 311*7917SReza.Sabdar@Sun.COM string auth_password<>; 312*7917SReza.Sabdar@Sun.COM 313*7917SReza.Sabdar@Sun.COM }; 314*7917SReza.Sabdar@Sun.COM 315*7917SReza.Sabdar@Sun.COM struct ndmp_auth_md5_v3 316*7917SReza.Sabdar@Sun.COM { 317*7917SReza.Sabdar@Sun.COM string auth_id<>; 318*7917SReza.Sabdar@Sun.COM opaque auth_digest[16]; 319*7917SReza.Sabdar@Sun.COM }; 320*7917SReza.Sabdar@Sun.COM 321*7917SReza.Sabdar@Sun.COM union ndmp_auth_data_v3 switch (enum ndmp_auth_type auth_type) 322*7917SReza.Sabdar@Sun.COM { 323*7917SReza.Sabdar@Sun.COM case NDMP_AUTH_NONE: 324*7917SReza.Sabdar@Sun.COM void; 325*7917SReza.Sabdar@Sun.COM case NDMP_AUTH_TEXT: 326*7917SReza.Sabdar@Sun.COM struct ndmp_auth_text_v3 auth_text; 327*7917SReza.Sabdar@Sun.COM case NDMP_AUTH_MD5: 328*7917SReza.Sabdar@Sun.COM struct ndmp_auth_md5_v3 auth_md5; 329*7917SReza.Sabdar@Sun.COM }; 330*7917SReza.Sabdar@Sun.COM 331*7917SReza.Sabdar@Sun.COM struct ndmp_connect_client_auth_request_v3 332*7917SReza.Sabdar@Sun.COM { 333*7917SReza.Sabdar@Sun.COM ndmp_auth_data_v3 auth_data; 334*7917SReza.Sabdar@Sun.COM }; 335*7917SReza.Sabdar@Sun.COM 336*7917SReza.Sabdar@Sun.COM struct ndmp_connect_client_auth_reply_v3 337*7917SReza.Sabdar@Sun.COM { 338*7917SReza.Sabdar@Sun.COM ndmp_error error; 339*7917SReza.Sabdar@Sun.COM }; 340*7917SReza.Sabdar@Sun.COM 341*7917SReza.Sabdar@Sun.COM /* NDMP_CONNECT_CLOSE - same as V2 */ 342*7917SReza.Sabdar@Sun.COM 343*7917SReza.Sabdar@Sun.COM /* NDMP_CONNECT_SERVER_AUTH - same as V2 */ 344*7917SReza.Sabdar@Sun.COM 345*7917SReza.Sabdar@Sun.COM 346*7917SReza.Sabdar@Sun.COM /***************************/ 347*7917SReza.Sabdar@Sun.COM /* CONNECT INTERFACE (V4) */ 348*7917SReza.Sabdar@Sun.COM /***************************/ 349*7917SReza.Sabdar@Sun.COM 350*7917SReza.Sabdar@Sun.COM /* NDMP_CONNECT_OPEN - same as V3 */ 351*7917SReza.Sabdar@Sun.COM 352*7917SReza.Sabdar@Sun.COM /* NDMP_CONNECT_CLIENT_AUTH - same as V3 */ 353*7917SReza.Sabdar@Sun.COM 354*7917SReza.Sabdar@Sun.COM /* NDMP_CONNECT_CLOSE - same as V3 */ 355*7917SReza.Sabdar@Sun.COM 356*7917SReza.Sabdar@Sun.COM /* NDMP_CONNECT_SERVER_AUTH - same as V3 */ 357*7917SReza.Sabdar@Sun.COM 358*7917SReza.Sabdar@Sun.COM 359*7917SReza.Sabdar@Sun.COM /*************************/ 360*7917SReza.Sabdar@Sun.COM /* CONFIG INTERFACE (V2) */ 361*7917SReza.Sabdar@Sun.COM /*************************/ 362*7917SReza.Sabdar@Sun.COM 363*7917SReza.Sabdar@Sun.COM /* NDMP_CONFIG_GET_HOST_INFO */ 364*7917SReza.Sabdar@Sun.COM /* no request arguments */ 365*7917SReza.Sabdar@Sun.COM 366*7917SReza.Sabdar@Sun.COM struct ndmp_config_get_host_info_reply 367*7917SReza.Sabdar@Sun.COM { 368*7917SReza.Sabdar@Sun.COM ndmp_error error; 369*7917SReza.Sabdar@Sun.COM string hostname<>; /* host name */ 370*7917SReza.Sabdar@Sun.COM string os_type<>; /* The operating system type (i.e. SOLARIS) */ 371*7917SReza.Sabdar@Sun.COM string os_vers<>; /* The version number of the OS (i.e. 2.5) */ 372*7917SReza.Sabdar@Sun.COM string hostid<>; 373*7917SReza.Sabdar@Sun.COM ndmp_auth_type auth_type<>; 374*7917SReza.Sabdar@Sun.COM }; 375*7917SReza.Sabdar@Sun.COM 376*7917SReza.Sabdar@Sun.COM /* NDMP_CONFIG_GET_BUTYPE_ATTR */ 377*7917SReza.Sabdar@Sun.COM const NDMP_NO_BACKUP_FILELIST = 0x0001; 378*7917SReza.Sabdar@Sun.COM const NDMP_NO_BACKUP_FHINFO = 0x0002; 379*7917SReza.Sabdar@Sun.COM const NDMP_NO_RECOVER_FILELIST = 0x0004; 380*7917SReza.Sabdar@Sun.COM const NDMP_NO_RECOVER_FHINFO = 0x0008; 381*7917SReza.Sabdar@Sun.COM const NDMP_NO_RECOVER_SSID = 0x0010; 382*7917SReza.Sabdar@Sun.COM const NDMP_NO_RECOVER_INC_ONLY = 0x0020; 383*7917SReza.Sabdar@Sun.COM 384*7917SReza.Sabdar@Sun.COM struct ndmp_config_get_butype_attr_request 385*7917SReza.Sabdar@Sun.COM { 386*7917SReza.Sabdar@Sun.COM string name<>; /* backup type name */ 387*7917SReza.Sabdar@Sun.COM }; 388*7917SReza.Sabdar@Sun.COM 389*7917SReza.Sabdar@Sun.COM struct ndmp_config_get_butype_attr_reply 390*7917SReza.Sabdar@Sun.COM { 391*7917SReza.Sabdar@Sun.COM ndmp_error error; 392*7917SReza.Sabdar@Sun.COM u_long attrs; 393*7917SReza.Sabdar@Sun.COM }; 394*7917SReza.Sabdar@Sun.COM 395*7917SReza.Sabdar@Sun.COM /* NDMP_CONFIG_GET_MOVER_TYPE */ 396*7917SReza.Sabdar@Sun.COM /* no request arguments */ 397*7917SReza.Sabdar@Sun.COM 398*7917SReza.Sabdar@Sun.COM enum ndmp_addr_type 399*7917SReza.Sabdar@Sun.COM { 400*7917SReza.Sabdar@Sun.COM NDMP_ADDR_LOCAL = 0, 401*7917SReza.Sabdar@Sun.COM NDMP_ADDR_TCP = 1, 402*7917SReza.Sabdar@Sun.COM NDMP_ADDR_FC = 2, /* NDMP V2,3 */ 403*7917SReza.Sabdar@Sun.COM NDMP_ADDR_IPC = 3 404*7917SReza.Sabdar@Sun.COM }; 405*7917SReza.Sabdar@Sun.COM 406*7917SReza.Sabdar@Sun.COM struct ndmp_config_get_mover_type_reply 407*7917SReza.Sabdar@Sun.COM { 408*7917SReza.Sabdar@Sun.COM ndmp_error error; 409*7917SReza.Sabdar@Sun.COM ndmp_addr_type methods<>; 410*7917SReza.Sabdar@Sun.COM }; 411*7917SReza.Sabdar@Sun.COM 412*7917SReza.Sabdar@Sun.COM /* NDMP_CONFIG_GET_AUTH_ATTR */ 413*7917SReza.Sabdar@Sun.COM struct ndmp_config_get_auth_attr_request 414*7917SReza.Sabdar@Sun.COM { 415*7917SReza.Sabdar@Sun.COM ndmp_auth_type auth_type; 416*7917SReza.Sabdar@Sun.COM }; 417*7917SReza.Sabdar@Sun.COM 418*7917SReza.Sabdar@Sun.COM struct ndmp_config_get_auth_attr_reply 419*7917SReza.Sabdar@Sun.COM { 420*7917SReza.Sabdar@Sun.COM ndmp_error error; 421*7917SReza.Sabdar@Sun.COM ndmp_auth_attr server_attr; 422*7917SReza.Sabdar@Sun.COM }; 423*7917SReza.Sabdar@Sun.COM 424*7917SReza.Sabdar@Sun.COM 425*7917SReza.Sabdar@Sun.COM /*************************/ 426*7917SReza.Sabdar@Sun.COM /* CONFIG INTERFACE (V3) */ 427*7917SReza.Sabdar@Sun.COM /*************************/ 428*7917SReza.Sabdar@Sun.COM 429*7917SReza.Sabdar@Sun.COM /* NDMP_CONFIG_GET_HOST_INFO */ 430*7917SReza.Sabdar@Sun.COM /* no request arguments */ 431*7917SReza.Sabdar@Sun.COM 432*7917SReza.Sabdar@Sun.COM struct ndmp_config_get_host_info_reply_v3 433*7917SReza.Sabdar@Sun.COM { 434*7917SReza.Sabdar@Sun.COM ndmp_error error; 435*7917SReza.Sabdar@Sun.COM string hostname<>; /* host name */ 436*7917SReza.Sabdar@Sun.COM string os_type<>; /* The operating system type (i.e. SOLARIS) */ 437*7917SReza.Sabdar@Sun.COM string os_vers<>; /* The version number of the OS (i.e. 2.5) */ 438*7917SReza.Sabdar@Sun.COM string hostid<>; 439*7917SReza.Sabdar@Sun.COM }; 440*7917SReza.Sabdar@Sun.COM 441*7917SReza.Sabdar@Sun.COM /* NDMP_CONFIG_GET_CONNECTION_TYPE */ 442*7917SReza.Sabdar@Sun.COM /* no request arguments */ 443*7917SReza.Sabdar@Sun.COM 444*7917SReza.Sabdar@Sun.COM struct ndmp_config_get_connection_type_reply_v3 445*7917SReza.Sabdar@Sun.COM { 446*7917SReza.Sabdar@Sun.COM ndmp_error error; 447*7917SReza.Sabdar@Sun.COM ndmp_addr_type addr_types<>; 448*7917SReza.Sabdar@Sun.COM }; 449*7917SReza.Sabdar@Sun.COM 450*7917SReza.Sabdar@Sun.COM /* NDMP_CONFIG_GET_AUTH_ATTR - same as V2 */ 451*7917SReza.Sabdar@Sun.COM 452*7917SReza.Sabdar@Sun.COM /* NDMP_CONFIG_GET_SERVER_INFO */ 453*7917SReza.Sabdar@Sun.COM /* no requset arguments */ 454*7917SReza.Sabdar@Sun.COM 455*7917SReza.Sabdar@Sun.COM struct ndmp_config_get_server_info_reply_v3 456*7917SReza.Sabdar@Sun.COM { 457*7917SReza.Sabdar@Sun.COM ndmp_error error; 458*7917SReza.Sabdar@Sun.COM string vendor_name<>; 459*7917SReza.Sabdar@Sun.COM string product_name<>; 460*7917SReza.Sabdar@Sun.COM string revision_number<>; 461*7917SReza.Sabdar@Sun.COM ndmp_auth_type auth_type<>; 462*7917SReza.Sabdar@Sun.COM }; 463*7917SReza.Sabdar@Sun.COM 464*7917SReza.Sabdar@Sun.COM /* Backup type attributes */ 465*7917SReza.Sabdar@Sun.COM const NDMP_BUTYPE_BACKUP_FILE_HISTORY = 0x0001; /* NDMP V2,3 */ 466*7917SReza.Sabdar@Sun.COM const NDMP_BUTYPE_BACKUP_FILELIST = 0x0002; 467*7917SReza.Sabdar@Sun.COM const NDMP_BUTYPE_RECOVER_FILELIST = 0x0004; 468*7917SReza.Sabdar@Sun.COM const NDMP_BUTYPE_BACKUP_DIRECT = 0x0008; 469*7917SReza.Sabdar@Sun.COM const NDMP_BUTYPE_RECOVER_DIRECT = 0x0010; 470*7917SReza.Sabdar@Sun.COM const NDMP_BUTYPE_BACKUP_INCREMENTAL = 0x0020; 471*7917SReza.Sabdar@Sun.COM const NDMP_BUTYPE_RECOVER_INCREMENTAL = 0x0040; 472*7917SReza.Sabdar@Sun.COM const NDMP_BUTYPE_BACKUP_UTF8 = 0x0080; 473*7917SReza.Sabdar@Sun.COM const NDMP_BUTYPE_RECOVER_UTF8 = 0x0100; 474*7917SReza.Sabdar@Sun.COM const NDMP_BUTYPE_BACKUP_FH_FILE = 0x0200; /* NDMP V4 */ 475*7917SReza.Sabdar@Sun.COM const NDMP_BUTYPE_BACKUP_FH_DIR = 0x0400; /* NDMP V4 */ 476*7917SReza.Sabdar@Sun.COM const NDMP_BUTYPE_RECOVER_FILEHIST = 0x0800; /* NDMP V4 */ 477*7917SReza.Sabdar@Sun.COM const NDMP_BUTYPE_RECOVER_FH_FILE = 0x1000; /* NDMP V4 */ 478*7917SReza.Sabdar@Sun.COM const NDMP_BUTYPE_RECOVER_FH_DIR = 0x2000; /* NDMP V4 */ 479*7917SReza.Sabdar@Sun.COM 480*7917SReza.Sabdar@Sun.COM 481*7917SReza.Sabdar@Sun.COM struct ndmp_butype_info 482*7917SReza.Sabdar@Sun.COM { 483*7917SReza.Sabdar@Sun.COM string butype_name<>; 484*7917SReza.Sabdar@Sun.COM ndmp_pval default_env<>; 485*7917SReza.Sabdar@Sun.COM u_long attrs; 486*7917SReza.Sabdar@Sun.COM }; 487*7917SReza.Sabdar@Sun.COM 488*7917SReza.Sabdar@Sun.COM /* NDMP_CONFIG_GET_BUTYPE_INFO */ 489*7917SReza.Sabdar@Sun.COM /* no request arguments */ 490*7917SReza.Sabdar@Sun.COM 491*7917SReza.Sabdar@Sun.COM struct ndmp_config_get_butype_info_reply_v3 492*7917SReza.Sabdar@Sun.COM { 493*7917SReza.Sabdar@Sun.COM ndmp_error error; 494*7917SReza.Sabdar@Sun.COM ndmp_butype_info butype_info<>; 495*7917SReza.Sabdar@Sun.COM }; 496*7917SReza.Sabdar@Sun.COM 497*7917SReza.Sabdar@Sun.COM /* invalid bit */ 498*7917SReza.Sabdar@Sun.COM const NDMP_FS_INFO_TOTAL_SIZE_INVALID = 0x00000001; 499*7917SReza.Sabdar@Sun.COM const NDMP_FS_INFO_USED_SIZE_INVALID = 0x00000002; 500*7917SReza.Sabdar@Sun.COM const NDMP_FS_INFO_AVAIL_SIZE_INVALID = 0x00000004; 501*7917SReza.Sabdar@Sun.COM const NDMP_FS_INFO_TOTAL_INODES_INVALID = 0x00000008; 502*7917SReza.Sabdar@Sun.COM const NDMP_FS_INFO_USED_INODES_INVALID = 0x00000010; 503*7917SReza.Sabdar@Sun.COM 504*7917SReza.Sabdar@Sun.COM struct ndmp_fs_info_v3 505*7917SReza.Sabdar@Sun.COM { 506*7917SReza.Sabdar@Sun.COM u_long invalid; 507*7917SReza.Sabdar@Sun.COM string fs_type<>; 508*7917SReza.Sabdar@Sun.COM string fs_logical_device<>; 509*7917SReza.Sabdar@Sun.COM string fs_physical_device<>; 510*7917SReza.Sabdar@Sun.COM ndmp_u_quad total_size; 511*7917SReza.Sabdar@Sun.COM ndmp_u_quad used_size; 512*7917SReza.Sabdar@Sun.COM ndmp_u_quad avail_size; 513*7917SReza.Sabdar@Sun.COM ndmp_u_quad total_inodes; 514*7917SReza.Sabdar@Sun.COM ndmp_u_quad used_inodes; 515*7917SReza.Sabdar@Sun.COM ndmp_pval fs_env<>; 516*7917SReza.Sabdar@Sun.COM string fs_status<>; 517*7917SReza.Sabdar@Sun.COM }; 518*7917SReza.Sabdar@Sun.COM 519*7917SReza.Sabdar@Sun.COM /* NDMP_CONFIG_GET_FS_INFO */ 520*7917SReza.Sabdar@Sun.COM /* no request arguments */ 521*7917SReza.Sabdar@Sun.COM 522*7917SReza.Sabdar@Sun.COM struct ndmp_config_get_fs_info_reply_v3 523*7917SReza.Sabdar@Sun.COM { 524*7917SReza.Sabdar@Sun.COM ndmp_error error; 525*7917SReza.Sabdar@Sun.COM ndmp_fs_info_v3 fs_info<>; 526*7917SReza.Sabdar@Sun.COM }; 527*7917SReza.Sabdar@Sun.COM 528*7917SReza.Sabdar@Sun.COM /* NDMP_CONFIG_GET_TAPE_INFO */ 529*7917SReza.Sabdar@Sun.COM /* no request arguments */ 530*7917SReza.Sabdar@Sun.COM 531*7917SReza.Sabdar@Sun.COM /* tape attributes */ 532*7917SReza.Sabdar@Sun.COM const NDMP_TAPE_ATTR_REWIND = 0x00000001; 533*7917SReza.Sabdar@Sun.COM const NDMP_TAPE_ATTR_UNLOAD = 0x00000002; 534*7917SReza.Sabdar@Sun.COM const NDMP_TAPE_ATTR_RAW = 0x00000004; 535*7917SReza.Sabdar@Sun.COM 536*7917SReza.Sabdar@Sun.COM 537*7917SReza.Sabdar@Sun.COM struct ndmp_device_capability_v3 538*7917SReza.Sabdar@Sun.COM { 539*7917SReza.Sabdar@Sun.COM string device<>; 540*7917SReza.Sabdar@Sun.COM u_long attr; 541*7917SReza.Sabdar@Sun.COM ndmp_pval capability<>; 542*7917SReza.Sabdar@Sun.COM }; 543*7917SReza.Sabdar@Sun.COM 544*7917SReza.Sabdar@Sun.COM struct ndmp_device_info_v3 545*7917SReza.Sabdar@Sun.COM { 546*7917SReza.Sabdar@Sun.COM string model<>; 547*7917SReza.Sabdar@Sun.COM ndmp_device_capability_v3 caplist<>; 548*7917SReza.Sabdar@Sun.COM 549*7917SReza.Sabdar@Sun.COM }; 550*7917SReza.Sabdar@Sun.COM struct ndmp_config_get_tape_info_reply_v3 551*7917SReza.Sabdar@Sun.COM { 552*7917SReza.Sabdar@Sun.COM ndmp_error error; 553*7917SReza.Sabdar@Sun.COM ndmp_device_info_v3 tape_info<>; 554*7917SReza.Sabdar@Sun.COM 555*7917SReza.Sabdar@Sun.COM }; 556*7917SReza.Sabdar@Sun.COM 557*7917SReza.Sabdar@Sun.COM /* NDMP_CONFIG_GET_SCSI_INFO */ 558*7917SReza.Sabdar@Sun.COM 559*7917SReza.Sabdar@Sun.COM /* jukebox attributes */ 560*7917SReza.Sabdar@Sun.COM struct ndmp_config_get_scsi_info_reply_v3 561*7917SReza.Sabdar@Sun.COM { 562*7917SReza.Sabdar@Sun.COM ndmp_error error; 563*7917SReza.Sabdar@Sun.COM ndmp_device_info_v3 scsi_info<>; 564*7917SReza.Sabdar@Sun.COM }; 565*7917SReza.Sabdar@Sun.COM 566*7917SReza.Sabdar@Sun.COM 567*7917SReza.Sabdar@Sun.COM /*************************/ 568*7917SReza.Sabdar@Sun.COM /* CONFIG INTERFACE (V4) */ 569*7917SReza.Sabdar@Sun.COM /*************************/ 570*7917SReza.Sabdar@Sun.COM 571*7917SReza.Sabdar@Sun.COM /* NDMP_CONFIG_GET_HOST_INFO - same as V3 */ 572*7917SReza.Sabdar@Sun.COM 573*7917SReza.Sabdar@Sun.COM /* NDMP_CONFIG_GET_SERVER_INFO - same as V3 */ 574*7917SReza.Sabdar@Sun.COM 575*7917SReza.Sabdar@Sun.COM /* NDMP_CONFIG_GET_CONNECTION_TYPE - same as V3 */ 576*7917SReza.Sabdar@Sun.COM 577*7917SReza.Sabdar@Sun.COM /* NDMP_CONFIG_GET_AUTH_ATTR - same as V3 */ 578*7917SReza.Sabdar@Sun.COM 579*7917SReza.Sabdar@Sun.COM 580*7917SReza.Sabdar@Sun.COM struct ndmp_config_get_butype_info_reply_v4 581*7917SReza.Sabdar@Sun.COM { 582*7917SReza.Sabdar@Sun.COM ndmp_error error; 583*7917SReza.Sabdar@Sun.COM ndmp_butype_info butype_info<>; 584*7917SReza.Sabdar@Sun.COM }; 585*7917SReza.Sabdar@Sun.COM 586*7917SReza.Sabdar@Sun.COM 587*7917SReza.Sabdar@Sun.COM /* NDMP_CONFIG_GET_FS_INFO - same as V3 */ 588*7917SReza.Sabdar@Sun.COM 589*7917SReza.Sabdar@Sun.COM struct ndmp_class_list 590*7917SReza.Sabdar@Sun.COM { 591*7917SReza.Sabdar@Sun.COM u_short ext_class_id; 592*7917SReza.Sabdar@Sun.COM u_short ext_version<>; 593*7917SReza.Sabdar@Sun.COM }; 594*7917SReza.Sabdar@Sun.COM 595*7917SReza.Sabdar@Sun.COM struct ndmp_class_version 596*7917SReza.Sabdar@Sun.COM { 597*7917SReza.Sabdar@Sun.COM u_short ext_class_id; 598*7917SReza.Sabdar@Sun.COM u_short ext_version; 599*7917SReza.Sabdar@Sun.COM }; 600*7917SReza.Sabdar@Sun.COM 601*7917SReza.Sabdar@Sun.COM struct ndmp_config_get_ext_list_reply 602*7917SReza.Sabdar@Sun.COM { 603*7917SReza.Sabdar@Sun.COM ndmp_error error; 604*7917SReza.Sabdar@Sun.COM ndmp_class_list class_list<>; 605*7917SReza.Sabdar@Sun.COM }; 606*7917SReza.Sabdar@Sun.COM 607*7917SReza.Sabdar@Sun.COM struct ndmp_config_set_ext_list_request 608*7917SReza.Sabdar@Sun.COM { 609*7917SReza.Sabdar@Sun.COM ndmp_class_version ndmp_selected_ext<>; 610*7917SReza.Sabdar@Sun.COM }; 611*7917SReza.Sabdar@Sun.COM 612*7917SReza.Sabdar@Sun.COM struct ndmp_config_set_ext_list_reply 613*7917SReza.Sabdar@Sun.COM { 614*7917SReza.Sabdar@Sun.COM ndmp_error error; 615*7917SReza.Sabdar@Sun.COM }; 616*7917SReza.Sabdar@Sun.COM 617*7917SReza.Sabdar@Sun.COM 618*7917SReza.Sabdar@Sun.COM /***********************/ 619*7917SReza.Sabdar@Sun.COM /* SCSI INTERFACE (V2) */ 620*7917SReza.Sabdar@Sun.COM /***********************/ 621*7917SReza.Sabdar@Sun.COM 622*7917SReza.Sabdar@Sun.COM /* NDMP_SCSI_OPEN */ 623*7917SReza.Sabdar@Sun.COM struct ndmp_scsi_open_request 624*7917SReza.Sabdar@Sun.COM { 625*7917SReza.Sabdar@Sun.COM ndmp_scsi_device device; 626*7917SReza.Sabdar@Sun.COM }; 627*7917SReza.Sabdar@Sun.COM 628*7917SReza.Sabdar@Sun.COM struct ndmp_scsi_open_reply 629*7917SReza.Sabdar@Sun.COM { 630*7917SReza.Sabdar@Sun.COM ndmp_error error; 631*7917SReza.Sabdar@Sun.COM }; 632*7917SReza.Sabdar@Sun.COM 633*7917SReza.Sabdar@Sun.COM /* NDMP_SCSI_CLOSE */ 634*7917SReza.Sabdar@Sun.COM /* no request arguments */ 635*7917SReza.Sabdar@Sun.COM 636*7917SReza.Sabdar@Sun.COM struct ndmp_scsi_close_reply 637*7917SReza.Sabdar@Sun.COM { 638*7917SReza.Sabdar@Sun.COM ndmp_error error; 639*7917SReza.Sabdar@Sun.COM }; 640*7917SReza.Sabdar@Sun.COM 641*7917SReza.Sabdar@Sun.COM /* NDMP_SCSI_GET_STATE */ 642*7917SReza.Sabdar@Sun.COM /* no request arguments */ 643*7917SReza.Sabdar@Sun.COM 644*7917SReza.Sabdar@Sun.COM struct ndmp_scsi_get_state_reply 645*7917SReza.Sabdar@Sun.COM { 646*7917SReza.Sabdar@Sun.COM ndmp_error error; 647*7917SReza.Sabdar@Sun.COM short target_controller; 648*7917SReza.Sabdar@Sun.COM short target_id; 649*7917SReza.Sabdar@Sun.COM short target_lun; 650*7917SReza.Sabdar@Sun.COM }; 651*7917SReza.Sabdar@Sun.COM 652*7917SReza.Sabdar@Sun.COM /* NDMP_SCSI_SET_TARGET */ 653*7917SReza.Sabdar@Sun.COM struct ndmp_scsi_set_target_request 654*7917SReza.Sabdar@Sun.COM { 655*7917SReza.Sabdar@Sun.COM ndmp_scsi_device device; 656*7917SReza.Sabdar@Sun.COM u_short target_controller; 657*7917SReza.Sabdar@Sun.COM u_short target_id; 658*7917SReza.Sabdar@Sun.COM u_short target_lun; 659*7917SReza.Sabdar@Sun.COM }; 660*7917SReza.Sabdar@Sun.COM 661*7917SReza.Sabdar@Sun.COM struct ndmp_scsi_set_target_reply 662*7917SReza.Sabdar@Sun.COM { 663*7917SReza.Sabdar@Sun.COM ndmp_error error; 664*7917SReza.Sabdar@Sun.COM }; 665*7917SReza.Sabdar@Sun.COM 666*7917SReza.Sabdar@Sun.COM /* NDMP_SCSI_RESET_DEVICE */ 667*7917SReza.Sabdar@Sun.COM /* no request arguments */ 668*7917SReza.Sabdar@Sun.COM 669*7917SReza.Sabdar@Sun.COM struct ndmp_scsi_reset_device_reply 670*7917SReza.Sabdar@Sun.COM { 671*7917SReza.Sabdar@Sun.COM ndmp_error error; 672*7917SReza.Sabdar@Sun.COM }; 673*7917SReza.Sabdar@Sun.COM 674*7917SReza.Sabdar@Sun.COM /* NDMP_SCSI_RESET_BUS */ 675*7917SReza.Sabdar@Sun.COM /* no request arguments */ 676*7917SReza.Sabdar@Sun.COM 677*7917SReza.Sabdar@Sun.COM struct ndmp_scsi_reset_bus_reply 678*7917SReza.Sabdar@Sun.COM { 679*7917SReza.Sabdar@Sun.COM ndmp_error error; 680*7917SReza.Sabdar@Sun.COM }; 681*7917SReza.Sabdar@Sun.COM 682*7917SReza.Sabdar@Sun.COM /* NDMP_SCSI_EXECUTE_CDB */ 683*7917SReza.Sabdar@Sun.COM const NDMP_SCSI_DATA_IN = 0x00000001; /* Expect data from SCSI device */ 684*7917SReza.Sabdar@Sun.COM const NDMP_SCSI_DATA_OUT = 0x00000002; /* Transfer data to SCSI device */ 685*7917SReza.Sabdar@Sun.COM 686*7917SReza.Sabdar@Sun.COM struct ndmp_execute_cdb_request 687*7917SReza.Sabdar@Sun.COM { 688*7917SReza.Sabdar@Sun.COM u_long flags; 689*7917SReza.Sabdar@Sun.COM u_long timeout; 690*7917SReza.Sabdar@Sun.COM u_long datain_len; /* Set for expected datain */ 691*7917SReza.Sabdar@Sun.COM opaque cdb<>; 692*7917SReza.Sabdar@Sun.COM opaque dataout<>; 693*7917SReza.Sabdar@Sun.COM }; 694*7917SReza.Sabdar@Sun.COM 695*7917SReza.Sabdar@Sun.COM struct ndmp_execute_cdb_reply 696*7917SReza.Sabdar@Sun.COM { 697*7917SReza.Sabdar@Sun.COM ndmp_error error; 698*7917SReza.Sabdar@Sun.COM u_char status; /* SCSI status bytes */ 699*7917SReza.Sabdar@Sun.COM u_long dataout_len; 700*7917SReza.Sabdar@Sun.COM opaque datain<>; /* SCSI datain */ 701*7917SReza.Sabdar@Sun.COM opaque ext_sense<>; /* Extended sense data */ 702*7917SReza.Sabdar@Sun.COM }; 703*7917SReza.Sabdar@Sun.COM 704*7917SReza.Sabdar@Sun.COM 705*7917SReza.Sabdar@Sun.COM /***********************/ 706*7917SReza.Sabdar@Sun.COM /* SCSI INTERFACE (V3) */ 707*7917SReza.Sabdar@Sun.COM /***********************/ 708*7917SReza.Sabdar@Sun.COM 709*7917SReza.Sabdar@Sun.COM /* NDMP_SCSI_OPEN */ 710*7917SReza.Sabdar@Sun.COM struct ndmp_scsi_open_request_v3 711*7917SReza.Sabdar@Sun.COM { 712*7917SReza.Sabdar@Sun.COM string device<>; 713*7917SReza.Sabdar@Sun.COM }; 714*7917SReza.Sabdar@Sun.COM /* reply the same as V2 */ 715*7917SReza.Sabdar@Sun.COM 716*7917SReza.Sabdar@Sun.COM 717*7917SReza.Sabdar@Sun.COM /* NDMP_SCSI_CLOSE - same as V2 */ 718*7917SReza.Sabdar@Sun.COM 719*7917SReza.Sabdar@Sun.COM /* NDMP_SCSI_GET_STATE - same as V2 */ 720*7917SReza.Sabdar@Sun.COM 721*7917SReza.Sabdar@Sun.COM struct ndmp_scsi_set_target_request_v3 722*7917SReza.Sabdar@Sun.COM { 723*7917SReza.Sabdar@Sun.COM string device<>; 724*7917SReza.Sabdar@Sun.COM u_short target_controller; 725*7917SReza.Sabdar@Sun.COM u_short target_id; 726*7917SReza.Sabdar@Sun.COM u_short target_lun; 727*7917SReza.Sabdar@Sun.COM }; 728*7917SReza.Sabdar@Sun.COM /* reply the same as V2 */ 729*7917SReza.Sabdar@Sun.COM 730*7917SReza.Sabdar@Sun.COM 731*7917SReza.Sabdar@Sun.COM /* NDMP_SCSI_RESET_DEVICE - same as V2 */ 732*7917SReza.Sabdar@Sun.COM 733*7917SReza.Sabdar@Sun.COM /* NDMP_SCSI_RESET_BUS - same as V2 */ 734*7917SReza.Sabdar@Sun.COM 735*7917SReza.Sabdar@Sun.COM /* NDMP_SCSI_EXECUTE_CDB - same as V2 */ 736*7917SReza.Sabdar@Sun.COM 737*7917SReza.Sabdar@Sun.COM 738*7917SReza.Sabdar@Sun.COM /***********************/ 739*7917SReza.Sabdar@Sun.COM /* SCSI INTERFACE (V4) */ 740*7917SReza.Sabdar@Sun.COM /***********************/ 741*7917SReza.Sabdar@Sun.COM 742*7917SReza.Sabdar@Sun.COM /* NDMP_SCSI_OPEN - same as V3 */ 743*7917SReza.Sabdar@Sun.COM 744*7917SReza.Sabdar@Sun.COM /* NDMP_SCSI_CLOSE - same as V3 */ 745*7917SReza.Sabdar@Sun.COM 746*7917SReza.Sabdar@Sun.COM /* NDMP_SCSI_GET_STATE - same as V3 */ 747*7917SReza.Sabdar@Sun.COM 748*7917SReza.Sabdar@Sun.COM /* NDMP_SCSI_RESET_DEVICE - same as V3 */ 749*7917SReza.Sabdar@Sun.COM 750*7917SReza.Sabdar@Sun.COM /* NDMP_SCSI_EXECUTE_CDB - same as V3 */ 751*7917SReza.Sabdar@Sun.COM 752*7917SReza.Sabdar@Sun.COM 753*7917SReza.Sabdar@Sun.COM /***********************/ 754*7917SReza.Sabdar@Sun.COM /* TAPE INTERFACE (V2) */ 755*7917SReza.Sabdar@Sun.COM /***********************/ 756*7917SReza.Sabdar@Sun.COM 757*7917SReza.Sabdar@Sun.COM /* NDMP_TAPE_OPEN */ 758*7917SReza.Sabdar@Sun.COM enum ndmp_tape_open_mode 759*7917SReza.Sabdar@Sun.COM { 760*7917SReza.Sabdar@Sun.COM NDMP_TAPE_READ_MODE, 761*7917SReza.Sabdar@Sun.COM NDMP_TAPE_WRITE_MODE, 762*7917SReza.Sabdar@Sun.COM NDMP_TAPE_RAW_MODE, /* NDMP V4 */ 763*7917SReza.Sabdar@Sun.COM NDMP_TAPE_RAW1_MODE = 0x7fffffff, /* NDMP V3 */ 764*7917SReza.Sabdar@Sun.COM NDMP_TAPE_RAW2_MODE = NDMP_TAPE_RAW_MODE /* NDMP V3 */ 765*7917SReza.Sabdar@Sun.COM 766*7917SReza.Sabdar@Sun.COM }; 767*7917SReza.Sabdar@Sun.COM 768*7917SReza.Sabdar@Sun.COM struct ndmp_tape_open_request 769*7917SReza.Sabdar@Sun.COM { 770*7917SReza.Sabdar@Sun.COM ndmp_tape_device device; 771*7917SReza.Sabdar@Sun.COM ndmp_tape_open_mode mode; 772*7917SReza.Sabdar@Sun.COM }; 773*7917SReza.Sabdar@Sun.COM 774*7917SReza.Sabdar@Sun.COM struct ndmp_tape_open_reply 775*7917SReza.Sabdar@Sun.COM { 776*7917SReza.Sabdar@Sun.COM ndmp_error error; 777*7917SReza.Sabdar@Sun.COM }; 778*7917SReza.Sabdar@Sun.COM 779*7917SReza.Sabdar@Sun.COM /* NDMP_TAPE_CLOSE */ 780*7917SReza.Sabdar@Sun.COM /* no request arguments */ 781*7917SReza.Sabdar@Sun.COM struct ndmp_tape_close_reply 782*7917SReza.Sabdar@Sun.COM { 783*7917SReza.Sabdar@Sun.COM ndmp_error error; 784*7917SReza.Sabdar@Sun.COM }; 785*7917SReza.Sabdar@Sun.COM 786*7917SReza.Sabdar@Sun.COM /* NDMP_TAPE_GET_STATE */ 787*7917SReza.Sabdar@Sun.COM /* no request arguments */ 788*7917SReza.Sabdar@Sun.COM const NDMP_TAPE_NOREWIND = 0x0008; /* non-rewind device */ 789*7917SReza.Sabdar@Sun.COM const NDMP_TAPE_WR_PROT = 0x0010; /* write-protected */ 790*7917SReza.Sabdar@Sun.COM const NDMP_TAPE_ERROR = 0x0020; /* media error */ 791*7917SReza.Sabdar@Sun.COM const NDMP_TAPE_UNLOAD = 0x0040; /* tape will be unloaded when the device is closed */ 792*7917SReza.Sabdar@Sun.COM 793*7917SReza.Sabdar@Sun.COM struct ndmp_tape_get_state_reply 794*7917SReza.Sabdar@Sun.COM { 795*7917SReza.Sabdar@Sun.COM ndmp_error error; 796*7917SReza.Sabdar@Sun.COM u_long flags; 797*7917SReza.Sabdar@Sun.COM u_long file_num; 798*7917SReza.Sabdar@Sun.COM u_long soft_errors; 799*7917SReza.Sabdar@Sun.COM u_long block_size; 800*7917SReza.Sabdar@Sun.COM u_long blockno; 801*7917SReza.Sabdar@Sun.COM ndmp_u_quad total_space; 802*7917SReza.Sabdar@Sun.COM ndmp_u_quad space_remain; 803*7917SReza.Sabdar@Sun.COM }; 804*7917SReza.Sabdar@Sun.COM 805*7917SReza.Sabdar@Sun.COM enum ndmp_tape_mtio_op 806*7917SReza.Sabdar@Sun.COM { 807*7917SReza.Sabdar@Sun.COM NDMP_MTIO_FSF = 0, 808*7917SReza.Sabdar@Sun.COM NDMP_MTIO_BSF = 1, 809*7917SReza.Sabdar@Sun.COM NDMP_MTIO_FSR = 2, 810*7917SReza.Sabdar@Sun.COM NDMP_MTIO_BSR = 3, 811*7917SReza.Sabdar@Sun.COM NDMP_MTIO_REW = 4, 812*7917SReza.Sabdar@Sun.COM NDMP_MTIO_EOF = 5, 813*7917SReza.Sabdar@Sun.COM NDMP_MTIO_OFF = 6, 814*7917SReza.Sabdar@Sun.COM NDMP_MTIO_TUR = 7 /* NDMP V4 */ 815*7917SReza.Sabdar@Sun.COM }; 816*7917SReza.Sabdar@Sun.COM 817*7917SReza.Sabdar@Sun.COM 818*7917SReza.Sabdar@Sun.COM struct ndmp_tape_mtio_request 819*7917SReza.Sabdar@Sun.COM { 820*7917SReza.Sabdar@Sun.COM ndmp_tape_mtio_op tape_op; 821*7917SReza.Sabdar@Sun.COM u_long count; 822*7917SReza.Sabdar@Sun.COM }; 823*7917SReza.Sabdar@Sun.COM 824*7917SReza.Sabdar@Sun.COM struct ndmp_tape_mtio_reply 825*7917SReza.Sabdar@Sun.COM { 826*7917SReza.Sabdar@Sun.COM ndmp_error error; 827*7917SReza.Sabdar@Sun.COM u_long resid_count; 828*7917SReza.Sabdar@Sun.COM }; 829*7917SReza.Sabdar@Sun.COM 830*7917SReza.Sabdar@Sun.COM /* NDMP_TAPE_WRITE */ 831*7917SReza.Sabdar@Sun.COM struct ndmp_tape_write_request 832*7917SReza.Sabdar@Sun.COM { 833*7917SReza.Sabdar@Sun.COM opaque data_out<>; 834*7917SReza.Sabdar@Sun.COM }; 835*7917SReza.Sabdar@Sun.COM 836*7917SReza.Sabdar@Sun.COM struct ndmp_tape_write_reply 837*7917SReza.Sabdar@Sun.COM { 838*7917SReza.Sabdar@Sun.COM ndmp_error error; 839*7917SReza.Sabdar@Sun.COM u_long count; 840*7917SReza.Sabdar@Sun.COM }; 841*7917SReza.Sabdar@Sun.COM 842*7917SReza.Sabdar@Sun.COM /* NDMP_TAPE_READ */ 843*7917SReza.Sabdar@Sun.COM struct ndmp_tape_read_request 844*7917SReza.Sabdar@Sun.COM { 845*7917SReza.Sabdar@Sun.COM u_long count; 846*7917SReza.Sabdar@Sun.COM }; 847*7917SReza.Sabdar@Sun.COM 848*7917SReza.Sabdar@Sun.COM struct ndmp_tape_read_reply 849*7917SReza.Sabdar@Sun.COM { 850*7917SReza.Sabdar@Sun.COM ndmp_error error; 851*7917SReza.Sabdar@Sun.COM opaque data_in<>; 852*7917SReza.Sabdar@Sun.COM }; 853*7917SReza.Sabdar@Sun.COM 854*7917SReza.Sabdar@Sun.COM /* NDMP_TAPE_EXECUTE_CDB */ 855*7917SReza.Sabdar@Sun.COM typedef ndmp_execute_cdb_request ndmp_tape_execute_cdb_request; 856*7917SReza.Sabdar@Sun.COM typedef ndmp_execute_cdb_reply ndmp_tape_execute_cdb_reply; 857*7917SReza.Sabdar@Sun.COM 858*7917SReza.Sabdar@Sun.COM 859*7917SReza.Sabdar@Sun.COM /***********************/ 860*7917SReza.Sabdar@Sun.COM /* TAPE INTERFACE (V3) */ 861*7917SReza.Sabdar@Sun.COM /***********************/ 862*7917SReza.Sabdar@Sun.COM 863*7917SReza.Sabdar@Sun.COM /* NDMP_TAPE_OPEN */ 864*7917SReza.Sabdar@Sun.COM struct ndmp_tape_open_request_v3 865*7917SReza.Sabdar@Sun.COM { 866*7917SReza.Sabdar@Sun.COM string device<>; 867*7917SReza.Sabdar@Sun.COM ndmp_tape_open_mode mode; 868*7917SReza.Sabdar@Sun.COM }; 869*7917SReza.Sabdar@Sun.COM /* reply the same as V2 */ 870*7917SReza.Sabdar@Sun.COM 871*7917SReza.Sabdar@Sun.COM 872*7917SReza.Sabdar@Sun.COM /* NDMP_TAPE_CLOSE - same as V2 */ 873*7917SReza.Sabdar@Sun.COM 874*7917SReza.Sabdar@Sun.COM /* NDMP_TAPE_GET_STATE */ 875*7917SReza.Sabdar@Sun.COM /* no request arguments */ 876*7917SReza.Sabdar@Sun.COM const NDMP_TAPE_STATE_NOREWIND = 0x0008; /* non-rewind device */ 877*7917SReza.Sabdar@Sun.COM const NDMP_TAPE_STATE_WR_PROT = 0x0010; /* write-protected */ 878*7917SReza.Sabdar@Sun.COM const NDMP_TAPE_STATE_ERROR = 0x0020; /* media error */ 879*7917SReza.Sabdar@Sun.COM const NDMP_TAPE_STATE_UNLOAD = 0x0040; /* tape will be unloaded when the device is closed */ 880*7917SReza.Sabdar@Sun.COM 881*7917SReza.Sabdar@Sun.COM /* invalid bit */ 882*7917SReza.Sabdar@Sun.COM const NDMP_TAPE_STATE_FILE_NUM_INVALID = 0x00000001; 883*7917SReza.Sabdar@Sun.COM const NDMP_TAPE_STATE_SOFT_ERRORS_INVALID = 0x00000002; 884*7917SReza.Sabdar@Sun.COM const NDMP_TAPE_STATE_BLOCK_SIZE_INVALID = 0x00000004; 885*7917SReza.Sabdar@Sun.COM const NDMP_TAPE_STATE_BLOCKNO_INVALID = 0x00000008; 886*7917SReza.Sabdar@Sun.COM const NDMP_TAPE_STATE_TOTAL_SPACE_INVALID = 0x00000010; 887*7917SReza.Sabdar@Sun.COM const NDMP_TAPE_STATE_SPACE_REMAIN_INVALID = 0x00000020; 888*7917SReza.Sabdar@Sun.COM const NDMP_TAPE_STATE_PARTITION_INVALID = 0x00000040; 889*7917SReza.Sabdar@Sun.COM 890*7917SReza.Sabdar@Sun.COM struct ndmp_tape_get_state_reply_v3 891*7917SReza.Sabdar@Sun.COM { 892*7917SReza.Sabdar@Sun.COM u_long invalid; 893*7917SReza.Sabdar@Sun.COM ndmp_error error; 894*7917SReza.Sabdar@Sun.COM u_long flags; 895*7917SReza.Sabdar@Sun.COM u_long file_num; 896*7917SReza.Sabdar@Sun.COM u_long soft_errors; 897*7917SReza.Sabdar@Sun.COM u_long block_size; 898*7917SReza.Sabdar@Sun.COM u_long blockno; 899*7917SReza.Sabdar@Sun.COM ndmp_u_quad total_space; 900*7917SReza.Sabdar@Sun.COM ndmp_u_quad space_remain; 901*7917SReza.Sabdar@Sun.COM u_long partition; 902*7917SReza.Sabdar@Sun.COM }; 903*7917SReza.Sabdar@Sun.COM 904*7917SReza.Sabdar@Sun.COM /* NDMP_TAPE_MTIO - same as V2 */ 905*7917SReza.Sabdar@Sun.COM 906*7917SReza.Sabdar@Sun.COM /* NDMP_TAPE_WRITE - same as V2 */ 907*7917SReza.Sabdar@Sun.COM 908*7917SReza.Sabdar@Sun.COM /* NDMP_TAPE_READ - same as V2 */ 909*7917SReza.Sabdar@Sun.COM 910*7917SReza.Sabdar@Sun.COM /* NDMP_TAPE_EXECUTE_CDB - same as V2 */ 911*7917SReza.Sabdar@Sun.COM 912*7917SReza.Sabdar@Sun.COM 913*7917SReza.Sabdar@Sun.COM /***********************/ 914*7917SReza.Sabdar@Sun.COM /* TAPE INTERFACE (V4) */ 915*7917SReza.Sabdar@Sun.COM /***********************/ 916*7917SReza.Sabdar@Sun.COM 917*7917SReza.Sabdar@Sun.COM /* NDMP_TAPE_OPEN - same as V3 */ 918*7917SReza.Sabdar@Sun.COM 919*7917SReza.Sabdar@Sun.COM /* NDMP_TAPE_CLOSE - same as V3 */ 920*7917SReza.Sabdar@Sun.COM 921*7917SReza.Sabdar@Sun.COM struct ndmp_tape_get_state_reply_v4 922*7917SReza.Sabdar@Sun.COM { 923*7917SReza.Sabdar@Sun.COM u_long unsupported; 924*7917SReza.Sabdar@Sun.COM ndmp_error error; 925*7917SReza.Sabdar@Sun.COM u_long flags; 926*7917SReza.Sabdar@Sun.COM u_long file_num; 927*7917SReza.Sabdar@Sun.COM u_long soft_errors; 928*7917SReza.Sabdar@Sun.COM u_long block_size; 929*7917SReza.Sabdar@Sun.COM u_long blockno; 930*7917SReza.Sabdar@Sun.COM ndmp_u_quad total_space; 931*7917SReza.Sabdar@Sun.COM ndmp_u_quad space_remain; 932*7917SReza.Sabdar@Sun.COM }; 933*7917SReza.Sabdar@Sun.COM 934*7917SReza.Sabdar@Sun.COM /* NDMP_TAPE_MTIO - same as V3 */ 935*7917SReza.Sabdar@Sun.COM 936*7917SReza.Sabdar@Sun.COM /* NDMP_TAPE_WRITE - same as V3 */ 937*7917SReza.Sabdar@Sun.COM 938*7917SReza.Sabdar@Sun.COM /* NDMP_TAPE_READ - same as V3 */ 939*7917SReza.Sabdar@Sun.COM 940*7917SReza.Sabdar@Sun.COM /* NDMP_TAPE_EXECUTE_CDB - same as V3 */ 941*7917SReza.Sabdar@Sun.COM 942*7917SReza.Sabdar@Sun.COM 943*7917SReza.Sabdar@Sun.COM /************************/ 944*7917SReza.Sabdar@Sun.COM /* MOVER INTERFACE (V2) */ 945*7917SReza.Sabdar@Sun.COM /************************/ 946*7917SReza.Sabdar@Sun.COM enum ndmp_mover_mode 947*7917SReza.Sabdar@Sun.COM { 948*7917SReza.Sabdar@Sun.COM NDMP_MOVER_MODE_READ = 0, 949*7917SReza.Sabdar@Sun.COM NDMP_MOVER_MODE_WRITE = 1, 950*7917SReza.Sabdar@Sun.COM NDMP_MOVER_MODE_NOACTION = 2 /* NDMP V4 */ 951*7917SReza.Sabdar@Sun.COM }; 952*7917SReza.Sabdar@Sun.COM 953*7917SReza.Sabdar@Sun.COM enum ndmp_mover_state 954*7917SReza.Sabdar@Sun.COM { 955*7917SReza.Sabdar@Sun.COM NDMP_MOVER_STATE_IDLE = 0, 956*7917SReza.Sabdar@Sun.COM NDMP_MOVER_STATE_LISTEN = 1, 957*7917SReza.Sabdar@Sun.COM NDMP_MOVER_STATE_ACTIVE = 2, 958*7917SReza.Sabdar@Sun.COM NDMP_MOVER_STATE_PAUSED = 3, 959*7917SReza.Sabdar@Sun.COM NDMP_MOVER_STATE_HALTED = 4 960*7917SReza.Sabdar@Sun.COM }; 961*7917SReza.Sabdar@Sun.COM 962*7917SReza.Sabdar@Sun.COM enum ndmp_mover_pause_reason 963*7917SReza.Sabdar@Sun.COM { 964*7917SReza.Sabdar@Sun.COM NDMP_MOVER_PAUSE_NA = 0, 965*7917SReza.Sabdar@Sun.COM NDMP_MOVER_PAUSE_EOM = 1, 966*7917SReza.Sabdar@Sun.COM NDMP_MOVER_PAUSE_EOF = 2, 967*7917SReza.Sabdar@Sun.COM NDMP_MOVER_PAUSE_SEEK = 3, 968*7917SReza.Sabdar@Sun.COM NDMP_MOVER_PAUSE_MEDIA_ERROR = 4, /* NDMP V2,3 */ 969*7917SReza.Sabdar@Sun.COM NDMP_MOVER_PAUSE_EOW = 5 970*7917SReza.Sabdar@Sun.COM }; 971*7917SReza.Sabdar@Sun.COM 972*7917SReza.Sabdar@Sun.COM enum ndmp_mover_halt_reason 973*7917SReza.Sabdar@Sun.COM { 974*7917SReza.Sabdar@Sun.COM NDMP_MOVER_HALT_NA = 0, 975*7917SReza.Sabdar@Sun.COM NDMP_MOVER_HALT_CONNECT_CLOSED = 1, 976*7917SReza.Sabdar@Sun.COM NDMP_MOVER_HALT_ABORTED = 2, 977*7917SReza.Sabdar@Sun.COM NDMP_MOVER_HALT_INTERNAL_ERROR = 3, 978*7917SReza.Sabdar@Sun.COM NDMP_MOVER_HALT_CONNECT_ERROR = 4, 979*7917SReza.Sabdar@Sun.COM NDMP_MOVER_HALT_MEDIA_ERROR = 5 /* NDMP V4 */ 980*7917SReza.Sabdar@Sun.COM }; 981*7917SReza.Sabdar@Sun.COM 982*7917SReza.Sabdar@Sun.COM 983*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_GET_STATE */ 984*7917SReza.Sabdar@Sun.COM 985*7917SReza.Sabdar@Sun.COM /* no request arguments */ 986*7917SReza.Sabdar@Sun.COM struct ndmp_mover_get_state_reply 987*7917SReza.Sabdar@Sun.COM { 988*7917SReza.Sabdar@Sun.COM ndmp_error error; 989*7917SReza.Sabdar@Sun.COM ndmp_mover_state state; 990*7917SReza.Sabdar@Sun.COM ndmp_mover_pause_reason pause_reason; 991*7917SReza.Sabdar@Sun.COM ndmp_mover_halt_reason halt_reason; 992*7917SReza.Sabdar@Sun.COM u_long record_size; 993*7917SReza.Sabdar@Sun.COM u_long record_num; 994*7917SReza.Sabdar@Sun.COM ndmp_u_quad data_written; 995*7917SReza.Sabdar@Sun.COM ndmp_u_quad seek_position; 996*7917SReza.Sabdar@Sun.COM ndmp_u_quad bytes_left_to_read; 997*7917SReza.Sabdar@Sun.COM ndmp_u_quad window_offset; 998*7917SReza.Sabdar@Sun.COM ndmp_u_quad window_length; 999*7917SReza.Sabdar@Sun.COM }; 1000*7917SReza.Sabdar@Sun.COM 1001*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_LISTEN */ 1002*7917SReza.Sabdar@Sun.COM 1003*7917SReza.Sabdar@Sun.COM struct ndmp_tcp_addr 1004*7917SReza.Sabdar@Sun.COM { 1005*7917SReza.Sabdar@Sun.COM u_long ip_addr; 1006*7917SReza.Sabdar@Sun.COM u_short port; 1007*7917SReza.Sabdar@Sun.COM }; 1008*7917SReza.Sabdar@Sun.COM 1009*7917SReza.Sabdar@Sun.COM union ndmp_mover_addr switch (ndmp_addr_type addr_type) 1010*7917SReza.Sabdar@Sun.COM { 1011*7917SReza.Sabdar@Sun.COM case NDMP_ADDR_LOCAL: 1012*7917SReza.Sabdar@Sun.COM void; 1013*7917SReza.Sabdar@Sun.COM case NDMP_ADDR_TCP: 1014*7917SReza.Sabdar@Sun.COM ndmp_tcp_addr addr; 1015*7917SReza.Sabdar@Sun.COM }; 1016*7917SReza.Sabdar@Sun.COM 1017*7917SReza.Sabdar@Sun.COM struct ndmp_mover_listen_request 1018*7917SReza.Sabdar@Sun.COM { 1019*7917SReza.Sabdar@Sun.COM ndmp_mover_mode mode; 1020*7917SReza.Sabdar@Sun.COM ndmp_addr_type addr_type; 1021*7917SReza.Sabdar@Sun.COM }; 1022*7917SReza.Sabdar@Sun.COM 1023*7917SReza.Sabdar@Sun.COM struct ndmp_mover_listen_reply 1024*7917SReza.Sabdar@Sun.COM { 1025*7917SReza.Sabdar@Sun.COM ndmp_error error; 1026*7917SReza.Sabdar@Sun.COM ndmp_mover_addr mover; 1027*7917SReza.Sabdar@Sun.COM }; 1028*7917SReza.Sabdar@Sun.COM 1029*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_SET_RECORD_SIZE */ 1030*7917SReza.Sabdar@Sun.COM struct ndmp_mover_set_record_size_request 1031*7917SReza.Sabdar@Sun.COM { 1032*7917SReza.Sabdar@Sun.COM u_long len; 1033*7917SReza.Sabdar@Sun.COM }; 1034*7917SReza.Sabdar@Sun.COM 1035*7917SReza.Sabdar@Sun.COM struct ndmp_mover_set_record_size_reply 1036*7917SReza.Sabdar@Sun.COM { 1037*7917SReza.Sabdar@Sun.COM ndmp_error error; 1038*7917SReza.Sabdar@Sun.COM }; 1039*7917SReza.Sabdar@Sun.COM 1040*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_SET_WINDOW */ 1041*7917SReza.Sabdar@Sun.COM struct ndmp_mover_set_window_request 1042*7917SReza.Sabdar@Sun.COM { 1043*7917SReza.Sabdar@Sun.COM ndmp_u_quad offset; 1044*7917SReza.Sabdar@Sun.COM ndmp_u_quad length; 1045*7917SReza.Sabdar@Sun.COM }; 1046*7917SReza.Sabdar@Sun.COM 1047*7917SReza.Sabdar@Sun.COM struct ndmp_mover_set_window_reply 1048*7917SReza.Sabdar@Sun.COM { 1049*7917SReza.Sabdar@Sun.COM ndmp_error error; 1050*7917SReza.Sabdar@Sun.COM }; 1051*7917SReza.Sabdar@Sun.COM 1052*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_CONTINUE */ 1053*7917SReza.Sabdar@Sun.COM /* no request arguments */ 1054*7917SReza.Sabdar@Sun.COM 1055*7917SReza.Sabdar@Sun.COM struct ndmp_mover_continue_reply 1056*7917SReza.Sabdar@Sun.COM { 1057*7917SReza.Sabdar@Sun.COM ndmp_error error; 1058*7917SReza.Sabdar@Sun.COM }; 1059*7917SReza.Sabdar@Sun.COM 1060*7917SReza.Sabdar@Sun.COM 1061*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_ABORT */ 1062*7917SReza.Sabdar@Sun.COM /* no request arguments */ 1063*7917SReza.Sabdar@Sun.COM struct ndmp_mover_abort_reply 1064*7917SReza.Sabdar@Sun.COM { 1065*7917SReza.Sabdar@Sun.COM ndmp_error error; 1066*7917SReza.Sabdar@Sun.COM }; 1067*7917SReza.Sabdar@Sun.COM 1068*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_STOP */ 1069*7917SReza.Sabdar@Sun.COM /* no request arguments */ 1070*7917SReza.Sabdar@Sun.COM 1071*7917SReza.Sabdar@Sun.COM struct ndmp_mover_stop_reply 1072*7917SReza.Sabdar@Sun.COM { 1073*7917SReza.Sabdar@Sun.COM ndmp_error error; 1074*7917SReza.Sabdar@Sun.COM }; 1075*7917SReza.Sabdar@Sun.COM 1076*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_READ */ 1077*7917SReza.Sabdar@Sun.COM struct ndmp_mover_read_request 1078*7917SReza.Sabdar@Sun.COM { 1079*7917SReza.Sabdar@Sun.COM ndmp_u_quad offset; 1080*7917SReza.Sabdar@Sun.COM ndmp_u_quad length; 1081*7917SReza.Sabdar@Sun.COM }; 1082*7917SReza.Sabdar@Sun.COM 1083*7917SReza.Sabdar@Sun.COM struct ndmp_mover_read_reply 1084*7917SReza.Sabdar@Sun.COM { 1085*7917SReza.Sabdar@Sun.COM ndmp_error error; 1086*7917SReza.Sabdar@Sun.COM }; 1087*7917SReza.Sabdar@Sun.COM 1088*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_CLOSE */ 1089*7917SReza.Sabdar@Sun.COM /* no request arguments */ 1090*7917SReza.Sabdar@Sun.COM 1091*7917SReza.Sabdar@Sun.COM struct ndmp_mover_close_reply 1092*7917SReza.Sabdar@Sun.COM { 1093*7917SReza.Sabdar@Sun.COM ndmp_error error; 1094*7917SReza.Sabdar@Sun.COM }; 1095*7917SReza.Sabdar@Sun.COM 1096*7917SReza.Sabdar@Sun.COM 1097*7917SReza.Sabdar@Sun.COM /************************/ 1098*7917SReza.Sabdar@Sun.COM /* MOVER INTERFACE (V3) */ 1099*7917SReza.Sabdar@Sun.COM /************************/ 1100*7917SReza.Sabdar@Sun.COM 1101*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_STATE - same as V2 */ 1102*7917SReza.Sabdar@Sun.COM 1103*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_PAUSE_REASON - same as V2 */ 1104*7917SReza.Sabdar@Sun.COM 1105*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_HALT_REASON - same as V2 */ 1106*7917SReza.Sabdar@Sun.COM 1107*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_MODE - same as V2 */ 1108*7917SReza.Sabdar@Sun.COM 1109*7917SReza.Sabdar@Sun.COM struct ndmp_fc_addr_v3 1110*7917SReza.Sabdar@Sun.COM { 1111*7917SReza.Sabdar@Sun.COM u_long loop_id; 1112*7917SReza.Sabdar@Sun.COM }; 1113*7917SReza.Sabdar@Sun.COM 1114*7917SReza.Sabdar@Sun.COM struct ndmp_ipc_addr_v3 1115*7917SReza.Sabdar@Sun.COM { 1116*7917SReza.Sabdar@Sun.COM opaque comm_data<>; 1117*7917SReza.Sabdar@Sun.COM }; 1118*7917SReza.Sabdar@Sun.COM 1119*7917SReza.Sabdar@Sun.COM union ndmp_addr_v3 switch (ndmp_addr_type addr_type) 1120*7917SReza.Sabdar@Sun.COM { 1121*7917SReza.Sabdar@Sun.COM case NDMP_ADDR_LOCAL: 1122*7917SReza.Sabdar@Sun.COM void; 1123*7917SReza.Sabdar@Sun.COM case NDMP_ADDR_TCP: 1124*7917SReza.Sabdar@Sun.COM ndmp_tcp_addr tcp_addr; 1125*7917SReza.Sabdar@Sun.COM case NDMP_ADDR_FC: 1126*7917SReza.Sabdar@Sun.COM ndmp_fc_addr_v3 fc_addr; 1127*7917SReza.Sabdar@Sun.COM case NDMP_ADDR_IPC: 1128*7917SReza.Sabdar@Sun.COM ndmp_ipc_addr_v3 ipc_addr; 1129*7917SReza.Sabdar@Sun.COM 1130*7917SReza.Sabdar@Sun.COM }; 1131*7917SReza.Sabdar@Sun.COM 1132*7917SReza.Sabdar@Sun.COM % 1133*7917SReza.Sabdar@Sun.COM % 1134*7917SReza.Sabdar@Sun.COM %/* 1135*7917SReza.Sabdar@Sun.COM % * Macros to access the port and IP address of TCP addresses. 1136*7917SReza.Sabdar@Sun.COM % */ 1137*7917SReza.Sabdar@Sun.COM %#ifndef tcp_ip_v3 1138*7917SReza.Sabdar@Sun.COM %#define tcp_ip_v3 ndmp_addr_v3_u.tcp_addr.ip_addr 1139*7917SReza.Sabdar@Sun.COM %#endif /* tcp_ip_v3 */ 1140*7917SReza.Sabdar@Sun.COM %#ifndef tcp_port_v3 1141*7917SReza.Sabdar@Sun.COM %#define tcp_port_v3 ndmp_addr_v3_u.tcp_addr.port 1142*7917SReza.Sabdar@Sun.COM %#endif /* tcp_port_v3 */ 1143*7917SReza.Sabdar@Sun.COM 1144*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_GET_STATE */ 1145*7917SReza.Sabdar@Sun.COM /* no request arguments */ 1146*7917SReza.Sabdar@Sun.COM 1147*7917SReza.Sabdar@Sun.COM struct ndmp_mover_get_state_reply_v3 1148*7917SReza.Sabdar@Sun.COM { 1149*7917SReza.Sabdar@Sun.COM ndmp_error error; 1150*7917SReza.Sabdar@Sun.COM ndmp_mover_state state; 1151*7917SReza.Sabdar@Sun.COM ndmp_mover_pause_reason pause_reason; 1152*7917SReza.Sabdar@Sun.COM ndmp_mover_halt_reason halt_reason; 1153*7917SReza.Sabdar@Sun.COM u_long record_size; 1154*7917SReza.Sabdar@Sun.COM u_long record_num; 1155*7917SReza.Sabdar@Sun.COM ndmp_u_quad data_written; 1156*7917SReza.Sabdar@Sun.COM ndmp_u_quad seek_position; 1157*7917SReza.Sabdar@Sun.COM ndmp_u_quad bytes_left_to_read; 1158*7917SReza.Sabdar@Sun.COM ndmp_u_quad window_offset; 1159*7917SReza.Sabdar@Sun.COM ndmp_u_quad window_length; 1160*7917SReza.Sabdar@Sun.COM ndmp_addr_v3 data_connection_addr; 1161*7917SReza.Sabdar@Sun.COM }; 1162*7917SReza.Sabdar@Sun.COM 1163*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_LISTEN - same as v2 */ 1164*7917SReza.Sabdar@Sun.COM 1165*7917SReza.Sabdar@Sun.COM struct ndmp_mover_listen_reply_v3 1166*7917SReza.Sabdar@Sun.COM { 1167*7917SReza.Sabdar@Sun.COM ndmp_error error; 1168*7917SReza.Sabdar@Sun.COM ndmp_addr_v3 data_connection_addr; 1169*7917SReza.Sabdar@Sun.COM }; 1170*7917SReza.Sabdar@Sun.COM 1171*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_CONNECT */ 1172*7917SReza.Sabdar@Sun.COM struct ndmp_mover_connect_request_v3 1173*7917SReza.Sabdar@Sun.COM { 1174*7917SReza.Sabdar@Sun.COM ndmp_mover_mode mode; 1175*7917SReza.Sabdar@Sun.COM ndmp_addr_v3 addr; 1176*7917SReza.Sabdar@Sun.COM }; 1177*7917SReza.Sabdar@Sun.COM 1178*7917SReza.Sabdar@Sun.COM struct ndmp_mover_connect_reply_v3 1179*7917SReza.Sabdar@Sun.COM { 1180*7917SReza.Sabdar@Sun.COM ndmp_error error; 1181*7917SReza.Sabdar@Sun.COM }; 1182*7917SReza.Sabdar@Sun.COM 1183*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_SET_RECORD_SIZE - same as V2 */ 1184*7917SReza.Sabdar@Sun.COM 1185*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_SET_WINDOW - same as V2 */ 1186*7917SReza.Sabdar@Sun.COM 1187*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_CONTINUE - same as V2 */ 1188*7917SReza.Sabdar@Sun.COM 1189*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_ABORT - same as V2 */ 1190*7917SReza.Sabdar@Sun.COM 1191*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_STOP - same as V2 */ 1192*7917SReza.Sabdar@Sun.COM 1193*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_READ - same as V2 */ 1194*7917SReza.Sabdar@Sun.COM 1195*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_CLOSE - same as V2 */ 1196*7917SReza.Sabdar@Sun.COM 1197*7917SReza.Sabdar@Sun.COM 1198*7917SReza.Sabdar@Sun.COM /************************/ 1199*7917SReza.Sabdar@Sun.COM /* MOVER INTERFACE (V4) */ 1200*7917SReza.Sabdar@Sun.COM /************************/ 1201*7917SReza.Sabdar@Sun.COM 1202*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_SET_RECORD_SIZE - same as V3 */ 1203*7917SReza.Sabdar@Sun.COM 1204*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_SET_WINDOW_SIZE - same as V3 */ 1205*7917SReza.Sabdar@Sun.COM 1206*7917SReza.Sabdar@Sun.COM % 1207*7917SReza.Sabdar@Sun.COM % 1208*7917SReza.Sabdar@Sun.COM %/* 1209*7917SReza.Sabdar@Sun.COM % * Macros to access the port and IP address of TCP addresses. 1210*7917SReza.Sabdar@Sun.COM % */ 1211*7917SReza.Sabdar@Sun.COM %#ifndef tcp_addr_v4 1212*7917SReza.Sabdar@Sun.COM %#define tcp_addr_v4 ndmp_addr_v4_u.tcp_addr.tcp_addr_val 1213*7917SReza.Sabdar@Sun.COM %#endif /* tcp_addr_v4 */ 1214*7917SReza.Sabdar@Sun.COM %#ifndef tcp_ip_v4 1215*7917SReza.Sabdar@Sun.COM %#define tcp_ip_v4(n) ndmp_addr_v4_u.tcp_addr.tcp_addr_val[n].ip_addr 1216*7917SReza.Sabdar@Sun.COM %#endif /* tcp_ip_v4 */ 1217*7917SReza.Sabdar@Sun.COM %#ifndef tcp_port_v4 1218*7917SReza.Sabdar@Sun.COM %#define tcp_port_v4(n) ndmp_addr_v4_u.tcp_addr.tcp_addr_val[n].port 1219*7917SReza.Sabdar@Sun.COM %#endif /* tcp_port_v4 */ 1220*7917SReza.Sabdar@Sun.COM %#ifndef tcp_len_v4 1221*7917SReza.Sabdar@Sun.COM %#define tcp_len_v4 ndmp_addr_v4_u.tcp_addr.tcp_addr_len 1222*7917SReza.Sabdar@Sun.COM %#endif /* tcp_len_v4 */ 1223*7917SReza.Sabdar@Sun.COM %#ifndef tcp_env_v4 1224*7917SReza.Sabdar@Sun.COM %#define tcp_env_v4(n) ndmp_addr_v4_u.tcp_addr.tcp_addr_val[n].addr_env 1225*7917SReza.Sabdar@Sun.COM %#endif /* tcp_env_v4 */ 1226*7917SReza.Sabdar@Sun.COM 1227*7917SReza.Sabdar@Sun.COM struct ndmp_tcp_addr_v4 1228*7917SReza.Sabdar@Sun.COM { 1229*7917SReza.Sabdar@Sun.COM u_long ip_addr; 1230*7917SReza.Sabdar@Sun.COM u_short port; 1231*7917SReza.Sabdar@Sun.COM ndmp_pval addr_env<>; 1232*7917SReza.Sabdar@Sun.COM }; 1233*7917SReza.Sabdar@Sun.COM 1234*7917SReza.Sabdar@Sun.COM union ndmp_addr_v4 1235*7917SReza.Sabdar@Sun.COM switch (ndmp_addr_type addr_type) 1236*7917SReza.Sabdar@Sun.COM { 1237*7917SReza.Sabdar@Sun.COM case NDMP_ADDR_LOCAL: 1238*7917SReza.Sabdar@Sun.COM void; 1239*7917SReza.Sabdar@Sun.COM case NDMP_ADDR_TCP: 1240*7917SReza.Sabdar@Sun.COM ndmp_tcp_addr_v4 tcp_addr<>; 1241*7917SReza.Sabdar@Sun.COM case NDMP_ADDR_IPC: 1242*7917SReza.Sabdar@Sun.COM ndmp_ipc_addr_v3 ipc_addr; 1243*7917SReza.Sabdar@Sun.COM }; 1244*7917SReza.Sabdar@Sun.COM 1245*7917SReza.Sabdar@Sun.COM struct ndmp_mover_connect_request_v4 1246*7917SReza.Sabdar@Sun.COM { 1247*7917SReza.Sabdar@Sun.COM ndmp_mover_mode mode; 1248*7917SReza.Sabdar@Sun.COM ndmp_addr_v4 addr; 1249*7917SReza.Sabdar@Sun.COM }; 1250*7917SReza.Sabdar@Sun.COM 1251*7917SReza.Sabdar@Sun.COM struct ndmp_mover_listen_reply_v4 1252*7917SReza.Sabdar@Sun.COM { 1253*7917SReza.Sabdar@Sun.COM ndmp_error error; 1254*7917SReza.Sabdar@Sun.COM ndmp_addr_v4 connect_addr; 1255*7917SReza.Sabdar@Sun.COM }; 1256*7917SReza.Sabdar@Sun.COM 1257*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_READ - same as v3 */ 1258*7917SReza.Sabdar@Sun.COM 1259*7917SReza.Sabdar@Sun.COM struct ndmp_mover_get_state_reply_v4 1260*7917SReza.Sabdar@Sun.COM { 1261*7917SReza.Sabdar@Sun.COM ndmp_error error; 1262*7917SReza.Sabdar@Sun.COM ndmp_mover_mode mode; 1263*7917SReza.Sabdar@Sun.COM ndmp_mover_state state; 1264*7917SReza.Sabdar@Sun.COM ndmp_mover_pause_reason pause_reason; 1265*7917SReza.Sabdar@Sun.COM ndmp_mover_halt_reason halt_reason; 1266*7917SReza.Sabdar@Sun.COM u_long record_size; 1267*7917SReza.Sabdar@Sun.COM u_long record_num; 1268*7917SReza.Sabdar@Sun.COM ndmp_u_quad bytes_moved; 1269*7917SReza.Sabdar@Sun.COM ndmp_u_quad seek_position; 1270*7917SReza.Sabdar@Sun.COM ndmp_u_quad bytes_left_to_read; 1271*7917SReza.Sabdar@Sun.COM ndmp_u_quad window_offset; 1272*7917SReza.Sabdar@Sun.COM ndmp_u_quad window_length; 1273*7917SReza.Sabdar@Sun.COM ndmp_addr_v4 data_connection_addr; 1274*7917SReza.Sabdar@Sun.COM }; 1275*7917SReza.Sabdar@Sun.COM 1276*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_CONTINUE - same as V3 */ 1277*7917SReza.Sabdar@Sun.COM 1278*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_CLOSE - same as V3 */ 1279*7917SReza.Sabdar@Sun.COM 1280*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_ABORT - same as V3 */ 1281*7917SReza.Sabdar@Sun.COM 1282*7917SReza.Sabdar@Sun.COM /* NDMP_MOVER_STOP - same as V3 */ 1283*7917SReza.Sabdar@Sun.COM 1284*7917SReza.Sabdar@Sun.COM 1285*7917SReza.Sabdar@Sun.COM /***********************/ 1286*7917SReza.Sabdar@Sun.COM /* DATA INTERFACE (V2) */ 1287*7917SReza.Sabdar@Sun.COM /***********************/ 1288*7917SReza.Sabdar@Sun.COM 1289*7917SReza.Sabdar@Sun.COM /* NDMP_DATA_GET_STATE */ 1290*7917SReza.Sabdar@Sun.COM /* no request arguments */ 1291*7917SReza.Sabdar@Sun.COM 1292*7917SReza.Sabdar@Sun.COM enum ndmp_data_operation 1293*7917SReza.Sabdar@Sun.COM { 1294*7917SReza.Sabdar@Sun.COM NDMP_DATA_OP_NOACTION = 0, 1295*7917SReza.Sabdar@Sun.COM NDMP_DATA_OP_BACKUP = 1, 1296*7917SReza.Sabdar@Sun.COM NDMP_DATA_OP_RECOVER = 2, 1297*7917SReza.Sabdar@Sun.COM NDMP_DATA_OP_RECOVER_FILEHIST = 3 /* NDMP V4 */ 1298*7917SReza.Sabdar@Sun.COM }; 1299*7917SReza.Sabdar@Sun.COM 1300*7917SReza.Sabdar@Sun.COM enum ndmp_data_state 1301*7917SReza.Sabdar@Sun.COM { 1302*7917SReza.Sabdar@Sun.COM NDMP_DATA_STATE_IDLE = 0, 1303*7917SReza.Sabdar@Sun.COM NDMP_DATA_STATE_ACTIVE = 1, 1304*7917SReza.Sabdar@Sun.COM NDMP_DATA_STATE_HALTED = 2, 1305*7917SReza.Sabdar@Sun.COM NDMP_DATA_STATE_LISTEN = 3, /* NDMP V3 */ 1306*7917SReza.Sabdar@Sun.COM NDMP_DATA_STATE_CONNECTED = 4 /* NDMP V3 */ 1307*7917SReza.Sabdar@Sun.COM }; 1308*7917SReza.Sabdar@Sun.COM 1309*7917SReza.Sabdar@Sun.COM enum ndmp_data_halt_reason 1310*7917SReza.Sabdar@Sun.COM { 1311*7917SReza.Sabdar@Sun.COM NDMP_DATA_HALT_NA = 0, 1312*7917SReza.Sabdar@Sun.COM NDMP_DATA_HALT_SUCCESSFUL = 1, 1313*7917SReza.Sabdar@Sun.COM NDMP_DATA_HALT_ABORTED = 2, 1314*7917SReza.Sabdar@Sun.COM NDMP_DATA_HALT_INTERNAL_ERROR = 3, 1315*7917SReza.Sabdar@Sun.COM NDMP_DATA_HALT_CONNECT_ERROR = 4 1316*7917SReza.Sabdar@Sun.COM }; 1317*7917SReza.Sabdar@Sun.COM 1318*7917SReza.Sabdar@Sun.COM struct ndmp_data_get_state_reply 1319*7917SReza.Sabdar@Sun.COM { 1320*7917SReza.Sabdar@Sun.COM ndmp_error error; 1321*7917SReza.Sabdar@Sun.COM ndmp_data_operation operation; 1322*7917SReza.Sabdar@Sun.COM ndmp_data_state state; 1323*7917SReza.Sabdar@Sun.COM ndmp_data_halt_reason halt_reason; 1324*7917SReza.Sabdar@Sun.COM ndmp_u_quad bytes_processed; 1325*7917SReza.Sabdar@Sun.COM ndmp_u_quad est_bytes_remain; 1326*7917SReza.Sabdar@Sun.COM u_long est_time_remain; 1327*7917SReza.Sabdar@Sun.COM ndmp_mover_addr mover; 1328*7917SReza.Sabdar@Sun.COM ndmp_u_quad read_offset; 1329*7917SReza.Sabdar@Sun.COM ndmp_u_quad read_length; 1330*7917SReza.Sabdar@Sun.COM }; 1331*7917SReza.Sabdar@Sun.COM 1332*7917SReza.Sabdar@Sun.COM /* NDMP_DATA_START_BACKUP */ 1333*7917SReza.Sabdar@Sun.COM 1334*7917SReza.Sabdar@Sun.COM struct ndmp_data_start_backup_request 1335*7917SReza.Sabdar@Sun.COM { 1336*7917SReza.Sabdar@Sun.COM ndmp_mover_addr mover; /* mover to receive data */ 1337*7917SReza.Sabdar@Sun.COM string bu_type<>; /* backup method to use */ 1338*7917SReza.Sabdar@Sun.COM ndmp_pval env<>; /* Parameters that may modify backup */ 1339*7917SReza.Sabdar@Sun.COM }; 1340*7917SReza.Sabdar@Sun.COM 1341*7917SReza.Sabdar@Sun.COM struct ndmp_data_start_backup_reply 1342*7917SReza.Sabdar@Sun.COM { 1343*7917SReza.Sabdar@Sun.COM ndmp_error error; 1344*7917SReza.Sabdar@Sun.COM }; 1345*7917SReza.Sabdar@Sun.COM 1346*7917SReza.Sabdar@Sun.COM /* NDMP_DATA_START_RECOVER */ 1347*7917SReza.Sabdar@Sun.COM struct ndmp_name 1348*7917SReza.Sabdar@Sun.COM { 1349*7917SReza.Sabdar@Sun.COM string name<>; 1350*7917SReza.Sabdar@Sun.COM string dest<>; 1351*7917SReza.Sabdar@Sun.COM u_short ssid; 1352*7917SReza.Sabdar@Sun.COM ndmp_u_quad fh_info; 1353*7917SReza.Sabdar@Sun.COM }; 1354*7917SReza.Sabdar@Sun.COM 1355*7917SReza.Sabdar@Sun.COM struct ndmp_data_start_recover_request 1356*7917SReza.Sabdar@Sun.COM { 1357*7917SReza.Sabdar@Sun.COM ndmp_mover_addr mover; 1358*7917SReza.Sabdar@Sun.COM ndmp_pval env<>; 1359*7917SReza.Sabdar@Sun.COM ndmp_name nlist<>; 1360*7917SReza.Sabdar@Sun.COM string bu_type<>; 1361*7917SReza.Sabdar@Sun.COM 1362*7917SReza.Sabdar@Sun.COM }; 1363*7917SReza.Sabdar@Sun.COM 1364*7917SReza.Sabdar@Sun.COM struct ndmp_data_start_recover_reply 1365*7917SReza.Sabdar@Sun.COM { 1366*7917SReza.Sabdar@Sun.COM ndmp_error error; 1367*7917SReza.Sabdar@Sun.COM }; 1368*7917SReza.Sabdar@Sun.COM 1369*7917SReza.Sabdar@Sun.COM /* NDMP_DATA_ABORT */ 1370*7917SReza.Sabdar@Sun.COM /* no request arguments */ 1371*7917SReza.Sabdar@Sun.COM 1372*7917SReza.Sabdar@Sun.COM struct ndmp_data_abort_reply 1373*7917SReza.Sabdar@Sun.COM { 1374*7917SReza.Sabdar@Sun.COM ndmp_error error; 1375*7917SReza.Sabdar@Sun.COM }; 1376*7917SReza.Sabdar@Sun.COM 1377*7917SReza.Sabdar@Sun.COM /* NDMP_DATA_STOP */ 1378*7917SReza.Sabdar@Sun.COM /* no request arguments */ 1379*7917SReza.Sabdar@Sun.COM 1380*7917SReza.Sabdar@Sun.COM struct ndmp_data_stop_reply 1381*7917SReza.Sabdar@Sun.COM { 1382*7917SReza.Sabdar@Sun.COM ndmp_error error; 1383*7917SReza.Sabdar@Sun.COM }; 1384*7917SReza.Sabdar@Sun.COM 1385*7917SReza.Sabdar@Sun.COM /* NDMP_DATA_GET_ENV */ 1386*7917SReza.Sabdar@Sun.COM /* no request arguments */ 1387*7917SReza.Sabdar@Sun.COM 1388*7917SReza.Sabdar@Sun.COM struct ndmp_data_get_env_reply 1389*7917SReza.Sabdar@Sun.COM { 1390*7917SReza.Sabdar@Sun.COM ndmp_error error; 1391*7917SReza.Sabdar@Sun.COM ndmp_pval env<>; 1392*7917SReza.Sabdar@Sun.COM }; 1393*7917SReza.Sabdar@Sun.COM /* no reply arguments */ 1394*7917SReza.Sabdar@Sun.COM 1395*7917SReza.Sabdar@Sun.COM struct ndmp_notify_data_halted_request 1396*7917SReza.Sabdar@Sun.COM { 1397*7917SReza.Sabdar@Sun.COM ndmp_data_halt_reason reason; 1398*7917SReza.Sabdar@Sun.COM string text_reason<>; 1399*7917SReza.Sabdar@Sun.COM }; 1400*7917SReza.Sabdar@Sun.COM /* no reply arguments */ 1401*7917SReza.Sabdar@Sun.COM 1402*7917SReza.Sabdar@Sun.COM 1403*7917SReza.Sabdar@Sun.COM /***********************/ 1404*7917SReza.Sabdar@Sun.COM /* DATA INTERFACE (V3) */ 1405*7917SReza.Sabdar@Sun.COM /***********************/ 1406*7917SReza.Sabdar@Sun.COM 1407*7917SReza.Sabdar@Sun.COM /* NDMP_DATA_GET_STATE */ 1408*7917SReza.Sabdar@Sun.COM /* no request arguments */ 1409*7917SReza.Sabdar@Sun.COM /* ndmp_data_operation the same as V2 */ 1410*7917SReza.Sabdar@Sun.COM 1411*7917SReza.Sabdar@Sun.COM /* invalid bit */ 1412*7917SReza.Sabdar@Sun.COM const NDMP_DATA_STATE_EST_BYTES_REMAIN_INVALID = 0x00000001; 1413*7917SReza.Sabdar@Sun.COM const NDMP_DATA_STATE_EST_TIME_REMAIN_INVALID = 0x00000002; 1414*7917SReza.Sabdar@Sun.COM 1415*7917SReza.Sabdar@Sun.COM struct ndmp_data_get_state_reply_v3 1416*7917SReza.Sabdar@Sun.COM { 1417*7917SReza.Sabdar@Sun.COM u_long invalid; 1418*7917SReza.Sabdar@Sun.COM ndmp_error error; 1419*7917SReza.Sabdar@Sun.COM ndmp_data_operation operation; 1420*7917SReza.Sabdar@Sun.COM ndmp_data_state state; 1421*7917SReza.Sabdar@Sun.COM ndmp_data_halt_reason halt_reason; 1422*7917SReza.Sabdar@Sun.COM ndmp_u_quad bytes_processed; 1423*7917SReza.Sabdar@Sun.COM ndmp_u_quad est_bytes_remain; 1424*7917SReza.Sabdar@Sun.COM u_long est_time_remain; 1425*7917SReza.Sabdar@Sun.COM ndmp_addr_v3 data_connection_addr; 1426*7917SReza.Sabdar@Sun.COM ndmp_u_quad read_offset; 1427*7917SReza.Sabdar@Sun.COM ndmp_u_quad read_length; 1428*7917SReza.Sabdar@Sun.COM }; 1429*7917SReza.Sabdar@Sun.COM 1430*7917SReza.Sabdar@Sun.COM /* NDMP_DATA_START_BACKUP */ 1431*7917SReza.Sabdar@Sun.COM struct ndmp_data_start_backup_request_v3 1432*7917SReza.Sabdar@Sun.COM { 1433*7917SReza.Sabdar@Sun.COM string bu_type<>; /* backup method to use */ 1434*7917SReza.Sabdar@Sun.COM ndmp_pval env<>; /* Parameters that may modify backup */ 1435*7917SReza.Sabdar@Sun.COM }; 1436*7917SReza.Sabdar@Sun.COM 1437*7917SReza.Sabdar@Sun.COM /* NDMP_DATA_START_RECOVER */ 1438*7917SReza.Sabdar@Sun.COM struct ndmp_name_v3 1439*7917SReza.Sabdar@Sun.COM { 1440*7917SReza.Sabdar@Sun.COM string original_path<>; 1441*7917SReza.Sabdar@Sun.COM string destination_dir<>; 1442*7917SReza.Sabdar@Sun.COM string new_name<>; /* Direct access restore only */ 1443*7917SReza.Sabdar@Sun.COM string other_name<>; /* Direct access restore only */ 1444*7917SReza.Sabdar@Sun.COM ndmp_u_quad node; /* Direct access restore only */ 1445*7917SReza.Sabdar@Sun.COM ndmp_u_quad fh_info; /* Direct access restore only */ 1446*7917SReza.Sabdar@Sun.COM }; 1447*7917SReza.Sabdar@Sun.COM 1448*7917SReza.Sabdar@Sun.COM struct ndmp_data_start_recover_request_v3 1449*7917SReza.Sabdar@Sun.COM { 1450*7917SReza.Sabdar@Sun.COM ndmp_pval env<>; 1451*7917SReza.Sabdar@Sun.COM ndmp_name_v3 nlist<>; 1452*7917SReza.Sabdar@Sun.COM string bu_type<>; 1453*7917SReza.Sabdar@Sun.COM }; 1454*7917SReza.Sabdar@Sun.COM 1455*7917SReza.Sabdar@Sun.COM /* NDMP_DATA_ABORT - same as V2 */ 1456*7917SReza.Sabdar@Sun.COM 1457*7917SReza.Sabdar@Sun.COM /* NDMP_DATA_STOP - same as V2 */ 1458*7917SReza.Sabdar@Sun.COM 1459*7917SReza.Sabdar@Sun.COM /* NDMP_DATA_GET_ENV - same as V2 */ 1460*7917SReza.Sabdar@Sun.COM 1461*7917SReza.Sabdar@Sun.COM /* NDMP_DATA_LISTEN */ 1462*7917SReza.Sabdar@Sun.COM struct ndmp_data_listen_request_v3 1463*7917SReza.Sabdar@Sun.COM { 1464*7917SReza.Sabdar@Sun.COM ndmp_addr_type addr_type; 1465*7917SReza.Sabdar@Sun.COM }; 1466*7917SReza.Sabdar@Sun.COM 1467*7917SReza.Sabdar@Sun.COM struct ndmp_data_listen_reply_v3 1468*7917SReza.Sabdar@Sun.COM { 1469*7917SReza.Sabdar@Sun.COM ndmp_error error; 1470*7917SReza.Sabdar@Sun.COM ndmp_addr_v3 data_connection_addr; 1471*7917SReza.Sabdar@Sun.COM }; 1472*7917SReza.Sabdar@Sun.COM 1473*7917SReza.Sabdar@Sun.COM /* NDMP_DATA_CONNECT */ 1474*7917SReza.Sabdar@Sun.COM struct ndmp_data_connect_request_v3 1475*7917SReza.Sabdar@Sun.COM { 1476*7917SReza.Sabdar@Sun.COM ndmp_addr_v3 addr; 1477*7917SReza.Sabdar@Sun.COM }; 1478*7917SReza.Sabdar@Sun.COM 1479*7917SReza.Sabdar@Sun.COM struct ndmp_data_connect_reply_v3 1480*7917SReza.Sabdar@Sun.COM { 1481*7917SReza.Sabdar@Sun.COM ndmp_error error; 1482*7917SReza.Sabdar@Sun.COM }; 1483*7917SReza.Sabdar@Sun.COM 1484*7917SReza.Sabdar@Sun.COM 1485*7917SReza.Sabdar@Sun.COM /***********************/ 1486*7917SReza.Sabdar@Sun.COM /* DATA INTERFACE (V4) */ 1487*7917SReza.Sabdar@Sun.COM /***********************/ 1488*7917SReza.Sabdar@Sun.COM 1489*7917SReza.Sabdar@Sun.COM struct ndmp_data_get_state_reply_v4 1490*7917SReza.Sabdar@Sun.COM { 1491*7917SReza.Sabdar@Sun.COM u_long unsupported; 1492*7917SReza.Sabdar@Sun.COM ndmp_error error; 1493*7917SReza.Sabdar@Sun.COM ndmp_data_operation operation; 1494*7917SReza.Sabdar@Sun.COM ndmp_data_state state; 1495*7917SReza.Sabdar@Sun.COM ndmp_data_halt_reason halt_reason; 1496*7917SReza.Sabdar@Sun.COM ndmp_u_quad bytes_processed; 1497*7917SReza.Sabdar@Sun.COM ndmp_u_quad est_bytes_remain; 1498*7917SReza.Sabdar@Sun.COM u_long est_time_remain; 1499*7917SReza.Sabdar@Sun.COM ndmp_addr_v4 data_connection_addr; 1500*7917SReza.Sabdar@Sun.COM ndmp_u_quad read_offset; 1501*7917SReza.Sabdar@Sun.COM ndmp_u_quad read_length; 1502*7917SReza.Sabdar@Sun.COM }; 1503*7917SReza.Sabdar@Sun.COM 1504*7917SReza.Sabdar@Sun.COM struct ndmp_data_listen_reply_v4 1505*7917SReza.Sabdar@Sun.COM { 1506*7917SReza.Sabdar@Sun.COM ndmp_error error; 1507*7917SReza.Sabdar@Sun.COM ndmp_addr_v4 connect_addr; 1508*7917SReza.Sabdar@Sun.COM }; 1509*7917SReza.Sabdar@Sun.COM 1510*7917SReza.Sabdar@Sun.COM struct ndmp_data_connect_request_v4 1511*7917SReza.Sabdar@Sun.COM { 1512*7917SReza.Sabdar@Sun.COM ndmp_addr_v4 addr; 1513*7917SReza.Sabdar@Sun.COM }; 1514*7917SReza.Sabdar@Sun.COM 1515*7917SReza.Sabdar@Sun.COM 1516*7917SReza.Sabdar@Sun.COM /* NDMP_DATA_START_BACKUP - same as V3 */ 1517*7917SReza.Sabdar@Sun.COM 1518*7917SReza.Sabdar@Sun.COM /* NDMP_DATA_START_RECOVER - same as V3 */ 1519*7917SReza.Sabdar@Sun.COM 1520*7917SReza.Sabdar@Sun.COM /* NDMP_DATA_ABORT - same as V3 */ 1521*7917SReza.Sabdar@Sun.COM 1522*7917SReza.Sabdar@Sun.COM /* NDMP_DATA_STOP - same as V3 */ 1523*7917SReza.Sabdar@Sun.COM 1524*7917SReza.Sabdar@Sun.COM /* NDMP_DATA_GET_ENV - same as V3 */ 1525*7917SReza.Sabdar@Sun.COM 1526*7917SReza.Sabdar@Sun.COM 1527*7917SReza.Sabdar@Sun.COM /*************************/ 1528*7917SReza.Sabdar@Sun.COM /* NOTIFY INTERFACE (V2) */ 1529*7917SReza.Sabdar@Sun.COM /*************************/ 1530*7917SReza.Sabdar@Sun.COM 1531*7917SReza.Sabdar@Sun.COM /* NDMP_NOTIFY_CONNECTED */ 1532*7917SReza.Sabdar@Sun.COM enum ndmp_connect_reason 1533*7917SReza.Sabdar@Sun.COM { 1534*7917SReza.Sabdar@Sun.COM NDMP_CONNECTED, /* Connect successfully */ 1535*7917SReza.Sabdar@Sun.COM NDMP_SHUTDOWN, /* Connection shutdown */ 1536*7917SReza.Sabdar@Sun.COM NDMP_REFUSED /* reach the maximum number of connections */ 1537*7917SReza.Sabdar@Sun.COM }; 1538*7917SReza.Sabdar@Sun.COM 1539*7917SReza.Sabdar@Sun.COM struct ndmp_notify_connected_request 1540*7917SReza.Sabdar@Sun.COM { 1541*7917SReza.Sabdar@Sun.COM ndmp_connect_reason reason; 1542*7917SReza.Sabdar@Sun.COM u_short protocol_version; 1543*7917SReza.Sabdar@Sun.COM string text_reason<>; 1544*7917SReza.Sabdar@Sun.COM }; 1545*7917SReza.Sabdar@Sun.COM 1546*7917SReza.Sabdar@Sun.COM /* NDMP_NOTIFY_MOVER_PAUSED */ 1547*7917SReza.Sabdar@Sun.COM struct ndmp_notify_mover_paused_request 1548*7917SReza.Sabdar@Sun.COM { 1549*7917SReza.Sabdar@Sun.COM ndmp_mover_pause_reason reason; 1550*7917SReza.Sabdar@Sun.COM ndmp_u_quad seek_position; 1551*7917SReza.Sabdar@Sun.COM }; 1552*7917SReza.Sabdar@Sun.COM /* no reply arguments */ 1553*7917SReza.Sabdar@Sun.COM 1554*7917SReza.Sabdar@Sun.COM /* NDMP_NOTIFY_MOVER_HALTED */ 1555*7917SReza.Sabdar@Sun.COM struct ndmp_notify_mover_halted_request 1556*7917SReza.Sabdar@Sun.COM { 1557*7917SReza.Sabdar@Sun.COM ndmp_mover_halt_reason reason; 1558*7917SReza.Sabdar@Sun.COM string text_reason<>; 1559*7917SReza.Sabdar@Sun.COM }; 1560*7917SReza.Sabdar@Sun.COM /* no reply arguments */ 1561*7917SReza.Sabdar@Sun.COM 1562*7917SReza.Sabdar@Sun.COM /* NDMP_NOTIFY_DATA_READ */ 1563*7917SReza.Sabdar@Sun.COM struct ndmp_notify_data_read_request 1564*7917SReza.Sabdar@Sun.COM { 1565*7917SReza.Sabdar@Sun.COM ndmp_u_quad offset; 1566*7917SReza.Sabdar@Sun.COM ndmp_u_quad length; 1567*7917SReza.Sabdar@Sun.COM }; 1568*7917SReza.Sabdar@Sun.COM /* no reply arguments */ 1569*7917SReza.Sabdar@Sun.COM 1570*7917SReza.Sabdar@Sun.COM 1571*7917SReza.Sabdar@Sun.COM /*************************/ 1572*7917SReza.Sabdar@Sun.COM /* NOTIFY INTERFACE (V3) */ 1573*7917SReza.Sabdar@Sun.COM /*************************/ 1574*7917SReza.Sabdar@Sun.COM 1575*7917SReza.Sabdar@Sun.COM /* NDMP_NOTIFY_DATA_HALTED - same as V2 */ 1576*7917SReza.Sabdar@Sun.COM 1577*7917SReza.Sabdar@Sun.COM /* NDMP_NOTIFY_CONNECTED - same as V2 */ 1578*7917SReza.Sabdar@Sun.COM 1579*7917SReza.Sabdar@Sun.COM /* NDMP_NOTIFY_MOVER_PAUSED - same as V2 */ 1580*7917SReza.Sabdar@Sun.COM 1581*7917SReza.Sabdar@Sun.COM /* NDMP_NOTIFY_MOVER_HALTED - same as V2 */ 1582*7917SReza.Sabdar@Sun.COM 1583*7917SReza.Sabdar@Sun.COM /* NDMP_NOTIFY_DATA_READ - same as V2 */ 1584*7917SReza.Sabdar@Sun.COM 1585*7917SReza.Sabdar@Sun.COM 1586*7917SReza.Sabdar@Sun.COM /*************************/ 1587*7917SReza.Sabdar@Sun.COM /* NOTIFY INTERFACE (V4) */ 1588*7917SReza.Sabdar@Sun.COM /*************************/ 1589*7917SReza.Sabdar@Sun.COM 1590*7917SReza.Sabdar@Sun.COM struct ndmp_notify_data_halted_request_v4 1591*7917SReza.Sabdar@Sun.COM { 1592*7917SReza.Sabdar@Sun.COM ndmp_data_halt_reason reason; 1593*7917SReza.Sabdar@Sun.COM }; 1594*7917SReza.Sabdar@Sun.COM 1595*7917SReza.Sabdar@Sun.COM /* NDMP_NOTIFY_CONNECTION_STATUS - same as V3 */ 1596*7917SReza.Sabdar@Sun.COM 1597*7917SReza.Sabdar@Sun.COM struct ndmp_notify_mover_halted_request_v4 1598*7917SReza.Sabdar@Sun.COM { 1599*7917SReza.Sabdar@Sun.COM ndmp_mover_halt_reason reason; 1600*7917SReza.Sabdar@Sun.COM }; 1601*7917SReza.Sabdar@Sun.COM 1602*7917SReza.Sabdar@Sun.COM /* NDMP_NOTIFY_MOVER_PAUSED - same as V3 */ 1603*7917SReza.Sabdar@Sun.COM 1604*7917SReza.Sabdar@Sun.COM /* NDMP_NOTIFY_DATA_READ - same as V3 */ 1605*7917SReza.Sabdar@Sun.COM 1606*7917SReza.Sabdar@Sun.COM 1607*7917SReza.Sabdar@Sun.COM /**********************/ 1608*7917SReza.Sabdar@Sun.COM /* LOG INTERFACE (V2) */ 1609*7917SReza.Sabdar@Sun.COM /**********************/ 1610*7917SReza.Sabdar@Sun.COM 1611*7917SReza.Sabdar@Sun.COM /* NDMP_LOG_LOG */ 1612*7917SReza.Sabdar@Sun.COM struct ndmp_log_log_request 1613*7917SReza.Sabdar@Sun.COM { 1614*7917SReza.Sabdar@Sun.COM string entry<>; 1615*7917SReza.Sabdar@Sun.COM }; 1616*7917SReza.Sabdar@Sun.COM /* no reply arguments */ 1617*7917SReza.Sabdar@Sun.COM 1618*7917SReza.Sabdar@Sun.COM /* NDMP_LOG_DEBUG */ 1619*7917SReza.Sabdar@Sun.COM enum ndmp_debug_level 1620*7917SReza.Sabdar@Sun.COM { 1621*7917SReza.Sabdar@Sun.COM NDMP_DBG_USER_INFO, 1622*7917SReza.Sabdar@Sun.COM NDMP_DBG_USER_SUMMARY, 1623*7917SReza.Sabdar@Sun.COM NDMP_DBG_USER_DETAIL, 1624*7917SReza.Sabdar@Sun.COM NDMP_DBG_DIAG_INFO, 1625*7917SReza.Sabdar@Sun.COM NDMP_DBG_DIAG_SUMMARY, 1626*7917SReza.Sabdar@Sun.COM NDMP_DBG_DIAG_DETAIL, 1627*7917SReza.Sabdar@Sun.COM NDMP_DBG_PROG_INFO, 1628*7917SReza.Sabdar@Sun.COM NDMP_DBG_PROG_SUMMARY, 1629*7917SReza.Sabdar@Sun.COM NDMP_DBG_PROG_DETAIL 1630*7917SReza.Sabdar@Sun.COM }; 1631*7917SReza.Sabdar@Sun.COM 1632*7917SReza.Sabdar@Sun.COM struct ndmp_log_debug_request 1633*7917SReza.Sabdar@Sun.COM { 1634*7917SReza.Sabdar@Sun.COM ndmp_debug_level level; 1635*7917SReza.Sabdar@Sun.COM string message<>; 1636*7917SReza.Sabdar@Sun.COM }; 1637*7917SReza.Sabdar@Sun.COM /* no reply arguments */ 1638*7917SReza.Sabdar@Sun.COM 1639*7917SReza.Sabdar@Sun.COM /* NDMP_LOG_FILE */ 1640*7917SReza.Sabdar@Sun.COM struct ndmp_log_file_request 1641*7917SReza.Sabdar@Sun.COM { 1642*7917SReza.Sabdar@Sun.COM string name<>; 1643*7917SReza.Sabdar@Sun.COM u_short ssid; 1644*7917SReza.Sabdar@Sun.COM ndmp_error error; 1645*7917SReza.Sabdar@Sun.COM }; 1646*7917SReza.Sabdar@Sun.COM /* no reply arguments */ 1647*7917SReza.Sabdar@Sun.COM 1648*7917SReza.Sabdar@Sun.COM 1649*7917SReza.Sabdar@Sun.COM /**********************/ 1650*7917SReza.Sabdar@Sun.COM /* LOG INTERFACE (V3) */ 1651*7917SReza.Sabdar@Sun.COM /**********************/ 1652*7917SReza.Sabdar@Sun.COM 1653*7917SReza.Sabdar@Sun.COM /* NDMP_LOG_MESSAGE */ 1654*7917SReza.Sabdar@Sun.COM enum ndmp_log_type 1655*7917SReza.Sabdar@Sun.COM { 1656*7917SReza.Sabdar@Sun.COM NDMP_LOG_NORMAL = 0, 1657*7917SReza.Sabdar@Sun.COM NDMP_LOG_DEBUG = 1, 1658*7917SReza.Sabdar@Sun.COM NDMP_LOG_ERROR = 2, 1659*7917SReza.Sabdar@Sun.COM NDMP_LOG_WARNING = 3 1660*7917SReza.Sabdar@Sun.COM }; 1661*7917SReza.Sabdar@Sun.COM 1662*7917SReza.Sabdar@Sun.COM struct ndmp_log_message_request_v3 1663*7917SReza.Sabdar@Sun.COM { 1664*7917SReza.Sabdar@Sun.COM ndmp_log_type log_type; 1665*7917SReza.Sabdar@Sun.COM u_long message_id; 1666*7917SReza.Sabdar@Sun.COM string entry<>; 1667*7917SReza.Sabdar@Sun.COM }; 1668*7917SReza.Sabdar@Sun.COM /* no reply arguments */ 1669*7917SReza.Sabdar@Sun.COM 1670*7917SReza.Sabdar@Sun.COM /* NDMP_LOG_FILE */ 1671*7917SReza.Sabdar@Sun.COM struct ndmp_log_file_request_v3 1672*7917SReza.Sabdar@Sun.COM { 1673*7917SReza.Sabdar@Sun.COM string name<>; 1674*7917SReza.Sabdar@Sun.COM ndmp_error error; 1675*7917SReza.Sabdar@Sun.COM }; 1676*7917SReza.Sabdar@Sun.COM /* no reply arguments */ 1677*7917SReza.Sabdar@Sun.COM 1678*7917SReza.Sabdar@Sun.COM 1679*7917SReza.Sabdar@Sun.COM /**********************/ 1680*7917SReza.Sabdar@Sun.COM /* LOG INTERFACE (V4) */ 1681*7917SReza.Sabdar@Sun.COM /**********************/ 1682*7917SReza.Sabdar@Sun.COM 1683*7917SReza.Sabdar@Sun.COM enum ndmp_has_associated_message 1684*7917SReza.Sabdar@Sun.COM { 1685*7917SReza.Sabdar@Sun.COM NDMP_NO_ASSOCIATED_MESSAGE = 0, 1686*7917SReza.Sabdar@Sun.COM NDMP_HAS_ASSOCIATED_MESSAGE = 1 1687*7917SReza.Sabdar@Sun.COM }; 1688*7917SReza.Sabdar@Sun.COM 1689*7917SReza.Sabdar@Sun.COM enum ndmp_recovery_status 1690*7917SReza.Sabdar@Sun.COM { 1691*7917SReza.Sabdar@Sun.COM NDMP_RECOVERY_SUCCESSFUL = 0, 1692*7917SReza.Sabdar@Sun.COM NDMP_RECOVERY_FAILED_PERMISSION = 1, 1693*7917SReza.Sabdar@Sun.COM NDMP_RECOVERY_FAILED_NOT_FOUND = 2, 1694*7917SReza.Sabdar@Sun.COM NDMP_RECOVERY_FAILED_NO_DIRECTORY = 3, 1695*7917SReza.Sabdar@Sun.COM NDMP_RECOVERY_FAILED_OUT_OF_MEMORY = 4, 1696*7917SReza.Sabdar@Sun.COM NDMP_RECOVERY_FAILED_IO_ERROR = 5, 1697*7917SReza.Sabdar@Sun.COM NDMP_RECOVERY_FAILED_UNDEFINED_ERROR = 6, 1698*7917SReza.Sabdar@Sun.COM NDMP_RECOVERY_FAILED_FILE_PATH_EXISTS = 7 1699*7917SReza.Sabdar@Sun.COM }; 1700*7917SReza.Sabdar@Sun.COM 1701*7917SReza.Sabdar@Sun.COM struct ndmp_log_message_request_v4 1702*7917SReza.Sabdar@Sun.COM { 1703*7917SReza.Sabdar@Sun.COM ndmp_log_type log_type; 1704*7917SReza.Sabdar@Sun.COM u_long message_id; 1705*7917SReza.Sabdar@Sun.COM string entry<>; 1706*7917SReza.Sabdar@Sun.COM ndmp_has_associated_message associated_message_valid; 1707*7917SReza.Sabdar@Sun.COM u_long associated_message_sequence; 1708*7917SReza.Sabdar@Sun.COM }; 1709*7917SReza.Sabdar@Sun.COM 1710*7917SReza.Sabdar@Sun.COM struct ndmp_log_file_request_v4 1711*7917SReza.Sabdar@Sun.COM { 1712*7917SReza.Sabdar@Sun.COM string name<>; 1713*7917SReza.Sabdar@Sun.COM ndmp_recovery_status recovery_status; 1714*7917SReza.Sabdar@Sun.COM }; 1715*7917SReza.Sabdar@Sun.COM 1716*7917SReza.Sabdar@Sun.COM 1717*7917SReza.Sabdar@Sun.COM 1718*7917SReza.Sabdar@Sun.COM /*******************************/ 1719*7917SReza.Sabdar@Sun.COM /* FILE HISTORY INTERFACE (V2) */ 1720*7917SReza.Sabdar@Sun.COM /*******************************/ 1721*7917SReza.Sabdar@Sun.COM 1722*7917SReza.Sabdar@Sun.COM /* NDMP_FH_ADD_UNIX_PATH */ 1723*7917SReza.Sabdar@Sun.COM typedef string ndmp_unix_path<>; 1724*7917SReza.Sabdar@Sun.COM enum ndmp_file_type 1725*7917SReza.Sabdar@Sun.COM { 1726*7917SReza.Sabdar@Sun.COM NDMP_FILE_DIR = 0, 1727*7917SReza.Sabdar@Sun.COM NDMP_FILE_FIFO = 1, 1728*7917SReza.Sabdar@Sun.COM NDMP_FILE_CSPEC = 2, 1729*7917SReza.Sabdar@Sun.COM NDMP_FILE_BSPEC = 3, 1730*7917SReza.Sabdar@Sun.COM NDMP_FILE_REG = 4, 1731*7917SReza.Sabdar@Sun.COM NDMP_FILE_SLINK = 5, 1732*7917SReza.Sabdar@Sun.COM NDMP_FILE_SOCK = 6, 1733*7917SReza.Sabdar@Sun.COM NDMP_FILE_REGISTRY = 7, 1734*7917SReza.Sabdar@Sun.COM NDMP_FILE_OTHER = 8 1735*7917SReza.Sabdar@Sun.COM }; 1736*7917SReza.Sabdar@Sun.COM 1737*7917SReza.Sabdar@Sun.COM struct ndmp_unix_file_stat 1738*7917SReza.Sabdar@Sun.COM { 1739*7917SReza.Sabdar@Sun.COM ndmp_file_type ftype; 1740*7917SReza.Sabdar@Sun.COM u_long mtime; 1741*7917SReza.Sabdar@Sun.COM u_long atime; 1742*7917SReza.Sabdar@Sun.COM u_long ctime; 1743*7917SReza.Sabdar@Sun.COM u_long uid; 1744*7917SReza.Sabdar@Sun.COM u_long gid; 1745*7917SReza.Sabdar@Sun.COM u_long mode; 1746*7917SReza.Sabdar@Sun.COM ndmp_u_quad size; 1747*7917SReza.Sabdar@Sun.COM ndmp_u_quad fh_info; 1748*7917SReza.Sabdar@Sun.COM }; 1749*7917SReza.Sabdar@Sun.COM 1750*7917SReza.Sabdar@Sun.COM struct ndmp_fh_unix_path 1751*7917SReza.Sabdar@Sun.COM { 1752*7917SReza.Sabdar@Sun.COM ndmp_unix_path name; 1753*7917SReza.Sabdar@Sun.COM ndmp_unix_file_stat fstat; 1754*7917SReza.Sabdar@Sun.COM }; 1755*7917SReza.Sabdar@Sun.COM 1756*7917SReza.Sabdar@Sun.COM struct ndmp_fh_add_unix_path_request 1757*7917SReza.Sabdar@Sun.COM { 1758*7917SReza.Sabdar@Sun.COM ndmp_fh_unix_path paths<>; 1759*7917SReza.Sabdar@Sun.COM }; 1760*7917SReza.Sabdar@Sun.COM /* no reply arguments */ 1761*7917SReza.Sabdar@Sun.COM 1762*7917SReza.Sabdar@Sun.COM /* NDMP_FH_ADD_UNIX_DIR */ 1763*7917SReza.Sabdar@Sun.COM struct ndmp_fh_unix_dir 1764*7917SReza.Sabdar@Sun.COM { 1765*7917SReza.Sabdar@Sun.COM ndmp_unix_path name; 1766*7917SReza.Sabdar@Sun.COM u_long node; 1767*7917SReza.Sabdar@Sun.COM u_long parent; 1768*7917SReza.Sabdar@Sun.COM }; 1769*7917SReza.Sabdar@Sun.COM 1770*7917SReza.Sabdar@Sun.COM struct ndmp_fh_add_unix_dir_request 1771*7917SReza.Sabdar@Sun.COM { 1772*7917SReza.Sabdar@Sun.COM ndmp_fh_unix_dir dirs<>; 1773*7917SReza.Sabdar@Sun.COM }; 1774*7917SReza.Sabdar@Sun.COM /* no reply arguments */ 1775*7917SReza.Sabdar@Sun.COM 1776*7917SReza.Sabdar@Sun.COM /* NDMP_FH_ADD_UNIX_NODE */ 1777*7917SReza.Sabdar@Sun.COM struct ndmp_fh_unix_node 1778*7917SReza.Sabdar@Sun.COM { 1779*7917SReza.Sabdar@Sun.COM ndmp_unix_file_stat fstat; 1780*7917SReza.Sabdar@Sun.COM u_long node; 1781*7917SReza.Sabdar@Sun.COM }; 1782*7917SReza.Sabdar@Sun.COM 1783*7917SReza.Sabdar@Sun.COM struct ndmp_fh_add_unix_node_request 1784*7917SReza.Sabdar@Sun.COM { 1785*7917SReza.Sabdar@Sun.COM ndmp_fh_unix_node nodes<>; 1786*7917SReza.Sabdar@Sun.COM }; 1787*7917SReza.Sabdar@Sun.COM /* no reply arguments */ 1788*7917SReza.Sabdar@Sun.COM 1789*7917SReza.Sabdar@Sun.COM 1790*7917SReza.Sabdar@Sun.COM /********************************/ 1791*7917SReza.Sabdar@Sun.COM /* FILE HISTORY INTERFACE (V3) */ 1792*7917SReza.Sabdar@Sun.COM /********************************/ 1793*7917SReza.Sabdar@Sun.COM 1794*7917SReza.Sabdar@Sun.COM /* NDMP_FH_ADD_FILE */ 1795*7917SReza.Sabdar@Sun.COM enum ndmp_fs_type 1796*7917SReza.Sabdar@Sun.COM { 1797*7917SReza.Sabdar@Sun.COM NDMP_FS_UNIX = 0, 1798*7917SReza.Sabdar@Sun.COM NDMP_FS_NT = 1, 1799*7917SReza.Sabdar@Sun.COM NDMP_FS_OTHER = 2 1800*7917SReza.Sabdar@Sun.COM }; 1801*7917SReza.Sabdar@Sun.COM 1802*7917SReza.Sabdar@Sun.COM 1803*7917SReza.Sabdar@Sun.COM typedef string ndmp_path_v3<>; 1804*7917SReza.Sabdar@Sun.COM struct ndmp_nt_path_v3 1805*7917SReza.Sabdar@Sun.COM { 1806*7917SReza.Sabdar@Sun.COM ndmp_path_v3 nt_path; 1807*7917SReza.Sabdar@Sun.COM ndmp_path_v3 dos_path; 1808*7917SReza.Sabdar@Sun.COM }; 1809*7917SReza.Sabdar@Sun.COM 1810*7917SReza.Sabdar@Sun.COM union ndmp_file_name_v3 switch (ndmp_fs_type fs_type) 1811*7917SReza.Sabdar@Sun.COM { 1812*7917SReza.Sabdar@Sun.COM case NDMP_FS_UNIX: 1813*7917SReza.Sabdar@Sun.COM ndmp_path_v3 unix_name; 1814*7917SReza.Sabdar@Sun.COM case NDMP_FS_NT: 1815*7917SReza.Sabdar@Sun.COM ndmp_nt_path_v3 nt_name; 1816*7917SReza.Sabdar@Sun.COM default: 1817*7917SReza.Sabdar@Sun.COM ndmp_path_v3 other_name; 1818*7917SReza.Sabdar@Sun.COM }; 1819*7917SReza.Sabdar@Sun.COM 1820*7917SReza.Sabdar@Sun.COM /* invalid bit */ 1821*7917SReza.Sabdar@Sun.COM const NDMP_FILE_STAT_ATIME_INVALID = 0x00000001; 1822*7917SReza.Sabdar@Sun.COM const NDMP_FILE_STAT_CTIME_INVALID = 0x00000002; 1823*7917SReza.Sabdar@Sun.COM const NDMP_FILE_STAT_GROUP_INVALID = 0x00000004; 1824*7917SReza.Sabdar@Sun.COM 1825*7917SReza.Sabdar@Sun.COM struct ndmp_file_stat_v3 1826*7917SReza.Sabdar@Sun.COM { 1827*7917SReza.Sabdar@Sun.COM u_long invalid; 1828*7917SReza.Sabdar@Sun.COM ndmp_fs_type fs_type; 1829*7917SReza.Sabdar@Sun.COM ndmp_file_type ftype; 1830*7917SReza.Sabdar@Sun.COM u_long mtime; 1831*7917SReza.Sabdar@Sun.COM u_long atime; 1832*7917SReza.Sabdar@Sun.COM u_long ctime; 1833*7917SReza.Sabdar@Sun.COM u_long owner; /* uid for UNIX, owner for NT */ 1834*7917SReza.Sabdar@Sun.COM u_long group; /* gid for UNIX, NA for NT */ 1835*7917SReza.Sabdar@Sun.COM u_long fattr; /* mode for UNIX, fattr for NT */ 1836*7917SReza.Sabdar@Sun.COM ndmp_u_quad size; 1837*7917SReza.Sabdar@Sun.COM u_long links; 1838*7917SReza.Sabdar@Sun.COM }; 1839*7917SReza.Sabdar@Sun.COM 1840*7917SReza.Sabdar@Sun.COM 1841*7917SReza.Sabdar@Sun.COM /* one file could have both UNIX and NT name and attributes */ 1842*7917SReza.Sabdar@Sun.COM struct ndmp_file_v3 1843*7917SReza.Sabdar@Sun.COM { 1844*7917SReza.Sabdar@Sun.COM ndmp_file_name_v3 names<>; 1845*7917SReza.Sabdar@Sun.COM ndmp_file_stat_v3 stats<>; 1846*7917SReza.Sabdar@Sun.COM ndmp_u_quad node; /* used for the direct access */ 1847*7917SReza.Sabdar@Sun.COM ndmp_u_quad fh_info; /* used for the direct access */ 1848*7917SReza.Sabdar@Sun.COM }; 1849*7917SReza.Sabdar@Sun.COM 1850*7917SReza.Sabdar@Sun.COM struct ndmp_fh_add_file_request_v3 1851*7917SReza.Sabdar@Sun.COM { 1852*7917SReza.Sabdar@Sun.COM ndmp_file_v3 files<>; 1853*7917SReza.Sabdar@Sun.COM }; 1854*7917SReza.Sabdar@Sun.COM /* no reply arguments */ 1855*7917SReza.Sabdar@Sun.COM 1856*7917SReza.Sabdar@Sun.COM /* NDMP_FH_ADD_DIR */ 1857*7917SReza.Sabdar@Sun.COM 1858*7917SReza.Sabdar@Sun.COM struct ndmp_dir_v3 1859*7917SReza.Sabdar@Sun.COM { 1860*7917SReza.Sabdar@Sun.COM ndmp_file_name_v3 names<>; 1861*7917SReza.Sabdar@Sun.COM ndmp_u_quad node; 1862*7917SReza.Sabdar@Sun.COM ndmp_u_quad parent; 1863*7917SReza.Sabdar@Sun.COM }; 1864*7917SReza.Sabdar@Sun.COM 1865*7917SReza.Sabdar@Sun.COM struct ndmp_fh_add_dir_request_v3 1866*7917SReza.Sabdar@Sun.COM { 1867*7917SReza.Sabdar@Sun.COM ndmp_dir_v3 dirs<>; 1868*7917SReza.Sabdar@Sun.COM }; 1869*7917SReza.Sabdar@Sun.COM /* no reply arguments */ 1870*7917SReza.Sabdar@Sun.COM 1871*7917SReza.Sabdar@Sun.COM /* NDMP_FH_ADD_NODE */ 1872*7917SReza.Sabdar@Sun.COM 1873*7917SReza.Sabdar@Sun.COM struct ndmp_node_v3 1874*7917SReza.Sabdar@Sun.COM { 1875*7917SReza.Sabdar@Sun.COM ndmp_file_stat_v3 stats<>; 1876*7917SReza.Sabdar@Sun.COM ndmp_u_quad node; 1877*7917SReza.Sabdar@Sun.COM ndmp_u_quad fh_info; 1878*7917SReza.Sabdar@Sun.COM }; 1879*7917SReza.Sabdar@Sun.COM 1880*7917SReza.Sabdar@Sun.COM struct ndmp_fh_add_node_request_v3 1881*7917SReza.Sabdar@Sun.COM { 1882*7917SReza.Sabdar@Sun.COM ndmp_node_v3 nodes<>; 1883*7917SReza.Sabdar@Sun.COM }; 1884*7917SReza.Sabdar@Sun.COM /* no reply arguments */ 1885*7917SReza.Sabdar@Sun.COM 1886*7917SReza.Sabdar@Sun.COM 1887*7917SReza.Sabdar@Sun.COM /********************************/ 1888*7917SReza.Sabdar@Sun.COM /* FILE HISTORY INTERFACE (V4) */ 1889*7917SReza.Sabdar@Sun.COM /********************************/ 1890*7917SReza.Sabdar@Sun.COM 1891*7917SReza.Sabdar@Sun.COM /* NDMP_FH_ADD_FILE - same as V3 */ 1892*7917SReza.Sabdar@Sun.COM 1893*7917SReza.Sabdar@Sun.COM /* NDMP_FH_ADD_DIR - same as V3 */ 1894*7917SReza.Sabdar@Sun.COM 1895*7917SReza.Sabdar@Sun.COM /* NDMP_FH_ADD_NODE - same as V3 */ 1896*7917SReza.Sabdar@Sun.COM 1897*7917SReza.Sabdar@Sun.COM 1898*7917SReza.Sabdar@Sun.COM 1899*7917SReza.Sabdar@Sun.COM /********************************/ 1900*7917SReza.Sabdar@Sun.COM /* NDMP requests */ 1901*7917SReza.Sabdar@Sun.COM /********************************/ 1902*7917SReza.Sabdar@Sun.COM /* CONNECT */ 1903*7917SReza.Sabdar@Sun.COM typedef ndmp_auth_text ndmp_auth_text_v2; 1904*7917SReza.Sabdar@Sun.COM typedef ndmp_auth_text_v3 ndmp_auth_text_v4; 1905*7917SReza.Sabdar@Sun.COM typedef ndmp_auth_md5 ndmp_auth_md5_v2; 1906*7917SReza.Sabdar@Sun.COM typedef ndmp_auth_md5_v3 ndmp_auth_md5_v4; 1907*7917SReza.Sabdar@Sun.COM typedef ndmp_auth_data ndmp_auth_data_v2; 1908*7917SReza.Sabdar@Sun.COM typedef ndmp_auth_data_v3 ndmp_auth_data_v4; 1909*7917SReza.Sabdar@Sun.COM 1910*7917SReza.Sabdar@Sun.COM typedef ndmp_connect_open_request ndmp_connect_open_request_v2; 1911*7917SReza.Sabdar@Sun.COM typedef ndmp_connect_open_request ndmp_connect_open_request_v3; 1912*7917SReza.Sabdar@Sun.COM typedef ndmp_connect_open_request ndmp_connect_open_request_v4; 1913*7917SReza.Sabdar@Sun.COM typedef ndmp_connect_open_reply ndmp_connect_open_reply_v2; 1914*7917SReza.Sabdar@Sun.COM typedef ndmp_connect_open_reply ndmp_connect_open_reply_v3; 1915*7917SReza.Sabdar@Sun.COM typedef ndmp_connect_open_reply ndmp_connect_open_reply_v4; 1916*7917SReza.Sabdar@Sun.COM typedef ndmp_connect_client_auth_request ndmp_connect_client_auth_request_v2; 1917*7917SReza.Sabdar@Sun.COM typedef ndmp_connect_client_auth_request_v3 ndmp_connect_client_auth_request_v4; 1918*7917SReza.Sabdar@Sun.COM typedef ndmp_connect_client_auth_reply ndmp_connect_client_auth_reply_v2; 1919*7917SReza.Sabdar@Sun.COM typedef ndmp_connect_client_auth_reply_v3 ndmp_connect_client_auth_reply_v4; 1920*7917SReza.Sabdar@Sun.COM typedef ndmp_connect_server_auth_request ndmp_connect_server_auth_request_v2; 1921*7917SReza.Sabdar@Sun.COM typedef ndmp_connect_server_auth_request ndmp_connect_server_auth_request_v3; 1922*7917SReza.Sabdar@Sun.COM typedef ndmp_connect_server_auth_request ndmp_connect_server_auth_request_v4; 1923*7917SReza.Sabdar@Sun.COM typedef ndmp_connect_server_auth_reply ndmp_connect_server_auth_reply_v2; 1924*7917SReza.Sabdar@Sun.COM typedef ndmp_connect_server_auth_reply ndmp_connect_server_auth_reply_v3; 1925*7917SReza.Sabdar@Sun.COM typedef ndmp_connect_server_auth_reply ndmp_connect_server_auth_reply_v4; 1926*7917SReza.Sabdar@Sun.COM 1927*7917SReza.Sabdar@Sun.COM 1928*7917SReza.Sabdar@Sun.COM /* CONFIG */ 1929*7917SReza.Sabdar@Sun.COM typedef ndmp_config_get_host_info_reply ndmp_config_get_host_info_reply_v2; 1930*7917SReza.Sabdar@Sun.COM typedef ndmp_config_get_host_info_reply_v3 ndmp_config_get_host_info_reply_v4; 1931*7917SReza.Sabdar@Sun.COM typedef ndmp_config_get_butype_attr_request ndmp_config_get_butype_attr_request_v2; 1932*7917SReza.Sabdar@Sun.COM typedef ndmp_config_get_butype_attr_reply ndmp_config_get_butype_attr_reply_v2; 1933*7917SReza.Sabdar@Sun.COM typedef ndmp_config_get_mover_type_reply ndmp_config_get_mover_type_reply_v2; 1934*7917SReza.Sabdar@Sun.COM typedef ndmp_config_get_auth_attr_request ndmp_config_get_auth_attr_request_v2; 1935*7917SReza.Sabdar@Sun.COM typedef ndmp_config_get_auth_attr_request ndmp_config_get_auth_attr_request_v3; 1936*7917SReza.Sabdar@Sun.COM typedef ndmp_config_get_auth_attr_request ndmp_config_get_auth_attr_request_v4; 1937*7917SReza.Sabdar@Sun.COM typedef ndmp_config_get_auth_attr_reply ndmp_config_get_auth_attr_reply_v2; 1938*7917SReza.Sabdar@Sun.COM typedef ndmp_config_get_auth_attr_reply ndmp_config_get_auth_attr_reply_v3; 1939*7917SReza.Sabdar@Sun.COM typedef ndmp_config_get_auth_attr_reply ndmp_config_get_auth_attr_reply_v4; 1940*7917SReza.Sabdar@Sun.COM typedef ndmp_config_get_connection_type_reply_v3 ndmp_config_get_connection_type_reply_v4; 1941*7917SReza.Sabdar@Sun.COM typedef ndmp_config_get_server_info_reply_v3 ndmp_config_get_server_info_reply_v4; 1942*7917SReza.Sabdar@Sun.COM typedef ndmp_fs_info_v3 ndmp_fs_info_v4; 1943*7917SReza.Sabdar@Sun.COM typedef ndmp_config_get_fs_info_reply_v3 ndmp_config_get_fs_info_reply_v4; 1944*7917SReza.Sabdar@Sun.COM typedef ndmp_device_info_v3 ndmp_device_info_v4; 1945*7917SReza.Sabdar@Sun.COM typedef ndmp_config_get_tape_info_reply_v3 ndmp_config_get_tape_info_reply_v4; 1946*7917SReza.Sabdar@Sun.COM typedef ndmp_config_get_scsi_info_reply_v3 ndmp_config_get_scsi_info_reply_v4; 1947*7917SReza.Sabdar@Sun.COM typedef ndmp_config_get_ext_list_reply ndmp_config_get_ext_list_reply_v4; 1948*7917SReza.Sabdar@Sun.COM typedef ndmp_config_set_ext_list_request ndmp_config_set_ext_list_request_v4; 1949*7917SReza.Sabdar@Sun.COM typedef ndmp_config_set_ext_list_reply ndmp_config_set_ext_list_reply_v4; 1950*7917SReza.Sabdar@Sun.COM 1951*7917SReza.Sabdar@Sun.COM 1952*7917SReza.Sabdar@Sun.COM /* SCSI */ 1953*7917SReza.Sabdar@Sun.COM typedef ndmp_scsi_open_request ndmp_scsi_open_request_v2; 1954*7917SReza.Sabdar@Sun.COM typedef ndmp_scsi_open_request_v3 ndmp_scsi_open_request_v4; 1955*7917SReza.Sabdar@Sun.COM typedef ndmp_scsi_open_reply ndmp_scsi_open_reply_v2; 1956*7917SReza.Sabdar@Sun.COM typedef ndmp_scsi_open_reply ndmp_scsi_open_reply_v3; 1957*7917SReza.Sabdar@Sun.COM typedef ndmp_scsi_open_reply ndmp_scsi_open_reply_v4; 1958*7917SReza.Sabdar@Sun.COM typedef ndmp_scsi_close_reply ndmp_scsi_close_reply_v2; 1959*7917SReza.Sabdar@Sun.COM typedef ndmp_scsi_close_reply ndmp_scsi_close_reply_v3; 1960*7917SReza.Sabdar@Sun.COM typedef ndmp_scsi_close_reply ndmp_scsi_close_reply_v4; 1961*7917SReza.Sabdar@Sun.COM typedef ndmp_scsi_get_state_reply ndmp_scsi_get_state_reply_v2; 1962*7917SReza.Sabdar@Sun.COM typedef ndmp_scsi_get_state_reply ndmp_scsi_get_state_reply_v3; 1963*7917SReza.Sabdar@Sun.COM typedef ndmp_scsi_get_state_reply ndmp_scsi_get_state_reply_v4; 1964*7917SReza.Sabdar@Sun.COM typedef ndmp_scsi_set_target_request ndmp_scsi_set_target_request_v2; 1965*7917SReza.Sabdar@Sun.COM typedef ndmp_scsi_set_target_reply ndmp_scsi_set_target_reply_v2; 1966*7917SReza.Sabdar@Sun.COM typedef ndmp_scsi_set_target_reply ndmp_scsi_set_target_reply_v3; 1967*7917SReza.Sabdar@Sun.COM typedef ndmp_scsi_reset_device_reply ndmp_scsi_reset_device_reply_v2; 1968*7917SReza.Sabdar@Sun.COM typedef ndmp_scsi_reset_device_reply ndmp_scsi_reset_device_reply_v3; 1969*7917SReza.Sabdar@Sun.COM typedef ndmp_scsi_reset_device_reply ndmp_scsi_reset_device_reply_v4; 1970*7917SReza.Sabdar@Sun.COM typedef ndmp_scsi_reset_bus_reply ndmp_scsi_reset_bus_reply_v2; 1971*7917SReza.Sabdar@Sun.COM typedef ndmp_scsi_reset_bus_reply ndmp_scsi_reset_bus_reply_v3; 1972*7917SReza.Sabdar@Sun.COM typedef ndmp_execute_cdb_request ndmp_scsi_execute_cdb_request_v2; 1973*7917SReza.Sabdar@Sun.COM typedef ndmp_execute_cdb_request ndmp_scsi_execute_cdb_request_v3; 1974*7917SReza.Sabdar@Sun.COM typedef ndmp_execute_cdb_request ndmp_scsi_execute_cdb_request_v4; 1975*7917SReza.Sabdar@Sun.COM typedef ndmp_execute_cdb_reply ndmp_scsi_execute_cdb_reply_v2; 1976*7917SReza.Sabdar@Sun.COM typedef ndmp_execute_cdb_reply ndmp_scsi_execute_cdb_reply_v3; 1977*7917SReza.Sabdar@Sun.COM typedef ndmp_execute_cdb_reply ndmp_scsi_execute_cdb_reply_v4; 1978*7917SReza.Sabdar@Sun.COM 1979*7917SReza.Sabdar@Sun.COM 1980*7917SReza.Sabdar@Sun.COM /* TAPE */ 1981*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_open_request ndmp_tape_open_request_v2; 1982*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_open_request_v3 ndmp_tape_open_request_v4; 1983*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_open_reply ndmp_tape_open_reply_v2; 1984*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_open_reply ndmp_tape_open_reply_v3; 1985*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_open_reply ndmp_tape_open_reply_v4; 1986*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_close_reply ndmp_tape_close_reply_v2; 1987*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_close_reply ndmp_tape_close_reply_v3; 1988*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_close_reply ndmp_tape_close_reply_v4; 1989*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_get_state_reply ndmp_tape_get_state_reply_v2; 1990*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_mtio_request ndmp_tape_mtio_request_v2; 1991*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_mtio_request ndmp_tape_mtio_request_v3; 1992*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_mtio_request ndmp_tape_mtio_request_v4; 1993*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_mtio_reply ndmp_tape_mtio_reply_v2; 1994*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_mtio_reply ndmp_tape_mtio_reply_v3; 1995*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_mtio_reply ndmp_tape_mtio_reply_v4; 1996*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_write_request ndmp_tape_write_request_v2; 1997*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_write_request ndmp_tape_write_request_v3; 1998*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_write_request ndmp_tape_write_request_v4; 1999*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_write_reply ndmp_tape_write_reply_v2; 2000*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_write_reply ndmp_tape_write_reply_v3; 2001*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_write_reply ndmp_tape_write_reply_v4; 2002*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_read_request ndmp_tape_read_request_v2; 2003*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_read_request ndmp_tape_read_request_v3; 2004*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_read_request ndmp_tape_read_request_v4; 2005*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_read_reply ndmp_tape_read_reply_v2; 2006*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_read_reply ndmp_tape_read_reply_v3; 2007*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_read_reply ndmp_tape_read_reply_v4; 2008*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_execute_cdb_request ndmp_tape_execute_cdb_request_v2; 2009*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_execute_cdb_request ndmp_tape_execute_cdb_request_v3; 2010*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_execute_cdb_request ndmp_tape_execute_cdb_request_v4; 2011*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_execute_cdb_reply ndmp_tape_execute_cdb_reply_v2; 2012*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_execute_cdb_reply ndmp_tape_execute_cdb_reply_v3; 2013*7917SReza.Sabdar@Sun.COM typedef ndmp_tape_execute_cdb_reply ndmp_tape_execute_cdb_reply_v4; 2014*7917SReza.Sabdar@Sun.COM 2015*7917SReza.Sabdar@Sun.COM 2016*7917SReza.Sabdar@Sun.COM /* MOVER */ 2017*7917SReza.Sabdar@Sun.COM typedef ndmp_fc_addr_v3 ndmp_fc_addr; 2018*7917SReza.Sabdar@Sun.COM typedef ndmp_ipc_addr_v3 ndmp_ipc_addr; 2019*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_get_state_reply ndmp_mover_get_state_reply_v2; 2020*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_listen_request ndmp_mover_listen_request_v2; 2021*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_listen_request ndmp_mover_listen_request_v3; 2022*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_listen_request ndmp_mover_listen_request_v4; 2023*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_listen_reply ndmp_mover_listen_reply_v2; 2024*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_set_record_size_request ndmp_mover_set_record_size_request_v2; 2025*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_set_record_size_request ndmp_mover_set_record_size_request_v3; 2026*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_set_record_size_request ndmp_mover_set_record_size_request_v4; 2027*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_set_record_size_reply ndmp_mover_set_record_size_reply_v2; 2028*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_set_record_size_reply ndmp_mover_set_record_size_reply_v3; 2029*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_set_record_size_reply ndmp_mover_set_record_size_reply_v4; 2030*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_set_window_request ndmp_mover_set_window_request_v2; 2031*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_set_window_request ndmp_mover_set_window_request_v3; 2032*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_set_window_request ndmp_mover_set_window_request_v4; 2033*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_set_window_reply ndmp_mover_set_window_reply_v2; 2034*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_set_window_reply ndmp_mover_set_window_reply_v3; 2035*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_set_window_reply ndmp_mover_set_window_reply_v4; 2036*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_continue_reply ndmp_mover_continue_reply_v2; 2037*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_continue_reply ndmp_mover_continue_reply_v3; 2038*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_continue_reply ndmp_mover_continue_reply_v4; 2039*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_abort_reply ndmp_mover_abort_reply_v2; 2040*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_abort_reply ndmp_mover_abort_reply_v3; 2041*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_abort_reply ndmp_mover_abort_reply_v4; 2042*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_stop_reply ndmp_mover_stop_reply_v2; 2043*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_stop_reply ndmp_mover_stop_reply_v3; 2044*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_stop_reply ndmp_mover_stop_reply_v4; 2045*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_read_request ndmp_mover_read_request_v2; 2046*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_read_request ndmp_mover_read_request_v3; 2047*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_read_request ndmp_mover_read_request_v4; 2048*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_read_reply ndmp_mover_read_reply_v2; 2049*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_read_reply ndmp_mover_read_reply_v3; 2050*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_read_reply ndmp_mover_read_reply_v4; 2051*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_close_reply ndmp_mover_close_reply_v2; 2052*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_close_reply ndmp_mover_close_reply_v3; 2053*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_close_reply ndmp_mover_close_reply_v4; 2054*7917SReza.Sabdar@Sun.COM typedef ndmp_mover_connect_reply_v3 ndmp_mover_connect_reply_v4; 2055*7917SReza.Sabdar@Sun.COM 2056*7917SReza.Sabdar@Sun.COM 2057*7917SReza.Sabdar@Sun.COM /* DATA */ 2058*7917SReza.Sabdar@Sun.COM typedef ndmp_data_get_state_reply ndmp_data_get_state_reply_v2; 2059*7917SReza.Sabdar@Sun.COM typedef ndmp_data_start_backup_request ndmp_data_start_backup_request_v2; 2060*7917SReza.Sabdar@Sun.COM typedef ndmp_data_start_backup_request_v3 ndmp_data_start_backup_request_v4; 2061*7917SReza.Sabdar@Sun.COM typedef ndmp_data_start_backup_reply ndmp_data_start_backup_reply_v2; 2062*7917SReza.Sabdar@Sun.COM typedef ndmp_data_start_backup_reply ndmp_data_start_backup_reply_v3; 2063*7917SReza.Sabdar@Sun.COM typedef ndmp_data_start_backup_reply ndmp_data_start_backup_reply_v4; 2064*7917SReza.Sabdar@Sun.COM typedef ndmp_name ndmp_name_v2; 2065*7917SReza.Sabdar@Sun.COM typedef ndmp_data_start_recover_request ndmp_data_start_recover_request_v2; 2066*7917SReza.Sabdar@Sun.COM typedef ndmp_data_start_recover_request_v3 ndmp_data_start_recover_request_v4; 2067*7917SReza.Sabdar@Sun.COM typedef ndmp_data_start_recover_reply ndmp_data_start_recover_reply_v2; 2068*7917SReza.Sabdar@Sun.COM typedef ndmp_data_start_recover_reply ndmp_data_start_recover_reply_v3; 2069*7917SReza.Sabdar@Sun.COM typedef ndmp_data_start_recover_reply ndmp_data_start_recover_reply_v4; 2070*7917SReza.Sabdar@Sun.COM typedef ndmp_data_start_recover_reply ndmp_data_start_recover_filehist_reply_v4; 2071*7917SReza.Sabdar@Sun.COM typedef ndmp_data_abort_reply ndmp_data_abort_reply_v2; 2072*7917SReza.Sabdar@Sun.COM typedef ndmp_data_abort_reply ndmp_data_abort_reply_v3; 2073*7917SReza.Sabdar@Sun.COM typedef ndmp_data_abort_reply ndmp_data_abort_reply_v4; 2074*7917SReza.Sabdar@Sun.COM typedef ndmp_data_stop_reply ndmp_data_stop_reply_v2; 2075*7917SReza.Sabdar@Sun.COM typedef ndmp_data_stop_reply ndmp_data_stop_reply_v3; 2076*7917SReza.Sabdar@Sun.COM typedef ndmp_data_stop_reply ndmp_data_stop_reply_v4; 2077*7917SReza.Sabdar@Sun.COM typedef ndmp_data_get_env_reply ndmp_data_get_env_reply_v2; 2078*7917SReza.Sabdar@Sun.COM typedef ndmp_data_get_env_reply ndmp_data_get_env_reply_v3; 2079*7917SReza.Sabdar@Sun.COM typedef ndmp_data_get_env_reply ndmp_data_get_env_reply_v4; 2080*7917SReza.Sabdar@Sun.COM typedef ndmp_data_listen_request_v3 ndmp_data_listen_request_v4; 2081*7917SReza.Sabdar@Sun.COM typedef ndmp_data_connect_reply_v3 ndmp_data_connect_reply_v4; 2082*7917SReza.Sabdar@Sun.COM 2083*7917SReza.Sabdar@Sun.COM 2084*7917SReza.Sabdar@Sun.COM /* NOTIFY */ 2085*7917SReza.Sabdar@Sun.COM typedef ndmp_notify_data_halted_request ndmp_notify_data_halted_request_v2; 2086*7917SReza.Sabdar@Sun.COM typedef ndmp_notify_data_halted_request ndmp_notify_data_halted_request_v3; 2087*7917SReza.Sabdar@Sun.COM typedef ndmp_notify_connected_request ndmp_notify_connection_status_request_v2; 2088*7917SReza.Sabdar@Sun.COM typedef ndmp_notify_connected_request ndmp_notify_connection_status_request_v3; 2089*7917SReza.Sabdar@Sun.COM typedef ndmp_notify_connected_request ndmp_notify_connection_status_request_v4; 2090*7917SReza.Sabdar@Sun.COM typedef ndmp_notify_mover_paused_request ndmp_notify_mover_paused_request_v2; 2091*7917SReza.Sabdar@Sun.COM typedef ndmp_notify_mover_paused_request ndmp_notify_mover_paused_request_v3; 2092*7917SReza.Sabdar@Sun.COM typedef ndmp_notify_mover_paused_request ndmp_notify_mover_paused_request_v4; 2093*7917SReza.Sabdar@Sun.COM typedef ndmp_notify_mover_halted_request ndmp_notify_mover_halted_request_v2; 2094*7917SReza.Sabdar@Sun.COM typedef ndmp_notify_mover_halted_request ndmp_notify_mover_halted_request_v3; 2095*7917SReza.Sabdar@Sun.COM typedef ndmp_notify_data_read_request ndmp_notify_data_read_request_v2; 2096*7917SReza.Sabdar@Sun.COM typedef ndmp_notify_data_read_request ndmp_notify_data_read_request_v3; 2097*7917SReza.Sabdar@Sun.COM typedef ndmp_notify_data_read_request ndmp_notify_data_read_request_v4; 2098*7917SReza.Sabdar@Sun.COM 2099*7917SReza.Sabdar@Sun.COM 2100*7917SReza.Sabdar@Sun.COM /* LOG */ 2101*7917SReza.Sabdar@Sun.COM typedef ndmp_log_log_request ndmp_log_log_request_v2; 2102*7917SReza.Sabdar@Sun.COM typedef ndmp_log_log_request ndmp_log_log_request_v3; 2103*7917SReza.Sabdar@Sun.COM typedef ndmp_log_log_request ndmp_log_log_request_v4; 2104*7917SReza.Sabdar@Sun.COM typedef ndmp_log_debug_request ndmp_log_debug_request_v2; 2105*7917SReza.Sabdar@Sun.COM typedef ndmp_log_debug_request ndmp_log_debug_request_v3; 2106*7917SReza.Sabdar@Sun.COM typedef ndmp_log_debug_request ndmp_log_debug_request_v4; 2107*7917SReza.Sabdar@Sun.COM typedef ndmp_log_file_request ndmp_log_file_request_v2; 2108*7917SReza.Sabdar@Sun.COM 2109*7917SReza.Sabdar@Sun.COM 2110*7917SReza.Sabdar@Sun.COM /* FILE HISTORY */ 2111*7917SReza.Sabdar@Sun.COM typedef ndmp_file_v3 ndmp_file; 2112*7917SReza.Sabdar@Sun.COM typedef ndmp_dir_v3 ndmp_dir; 2113*7917SReza.Sabdar@Sun.COM typedef ndmp_node_v3 ndmp_node; 2114*7917SReza.Sabdar@Sun.COM typedef ndmp_fh_add_unix_path_request ndmp_fh_add_unix_path_request_v2; 2115*7917SReza.Sabdar@Sun.COM typedef ndmp_fh_add_unix_path_request ndmp_fh_add_unix_path_request_v3; 2116*7917SReza.Sabdar@Sun.COM typedef ndmp_fh_add_file_request_v3 ndmp_fh_add_file_request_v4; 2117*7917SReza.Sabdar@Sun.COM typedef ndmp_fh_add_unix_dir_request ndmp_fh_add_unix_dir_request_v2; 2118*7917SReza.Sabdar@Sun.COM typedef ndmp_fh_add_unix_dir_request ndmp_fh_add_unix_dir_request_v3; 2119*7917SReza.Sabdar@Sun.COM typedef ndmp_fh_add_dir_request_v3 ndmp_fh_add_dir_request_v4; 2120*7917SReza.Sabdar@Sun.COM typedef ndmp_fh_add_unix_node_request ndmp_fh_add_unix_node_request_v2; 2121*7917SReza.Sabdar@Sun.COM typedef ndmp_fh_add_unix_node_request ndmp_fh_add_unix_node_request_v3; 2122*7917SReza.Sabdar@Sun.COM typedef ndmp_fh_add_node_request_v3 ndmp_fh_add_node_request_v4; 2123*7917SReza.Sabdar@Sun.COM 2124*7917SReza.Sabdar@Sun.COM 2125*7917SReza.Sabdar@Sun.COM 2126*7917SReza.Sabdar@Sun.COM 2127*7917SReza.Sabdar@Sun.COM 2128*7917SReza.Sabdar@Sun.COM 2129*7917SReza.Sabdar@Sun.COM 2130*7917SReza.Sabdar@Sun.COM 2131*7917SReza.Sabdar@Sun.COM 2132*7917SReza.Sabdar@Sun.COM 2133*7917SReza.Sabdar@Sun.COM 2134*7917SReza.Sabdar@Sun.COM 2135*7917SReza.Sabdar@Sun.COM 2136*7917SReza.Sabdar@Sun.COM 2137*7917SReza.Sabdar@Sun.COM 2138*7917SReza.Sabdar@Sun.COM 2139*7917SReza.Sabdar@Sun.COM 2140*7917SReza.Sabdar@Sun.COM 2141*7917SReza.Sabdar@Sun.COM 2142*7917SReza.Sabdar@Sun.COM 2143*7917SReza.Sabdar@Sun.COM 2144*7917SReza.Sabdar@Sun.COM 2145*7917SReza.Sabdar@Sun.COM 2146*7917SReza.Sabdar@Sun.COM 2147*7917SReza.Sabdar@Sun.COM 2148*7917SReza.Sabdar@Sun.COM 2149*7917SReza.Sabdar@Sun.COM 2150*7917SReza.Sabdar@Sun.COM 2151*7917SReza.Sabdar@Sun.COM 2152*7917SReza.Sabdar@Sun.COM 2153*7917SReza.Sabdar@Sun.COM 2154*7917SReza.Sabdar@Sun.COM 2155*7917SReza.Sabdar@Sun.COM 2156*7917SReza.Sabdar@Sun.COM 2157*7917SReza.Sabdar@Sun.COM 2158*7917SReza.Sabdar@Sun.COM 2159*7917SReza.Sabdar@Sun.COM 2160