17c478bd9Sstevel@tonic-gate /* 27c478bd9Sstevel@tonic-gate * CDDL HEADER START 37c478bd9Sstevel@tonic-gate * 47c478bd9Sstevel@tonic-gate * The contents of this file are subject to the terms of the 5749f21d3Swesolows * Common Development and Distribution License (the "License"). 6749f21d3Swesolows * You may not use this file except in compliance with the License. 77c478bd9Sstevel@tonic-gate * 87c478bd9Sstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 97c478bd9Sstevel@tonic-gate * or http://www.opensolaris.org/os/licensing. 107c478bd9Sstevel@tonic-gate * See the License for the specific language governing permissions 117c478bd9Sstevel@tonic-gate * and limitations under the License. 127c478bd9Sstevel@tonic-gate * 137c478bd9Sstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each 147c478bd9Sstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 157c478bd9Sstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the 167c478bd9Sstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying 177c478bd9Sstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner] 187c478bd9Sstevel@tonic-gate * 197c478bd9Sstevel@tonic-gate * CDDL HEADER END 207c478bd9Sstevel@tonic-gate */ 21d9638e54Smws 227c478bd9Sstevel@tonic-gate /* 236e1fa242SStephen Hanson * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 247c478bd9Sstevel@tonic-gate * Use is subject to license terms. 257c478bd9Sstevel@tonic-gate */ 267c478bd9Sstevel@tonic-gate 277c478bd9Sstevel@tonic-gate %#include <fm/fmd_api.h> 287c478bd9Sstevel@tonic-gate 297c478bd9Sstevel@tonic-gate enum fmd_adm_error { 307c478bd9Sstevel@tonic-gate FMD_ADM_ERR_NOMEM = 1, 317c478bd9Sstevel@tonic-gate FMD_ADM_ERR_PERM, 327c478bd9Sstevel@tonic-gate FMD_ADM_ERR_MODSRCH, 337c478bd9Sstevel@tonic-gate FMD_ADM_ERR_MODBUSY, 347c478bd9Sstevel@tonic-gate FMD_ADM_ERR_MODFAIL, 357c478bd9Sstevel@tonic-gate FMD_ADM_ERR_MODNOENT, 367c478bd9Sstevel@tonic-gate FMD_ADM_ERR_MODEXIST, 377c478bd9Sstevel@tonic-gate FMD_ADM_ERR_MODINIT, 387c478bd9Sstevel@tonic-gate FMD_ADM_ERR_MODLOAD, 397c478bd9Sstevel@tonic-gate FMD_ADM_ERR_RSRCSRCH, 407c478bd9Sstevel@tonic-gate FMD_ADM_ERR_RSRCNOTF, 417c478bd9Sstevel@tonic-gate FMD_ADM_ERR_SERDSRCH, 427c478bd9Sstevel@tonic-gate FMD_ADM_ERR_SERDFIRED, 437c478bd9Sstevel@tonic-gate FMD_ADM_ERR_ROTSRCH, 447c478bd9Sstevel@tonic-gate FMD_ADM_ERR_ROTFAIL, 457c478bd9Sstevel@tonic-gate FMD_ADM_ERR_ROTBUSY, 467c478bd9Sstevel@tonic-gate FMD_ADM_ERR_CASESRCH, 47d9638e54Smws FMD_ADM_ERR_CASEOPEN, 48d9638e54Smws FMD_ADM_ERR_XPRTSRCH, 496e1fa242SStephen Hanson FMD_ADM_ERR_CASEXPRT, 506e1fa242SStephen Hanson FMD_ADM_ERR_RSRCNOTR 517c478bd9Sstevel@tonic-gate }; 527c478bd9Sstevel@tonic-gate 537c478bd9Sstevel@tonic-gate struct fmd_rpc_modstat { 547c478bd9Sstevel@tonic-gate struct fmd_stat rms_buf<>; 557c478bd9Sstevel@tonic-gate enum fmd_adm_error rms_err; 567c478bd9Sstevel@tonic-gate }; 577c478bd9Sstevel@tonic-gate 587c478bd9Sstevel@tonic-gate struct fmd_rpc_modinfo { 597c478bd9Sstevel@tonic-gate string rmi_name<>; 607c478bd9Sstevel@tonic-gate string rmi_desc<>; 617c478bd9Sstevel@tonic-gate string rmi_vers<>; 627c478bd9Sstevel@tonic-gate bool rmi_faulty; 637c478bd9Sstevel@tonic-gate struct fmd_rpc_modinfo *rmi_next; 647c478bd9Sstevel@tonic-gate }; 657c478bd9Sstevel@tonic-gate 667c478bd9Sstevel@tonic-gate struct fmd_rpc_modlist { 677c478bd9Sstevel@tonic-gate enum fmd_adm_error rml_err; 687c478bd9Sstevel@tonic-gate struct fmd_rpc_modinfo *rml_list; 697c478bd9Sstevel@tonic-gate uint32_t rml_len; 707c478bd9Sstevel@tonic-gate }; 717c478bd9Sstevel@tonic-gate 727c478bd9Sstevel@tonic-gate struct fmd_rpc_rsrcinfo { 737c478bd9Sstevel@tonic-gate string rri_fmri<>; 747c478bd9Sstevel@tonic-gate string rri_uuid<>; 757c478bd9Sstevel@tonic-gate string rri_case<>; 767c478bd9Sstevel@tonic-gate bool rri_faulty; 777c478bd9Sstevel@tonic-gate bool rri_unusable; 787c478bd9Sstevel@tonic-gate bool rri_invisible; 797c478bd9Sstevel@tonic-gate enum fmd_adm_error rri_err; 807c478bd9Sstevel@tonic-gate }; 817c478bd9Sstevel@tonic-gate 827c478bd9Sstevel@tonic-gate struct fmd_rpc_rsrclist { 837c478bd9Sstevel@tonic-gate opaque rrl_buf<>; 847c478bd9Sstevel@tonic-gate uint32_t rrl_len; 857c478bd9Sstevel@tonic-gate uint32_t rrl_cnt; 867c478bd9Sstevel@tonic-gate enum fmd_adm_error rrl_err; 877c478bd9Sstevel@tonic-gate bool rrl_all; 887c478bd9Sstevel@tonic-gate }; 897c478bd9Sstevel@tonic-gate 907c478bd9Sstevel@tonic-gate struct fmd_rpc_serdinfo { 917c478bd9Sstevel@tonic-gate string rsi_name<>; 927c478bd9Sstevel@tonic-gate uint64_t rsi_delta; 937c478bd9Sstevel@tonic-gate uint32_t rsi_count; 947c478bd9Sstevel@tonic-gate bool rsi_fired; 957c478bd9Sstevel@tonic-gate uint64_t rsi_n; 967c478bd9Sstevel@tonic-gate uint64_t rsi_t; 97*1e6f4912SJakub Jermar enum fmd_adm_error rsi_err; 987c478bd9Sstevel@tonic-gate }; 997c478bd9Sstevel@tonic-gate 1007c478bd9Sstevel@tonic-gate struct fmd_rpc_serdlist { 101*1e6f4912SJakub Jermar opaque rsl_buf<>; 1027c478bd9Sstevel@tonic-gate uint32_t rsl_len; 103*1e6f4912SJakub Jermar uint32_t rsl_cnt; 104*1e6f4912SJakub Jermar enum fmd_adm_error rsl_err; 1057c478bd9Sstevel@tonic-gate }; 1067c478bd9Sstevel@tonic-gate 107d9638e54Smws struct fmd_rpc_xprtlist { 108d9638e54Smws int32_t rxl_buf<>; 109d9638e54Smws uint32_t rxl_len; 110d9638e54Smws enum fmd_adm_error rxl_err; 111d9638e54Smws }; 112d9638e54Smws 113749f21d3Swesolows struct fmd_rpc_caseinfo { 114749f21d3Swesolows opaque rci_evbuf<>; 115749f21d3Swesolows enum fmd_adm_error rci_err; 116749f21d3Swesolows }; 117749f21d3Swesolows 118749f21d3Swesolows struct fmd_rpc_caselist { 119749f21d3Swesolows opaque rcl_buf<>; 120749f21d3Swesolows uint32_t rcl_len; 121749f21d3Swesolows uint32_t rcl_cnt; 122749f21d3Swesolows enum fmd_adm_error rcl_err; 123749f21d3Swesolows }; 124749f21d3Swesolows 1257c478bd9Sstevel@tonic-gate program FMD_ADM { 1267c478bd9Sstevel@tonic-gate version FMD_ADM_VERSION_1 { 1277c478bd9Sstevel@tonic-gate struct fmd_rpc_modlist FMD_ADM_MODINFO(void) = 1; 1287c478bd9Sstevel@tonic-gate struct fmd_rpc_modstat FMD_ADM_MODCSTAT(string) = 2; 1297c478bd9Sstevel@tonic-gate struct fmd_rpc_modstat FMD_ADM_MODDSTAT(string) = 3; 1307c478bd9Sstevel@tonic-gate struct fmd_rpc_modstat FMD_ADM_MODGSTAT(void) = 4; 1317c478bd9Sstevel@tonic-gate int FMD_ADM_MODLOAD(string) = 5; 1327c478bd9Sstevel@tonic-gate int FMD_ADM_MODUNLOAD(string) = 6; 1337c478bd9Sstevel@tonic-gate int FMD_ADM_MODRESET(string) = 7; 1347c478bd9Sstevel@tonic-gate int FMD_ADM_MODGC(string) = 8; 1357c478bd9Sstevel@tonic-gate struct fmd_rpc_rsrclist FMD_ADM_RSRCLIST(bool) = 9; 1367c478bd9Sstevel@tonic-gate struct fmd_rpc_rsrcinfo FMD_ADM_RSRCINFO(string) = 10; 1377c478bd9Sstevel@tonic-gate int FMD_ADM_RSRCFLUSH(string) = 11; 13825c6ff4bSstephh int FMD_ADM_RSRCREPAIRED(string) = 12; 139*1e6f4912SJakub Jermar struct fmd_rpc_serdlist FMD_ADM_SERDINFO_OLD(string) = 13; 1407c478bd9Sstevel@tonic-gate int FMD_ADM_SERDRESET(string, string) = 14; 1417c478bd9Sstevel@tonic-gate int FMD_ADM_LOGROTATE(string) = 15; 1427c478bd9Sstevel@tonic-gate int FMD_ADM_CASEREPAIR(string) = 16; 143d9638e54Smws struct fmd_rpc_xprtlist FMD_ADM_XPRTLIST(void) = 17; 144d9638e54Smws struct fmd_rpc_modstat FMD_ADM_XPRTSTAT(int32_t) = 18; 145749f21d3Swesolows struct fmd_rpc_caselist FMD_ADM_CASELIST(void) = 19; 146749f21d3Swesolows struct fmd_rpc_caseinfo FMD_ADM_CASEINFO(string) = 20; 14725c6ff4bSstephh int FMD_ADM_RSRCREPLACED(string) = 21; 14825c6ff4bSstephh int FMD_ADM_RSRCACQUIT(string, string) = 22; 14925c6ff4bSstephh int FMD_ADM_CASEACQUIT(string) = 23; 150*1e6f4912SJakub Jermar struct fmd_rpc_serdlist FMD_ADM_SERDLIST(string) = 24; 151*1e6f4912SJakub Jermar struct fmd_rpc_serdinfo FMD_ADM_SERDINFO(string, string) = 25; 1527c478bd9Sstevel@tonic-gate } = 1; 1537c478bd9Sstevel@tonic-gate } = 100169; 1547c478bd9Sstevel@tonic-gate 1557c478bd9Sstevel@tonic-gate %extern void fmd_adm_1(struct svc_req *, SVCXPRT *); 1567c478bd9Sstevel@tonic-gate %extern bool_t xdr_fmd_stat(XDR *, struct fmd_stat *); 1577c478bd9Sstevel@tonic-gate 1587c478bd9Sstevel@tonic-gate %#undef RW_READ_HELD 1597c478bd9Sstevel@tonic-gate %#undef RW_WRITE_HELD 1607c478bd9Sstevel@tonic-gate %#undef RW_LOCK_HELD 1617c478bd9Sstevel@tonic-gate %#undef MUTEX_HELD 162