[C2hs] enum define hooks
Manuel M T Chakravarty
chak at cse.unsw.edu.au
Sun Mar 2 19:02:01 EST 2008
Gour:
> I'm on the verge of my 1st Haskell project where I want to use c2hs to
> produce bindings for C library.
>
> There are not (yet) "enum define" hooks implemented, so I wonder
> what's
> convenient way to bind library with quite a lot of #defines like:
>
> #define SE_SUN 0
> #define SE_MOON 1
> #define SE_MERCURY 2
> #define SE_VENUS 3
> #define SE_MARS 4
> #define SE_JUPITER 5
> #define SE_SATURN 6
>
> and some in the form of:
>
> #define SE_FNAME_DE200 "de200.eph"
> #define SE_FNAME_DE403 "de403.eph"
> #define SE_STARFILE "fixstars.cat"
I'd recommend to use inline C in the .chs file, where you define
suitable enum with something like
enum SE_ENUM {
SE_ENUM_SUN = SE_SUN,
<and so on>
}
and then let c2hs marshal SE_ENUM.
Manuel
More information about the C2hs
mailing list