typedef struct {
unsigned B0:1;
unsigned B1:1;
unsigned B2:1;
unsigned B3:1;
unsigned B4:1;
unsigned B5:1;
unsigned B6:1;
unsigned B7:1;
unsigned B8:1;
unsigned B9:1;
unsigned B10:1;
unsigned B11:1;
unsigned B12:1;
unsigned B13:1;
unsigned B14:1;
unsigned B15:1;
unsigned B16:1;
unsigned B17:1;
unsigned B18:1;
unsigned B19:1;
unsigned B20:1;
unsigned B21:1;
unsigned B22:1;
unsigned B23:1;
unsigned B24:1;
unsigned B25:1;
unsigned B26:1;
unsigned B27:1;
unsigned B28:1;
unsigned B29:1;
unsigned B30:1;
unsigned B31:1;
} ULONG_BIT_FIELDS_TYPE;
typedef struct {
ULONG_BIT_FIELDS_TYPE my_32_bit_flag;
unsigned int buttons_port_value;
unsigned int motor_control_port_value;
unsigned int pwm_duties;
unsigned long checksum;
} REMOTE_CONTROL_TYPE;
REMOTE_CONTROL_TYPE my_remote_control;
#define momentary_or_latch_mode_flag my_remote_control.my_32_bit_flag.B0