multicharacter character literal - 'blah' правда на него некоторые компиляторы будут warning'и сыпать...
типа: #2548-D: multicharacter character literal (potential portability problem)
#define SWAP32(x) (((x) & 0xff) << 24 | ((x) & 0xff00) << 8 | ((x) & 0xff0000) >> 8 | ((x) >> 24) & 0xff)
case SWAP32('blah'): (аналог тому, что выпривели).
Ну и как вариант: (и никаких ворнингов)
#define ABCD2INT(x) ((uint32_t)(((x)[0]<<24)+((x)[1]<<16)+((x)[2]<<8)+(x)[3]))
case ABCD2INT("blah"):
Правда не знаю на сколько это универсально...
ну и строка должна быть не менее 3х символов...