/* LINTLIBRARY */
/* PROTOLIB1 */

/*
 * Copyright (c) 1997-2000 by Sun Microsystems, Inc.
 * All rights reserved.
 */
#pragma ident	"@(#)llib-ldevice	1.4	00/07/27 SMI"

#include <sys/types.h>
#include "libdevice.h"

/*
 * usr/src/lib/libdevice
 */

/* devctl.c */
devctl_hdl_t devctl_device_acquire(char *devfs_path, uint_t flags);
devctl_hdl_t devctl_bus_acquire(char *devfs_path, uint_t flags);
void devctl_release(devctl_hdl_t hdl);
int devctl_device_offline(devctl_hdl_t hdl);
int devctl_device_online(devctl_hdl_t hdl);
int devctl_device_reset(devctl_hdl_t hdl);
int devctl_device_getstate(devctl_hdl_t hdl, uint_t *statep);
int devctl_bus_quiesce(devctl_hdl_t hdl);
int devctl_bus_unquiesce(devctl_hdl_t hdl);
int devctl_bus_reset(devctl_hdl_t hdl);
int devctl_bus_resetall(devctl_hdl_t hdl);
int devctl_bus_getstate(devctl_hdl_t hdl, uint_t *statep);
devctl_hdl_t devctl_ap_acquire(char *devfs_path, uint_t flags);
int devctl_ap_insert(devctl_hdl_t hdl);
int devctl_ap_remove(devctl_hdl_t hdl);
int devctl_ap_connect(devctl_hdl_t hdl);
int devctl_ap_disconnect(devctl_hdl_t hdl);
int devctl_ap_configure(devctl_hdl_t hdl);
int devctl_ap_unconfigure(devctl_hdl_t hdl);
int devctl_ap_getstate(devctl_hdl_t hdl, devctl_ap_state_t *statep);
devctl_ddef_t devctl_ddef_alloc(char *, int);
void devctl_ddef_free(devctl_ddef_t);
int devctl_ddef_int(devctl_ddef_t, char *, int32_t);
int devctl_ddef_int_array(devctl_ddef_t, char *, int, int32_t *value);
int devctl_ddef_string(devctl_ddef_t ddef_hdl, char *name, char *value);
int devctl_ddef_string_array(devctl_ddef_t, char *, int, char **);
int devctl_ddef_byte_array(devctl_ddef_t, char *, int, uchar_t *value);
int devctl_bus_dev_create(devctl_hdl_t, devctl_ddef_t, uint_t, devctl_hdl_t *);
char * devctl_get_pathname(devctl_hdl_t, char *, size_t);
