0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki/*
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki * CDDL HEADER START
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki *
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki * The contents of this file are subject to the terms of the
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki * Common Development and Distribution License (the "License").
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki * You may not use this file except in compliance with the License.
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki *
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki * or http://www.opensolaris.org/os/licensing.
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki * See the License for the specific language governing permissions
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki * and limitations under the License.
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki *
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki * When distributing Covered Code, include this CDDL HEADER in each
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki * If applicable, add the following below this CDDL HEADER, with the
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki * fields enclosed by brackets "[]" replaced with your own identifying
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki * information: Portions Copyright [yyyy] [name of copyright owner]
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki *
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki * CDDL HEADER END
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki */
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki/*
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki * Use is subject to license terms.
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki */
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#ifndef _PRIPLUGIN_H
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#define _PRIPLUGIN_H
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#pragma ident "%Z%%M% %I% %E% SMI"
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#ifdef __cplusplus
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenkiextern "C" {
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#endif
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#include <picl.h>
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#include <picltree.h>
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#include <picldefs.h>
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#include <stdio.h>
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#include <unistd.h>
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#include <stdlib.h>
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#include <sys/types.h>
a90d965d832a5578dbfc2eadd1617e8cccf25264fw#include <thread.h>
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#include <alloca.h>
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#include <sys/stat.h>
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#include <malloc.h>
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#include <fcntl.h>
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#include <syslog.h>
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#include <mdesc.h>
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#include <string.h>
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#include <errno.h>
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#include <libnvpair.h>
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#include <syslog.h>
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#include <sys/stat.h>
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#include <dirent.h>
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#include <config_admin.h>
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#include <sys/param.h>
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#include <libdevinfo.h>
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#include <sys/systeminfo.h>
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#include <sys/sysevent/dr.h>
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#include <syslog.h>
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#include <stdarg.h>
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#ifndef PRI_DEBUG
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#define PRI_DEBUG 0
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#endif
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenkiint add_mem_prop(picl_nodehdl_t node, void *args);
d2b9c6763c7b3aad7a4c2609ca71e0b02114bca9fwint pri_devinit(uint64_t *);
d2b9c6763c7b3aad7a4c2609ca71e0b02114bca9fwmd_t *pri_bufinit(md_t *mdp);
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenkivoid pri_devfini(md_t *mdp);
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenkivoid pri_debug(int level, char *fmt, ...);
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenkivoid add_md_prop(picl_nodehdl_t node, int size, char *name, void* value,
a90d965d832a5578dbfc2eadd1617e8cccf25264fw int type);
a90d965d832a5578dbfc2eadd1617e8cccf25264fwvoid io_dev_addlabel(md_t *mdp);
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#ifdef __cplusplus
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki}
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#endif
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki
0d63ce2b32a9e1cc8ed71d4d92536c44d66a530avenki#endif /* _PRIPLUGIN_H */