"rozniy" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > On Aug 7, 2:11 pm, Marc 'BlackJack' Rintsch <[EMAIL PROTECTED]> wrote: >> 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... >> >> > 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- Hide quoted text - >> >> - Show quoted text - > > > Wouldn't that assign integer values 0 to 5 to the things? I don't know > if it'll give me the correct results.
Yes, that's how C's and C++'s enums work, unless an override is given (which I know you can do in C++ for sure). Otherwise, they are just numbers starting at 0. The size of the intergers (byte, 2 bytes, 4 bytes, etc..) is implemenation defined I believe, but an int normally works. -- http://mail.python.org/mailman/listinfo/python-list