VUIDSFORMAT not showing up would technically be a bug in the sys/vuid_event.h 
file
for amd64 (at least regarding gcc-friendliness), I think.  The lines in 
question:

#if !(defined(i386) || defined(__i386))
#define VUIDSFORMAT   (VUIOC|1) /* Set input device byte stream format */
#define VUIDGFORMAT   (VUIOC|2) /* Get input device byte stream format */
#else
/* For x86, these numbers conflict with VT_?????? ioctl numbers */
#define VUIDSFORMAT   (VUIOC|11) /* Set input device byte stream format */
#define VUIDGFORMAT   (VUIOC|12) /* Get input device byte stream format */
#endif


Unfortunately, gcc -m64 on x86-64 doesn't predefine i386 or __i386, but rather
__x86_64, __amd64, __x86_64__, and __amd64__.

The current OpenSolaris version of those conditional defines looks a bit 
different:

#if defined(__i386) || defined(__i386_COMPAT)
#define VUIDSFORMAT   (VUIOC|11) /* avoid conflict with VT_?????? */
#define VUIDGFORMAT   (VUIOC|12) /* avoid conflict with VT_?????? */
#else
#define VUIDSFORMAT   (VUIOC|1) /* Set input device byte stream format */
#define VUIDGFORMAT   (VUIOC|2) /* Get input device byte stream format */
#endif

and from the looks of it, sys/isa_defs.h should set up __i386_COMPAT for
64 bit on x86, so I guess with a sufficiently recent version of the header 
files,
that part will work out.

Still plenty of problems, though, even after working around that.  
Unfortunately,
I've got tons of real-world stuff to do, so it'll be awhile before I get back 
to figuring
out more...
This message posted from opensolaris.org

Reply via email to