metad.x revision 7c478bd95313f5f23a4c958a745db2134aa03244
%/*
% * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
% * Use is subject to license terms.
% *
% * CDDL HEADER START
% *
% * The contents of this file are subject to the terms of the
% * Common Development and Distribution License, Version 1.0 only
% * (the "License"). You may not use this file except in compliance
% * with the License.
% *
% * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
% * See the License for the specific language governing permissions
% * and limitations under the License.
% *
% * When distributing Covered Code, include this CDDL HEADER in each
% * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
% * If applicable, add the following below this CDDL HEADER, with the
% * fields enclosed by brackets "[]" replaced with your own identifying
% * information: Portions Copyright [yyyy] [name of copyright owner]
% *
% * CDDL HEADER END
% */
%
%#pragma ident "%Z%%M% %I% %E% SMI"
%
%#include <mdiox.h>
%#include <meta_basic.h>
#ifdef RPC_SVC
%
%int md_in_daemon = 1;
%#include <signal.h>
#endif /* RPC_SVC */
#ifdef RPC_CLNT
%int _md_in_daemon = 0;
#endif /* RPC_CLNT */
#ifdef RPC_HDR
%
%extern int md_in_daemon;
%/*
% * There are too many external factors that affect the timing of the
% * operations, so we set the timeout to a very large value, in this
% * case 1 day, which should handle HW timeouts, large configurations,
% * and other potential delays.
% */
%#define CL_LONG_TMO 86400L
#endif /* RPC_HDR */
#ifdef RPC_XDR
%
%/* Start - Avoid duplicate definitions, but get the xdr calls right */
%#if 0
#include "../uts/common/sys/lvm/meta_arr.x"
%#endif /* 0 */
%/* End - Avoid duplicate definitions, but get the xdr calls right */
%
#endif /* RPC_XDR */
%
%/*
% * Structure Revisions
% */
enum mdrpc_metad_args_rev {
};
%
%/*
% * device id
% */
struct mdrpc_devid_res {
};
%
%/*
% * svm rpc version 2 device id arguments
% * (member union in mdrpc_devid_2_args)
% */
struct mdrpc_devid_args {
};
%
%/*
% * svm rpc version 2 device id arguments
% * (union of all version 2 revisions)
% */
case MD_METAD_ARGS_REV_1:
default:
void;
};
%
%/*
% * For getting the devinfo based upon devid
% */
struct mdrpc_devidstr_args {
};
%
%/*
% */
struct mdrpc_devid_name_args {
};
%
%/*
% * (union of all version 2 revisions)
% */
case MD_METAD_ARGS_REV_1:
default:
void;
};
%
%/*
% * version 1 device info
% */
struct mdrpc_devinfo_res {
int vtime; /* vtoc timestamp */
};
%
%/*
% * version 2 device info. dev_t is always 64-bit
% */
struct mdrpc_devinfo_2_res {
int vtime; /* vtoc timestamp */
};
%
%/*
% * svm rpc version 1 device info arguments
% */
struct mdrpc_devinfo_args {
};
%
%/*
% * svm rpc version 2 (revision 1) device info arguments
% * (member of union in mdrpc_devinfo_2_args)
% */
struct mdrpc_devinfo_2_args_r1 {
};
%
%/*
% * svm rpc version 2 device info arguments
% * (union of all version 2 revisions)
% */
case MD_METAD_ARGS_REV_1:
default:
void;
};
struct mdrpc_hostname_res {
};
%
%/*
% * svm rpc version 1 and version 2 (revision 1) getset arguments
% */
struct mdrpc_getset_args {
};
%
%/*
% * svm rpc version 2 getset arguments
% * (union of all version 2 revisions)
% */
case MD_METAD_ARGS_REV_1:
default:
void;
};
%
%/* NOTE: if you add to this struct, then fix the clnt_getset() */
%/* to prevent memory leaks */
struct mdrpc_getset_res {
};
%
%/* NOTE: if you add to this struct, then fix the clnt_mngetset() */
%/* to prevent memory leaks */
struct mdrpc_mngetset_res {
};
%
%/* NOTE: if you add to this struct, then fix the clnt_getdrivedesc() */
%/* to prevent memory leaks */
struct mdrpc_getdrivedesc_res {
};
#ifdef RPC_HDR
%#ifndef STRINGARRAY
#endif
typedef string stringarray<>;
#ifdef RPC_HDR
%#define STRINGARRAY
%#endif
#endif
%
%/*
% * svm rpc version 1 and version 2 (revision 1) createset arguments
% */
struct mdrpc_createset_args {
};
%
%/*
% * svm rpc version 2 createset arguments
% * (union of all version 2 revisions)
% */
case MD_METAD_ARGS_REV_1:
default:
void;
};
struct mdrpc_mncreateset_args {
int master_nodeid;
};
%
%/*
% * svm rpc version 2 mncreateset arguments
% * (union of all version 2 revisions)
% */
case MD_METAD_ARGS_REV_1:
default:
void;
};
struct mdrpc_bool_res {
int value;
};
%
%/*
% * svm rpc version 1 drive arguments
% */
struct mdrpc_drives_args {
};
%
%/*
% * svm rpc version 2 (revision 1) drive arguments
% * (member of union in mrpc_drives_2_args)
% */
struct mdrpc_drives_2_args_r1 {
};
%
%/*
% * svm rpc version 2 drive arguments
% * (union of all version 2 revisions)
% */
case MD_METAD_ARGS_REV_1:
default:
void;
};
%
%/*
% * svm rpc version 1 sidename arguments
% */
struct mdrpc_drv_sidenm_args {
};
%
%/*
% * svm rpc version 2 (revision 1) sidename arguments
% * (member of union in mdrpc_drv_sidenm_2_args)
% */
struct mdrpc_drv_sidenm_2_args_r1 {
};
%
%/*
% * svm rpc version 2 sidename arguments
% * (union of all version 2 revisions)
% */
case MD_METAD_ARGS_REV_1:
default:
void;
};
%
%/*
% * svm rpc version 1 drvused arguments
% */
struct mdrpc_drvused_args {
};
%
%/*
% * svm rpc version 2 (revision 1) drvused arguments
% * (member of union in mdrpc_drvused_2_args)
% */
struct mdrpc_drvused_2_args_r1 {
};
%
%/*
% * svm rpc version 2 drvused arguments
% * (union of all version 2 revisions)
% */
case MD_METAD_ARGS_REV_1:
default:
void;
};
%
%/*
% * svm rpc version 1 and version 2 (revision 1) host arguments
% */
struct mdrpc_host_args {
stringarray hosts<>;
};
%
%/*
% * svm rpc version 2 host arguments
% * (union of all version 2 revisions)
% */
case MD_METAD_ARGS_REV_1:
default:
void;
};
struct mdrpc_gtimeout_res {
};
%
%/*
% * svm rpc version 1 and version 2 (revision 1) set timeout arguments
% */
struct mdrpc_stimeout_args {
};
%
%/*
% * svm rpc version 2 set timeout arguments
% * (union of all version 2 revisions)
% */
case MD_METAD_ARGS_REV_1:
default:
void;
};
%
%/*
% * svm rpc version 1 arguments
% */
struct mdrpc_upd_dr_flags_args {
};
%
%/*
% * svm rpc version 2 (revision 1) arguments
% * (member of union in mdrpc_upd_dr_flags_2_args)
% */
struct mdrpc_upd_dr_flags_2_args_r1 {
};
%
%/*
% * svm rpc version 2 arguments
% * (union of all version 2 revisions)
% */
case MD_METAD_ARGS_REV_1:
default:
void;
};
%
%/*
% * svm rpc version 1 and version 2 (revision 1) arguments
% */
struct mdrpc_upd_sr_flags_args {
};
%
%/*
% * svm rpc version 2 arguments
% * (union of all version 2 revisions)
% */
case MD_METAD_ARGS_REV_1:
default:
void;
};
%
%/*
% * svm rpc version 2 (revision 1) arguments
% */
struct mdrpc_upd_nr_flags_args {
};
%
%/*
% * svm rpc version 2 arguments
% * (union of all version 2 revisions)
% */
case MD_METAD_ARGS_REV_1:
default:
void;
};
struct mdrpc_setlock_res {
};
struct mdrpc_generic_res {
};
%
%/*
% * svm rpc version 1 and version 2 (revision 1) set arguments
% */
struct mdrpc_setno_args {
};
%
%/*
% * svm rpc version 2 set arguments
% * (union of all version 2 revisions)
% */
case MD_METAD_ARGS_REV_1:
default:
void;
};
struct mdrpc_null_args {
};
%
%/*
% * svm rpc version 1 and version 2 (revision 1) arguments
% */
struct mdrpc_sp_args {
};
%
%/*
% * svm rpc version 2 arguments
% * (union of all version 2 revisions)
% */
case MD_METAD_ARGS_REV_1:
default:
void;
};
%
%/*
% * svm rpc version 2 (revision 1) arguments
% */
struct mdrpc_sp_flags_args {
int flags;
};
%
%/*
% * svm rpc version 2 arguments
% * (union of all version 2 revisions)
% */
case MD_METAD_ARGS_REV_1:
default:
void;
};
%
%/*
% * svm rpc version 1 and version 2 (revision 1) arguments
% */
struct mdrpc_updmeds_args {
};
%
%/*
% * svm rpc version 2 arguments
% * (union of all version 2 revisions)
% */
case MD_METAD_ARGS_REV_1:
default:
void;
};
struct mdrpc_mnsetmaster_args {
int master_nodeid;
};
%
%/*
% * svm rpc version 2 arguments
% * (union of all version 2 revisions)
% */
case MD_METAD_ARGS_REV_1:
default:
void;
};
/*
* Defines and structures to support rpc.mdcommd.
* RPC routines in rpc.metad will be used to suspend, resume
* and reinitialize the rpc.mdcommd running on that node.
* These actions are needed when the nodelist is changing.
*/
%#define COMMDCTL_SUSPEND 1
%#define COMMDCTL_RESUME 2
%#define COMMDCTL_REINIT 3
struct mdrpc_mdcommdctl_args {
int flag_action;
int flags;
};
%
%
%/*
% * svm rpc version 2 arguments
% * (union of all version 2 revisions)
% */
case MD_METAD_ARGS_REV_1:
default:
void;
};
%
%/*
% * svm rpc version 2 (revision 1) nodeid arguments
% */
struct mdrpc_nodeid_args {
int nodeid<>;
};
%
%/*
% * svm rpc version 2 nodeid arguments
% * (union of all version 2 revisions)
% */
case MD_METAD_ARGS_REV_1:
default:
void;
};
%
%/*
% * Defines and structures to support suspend and resume I/O
% * driven by a remote node.
% */
%#define MN_SUSP_IO 1
%#define MN_RES_IO 2
%
%/*
% * svm rpc version 2 (revision 1) mn_susp_res_io arguments
% * setno of 0 represents all disksets.
% */
struct mdrpc_mn_susp_res_io_args {
int susp_res_cmd;
};
%
%/*
% * svm rpc version 2 nodeid arguments
% * (union of all version 2 revisions)
% */
case MD_METAD_ARGS_REV_1:
default:
void;
};
#ifdef RPC_HDR
%
%/*
% * authorization info
% */
#endif /* RPC_HDR */
%
%/*
% * services available
% */
mdrpc_nullproc(void) = 0;
} = 1;
mdrpc_nullproc(void) = 0;
} = 2;
} = 100229;
#ifdef RPC_HDR
%
% mdrpc_getset_res *res);
% mdrpc_mngetset_res *res);
#endif /* RPC_HDR */