133 lines
4.5 KiB
Groff
133 lines
4.5 KiB
Groff
.\" Copyright (c) 2003
|
|
.\" Bill Paul <wpaul@windriver.com> All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
.\" must display the following acknowledgement:
|
|
.\" This product includes software developed by Bill Paul.
|
|
.\" 4. Neither the name of the author nor the names of any co-contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
|
|
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
|
.\" THE POSSIBILITY OF SUCH DAMAGE.
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.\"
|
|
.Dd December 10, 2003
|
|
.Dt NDISCVT 8
|
|
.Os
|
|
.Sh NAME
|
|
.Nm ndiscvt
|
|
.Nd Convert Windows(r) NDIS drivers for use with FreeBSD
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op Fl i Ar <inffile>
|
|
.Fl s Ar <sysfile>
|
|
.Op Fl o Ar <outfile>
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
utility transforms a Windows(r) NDIS driver into a data file which
|
|
is used to build an
|
|
.Xr ndis 4
|
|
compatibility driver module. Windows(r) drivers consist of two main
|
|
parts: a .SYS file, which contains the actual driver executable code,
|
|
and a .INF file, which provides the Windows(r) installer with device
|
|
identifier information and a list of driver-specific registry keys.
|
|
The
|
|
.Nm
|
|
utility can convert these files into a header file that is compiled
|
|
intoe
|
|
.Pa if_ndis.c
|
|
to create an object code module that can be linked into
|
|
the
|
|
.Fx
|
|
kernel.
|
|
.Pp
|
|
The .INF file is typically required since only it contains device
|
|
identification data such as PCI vendor and device IDs or PCMCIA
|
|
indentifier strings. The .INF file may be optionally omitted however,
|
|
in which case the
|
|
.Nm
|
|
utility will only perform the conversion of the .SYS file. This is
|
|
useful for debugging purposes only.
|
|
.Pp
|
|
.Sh OPTIONS
|
|
The options are as follows:
|
|
.Bl -tag -width indent
|
|
.It Op Fl i Ar <inffile>
|
|
Open and parse the specified .INF file when performing conversion.
|
|
The
|
|
.Nm
|
|
utility will parse this file and emit a device identification
|
|
structure and registry key configuration structures which will be
|
|
used by the
|
|
.Xr ndis 4
|
|
driver and
|
|
.Xr ndisapi 9
|
|
kernel subsystem.
|
|
If this is omitted,
|
|
.Nm
|
|
will emit a dummy configuration structure only.
|
|
.It Fl s Ar <sysfile>
|
|
Open and parse the specified .SYS file. This file must contain
|
|
a Windows(r) driver image. The
|
|
.Nm
|
|
utility will perform some manipulation of the sections within the
|
|
executable file to make runtime linking within the kernel a little
|
|
easier and then convert the image into a data array.
|
|
.It Op Fl o Ar <outfile>
|
|
Specify the output file in which to place the resulting data. This
|
|
can be any file pathname. If
|
|
.Ar <outfile>
|
|
is a single dash, the data will be written to the standard output.
|
|
The
|
|
.Pa if_ndis.c
|
|
module expects to find the driver data in a file called
|
|
.Pa ndis_driver_data.h ,
|
|
so it is recommended that this name be used.
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr ndis 4 ,
|
|
.Xr ndisapi 9
|
|
.Sh BUGS
|
|
Some Windows(r) drivers support multiple devices which each may
|
|
require sets of registry keys. The .INF file format allows all of
|
|
these devices to be supported in a single file. The
|
|
.Nm
|
|
utility will emit keys for all of the devices that it are specified
|
|
in a given file, even if this results in some duplicated entries.
|
|
.Sh HISTORY
|
|
The
|
|
.Nm
|
|
utility first appeared in
|
|
.Fx 5.3.
|
|
.Sh AUTHORS
|
|
The
|
|
.Nm
|
|
utility was written by
|
|
.An Bill Paul Aq wpaul@windriver.com .
|
|
The
|
|
.Xr lex 1
|
|
and
|
|
.Xr yacc 1
|
|
INF file parser was written by
|
|
.An Mathew Dodd Aq mdodd@freebsd.org .
|