- If not, then how should enum values be declared in the FFI?
What you need to do is run a little autoconf-like program which constructs a program containing a suitable example, runs it through a C compiler and tells you what's going on.
hsc comes very close but I'm not certain if it does exactly what you need. If not, compiling and running this program should tell you:
Hmm, careful. The C compiler is free to be clever, and use a char if there are <=256 elements in the enum, and short or int otherwise. You want to know the size of your particular enum, not any random enum. (betraying my age, but didn't Turbo C do this?) --KW 8-) -- Keith Wansbrough <kw217@cl.cam.ac.uk> http://www.cl.cam.ac.uk/users/kw217/ University of Cambridge Computer Laboratory.