add a member of enum - a symbolic constant enum_id - id of enum name - name of symbolic constant. Must be unique in the program. value - value of symbolic constant. bmask - bitmask of the constant ordinary enums accept only -1 as a bitmask all bits set in value should be set in bmask too returns: 0-ok, otherwise error code CONST_ERROR_...long add_enum_member(long enum_id, string name, long value, long bmask);
#define CONST_ERROR_NAME 1 // already have member with this name (bad name) #define CONST_ERROR_VALUE 2 // already have member with this value #define CONST_ERROR_ENUM 3 // bad enum id #define CONST_ERROR_MASK 4 // bad bmask #define CONST_ERROR_ILLV 5 // bad bmask and value combination (~bmask & value != 0)