#include <iostream>
using namespace std;
#include <stdint.h>
#include <stdio.h>
typedef struct structTag {
union {
struct {
uint32_t messageID : 26; /* 26bit message id, 67108864 ids */
uint8_t priority : 3; /* priority: MUST BE 0 */
} __attribute__ ((packed));
struct {
uint32_t rawID : 29;
uint8_t canFlags : 3;
};
} __attribute__ ((packed));
} __attribute__ ((packed)) idSpecial;
int main() {
printf("size: %d", sizeof(idSpecial));
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojaW5jbHVkZSA8c3RkaW50Lmg+CiNpbmNsdWRlIDxzdGRpby5oPgoKdHlwZWRlZiBzdHJ1Y3Qgc3RydWN0VGFnIHsKICB1bmlvbiB7CiAgICBzdHJ1Y3QgewogICAgICB1aW50MzJfdCBtZXNzYWdlSUQgOiAyNjsgLyogMjZiaXQgbWVzc2FnZSBpZCwgNjcxMDg4NjQgaWRzICovCiAgICAgIHVpbnQ4X3QgcHJpb3JpdHkgOiAzOyAvKiBwcmlvcml0eTogTVVTVCBCRSAwICovCiAgICB9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKICAgIHN0cnVjdCB7CiAgICAgIHVpbnQzMl90IHJhd0lEIDogMjk7CiAgICAgIHVpbnQ4X3QgY2FuRmxhZ3MgOiAzOwogICAgfTsKICB9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkgaWRTcGVjaWFsOwogICAgCmludCBtYWluKCkgewoJcHJpbnRmKCJzaXplOiAlZCIsIHNpemVvZihpZFNwZWNpYWwpKTsKCXJldHVybiAwOwp9