That was the first line of a list of defines. Each shifting further to the right.
#define THE_FIRST (_U_(0x1) << 0)
#define RET_WRD_1 (_U_(0x1) << 1)
#define RET_WRD_2 (_U_(0x1) << 2)
#define RET_WRD_3 (_U_(0x1) << 3)
#define RET_WRD_T1_U (_U_(0x1) << 4)
#define RET_WRD_T2_U (_U_(0x1) << 5)
#define RET_WRD_T3_U (_U_(0x1) << 6)
#define RET_WRD_T1_L (_U_(0x1) << 7)
#define RET_WRD_T2_L (_U_(0x1) <<
#define RET_WRD_T3_L (_U_(0x1) << 9)
#define RET_WRD_MAIN_STEP_ERROR (_U_(0x1) << 10)
#define RET_WRD_FEED_STEP_ERROR (_U_(0x1) << 11)
#define RET_WRD_UP_SOLENOID_ERROR (_U_(0x1) << 12)
#define RET_WRD_LW_SOLENOID_ERROR (_U_(0x1) << 13)
#define RET_WRD_CUTTER_MOTOR_ERROR (_U_(0x1) << 14)
#define RET_WRD_CUTTER_FINISHED_OK (_U_(0x1) << 15)
usage was like
if(StatusWord & RET_WRD_UP_SOLENOID_ERROR)DoSomething();
else
DoSomethingElse();
Funny.. It worked with only the first two bit shifts of 0 and 1. When i added the others it failed.