175726Smsmith/*-
275726Smsmith * Copyright (c) 2000 Michael Smith
375726Smsmith * Copyright (c) 2000 BSDi
475726Smsmith * All rights reserved.
575726Smsmith *
675726Smsmith * Redistribution and use in source and binary forms, with or without
775726Smsmith * modification, are permitted provided that the following conditions
875726Smsmith * are met:
975726Smsmith * 1. Redistributions of source code must retain the above copyright
1075726Smsmith *    notice, this list of conditions and the following disclaimer.
1175726Smsmith * 2. Redistributions in binary form must reproduce the above copyright
1275726Smsmith *    notice, this list of conditions and the following disclaimer in the
1375726Smsmith *    documentation and/or other materials provided with the distribution.
1475726Smsmith *
1575726Smsmith * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
1675726Smsmith * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1775726Smsmith * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1875726Smsmith * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
1975726Smsmith * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2075726Smsmith * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2175726Smsmith * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2275726Smsmith * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2375726Smsmith * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2475726Smsmith * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2575726Smsmith * SUCH DAMAGE.
2675726Smsmith *
2775726Smsmith *	$FreeBSD$
2875726Smsmith */
2975726Smsmith
30218505Simp#include <sys/types.h>
3175726Smsmith#include <sys/rman.h>
3275726Smsmith#include <sys/bus.h>
3375726Smsmith
3475726Smsmith/*
3575726Smsmith * This is defined by the version 1 interface.
3675726Smsmith */
3775726Smsmith#define DEVINFO_STRLEN	32
3875726Smsmith
3975726Smsmith/*
4075726Smsmith * Devices.
4175726Smsmith *
4275726Smsmith * Internal structure contains string buffers and list linkage;
4375726Smsmith */
4475726Smsmithstruct devinfo_i_dev {
4575726Smsmith	struct devinfo_dev		dd_dev;
46103662Simp	char				dd_name[DEVINFO_STRLEN];
47103662Simp	char				dd_desc[DEVINFO_STRLEN];
48103662Simp	char				dd_drivername[DEVINFO_STRLEN];
49111045Simp	char				dd_pnpinfo[DEVINFO_STRLEN * 4];
50111045Simp	char				dd_location[DEVINFO_STRLEN * 4];
51103662Simp	uint32_t			dd_devflags;
52103662Simp	uint16_t			dd_flags;
53103662Simp	device_state_t			dd_state;
5475726Smsmith	TAILQ_ENTRY(devinfo_i_dev)	dd_link;
5575726Smsmith};
5675726Smsmith
5775726Smsmith/*
5875726Smsmith * Resources.
5975726Smsmith *
6075726Smsmith * Internal structures contain string buffers and list linkage;
6175726Smsmith */
6275726Smsmithstruct devinfo_i_rman {
6375726Smsmith	struct devinfo_rman		dm_rman;
6475726Smsmith	char				dm_desc[32];
6575726Smsmith	TAILQ_ENTRY(devinfo_i_rman)	dm_link;
6675726Smsmith};
6775726Smsmith
6875726Smsmithstruct devinfo_i_res {
6975726Smsmith	struct devinfo_res		dr_res;
7075726Smsmith	TAILQ_ENTRY(devinfo_i_res)	dr_link;
7175726Smsmith};
72