d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga/*
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga * CDDL HEADER START
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga *
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga * The contents of this file are subject to the terms of the
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga * Common Development and Distribution License, Version 1.0 only
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga * (the "License"). You may not use this file except in compliance
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga * with the License.
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga *
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga * or http://www.opensolaris.org/os/licensing.
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga * See the License for the specific language governing permissions
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga * and limitations under the License.
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga *
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga * When distributing Covered Code, include this CDDL HEADER in each
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga * If applicable, add the following below this CDDL HEADER, with the
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga * fields enclosed by brackets "[]" replaced with your own identifying
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga * information: Portions Copyright [yyyy] [name of copyright owner]
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga *
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga * CDDL HEADER END
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga */
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga/*
33129b339db105602c2677f5a80b6189ec63d2e5ayznaga * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga * Use is subject to license terms.
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga */
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga#ifndef _CMD_DP_PAGE_H
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga#define _CMD_DP_PAGE_H
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga#pragma ident "%Z%%M% %I% %E% SMI"
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga#include <cmd.h>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga#include <cmd_page.h>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga#include <cmd_dp.h>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga#ifdef __cplusplus
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznagaextern "C" {
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga#endif
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznagatypedef struct cmd_dp_defer {
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga cmd_header_t dp_defer_hdr;
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga cmd_page_t *dp_defer_page; /* ptr to cmd_page_t of deferred page */
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga int dp_defer_mcids[DP_MAX_MCS]; /* mem ctrl ids for AFARs seen */
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga} cmd_dp_defer_t;
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznagaextern void cmd_dp_page_defer(fmd_hdl_t *, nvlist_t *, fmd_event_t *,
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga uint64_t);
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznagaextern void cmd_dp_page_replay(fmd_hdl_t *);
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznagaextern void cmd_dp_page_restore(fmd_hdl_t *, cmd_page_t *);
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznagaextern void cmd_dp_page_validate(fmd_hdl_t *);
33129b339db105602c2677f5a80b6189ec63d2e5ayznagaextern int cmd_dp_page_isdeferred(fmd_hdl_t *, cmd_page_t *);
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga#ifdef __cplusplus
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga}
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga#endif
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga#endif /* _CMD_DP_PAGE_H */