diff options
author | msmith <msmith@FreeBSD.org> | 1998-09-04 02:43:26 +0000 |
---|---|---|
committer | msmith <msmith@FreeBSD.org> | 1998-09-04 02:43:26 +0000 |
commit | aa412001a9d7495154bc48d8d580c8efb3cbe7e9 (patch) | |
tree | e966169d03ee6604247111e0fee5f6562aba63c8 /sys/boot/common/bootstrap.h | |
parent | cd489c519a109c93001769e1008a8a567608e6b8 (diff) | |
download | FreeBSD-src-aa412001a9d7495154bc48d8d580c8efb3cbe7e9.zip FreeBSD-src-aa412001a9d7495154bc48d8d580c8efb3cbe7e9.tar.gz |
Generic plug-and-play enumerator infrastructure. Query supplied
enumerators, crossreference returned identifiers with a text-format
database and automatically load corresponding modules and dependancies.
Diffstat (limited to 'sys/boot/common/bootstrap.h')
-rw-r--r-- | sys/boot/common/bootstrap.h | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/sys/boot/common/bootstrap.h b/sys/boot/common/bootstrap.h index 770ecfd..0d7950c 100644 --- a/sys/boot/common/bootstrap.h +++ b/sys/boot/common/bootstrap.h @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: bootstrap.h,v 1.2 1998/08/31 21:10:42 msmith Exp $ + * $Id: bootstrap.h,v 1.3 1998/09/03 02:10:07 msmith Exp $ */ #include <sys/types.h> @@ -87,6 +87,29 @@ extern struct console *consoles[]; extern void cons_probe(void); /* + * Plug-and-play enumerator/configurator interface. + */ +struct pnpinfo +{ + char *pi_ident; /* ASCII identifier, actual format varies with bus/handler */ + int pi_revision; /* optional revision (or -1) if not supported */ + char *pi_module; /* module/args nominated to handle device */ + int pi_argc; /* module arguments */ + char **pi_argv; + int pi_handler; /* handler which detected this device */ + struct pnpinfo *pi_next; +} + +struct pnphandler +{ + char *pp_name; /* handler/bus name */ + struct pnpinfo *(pp_enumerate *)(int index); /* return a string identifying device (index) */ +}; + +extern struct pnphandler *pnphandlers[]; /* provided by MD code */ + + +/* * Module metadata header. * * Metadata are allocated on our heap, and copied into kernel space |