#ifndef _SYS_USB_HUBDI_H
#define _SYS_USB_HUBDI_H
#ifdef __cplusplus
extern "C" {
#endif
#include <sys/usb/usba/usba_types.h>
void usba_hubdi_initialization();
void usba_hubdi_destruction();
#define HUBDI_OPS_VERSION_0 0
#define HUBD_IS_ROOT_HUB 0x1000
int usba_hubdi_open(dev_info_t *, dev_t *, int, int, cred_t *);
int usba_hubdi_close(dev_info_t *, dev_t, int, int, cred_t *);
int usba_hubdi_ioctl(dev_info_t *, dev_t, int, intptr_t, int,
cred_t *, int *);
int usba_hubdi_root_hub_power(dev_info_t *, int, int);
extern struct bus_ops usba_hubdi_busops;
int usba_hubdi_info(dev_info_t *, ddi_info_cmd_t, void *, void **);
int usba_hubdi_attach(dev_info_t *, ddi_attach_cmd_t);
int usba_hubdi_probe(dev_info_t *);
int usba_hubdi_detach(dev_info_t *, ddi_detach_cmd_t);
int usba_hubdi_quiesce(dev_info_t *);
int usba_hubdi_bind_root_hub(dev_info_t *, uchar_t *, size_t,
usb_dev_descr_t *);
int usba_hubdi_unbind_root_hub(dev_info_t *);
int usba_hubdi_reset_device(dev_info_t *, usb_dev_reset_lvl_t);
void usba_hubdi_incr_power_budget(dev_info_t *, usba_device_t *);
void usba_hubdi_decr_power_budget(dev_info_t *, usba_device_t *);
int usba_hubdi_check_power_budget(dev_info_t *, usba_device_t *, uint_t);
#ifdef __cplusplus
}
#endif
#endif