1%/* 2% * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 3% * Use is subject to license terms. 4% * 5% * CDDL HEADER START 6% * 7% * The contents of this file are subject to the terms of the 8% * Common Development and Distribution License, Version 1.0 only 9% * (the "License"). You may not use this file except in compliance 10% * with the License. 11% * 12% * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13% * or http://www.opensolaris.org/os/licensing. 14% * See the License for the specific language governing permissions 15% * and limitations under the License. 16% * 17% * When distributing Covered Code, include this CDDL HEADER in each 18% * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19% * If applicable, add the following below this CDDL HEADER, with the 20% * fields enclosed by brackets "[]" replaced with your own identifying 21% * information: Portions Copyright [yyyy] [name of copyright owner] 22% * 23% * CDDL HEADER END 24% */ 25% 26%#pragma ident "%Z%%M% %I% %E% SMI" 27% 28%/* 29% * MH shadow structure for struct mhioctkown (sys/mhd.h) 30% */ 31struct mhd_mhioctkown_t { 32 int reinstate_resv_delay; 33 int min_ownership_delay; 34 int max_ownership_delay; 35}; 36 37% 38%/* 39% * MH timeout values 40% */ 41struct mhd_mhiargs_t { 42 int mh_ff; 43 mhd_mhioctkown_t mh_tk; 44}; 45 46% 47%/* 48% * controller info 49% */ 50#ifdef RPC_HDR 51% 52%#define METACTLRMAP "/etc/lvm/md.ctlrmap" 53%#define META_SSA200_PID "SSA200" 54#endif /* RPC_HDR */ 55enum mhd_ctlrtype_t { 56 MHD_CTLR_GENERIC = 0, 57 MHD_CTLR_SSA100, 58 MHD_CTLR_SSA200 59}; 60 61struct mhd_cinfo_t { 62 mhd_ctlrtype_t mhc_ctype; /* controller type */ 63 u_int mhc_tray; /* SSA100 tray */ 64 u_int mhc_bus; /* SSA100 bus */ 65 u_longlong_t mhc_wwn; /* SSA100 World Wide Name */ 66}; 67 68% 69%/* 70% * unique drive identifier 71% */ 72typedef u_int mhd_did_flags_t; 73#ifdef RPC_HDR 74% 75%#define MHD_DID_TIME 0x0001 76%#define MHD_DID_SERIAL 0x0002 77%#define MHD_DID_CINFO 0x0004 78%#define MHD_DID_DUPLICATE 0x0008 79#endif /* RPC_HDR */ 80typedef char mhd_serial_t[40]; /* SCSI VID+PID+REV+SERIAL */ 81struct mhd_drive_id_t { 82 mhd_did_flags_t did_flags; 83 long did_time; /* vtoc timestamp (time_t) */ 84 mhd_serial_t did_serial; /* SCSI serial number */ 85 mhd_cinfo_t did_cinfo; /* controller info */ 86}; 87 88% 89%/* 90% * drive identifier list 91% */ 92struct mhd_drive_info_t { 93 string dif_name<>; 94 mhd_drive_id_t dif_id; 95}; 96typedef mhd_drive_info_t mhd_drive_info_list_t<>; 97