Try this: struct { unsigned notify : 1; unsigned valid : 1; unsigned finish : 1; unsigned demo : 1; unsigned alert : 1; unsigned encourage : 1; unsigned exercise : 1; unsigned grace : 1; > } flags; switch ( * (unsigned char *) (void *) &flags) { } This will fool the compiler into treating the 1-byte structure as a simple unsigned character. Bob Ammerman RAm Systems (contract development of high performance, high function, low-level software) -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads