You can use IDA to interactively define and manipulate enumerated types in the disassembly. Consider this simple sample C program:
enum color_t { BLACK, /* dark colors */ BLUE, GREEN, CYAN, RED, MAGENTA, BROWN, LIGHTGRAY, DARKGRAY, /* light colors */ LIGHTBLUE, LIGHTGREEN, LIGHTCYAN, LIGHTRED, LIGHTMAGENTA, YELLOW, WHITE }; enum day_t { MONDAY, TUESDAY, WEDNESDAY, THUSDAY, FRIDAY, SATURDAY, SUNDAY }; enum bool_t { FALSE, TRUE }; int is_suitable_color(day_t day,color_t color) { if ( (day == SUNDAY || day == SATURDAY) && color == RED ) return TRUE; if ( color == BLACK || color == BLUE ) return TRUE; return FALSE; }
In order to use meaningful names instead of numbers, we open the enums window and press insert to define a new enumerated type.