жестоко штатный хедер переписать под свой стиль

....
при сдвиге влево вроде как пофиг на старший бит, гораздо важнее что L - то есть лонг, а то найдется компилятор который 16 бит по умолчанию делает, и при сдвиге дальше 16 все обнулится...
хотя после всей этой пляски с битностью инта перехожу на явные типы (((uint32_t) 0x01) << SHIFT)