70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat/*
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat * CDDL HEADER START
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat *
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat * The contents of this file are subject to the terms of the
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat * Common Development and Distribution License (the "License").
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat * You may not use this file except in compliance with the License.
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat *
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat * or http://www.opensolaris.org/os/licensing.
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat * See the License for the specific language governing permissions
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat * and limitations under the License.
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat *
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat * When distributing Covered Code, include this CDDL HEADER in each
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat * If applicable, add the following below this CDDL HEADER, with the
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat * fields enclosed by brackets "[]" replaced with your own identifying
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat * information: Portions Copyright [yyyy] [name of copyright owner]
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat *
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat * CDDL HEADER END
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat */
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat/*
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat * Use is subject to license terms.
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat */
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat#ifndef _MDI_H
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat#define _MDI_H
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat#pragma ident "%Z%%M% %I% %E% SMI"
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat#include <mdb/mdb_modapi.h>
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat#ifdef __cplusplus
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramatextern "C" {
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat#endif
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat/*
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat * dcmds
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat */
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramatextern int mdipi(uintptr_t, uint_t, int, const mdb_arg_t *);
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramatextern int mdiprops(uintptr_t, uint_t, int, const mdb_arg_t *);
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramatextern int mdiphci(uintptr_t, uint_t, int, const mdb_arg_t *);
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramatextern int mdivhci(uintptr_t, uint_t, int, const mdb_arg_t *);
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramatextern int mdiclient_paths(uintptr_t, uint_t, int, const mdb_arg_t *);
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramatextern int mdiphci_paths(uintptr_t, uint_t, int, const mdb_arg_t *);
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramatextern int mdiphcis(uintptr_t, uint_t, int, const mdb_arg_t *);
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat/*
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat * walkers
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat */
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat/* mdi_pathinfo:pi_client_link */
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramatextern int mdi_pi_client_link_walk_init(mdb_walk_state_t *);
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramatextern int mdi_pi_client_link_walk_step(mdb_walk_state_t *);
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramatextern void mdi_pi_client_link_walk_fini(mdb_walk_state_t *);
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat/* mdi_pathinfo:pi_phci_link */
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramatextern int mdi_pi_phci_link_walk_init(mdb_walk_state_t *);
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramatextern int mdi_pi_phci_link_walk_step(mdb_walk_state_t *);
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramatextern void mdi_pi_phci_link_walk_fini(mdb_walk_state_t *);
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat/* mdi_phci:ph_next */
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramatextern int mdi_phci_ph_next_walk_init(mdb_walk_state_t *);
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramatextern int mdi_phci_ph_next_walk_step(mdb_walk_state_t *);
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramatextern void mdi_phci_ph_next_walk_fini(mdb_walk_state_t *);
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat#ifdef __cplusplus
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat}
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat#endif
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat
70ab954a5d6c4d36858fd6e7e3dd4498d06d2c40ramat#endif /* _MDI_H */