typedef volatile struct device_s { int rw; const int ro;} device_t;device_t *dev = (device_t*)0xA0000000;void bar(void){ dev->rw = dev->ro; dev->rw = dev->ro; // dev->ro = 3; // would generate error}