[cffi-devel] Re: defenum proposal
Frank Buss
fb at frank-buss.de
Tue Jan 24 03:59:39 UTC 2006
> > I'm not convinced DEFCONSTANT is appropriate. Maybe all is
> > needed is
> > a mapping from name to values (and vice-versa, the CLISP
> > FFI has it),
>
> Right, that's what CFFI has, see
> http://common-lisp.net/project/cffi/manual/html_node/defcenum.html
How does this work with anonymous enums? E.g. like this (C code) :
enum { SDL_NOEVENT = 0,
SDL_ACTIVEEVENT,
SDL_KEYDOWN,
SDL_KEYUP,
};
#define SDL_EVENTMASK(X) (1<<(X))
enum {
SDL_ACTIVEEVENTMASK = SDL_EVENTMASK(SDL_ACTIVEEVENT),
SDL_KEYDOWNMASK = SDL_EVENTMASK(SDL_KEYDOWN),
SDL_KEYUPMASK = SDL_EVENTMASK(SDL_KEYUP),
};
setEventMask(SDL_ACTIVEEVENTMASK | SDL_KEYUPMASK);
How would you translate this to Lisp with CFFI? With my def-anon-emum macro,
which translates just to defconstant, it would be easy, but perhaps there
are better ways to do it.
--
Frank Buss, fb at frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
More information about the cffi-devel
mailing list