Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 31 Dec 2001 04:36:33 -0500
From:      Mike Barcroft <mike@freebsd.org>
To:        Peter Pentchev <roam@ringlet.net>
Cc:        Mike Smith <msmith@freebsd.org>, arch@freebsd.org
Subject:   kldload(2) family (was Re: loadable aio)
Message-ID:  <20011231043633.E45114@espresso.q9media.com>
In-Reply-To: <20011231105940.B3512@straylight.oblivion.bg>; from roam@ringlet.net on Mon, Dec 31, 2001 at 10:59:40AM %2B0200
References:  <20011230215630.B45114@espresso.q9media.com> <200112310508.fBV58MI03596@mass.dis.org> <20011231034807.D45114@espresso.q9media.com> <20011231105940.B3512@straylight.oblivion.bg>

next in thread | previous in thread | raw e-mail | index | archive | help
[Moved to -arch, BCC'd to -hackers.]

Peter Pentchev <roam@ringlet.net> writes:
> Okay, so it's not documented in the manual, but one look at the source
> should suffice :)

:(

> As Mike said, there is a search path.  However, the current directory
> is tried first.  If a file by that name is not found in the current
> directory, the search path is, well, searched ;)  The search path
> is available in the kern.module_path sysctl or in the output of
> 'kldconfig -r'.

Oh no, it's worse than I feared.

> This is similar to what shells have been doing for decades, with
> the added feature of an implicit '.' at the start of the search path.

Yes, the usual approach shells take is much better designed.

Here's how I would design this interface:
o _kldload(2) accepts a file path (similar to open(2))
o kldunload(2) accepts a filename (no path)
o kldload(3) accepts a module name (procfs), file name (procfs.ko), or
  file path (/boot/kernel/procfs.ko).
o Search paths for kldload(3) are controlled by the environment
  variable `KLDPATH' (similar to MANPATH and PATH).
o When kldload(3) locates a module file, it calls _kldload(2).
o kldload(8) uses kldload(3)
o kldunload(8) uses kldunload(2)

The main advantage of this design is that it allows a Unix programmer
to utilize it. :)

Best regards,
Mike Barcroft

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011231043633.E45114>