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
