Right now, drivers using sys/ioccom.h definitions for _IOR, _IORW, etc. 
are limited to passing structures that are at most 255 bytes.  This 
seems a bit limiting, at least to me.  In particular, other operating 
systems use a value that is much higher -- say 8191 maximum bytes.

This actually impacts the OSS audio software, which supplies its own 
overrides just for this reason.

It seems like it might be a good idea (and very reasonable) to change 
the value of IOCPARM_MASK to 0x1fff, which as far as I can tell will not 
impact any other software which is using the value properly.  (The only 
possible risk I can see, is that tools like truss(1M) might not report 
sensible structure value sizes larger than 255 bytes, but then again, 
they don't do that already.)

Thoughts?  Any compelling reason not to change the value IOCPARM_MASK to 
0x1fff?

    -- Garrett

PS: Within ON, that mask appears only to be used in: ioccom.h, perl, and 
truss.  Of those, ioccom.h would not be impacted, Perl looks (at least 
to my eyes) to be safe -- it uses this to check that enough space is 
allocated for passing ioctl parameters, and truss would not be impacted 
-- except that it could properly report structure sizes larger than 255 
bytes (i.e. no negative impact.)

_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to