Path: utzoo!utgpu!watserv1!watmath!uunet!shelby!rutgers!ukma!rayssd!icus!lenny From: lenny@icus.islp.ny.us (Lenny Tropiano) Newsgroups: unix-pc.general Subject: Re: HELP with *BLOCK* device driver Summary: weird entry points needed... Message-ID: <1087@icus.islp.ny.us> Date: 5 Feb 90 17:44:29 GMT References: <1990Feb5.074541.26335@stb.uucp> Reply-To: lenny@icus.islp.ny.us (Lenny Tropiano) Distribution: unix-pc Organization: ICUS Software Systems, Islip, New York Lines: 40 In article <1990Feb5.074541.26335@stb.uucp> michael@stb.uucp (Michael Gersten) writes: |> |>HELP! I'm getting bind errors with this. |> |>Repeat-by: |>masterupd -a block open close strategy release nfs |>cc -c nfs.c |>lddrv -av nfs |> |>lddrv complains: BIND error: Invalid parameter. |> |>Note that if I say it is a char driver, with read instead of strategy, |>it works fine. Can block device drivers be loaded at all? |> [...] Ahh, I remember this well! :-) For some reason or another, a entry point in the device driver called "drvprint()" is required. drv is the driver name (ie. nfs) and the masterupd line being: # masterupd -a block open close strategy release print nfs The print-entry-point isn't discussed, at least to my recollection, in the "Writing a Device Driver Guide" so I don't even know what it does, and why it _might_ be called. There are other entry points that are "available" in masterupd(1M) according to a string dump: ioctl write read close open init print strategy release info lopen lclose lread lwrite lioctl linput loutput lmdmint char block required supp nocnt once Some of course are familar, and some are not... -Lenny -- | Lenny Tropiano ICUS Software Systems lenny@icus.islp.ny.us | | {ames,pacbell,decuac,hombre,sbcs,attctc}!icus!lenny attmail!icus!lenny | +------- ICUS Software Systems -- PO Box 1; Islip Terrace, NY 11752 -------+