// See the file "COPYING" in the main distribution directory for copyright. #ifndef stmt_enums_h #define stmt_enums_h // These are in a separate file to break circular dependences typedef enum { STMT_ANY = -1, STMT_ALARM, // Does no longer exist but kept to create enums consistent. STMT_PRINT, STMT_EVENT, STMT_EXPR, STMT_IF, STMT_WHEN, STMT_SWITCH, STMT_FOR, STMT_NEXT, STMT_BREAK, STMT_RETURN, STMT_ADD, STMT_DELETE, STMT_LIST, STMT_EVENT_BODY_LIST, STMT_INIT, STMT_FALLTHROUGH, STMT_WHILE, STMT_NULL #define NUM_STMTS (int(STMT_NULL) + 1) } BroStmtTag; typedef enum { FLOW_NEXT, // continue on to next statement FLOW_LOOP, // go to top of loop FLOW_BREAK, // break out of loop FLOW_RETURN, // return from function FLOW_FALLTHROUGH // fall through to next switch case } stmt_flow_type; extern const char* stmt_name(BroStmtTag t); #endif