How to use C enum in Python CTypes?
Marc 'BlackJack' Rintsch
bj_666 at gmx.net
Tue Aug 7 02:11:28 EDT 2007
On Tue, 07 Aug 2007 04:57:19 +0000, rozniy wrote:
> typedef enum olss_tag
> {
> OLSS_AD,
> OLSS_DA,
> OLSS_DIN,
> OLSS_DOUT,
> OLSS_SRL,
> OLSS_CT
> }
> OLSS;
>
> I managed to fudge the HDEV, UINT and PHDASS types as CTypes c_long(),
> but I am not sure how translate a C enum into Python...
>
> This site
> http://python.net/crew/theller/ctypes/tutorial.html#bugs-todo-and-non-implemented-things
>
> says that enumeration types is not implemented,
> "Enumeration types are not implemented. You can do it easily yourself,
> using c_int as the base class."
I would just define constants:
(OLSS_AD,
OLSS_DA,
OLSS_DIN,
OLSS_DOUT,
OLSS_SRL,
OLSS_CT) = map(ctypes.c_int, xrange(6))
Ciao,
Marc 'BlackJack' Rintsch
More information about the Python-list
mailing list