Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Jul 1997 14:14:39 +0930 (CST)
From:      Michael Smith <msmith@atrad.adelaide.edu.au>
To:        skynyrd@opus.cts.cwu.edu (Chris Timmons)
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: suggested enhancement: linux_ioctl.c diagnostic output
Message-ID:  <199707210444.OAA21177@genesis.atrad.adelaide.edu.au>
In-Reply-To: <Pine.BSF.3.95.970720102920.26163B-100000@opus.cts.cwu.edu> from Chris Timmons at "Jul 20, 97 10:46:36 am"

next in thread | previous in thread | raw e-mail | index | archive | help
Chris Timmons stands accused of saying:
> 
> I tried to get some comments about this from -emulation but perhaps the
> subject line wasn't to the point enough.

It was; you're just buried in my to-do list 8(

> If you read down to the end I've sketched out a proposed change to
> linux_ioctl.c.  I'd like to know:
> 
>  	1. Overall is this a worthwile change?

Yes.

> 	2. Is the long comment which documents linux ioctl encoding 
>            inappropriate for this source file?

No.

> 	3. I see from style(9) that I should have spaces between the
>            operands to the bitwise and operator.  What about the
>            style of the nested conditional?  I guess there might also be
>            some unnecessary parens in the printf argument list. 

Bruce will have his own interpretation; I would be inclined to say :

uprintf("LINUX: unimplemented ioctl: fd=%d, cmd=0x%lx (IO%s%s, '%c', %lu, %lu)\n",
        args->fd, args->cmd, 
	(args->cmd & 0x400000000) ? "W" : "",
	(args->cmd & 0x800000000) ? "R" : "",
	((args->cmd & 0x0000ff00) >> 8) >= 0x20) 
		? (char)((args->cmd & 0x0000ff00)>>8)
		: '?',
	args->cmd & 0xff,
	(args->cmd & 0x3fff0000) >> 16);
 
    return EINVAL;
}

The other implementation of the IO[WR] decoding I would consider would
use a small lookup table and a large shift to generate an index.  The
massively nested ? set you used makes for very difficult reading.

I don't think that the performance of the printf() should be a
consideration in contrast to the usefulness of verbose output.

-- 
]] Mike Smith, Software Engineer        msmith@gsoft.com.au             [[
]] Genesis Software                     genesis@gsoft.com.au            [[
]] High-speed data acquisition and      (GSM mobile)     0411-222-496   [[
]] realtime instrument control.         (ph)          +61-8-8267-3493   [[
]] Unix hardware collector.             "Where are your PEZ?" The Tick  [[



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