This statement defines a C-style enumerated type.
typedef [attributes] enum [tag] {
enumlist
} enumname;
The enum keyword must be preceded by typedef. The enumeration description must precede other references to the enumeration in the library. If value is not specified for enumerators, the numbering progresses, as with enumerations in C. The type of the enum element is int, the system default integer, which depends on the target type library specification.
typedef [uuid(DEADF00D-C0DE-B1FF-F001-A100FF001ED),
helpstring("Farm Animals are friendly"), helpcontext(234)]
enum {
[helpstring("Moo")] cows = 1,
pigs = 2
} ANIMALS;