Naja, entweder dir bleiben die Himmelsrichtungen, oder du legst das Ding als bitfield an.

Oder eben händisch:
Code:
status = (status & ~0x7) | (wert & 0x7);
Mit Bitfeldern sieht's natürlich viel feiner aus:

Code:
typedef struct
{
   unsigned feld_foo:3;
   ...
} status_t;

status_t status;

...
   status.feld_foo = wert;

   if (status.feld_foo == 5) ...