I am pretty sure that ISO C says that enums are equivalant to ints always. of course, not all implementations may be ISO C compliant. John
On Thu, Oct 17, 2002 at 10:01:56AM +0100, Keith Wansbrough wrote: > > > > > - 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 <[EMAIL PROTECTED]> > http://www.cl.cam.ac.uk/users/kw217/ > University of Cambridge Computer Laboratory. > > _______________________________________________ > FFI mailing list > [EMAIL PROTECTED] > http://www.haskell.org/mailman/listinfo/ffi -- --------------------------------------------------------------------------- John Meacham - California Institute of Technology, Alum. - [EMAIL PROTECTED] --------------------------------------------------------------------------- _______________________________________________ FFI mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/ffi