#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