Skip to content

Instantly share code, notes, and snippets.

@jacobh
Created July 11, 2017 04:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jacobh/e812d09c8af2d62631eefcb21b051969 to your computer and use it in GitHub Desktop.
Save jacobh/e812d09c8af2d62631eefcb21b051969 to your computer and use it in GitHub Desktop.
/* automatically generated by rust-bindgen */
#[repr(C)]
pub struct __BindgenUnionField<T>(::std::marker::PhantomData<T>);
impl <T> __BindgenUnionField<T> {
#[inline]
pub fn new() -> Self { __BindgenUnionField(::std::marker::PhantomData) }
#[inline]
pub unsafe fn as_ref(&self) -> &T { ::std::mem::transmute(self) }
#[inline]
pub unsafe fn as_mut(&mut self) -> &mut T { ::std::mem::transmute(self) }
}
impl <T> ::std::default::Default for __BindgenUnionField<T> {
#[inline]
fn default() -> Self { Self::new() }
}
impl <T> ::std::clone::Clone for __BindgenUnionField<T> {
#[inline]
fn clone(&self) -> Self { Self::new() }
}
impl <T> ::std::marker::Copy for __BindgenUnionField<T> { }
impl <T> ::std::fmt::Debug for __BindgenUnionField<T> {
fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
fmt.write_str("__BindgenUnionField")
}
}
pub const FIT_LOCAL_MESGS: ::std::os::raw::c_uint = 16;
pub const FIT_PROTOCOL_VERSION_MAJOR_SHIFT: ::std::os::raw::c_uint = 4;
pub const FIT_PROFILE_VERSION_MAJOR: ::std::os::raw::c_uint = 20;
pub const FIT_PROFILE_VERSION_MINOR: ::std::os::raw::c_uint = 38;
pub const FIT_PROFILE_VERSION_SCALE: ::std::os::raw::c_uint = 100;
pub const FIT_ANTFS_FILE_DATA_TYPE: ::std::os::raw::c_uint = 128;
pub const FIT_BASE_TYPES: ::std::os::raw::c_uint = 17;
pub const FIT_NULL: ::std::os::raw::c_uint = 0;
pub const FIT_FILE_HDR_SIZE: ::std::os::raw::c_uint = 14;
pub const FIT_FILE_CRC_SIZE: ::std::os::raw::c_uint = 2;
pub const FIT_HDR_SIZE: ::std::os::raw::c_uint = 1;
pub const FIT_HDR_TIME_TYPE_SHIFT: ::std::os::raw::c_uint = 5;
pub const FIT_FIELD_DEF_SIZE: ::std::os::raw::c_uint = 3;
pub const FIT_DEV_FIELD_DEF_SIZE: ::std::os::raw::c_uint = 3;
pub const FIT_ARCH_ENDIAN_LITTLE: ::std::os::raw::c_uint = 0;
pub const FIT_ARCH_ENDIAN_BIG: ::std::os::raw::c_uint = 1;
pub const FIT_ALIGNMENT: ::std::os::raw::c_uint = 4;
pub const FIT_FILE_COUNT: ::std::os::raw::c_uint = 20;
pub const FIT_MESG_NUM_COUNT: ::std::os::raw::c_uint = 79;
pub const FIT_CHECKSUM_COUNT: ::std::os::raw::c_uint = 2;
pub const FIT_FILE_FLAGS_COUNT: ::std::os::raw::c_uint = 3;
pub const FIT_MESG_COUNT_COUNT: ::std::os::raw::c_uint = 3;
pub const FIT_DATE_TIME_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_LOCAL_DATE_TIME_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_MESSAGE_INDEX_COUNT: ::std::os::raw::c_uint = 3;
pub const FIT_DEVICE_INDEX_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_GENDER_COUNT: ::std::os::raw::c_uint = 2;
pub const FIT_LANGUAGE_COUNT: ::std::os::raw::c_uint = 39;
pub const FIT_LANGUAGE_BITS_0_COUNT: ::std::os::raw::c_uint = 8;
pub const FIT_LANGUAGE_BITS_1_COUNT: ::std::os::raw::c_uint = 8;
pub const FIT_LANGUAGE_BITS_2_COUNT: ::std::os::raw::c_uint = 8;
pub const FIT_LANGUAGE_BITS_3_COUNT: ::std::os::raw::c_uint = 8;
pub const FIT_LANGUAGE_BITS_4_COUNT: ::std::os::raw::c_uint = 6;
pub const FIT_TIME_ZONE_COUNT: ::std::os::raw::c_uint = 106;
pub const FIT_DISPLAY_MEASURE_COUNT: ::std::os::raw::c_uint = 3;
pub const FIT_DISPLAY_HEART_COUNT: ::std::os::raw::c_uint = 3;
pub const FIT_DISPLAY_POWER_COUNT: ::std::os::raw::c_uint = 2;
pub const FIT_DISPLAY_POSITION_COUNT: ::std::os::raw::c_uint = 42;
pub const FIT_SWITCH_COUNT: ::std::os::raw::c_uint = 3;
pub const FIT_SPORT_COUNT: ::std::os::raw::c_uint = 50;
pub const FIT_SPORT_BITS_0_COUNT: ::std::os::raw::c_uint = 8;
pub const FIT_SPORT_BITS_1_COUNT: ::std::os::raw::c_uint = 8;
pub const FIT_SPORT_BITS_2_COUNT: ::std::os::raw::c_uint = 8;
pub const FIT_SPORT_BITS_3_COUNT: ::std::os::raw::c_uint = 8;
pub const FIT_SPORT_BITS_4_COUNT: ::std::os::raw::c_uint = 8;
pub const FIT_SPORT_BITS_5_COUNT: ::std::os::raw::c_uint = 8;
pub const FIT_SPORT_BITS_6_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_SUB_SPORT_COUNT: ::std::os::raw::c_uint = 54;
pub const FIT_SPORT_EVENT_COUNT: ::std::os::raw::c_uint = 9;
pub const FIT_ACTIVITY_COUNT: ::std::os::raw::c_uint = 2;
pub const FIT_INTENSITY_COUNT: ::std::os::raw::c_uint = 4;
pub const FIT_SESSION_TRIGGER_COUNT: ::std::os::raw::c_uint = 4;
pub const FIT_AUTOLAP_TRIGGER_COUNT: ::std::os::raw::c_uint = 7;
pub const FIT_LAP_TRIGGER_COUNT: ::std::os::raw::c_uint = 9;
pub const FIT_TIME_MODE_COUNT: ::std::os::raw::c_uint = 6;
pub const FIT_BACKLIGHT_MODE_COUNT: ::std::os::raw::c_uint = 7;
pub const FIT_DATE_MODE_COUNT: ::std::os::raw::c_uint = 2;
pub const FIT_EVENT_COUNT: ::std::os::raw::c_uint = 36;
pub const FIT_EVENT_TYPE_COUNT: ::std::os::raw::c_uint = 10;
pub const FIT_TIMER_TRIGGER_COUNT: ::std::os::raw::c_uint = 3;
pub const FIT_FITNESS_EQUIPMENT_STATE_COUNT: ::std::os::raw::c_uint = 4;
pub const FIT_AUTOSCROLL_COUNT: ::std::os::raw::c_uint = 4;
pub const FIT_ACTIVITY_CLASS_COUNT: ::std::os::raw::c_uint = 3;
pub const FIT_HR_ZONE_CALC_COUNT: ::std::os::raw::c_uint = 3;
pub const FIT_PWR_ZONE_CALC_COUNT: ::std::os::raw::c_uint = 2;
pub const FIT_WKT_STEP_DURATION_COUNT: ::std::os::raw::c_uint = 29;
pub const FIT_WKT_STEP_TARGET_COUNT: ::std::os::raw::c_uint = 14;
pub const FIT_GOAL_COUNT: ::std::os::raw::c_uint = 7;
pub const FIT_GOAL_RECURRENCE_COUNT: ::std::os::raw::c_uint = 6;
pub const FIT_GOAL_SOURCE_COUNT: ::std::os::raw::c_uint = 3;
pub const FIT_SCHEDULE_COUNT: ::std::os::raw::c_uint = 2;
pub const FIT_COURSE_POINT_COUNT: ::std::os::raw::c_uint = 26;
pub const FIT_MANUFACTURER_COUNT: ::std::os::raw::c_uint = 134;
pub const FIT_GARMIN_PRODUCT_COUNT: ::std::os::raw::c_uint = 156;
pub const FIT_ANTPLUS_DEVICE_TYPE_COUNT: ::std::os::raw::c_uint = 23;
pub const FIT_ANT_NETWORK_COUNT: ::std::os::raw::c_uint = 4;
pub const FIT_WORKOUT_CAPABILITIES_COUNT: ::std::os::raw::c_uint = 14;
pub const FIT_BATTERY_STATUS_COUNT: ::std::os::raw::c_uint = 7;
pub const FIT_HR_TYPE_COUNT: ::std::os::raw::c_uint = 2;
pub const FIT_COURSE_CAPABILITIES_COUNT: ::std::os::raw::c_uint = 11;
pub const FIT_WEIGHT_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_WORKOUT_HR_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_WORKOUT_POWER_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_BP_STATUS_COUNT: ::std::os::raw::c_uint = 5;
pub const FIT_USER_LOCAL_ID_COUNT: ::std::os::raw::c_uint = 6;
pub const FIT_SWIM_STROKE_COUNT: ::std::os::raw::c_uint = 7;
pub const FIT_ACTIVITY_TYPE_COUNT: ::std::os::raw::c_uint = 9;
pub const FIT_ACTIVITY_SUBTYPE_COUNT: ::std::os::raw::c_uint = 20;
pub const FIT_ACTIVITY_LEVEL_COUNT: ::std::os::raw::c_uint = 3;
pub const FIT_SIDE_COUNT: ::std::os::raw::c_uint = 2;
pub const FIT_LEFT_RIGHT_BALANCE_COUNT: ::std::os::raw::c_uint = 2;
pub const FIT_LEFT_RIGHT_BALANCE_100_COUNT: ::std::os::raw::c_uint = 2;
pub const FIT_LENGTH_TYPE_COUNT: ::std::os::raw::c_uint = 2;
pub const FIT_DAY_OF_WEEK_COUNT: ::std::os::raw::c_uint = 7;
pub const FIT_CONNECTIVITY_CAPABILITIES_COUNT: ::std::os::raw::c_uint = 32;
pub const FIT_WEATHER_REPORT_COUNT: ::std::os::raw::c_uint = 4;
pub const FIT_WEATHER_STATUS_COUNT: ::std::os::raw::c_uint = 21;
pub const FIT_WEATHER_SEVERITY_COUNT: ::std::os::raw::c_uint = 5;
pub const FIT_WEATHER_SEVERE_TYPE_COUNT: ::std::os::raw::c_uint = 85;
pub const FIT_TIME_INTO_DAY_COUNT: ::std::os::raw::c_uint = 0;
pub const FIT_LOCALTIME_INTO_DAY_COUNT: ::std::os::raw::c_uint = 0;
pub const FIT_STROKE_TYPE_COUNT: ::std::os::raw::c_uint = 6;
pub const FIT_BODY_LOCATION_COUNT: ::std::os::raw::c_uint = 40;
pub const FIT_SEGMENT_LAP_STATUS_COUNT: ::std::os::raw::c_uint = 2;
pub const FIT_SEGMENT_LEADERBOARD_TYPE_COUNT: ::std::os::raw::c_uint = 11;
pub const FIT_SEGMENT_DELETE_STATUS_COUNT: ::std::os::raw::c_uint = 3;
pub const FIT_SEGMENT_SELECTION_TYPE_COUNT: ::std::os::raw::c_uint = 2;
pub const FIT_SOURCE_TYPE_COUNT: ::std::os::raw::c_uint = 6;
pub const FIT_DISPLAY_ORIENTATION_COUNT: ::std::os::raw::c_uint = 5;
pub const FIT_WORKOUT_EQUIPMENT_COUNT: ::std::os::raw::c_uint = 6;
pub const FIT_WATCHFACE_MODE_COUNT: ::std::os::raw::c_uint = 4;
pub const FIT_DIGITAL_WATCHFACE_LAYOUT_COUNT: ::std::os::raw::c_uint = 3;
pub const FIT_ANALOG_WATCHFACE_LAYOUT_COUNT: ::std::os::raw::c_uint = 3;
pub const FIT_RIDER_POSITION_TYPE_COUNT: ::std::os::raw::c_uint = 4;
pub const FIT_POWER_PHASE_TYPE_COUNT: ::std::os::raw::c_uint = 4;
pub const FIT_CAMERA_EVENT_TYPE_COUNT: ::std::os::raw::c_uint = 13;
pub const FIT_SENSOR_TYPE_COUNT: ::std::os::raw::c_uint = 3;
pub const FIT_BIKE_LIGHT_NETWORK_CONFIG_TYPE_COUNT: ::std::os::raw::c_uint =
4;
pub const FIT_COMM_TIMEOUT_TYPE_COUNT: ::std::os::raw::c_uint = 4;
pub const FIT_CAMERA_ORIENTATION_TYPE_COUNT: ::std::os::raw::c_uint = 4;
pub const FIT_ATTITUDE_STAGE_COUNT: ::std::os::raw::c_uint = 4;
pub const FIT_ATTITUDE_VALIDITY_COUNT: ::std::os::raw::c_uint = 13;
pub const FIT_AUTO_SYNC_FREQUENCY_COUNT: ::std::os::raw::c_uint = 5;
pub const FIT_EXD_LAYOUT_COUNT: ::std::os::raw::c_uint = 8;
pub const FIT_EXD_DISPLAY_TYPE_COUNT: ::std::os::raw::c_uint = 11;
pub const FIT_EXD_DATA_UNITS_COUNT: ::std::os::raw::c_uint = 50;
pub const FIT_EXD_QUALIFIERS_COUNT: ::std::os::raw::c_uint = 43;
pub const FIT_EXD_DESCRIPTORS_COUNT: ::std::os::raw::c_uint = 97;
pub const FIT_AUTO_ACTIVITY_DETECT_COUNT: ::std::os::raw::c_uint = 7;
pub const FIT_SUPPORTED_EXD_SCREEN_LAYOUTS_COUNT: ::std::os::raw::c_uint = 8;
pub const FIT_FIT_BASE_TYPE_COUNT: ::std::os::raw::c_uint = 17;
pub const FIT_TURN_TYPE_COUNT: ::std::os::raw::c_uint = 38;
pub const FIT_BIKE_LIGHT_BEAM_ANGLE_MODE_COUNT: ::std::os::raw::c_uint = 2;
pub const FIT_FIT_BASE_UNIT_COUNT: ::std::os::raw::c_uint = 3;
pub const FIT_MESG_SIZE: ::std::os::raw::c_uint = 254;
pub const FIT_MESG_DEF_SIZE: ::std::os::raw::c_uint = 275;
pub const FIT_PAD_MESG_DEF_SIZE: ::std::os::raw::c_uint = 5;
pub const FIT_FILE_ID_MESG_SIZE: ::std::os::raw::c_uint = 35;
pub const FIT_FILE_ID_MESG_DEF_SIZE: ::std::os::raw::c_uint = 26;
pub const FIT_FILE_ID_MESG_PRODUCT_NAME_COUNT: ::std::os::raw::c_uint = 20;
pub const FIT_FILE_CREATOR_MESG_SIZE: ::std::os::raw::c_uint = 3;
pub const FIT_FILE_CREATOR_MESG_DEF_SIZE: ::std::os::raw::c_uint = 11;
pub const FIT_SOFTWARE_MESG_SIZE: ::std::os::raw::c_uint = 20;
pub const FIT_SOFTWARE_MESG_DEF_SIZE: ::std::os::raw::c_uint = 14;
pub const FIT_SOFTWARE_MESG_PART_NUMBER_COUNT: ::std::os::raw::c_uint = 16;
pub const FIT_SLAVE_DEVICE_MESG_SIZE: ::std::os::raw::c_uint = 4;
pub const FIT_SLAVE_DEVICE_MESG_DEF_SIZE: ::std::os::raw::c_uint = 11;
pub const FIT_CAPABILITIES_MESG_SIZE: ::std::os::raw::c_uint = 13;
pub const FIT_CAPABILITIES_MESG_DEF_SIZE: ::std::os::raw::c_uint = 17;
pub const FIT_CAPABILITIES_MESG_LANGUAGES_COUNT: ::std::os::raw::c_uint = 4;
pub const FIT_CAPABILITIES_MESG_SPORTS_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_FILE_CAPABILITIES_MESG_SIZE: ::std::os::raw::c_uint = 26;
pub const FIT_FILE_CAPABILITIES_MESG_DEF_SIZE: ::std::os::raw::c_uint = 23;
pub const FIT_FILE_CAPABILITIES_MESG_DIRECTORY_COUNT: ::std::os::raw::c_uint =
16;
pub const FIT_MESG_CAPABILITIES_MESG_SIZE: ::std::os::raw::c_uint = 8;
pub const FIT_MESG_CAPABILITIES_MESG_DEF_SIZE: ::std::os::raw::c_uint = 20;
pub const FIT_FIELD_CAPABILITIES_MESG_SIZE: ::std::os::raw::c_uint = 8;
pub const FIT_FIELD_CAPABILITIES_MESG_DEF_SIZE: ::std::os::raw::c_uint = 20;
pub const FIT_DEVICE_SETTINGS_MESG_SIZE: ::std::os::raw::c_uint = 35;
pub const FIT_DEVICE_SETTINGS_MESG_DEF_SIZE: ::std::os::raw::c_uint = 53;
pub const FIT_DEVICE_SETTINGS_MESG_TIME_OFFSET_COUNT: ::std::os::raw::c_uint =
2;
pub const FIT_DEVICE_SETTINGS_MESG_PAGES_ENABLED_COUNT: ::std::os::raw::c_uint
=
1;
pub const FIT_DEVICE_SETTINGS_MESG_DEFAULT_PAGE_COUNT: ::std::os::raw::c_uint
=
1;
pub const FIT_DEVICE_SETTINGS_MESG_TIME_MODE_COUNT: ::std::os::raw::c_uint =
2;
pub const FIT_DEVICE_SETTINGS_MESG_TIME_ZONE_OFFSET_COUNT:
::std::os::raw::c_uint =
2;
pub const FIT_USER_PROFILE_MESG_SIZE: ::std::os::raw::c_uint = 50;
pub const FIT_USER_PROFILE_MESG_DEF_SIZE: ::std::os::raw::c_uint = 80;
pub const FIT_USER_PROFILE_MESG_FRIENDLY_NAME_COUNT: ::std::os::raw::c_uint =
16;
pub const FIT_USER_PROFILE_MESG_GLOBAL_ID_COUNT: ::std::os::raw::c_uint = 6;
pub const FIT_HRM_PROFILE_MESG_SIZE: ::std::os::raw::c_uint = 7;
pub const FIT_HRM_PROFILE_MESG_DEF_SIZE: ::std::os::raw::c_uint = 20;
pub const FIT_SDM_PROFILE_MESG_SIZE: ::std::os::raw::c_uint = 14;
pub const FIT_SDM_PROFILE_MESG_DEF_SIZE: ::std::os::raw::c_uint = 29;
pub const FIT_BIKE_PROFILE_MESG_SIZE: ::std::os::raw::c_uint = 59;
pub const FIT_BIKE_PROFILE_MESG_DEF_SIZE: ::std::os::raw::c_uint = 101;
pub const FIT_BIKE_PROFILE_MESG_NAME_COUNT: ::std::os::raw::c_uint = 16;
pub const FIT_BIKE_PROFILE_MESG_FRONT_GEAR_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_BIKE_PROFILE_MESG_REAR_GEAR_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_CONNECTIVITY_MESG_SIZE: ::std::os::raw::c_uint = 36;
pub const FIT_CONNECTIVITY_MESG_DEF_SIZE: ::std::os::raw::c_uint = 44;
pub const FIT_CONNECTIVITY_MESG_NAME_COUNT: ::std::os::raw::c_uint = 24;
pub const FIT_ZONES_TARGET_MESG_SIZE: ::std::os::raw::c_uint = 6;
pub const FIT_ZONES_TARGET_MESG_DEF_SIZE: ::std::os::raw::c_uint = 20;
pub const FIT_SPORT_MESG_SIZE: ::std::os::raw::c_uint = 18;
pub const FIT_SPORT_MESG_DEF_SIZE: ::std::os::raw::c_uint = 14;
pub const FIT_SPORT_MESG_NAME_COUNT: ::std::os::raw::c_uint = 16;
pub const FIT_HR_ZONE_MESG_SIZE: ::std::os::raw::c_uint = 19;
pub const FIT_HR_ZONE_MESG_DEF_SIZE: ::std::os::raw::c_uint = 14;
pub const FIT_HR_ZONE_MESG_NAME_COUNT: ::std::os::raw::c_uint = 16;
pub const FIT_SPEED_ZONE_MESG_SIZE: ::std::os::raw::c_uint = 20;
pub const FIT_SPEED_ZONE_MESG_DEF_SIZE: ::std::os::raw::c_uint = 14;
pub const FIT_SPEED_ZONE_MESG_NAME_COUNT: ::std::os::raw::c_uint = 16;
pub const FIT_CADENCE_ZONE_MESG_SIZE: ::std::os::raw::c_uint = 19;
pub const FIT_CADENCE_ZONE_MESG_DEF_SIZE: ::std::os::raw::c_uint = 14;
pub const FIT_CADENCE_ZONE_MESG_NAME_COUNT: ::std::os::raw::c_uint = 16;
pub const FIT_POWER_ZONE_MESG_SIZE: ::std::os::raw::c_uint = 20;
pub const FIT_POWER_ZONE_MESG_DEF_SIZE: ::std::os::raw::c_uint = 14;
pub const FIT_POWER_ZONE_MESG_NAME_COUNT: ::std::os::raw::c_uint = 16;
pub const FIT_MET_ZONE_MESG_SIZE: ::std::os::raw::c_uint = 6;
pub const FIT_MET_ZONE_MESG_DEF_SIZE: ::std::os::raw::c_uint = 17;
pub const FIT_GOAL_MESG_SIZE: ::std::os::raw::c_uint = 27;
pub const FIT_GOAL_MESG_DEF_SIZE: ::std::os::raw::c_uint = 44;
pub const FIT_ACTIVITY_MESG_SIZE: ::std::os::raw::c_uint = 18;
pub const FIT_ACTIVITY_MESG_DEF_SIZE: ::std::os::raw::c_uint = 29;
pub const FIT_SESSION_MESG_SIZE: ::std::os::raw::c_uint = 207;
pub const FIT_SESSION_MESG_DEF_SIZE: ::std::os::raw::c_uint = 275;
pub const FIT_SESSION_MESG_TIME_IN_HR_ZONE_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_SESSION_MESG_TIME_IN_SPEED_ZONE_COUNT: ::std::os::raw::c_uint =
1;
pub const FIT_SESSION_MESG_TIME_IN_CADENCE_ZONE_COUNT: ::std::os::raw::c_uint
=
1;
pub const FIT_SESSION_MESG_TIME_IN_POWER_ZONE_COUNT: ::std::os::raw::c_uint =
1;
pub const FIT_SESSION_MESG_STROKE_COUNT_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_SESSION_MESG_ZONE_COUNT_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_SESSION_MESG_OPPONENT_NAME_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_LAP_MESG_SIZE: ::std::os::raw::c_uint = 189;
pub const FIT_LAP_MESG_DEF_SIZE: ::std::os::raw::c_uint = 254;
pub const FIT_LAP_MESG_TIME_IN_HR_ZONE_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_LAP_MESG_TIME_IN_SPEED_ZONE_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_LAP_MESG_TIME_IN_CADENCE_ZONE_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_LAP_MESG_TIME_IN_POWER_ZONE_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_LAP_MESG_STROKE_COUNT_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_LAP_MESG_ZONE_COUNT_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_LAP_MESG_AVG_TOTAL_HEMOGLOBIN_CONC_COUNT: ::std::os::raw::c_uint
=
1;
pub const FIT_LAP_MESG_MIN_TOTAL_HEMOGLOBIN_CONC_COUNT: ::std::os::raw::c_uint
=
1;
pub const FIT_LAP_MESG_MAX_TOTAL_HEMOGLOBIN_CONC_COUNT: ::std::os::raw::c_uint
=
1;
pub const FIT_LAP_MESG_AVG_SATURATED_HEMOGLOBIN_PERCENT_COUNT:
::std::os::raw::c_uint =
1;
pub const FIT_LAP_MESG_MIN_SATURATED_HEMOGLOBIN_PERCENT_COUNT:
::std::os::raw::c_uint =
1;
pub const FIT_LAP_MESG_MAX_SATURATED_HEMOGLOBIN_PERCENT_COUNT:
::std::os::raw::c_uint =
1;
pub const FIT_LENGTH_MESG_SIZE: ::std::os::raw::c_uint = 38;
pub const FIT_LENGTH_MESG_DEF_SIZE: ::std::os::raw::c_uint = 59;
pub const FIT_LENGTH_MESG_STROKE_COUNT_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_LENGTH_MESG_ZONE_COUNT_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_RECORD_MESG_SIZE: ::std::os::raw::c_uint = 99;
pub const FIT_RECORD_MESG_DEF_SIZE: ::std::os::raw::c_uint = 149;
pub const FIT_RECORD_MESG_COMPRESSED_SPEED_DISTANCE_COUNT:
::std::os::raw::c_uint =
3;
pub const FIT_RECORD_MESG_SPEED_1S_COUNT: ::std::os::raw::c_uint = 5;
pub const FIT_EVENT_MESG_SIZE: ::std::os::raw::c_uint = 21;
pub const FIT_EVENT_MESG_DEF_SIZE: ::std::os::raw::c_uint = 41;
pub const FIT_DEVICE_INFO_MESG_SIZE: ::std::os::raw::c_uint = 51;
pub const FIT_DEVICE_INFO_MESG_DEF_SIZE: ::std::os::raw::c_uint = 59;
pub const FIT_DEVICE_INFO_MESG_PRODUCT_NAME_COUNT: ::std::os::raw::c_uint =
20;
pub const FIT_DEVICE_INFO_MESG_DESCRIPTOR_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_TRAINING_FILE_MESG_SIZE: ::std::os::raw::c_uint = 17;
pub const FIT_TRAINING_FILE_MESG_DEF_SIZE: ::std::os::raw::c_uint = 23;
pub const FIT_HRV_MESG_SIZE: ::std::os::raw::c_uint = 2;
pub const FIT_HRV_MESG_DEF_SIZE: ::std::os::raw::c_uint = 8;
pub const FIT_HRV_MESG_TIME_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_WEATHER_CONDITIONS_MESG_SIZE: ::std::os::raw::c_uint = 93;
pub const FIT_WEATHER_CONDITIONS_MESG_DEF_SIZE: ::std::os::raw::c_uint = 53;
pub const FIT_WEATHER_CONDITIONS_MESG_LOCATION_COUNT: ::std::os::raw::c_uint =
64;
pub const FIT_WEATHER_ALERT_MESG_SIZE: ::std::os::raw::c_uint = 26;
pub const FIT_WEATHER_ALERT_MESG_DEF_SIZE: ::std::os::raw::c_uint = 23;
pub const FIT_WEATHER_ALERT_MESG_REPORT_ID_COUNT: ::std::os::raw::c_uint = 12;
pub const FIT_NMEA_SENTENCE_MESG_SIZE: ::std::os::raw::c_uint = 89;
pub const FIT_NMEA_SENTENCE_MESG_DEF_SIZE: ::std::os::raw::c_uint = 14;
pub const FIT_NMEA_SENTENCE_MESG_SENTENCE_COUNT: ::std::os::raw::c_uint = 83;
pub const FIT_AVIATION_ATTITUDE_MESG_SIZE: ::std::os::raw::c_uint = 26;
pub const FIT_AVIATION_ATTITUDE_MESG_DEF_SIZE: ::std::os::raw::c_uint = 41;
pub const FIT_AVIATION_ATTITUDE_MESG_SYSTEM_TIME_COUNT: ::std::os::raw::c_uint
=
1;
pub const FIT_AVIATION_ATTITUDE_MESG_PITCH_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_AVIATION_ATTITUDE_MESG_ROLL_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_AVIATION_ATTITUDE_MESG_ACCEL_LATERAL_COUNT:
::std::os::raw::c_uint =
1;
pub const FIT_AVIATION_ATTITUDE_MESG_ACCEL_NORMAL_COUNT:
::std::os::raw::c_uint =
1;
pub const FIT_AVIATION_ATTITUDE_MESG_TURN_RATE_COUNT: ::std::os::raw::c_uint =
1;
pub const FIT_AVIATION_ATTITUDE_MESG_TRACK_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_AVIATION_ATTITUDE_MESG_VALIDITY_COUNT: ::std::os::raw::c_uint =
1;
pub const FIT_AVIATION_ATTITUDE_MESG_STAGE_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_AVIATION_ATTITUDE_MESG_ATTITUDE_STAGE_COMPLETE_COUNT:
::std::os::raw::c_uint =
1;
pub const FIT_VIDEO_TITLE_MESG_SIZE: ::std::os::raw::c_uint = 84;
pub const FIT_VIDEO_TITLE_MESG_DEF_SIZE: ::std::os::raw::c_uint = 14;
pub const FIT_VIDEO_TITLE_MESG_TEXT_COUNT: ::std::os::raw::c_uint = 80;
pub const FIT_VIDEO_DESCRIPTION_MESG_SIZE: ::std::os::raw::c_uint = 254;
pub const FIT_VIDEO_DESCRIPTION_MESG_DEF_SIZE: ::std::os::raw::c_uint = 14;
pub const FIT_VIDEO_DESCRIPTION_MESG_TEXT_COUNT: ::std::os::raw::c_uint = 250;
pub const FIT_COURSE_MESG_SIZE: ::std::os::raw::c_uint = 22;
pub const FIT_COURSE_MESG_DEF_SIZE: ::std::os::raw::c_uint = 17;
pub const FIT_COURSE_MESG_NAME_COUNT: ::std::os::raw::c_uint = 16;
pub const FIT_COURSE_POINT_MESG_SIZE: ::std::os::raw::c_uint = 36;
pub const FIT_COURSE_POINT_MESG_DEF_SIZE: ::std::os::raw::c_uint = 29;
pub const FIT_COURSE_POINT_MESG_NAME_COUNT: ::std::os::raw::c_uint = 16;
pub const FIT_SEGMENT_ID_MESG_SIZE: ::std::os::raw::c_uint = 15;
pub const FIT_SEGMENT_ID_MESG_DEF_SIZE: ::std::os::raw::c_uint = 32;
pub const FIT_SEGMENT_ID_MESG_NAME_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_SEGMENT_ID_MESG_UUID_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_SIZE: ::std::os::raw::c_uint =
16;
pub const FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_DEF_SIZE: ::std::os::raw::c_uint
=
23;
pub const FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_NAME_COUNT:
::std::os::raw::c_uint =
1;
pub const FIT_SEGMENT_POINT_MESG_SIZE: ::std::os::raw::c_uint = 20;
pub const FIT_SEGMENT_POINT_MESG_DEF_SIZE: ::std::os::raw::c_uint = 23;
pub const FIT_SEGMENT_POINT_MESG_LEADER_TIME_COUNT: ::std::os::raw::c_uint =
1;
pub const FIT_SEGMENT_LAP_MESG_SIZE: ::std::os::raw::c_uint = 210;
pub const FIT_SEGMENT_LAP_MESG_DEF_SIZE: ::std::os::raw::c_uint = 224;
pub const FIT_SEGMENT_LAP_MESG_NAME_COUNT: ::std::os::raw::c_uint = 16;
pub const FIT_SEGMENT_LAP_MESG_TIME_IN_HR_ZONE_COUNT: ::std::os::raw::c_uint =
1;
pub const FIT_SEGMENT_LAP_MESG_TIME_IN_SPEED_ZONE_COUNT:
::std::os::raw::c_uint =
1;
pub const FIT_SEGMENT_LAP_MESG_TIME_IN_CADENCE_ZONE_COUNT:
::std::os::raw::c_uint =
1;
pub const FIT_SEGMENT_LAP_MESG_TIME_IN_POWER_ZONE_COUNT:
::std::os::raw::c_uint =
1;
pub const FIT_SEGMENT_LAP_MESG_UUID_COUNT: ::std::os::raw::c_uint = 33;
pub const FIT_SEGMENT_FILE_MESG_SIZE: ::std::os::raw::c_uint = 17;
pub const FIT_SEGMENT_FILE_MESG_DEF_SIZE: ::std::os::raw::c_uint = 26;
pub const FIT_SEGMENT_FILE_MESG_LEADER_GROUP_PRIMARY_KEY_COUNT:
::std::os::raw::c_uint =
1;
pub const FIT_SEGMENT_FILE_MESG_LEADER_ACTIVITY_ID_COUNT:
::std::os::raw::c_uint =
1;
pub const FIT_SEGMENT_FILE_MESG_FILE_UUID_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_SEGMENT_FILE_MESG_LEADER_TYPE_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_WORKOUT_MESG_SIZE: ::std::os::raw::c_uint = 27;
pub const FIT_WORKOUT_MESG_DEF_SIZE: ::std::os::raw::c_uint = 26;
pub const FIT_WORKOUT_MESG_WKT_NAME_COUNT: ::std::os::raw::c_uint = 16;
pub const FIT_WORKOUT_SESSION_MESG_SIZE: ::std::os::raw::c_uint = 11;
pub const FIT_WORKOUT_SESSION_MESG_DEF_SIZE: ::std::os::raw::c_uint = 26;
pub const FIT_WORKOUT_STEP_MESG_SIZE: ::std::os::raw::c_uint = 88;
pub const FIT_WORKOUT_STEP_MESG_DEF_SIZE: ::std::os::raw::c_uint = 38;
pub const FIT_WORKOUT_STEP_MESG_WKT_STEP_NAME_COUNT: ::std::os::raw::c_uint =
16;
pub const FIT_WORKOUT_STEP_MESG_NOTES_COUNT: ::std::os::raw::c_uint = 50;
pub const FIT_SCHEDULE_MESG_SIZE: ::std::os::raw::c_uint = 18;
pub const FIT_SCHEDULE_MESG_DEF_SIZE: ::std::os::raw::c_uint = 26;
pub const FIT_TOTALS_MESG_SIZE: ::std::os::raw::c_uint = 29;
pub const FIT_TOTALS_MESG_DEF_SIZE: ::std::os::raw::c_uint = 32;
pub const FIT_WEIGHT_SCALE_MESG_SIZE: ::std::os::raw::c_uint = 25;
pub const FIT_WEIGHT_SCALE_MESG_DEF_SIZE: ::std::os::raw::c_uint = 44;
pub const FIT_BLOOD_PRESSURE_MESG_SIZE: ::std::os::raw::c_uint = 21;
pub const FIT_BLOOD_PRESSURE_MESG_DEF_SIZE: ::std::os::raw::c_uint = 38;
pub const FIT_MONITORING_INFO_MESG_SIZE: ::std::os::raw::c_uint = 8;
pub const FIT_MONITORING_INFO_MESG_DEF_SIZE: ::std::os::raw::c_uint = 11;
pub const FIT_MONITORING_MESG_SIZE: ::std::os::raw::c_uint = 31;
pub const FIT_MONITORING_MESG_DEF_SIZE: ::std::os::raw::c_uint = 41;
pub const FIT_HR_MESG_SIZE: ::std::os::raw::c_uint = 13;
pub const FIT_HR_MESG_DEF_SIZE: ::std::os::raw::c_uint = 23;
pub const FIT_HR_MESG_EVENT_TIMESTAMP_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_HR_MESG_FILTERED_BPM_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_HR_MESG_EVENT_TIMESTAMP_12_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_ANT_RX_MESG_SIZE: ::std::os::raw::c_uint = 25;
pub const FIT_ANT_RX_MESG_DEF_SIZE: ::std::os::raw::c_uint = 23;
pub const FIT_ANT_RX_MESG_DATA_COUNT: ::std::os::raw::c_uint = 8;
pub const FIT_ANT_RX_MESG_MESG_DATA_COUNT: ::std::os::raw::c_uint = 9;
pub const FIT_ANT_TX_MESG_SIZE: ::std::os::raw::c_uint = 25;
pub const FIT_ANT_TX_MESG_DEF_SIZE: ::std::os::raw::c_uint = 23;
pub const FIT_ANT_TX_MESG_DATA_COUNT: ::std::os::raw::c_uint = 8;
pub const FIT_ANT_TX_MESG_MESG_DATA_COUNT: ::std::os::raw::c_uint = 9;
pub const FIT_EXD_SCREEN_CONFIGURATION_MESG_SIZE: ::std::os::raw::c_uint = 4;
pub const FIT_EXD_SCREEN_CONFIGURATION_MESG_DEF_SIZE: ::std::os::raw::c_uint =
17;
pub const FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_SIZE: ::std::os::raw::c_uint =
6;
pub const FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_DEF_SIZE:
::std::os::raw::c_uint =
23;
pub const FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_TITLE_COUNT:
::std::os::raw::c_uint =
1;
pub const FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_SIZE: ::std::os::raw::c_uint
=
11;
pub const FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_DEF_SIZE:
::std::os::raw::c_uint =
38;
pub const FIT_FIELD_DESCRIPTION_MESG_SIZE: ::std::os::raw::c_uint = 90;
pub const FIT_FIELD_DESCRIPTION_MESG_DEF_SIZE: ::std::os::raw::c_uint = 35;
pub const FIT_FIELD_DESCRIPTION_MESG_FIELD_NAME_COUNT: ::std::os::raw::c_uint
=
64;
pub const FIT_FIELD_DESCRIPTION_MESG_UNITS_COUNT: ::std::os::raw::c_uint = 16;
pub const FIT_DEVELOPER_DATA_ID_MESG_SIZE: ::std::os::raw::c_uint = 39;
pub const FIT_DEVELOPER_DATA_ID_MESG_DEF_SIZE: ::std::os::raw::c_uint = 20;
pub const FIT_DEVELOPER_DATA_ID_MESG_DEVELOPER_ID_COUNT:
::std::os::raw::c_uint =
16;
pub const FIT_DEVELOPER_DATA_ID_MESG_APPLICATION_ID_COUNT:
::std::os::raw::c_uint =
16;
pub const FIT_FILE_MESG_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_DEVICE_FILE_FILE_ID_MESGS: ::std::os::raw::c_uint = 1;
pub const FIT_DEVICE_FILE_MESG_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_DEVICE_FILE_COUNT: ::std::os::raw::c_uint = 1;
pub const FIT_DEVICE_FILE_CRC_PAD_SIZE: ::std::os::raw::c_uint = 2;
pub type FIT_ENUM = u8;
pub type FIT_CONST_ENUM_PTR = *const FIT_ENUM;
pub type FIT_SINT8 = i8;
pub type FIT_CONST_SINT8_PTR = *const FIT_SINT8;
pub type FIT_UINT8 = u8;
pub type FIT_CONST_UINT8_PTR = *const FIT_UINT8;
pub type FIT_SINT16 = i16;
pub type FIT_CONST_SINT16_PTR = *const FIT_SINT16;
pub type FIT_UINT16 = u16;
pub type FIT_CONST_UINT16_PTR = *const FIT_UINT16;
pub type FIT_SINT32 = i32;
pub type FIT_CONST_SINT32_PTR = *const FIT_SINT32;
pub type FIT_UINT32 = u32;
pub type FIT_CONST_UINT32_PTR = *const FIT_UINT32;
pub type FIT_STRING = ::std::os::raw::c_char;
pub type FIT_CONST_STRING_PTR = *const FIT_STRING;
pub type FIT_FLOAT32 = f32;
pub type FIT_CONST_FLOAT32_PTR = *const FIT_FLOAT32;
pub type FIT_FLOAT64 = f64;
pub type FIT_CONST_FLOAT64_PTR = *const FIT_FLOAT64;
pub type FIT_UINT8Z = u8;
pub type FIT_CONST_UINT8Z_PTR = *const FIT_UINT8Z;
pub type FIT_UINT16Z = u16;
pub type FIT_CONST_UINT16Z_PTR = *const FIT_UINT16Z;
pub type FIT_UINT32Z = u32;
pub type FIT_CONST_UINT32Z_PTR = *const FIT_UINT32Z;
pub type FIT_BYTE = u8;
pub type FIT_CONST_BYTE_PTR = *const FIT_BYTE;
pub type FIT_SINT64 = i64;
pub type FIT_CONST_SINT64_PTR = *const FIT_SINT64;
pub type FIT_UINT64 = u64;
pub type FIT_CONST_UINT64_PTR = *const FIT_UINT64;
pub type FIT_UINT64Z = u64;
pub type FIT_CONST_UINT64Z_PTR = *const FIT_UINT64Z;
pub type FIT_BOOL = FIT_ENUM;
pub type FIT_READ_BYTES_FUNC =
::std::option::Option<unsafe extern "C" fn(arg1:
*mut ::std::os::raw::c_void,
arg2: FIT_UINT32,
arg3: FIT_UINT32)
-> FIT_UINT32>;
///////////////////////////////////////////////////////////////////////
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_FILE_HDR {
pub header_size: FIT_UINT8,
pub protocol_version: FIT_UINT8,
pub profile_version: FIT_UINT16,
pub data_size: FIT_UINT32,
pub data_type: [FIT_UINT8; 4usize],
pub crc: FIT_UINT16,
}
#[test]
fn bindgen_test_layout_FIT_FILE_HDR() {
assert_eq!(::std::mem::size_of::<FIT_FILE_HDR>() , 24usize , concat ! (
"Size of: " , stringify ! ( FIT_FILE_HDR ) ));
assert_eq! (::std::mem::align_of::<FIT_FILE_HDR>() , 8usize , concat ! (
"Alignment of " , stringify ! ( FIT_FILE_HDR ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_HDR ) ) . header_size as * const
_ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_HDR ) , "::" ,
stringify ! ( header_size ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_HDR ) ) . protocol_version as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_HDR ) , "::" ,
stringify ! ( protocol_version ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_HDR ) ) . profile_version as *
const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_HDR ) , "::" ,
stringify ! ( profile_version ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_HDR ) ) . data_size as * const _
as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_HDR ) , "::" ,
stringify ! ( data_size ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_HDR ) ) . data_type as * const _
as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_HDR ) , "::" ,
stringify ! ( data_type ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_HDR ) ) . crc as * const _ as
usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_HDR ) , "::" ,
stringify ! ( crc ) ));
}
impl Clone for FIT_FILE_HDR {
fn clone(&self) -> Self { *self }
}
///////////////////////////////////////////////////////////////////////
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_FILE_MESG {
pub def_file_offset: FIT_UINT32,
pub data_file_offset: FIT_UINT32,
pub num: FIT_UINT16,
pub count: FIT_UINT16,
pub mesg: FIT_UINT16,
}
#[test]
fn bindgen_test_layout_FIT_FILE_MESG() {
assert_eq!(::std::mem::size_of::<FIT_FILE_MESG>() , 24usize , concat ! (
"Size of: " , stringify ! ( FIT_FILE_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_FILE_MESG>() , 8usize , concat ! (
"Alignment of " , stringify ! ( FIT_FILE_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_MESG ) ) . def_file_offset as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_MESG ) , "::"
, stringify ! ( def_file_offset ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_MESG ) ) . data_file_offset as *
const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_MESG ) , "::"
, stringify ! ( data_file_offset ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_MESG ) ) . num as * const _ as
usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_MESG ) , "::"
, stringify ! ( num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_MESG ) ) . count as * const _ as
usize } , 18usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_MESG ) , "::"
, stringify ! ( count ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_MESG ) ) . mesg as * const _ as
usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_MESG ) , "::"
, stringify ! ( mesg ) ));
}
impl Clone for FIT_FILE_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_FILE_DEF {
pub data_size: FIT_UINT32,
pub mesgs: *const FIT_FILE_MESG,
pub mesg_count: FIT_UINT16,
pub type_: FIT_UINT8,
pub count: FIT_UINT8,
}
#[test]
fn bindgen_test_layout_FIT_FILE_DEF() {
assert_eq!(::std::mem::size_of::<FIT_FILE_DEF>() , 24usize , concat ! (
"Size of: " , stringify ! ( FIT_FILE_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_FILE_DEF>() , 8usize , concat ! (
"Alignment of " , stringify ! ( FIT_FILE_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_DEF ) ) . data_size as * const _
as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_DEF ) , "::" ,
stringify ! ( data_size ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_DEF ) ) . mesgs as * const _ as
usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_DEF ) , "::" ,
stringify ! ( mesgs ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_DEF ) ) . mesg_count as * const
_ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_DEF ) , "::" ,
stringify ! ( mesg_count ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_DEF ) ) . type_ as * const _ as
usize } , 18usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_DEF ) , "::" ,
stringify ! ( type_ ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_DEF ) ) . count as * const _ as
usize } , 19usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_DEF ) , "::" ,
stringify ! ( count ) ));
}
impl Clone for FIT_FILE_DEF {
fn clone(&self) -> Self { *self }
}
///////////////////////////////////////////////////////////////////////
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_FIELD_DEF {
pub field_def_num: FIT_UINT8,
pub size: FIT_UINT8,
pub base_type: FIT_UINT8,
}
#[test]
fn bindgen_test_layout_FIT_FIELD_DEF() {
assert_eq!(::std::mem::size_of::<FIT_FIELD_DEF>() , 3usize , concat ! (
"Size of: " , stringify ! ( FIT_FIELD_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_FIELD_DEF>() , 1usize , concat ! (
"Alignment of " , stringify ! ( FIT_FIELD_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_DEF ) ) . field_def_num as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FIELD_DEF ) , "::"
, stringify ! ( field_def_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_DEF ) ) . size as * const _ as
usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FIELD_DEF ) , "::"
, stringify ! ( size ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_DEF ) ) . base_type as * const
_ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FIELD_DEF ) , "::"
, stringify ! ( base_type ) ));
}
impl Clone for FIT_FIELD_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_DEV_FIELD_DEF {
pub def_num: FIT_UINT8,
pub size: FIT_UINT8,
pub dev_index: FIT_UINT8,
}
#[test]
fn bindgen_test_layout_FIT_DEV_FIELD_DEF() {
assert_eq!(::std::mem::size_of::<FIT_DEV_FIELD_DEF>() , 3usize , concat !
( "Size of: " , stringify ! ( FIT_DEV_FIELD_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_DEV_FIELD_DEF>() , 1usize , concat
! ( "Alignment of " , stringify ! ( FIT_DEV_FIELD_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEV_FIELD_DEF ) ) . def_num as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_DEV_FIELD_DEF ) ,
"::" , stringify ! ( def_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEV_FIELD_DEF ) ) . size as * const _
as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_DEV_FIELD_DEF ) ,
"::" , stringify ! ( size ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEV_FIELD_DEF ) ) . dev_index as *
const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_DEV_FIELD_DEF ) ,
"::" , stringify ! ( dev_index ) ));
}
impl Clone for FIT_DEV_FIELD_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_UINT16,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 1usize],
}
#[test]
fn bindgen_test_layout_FIT_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_MESG_DEF>() , 6usize , concat ! (
"Size of: " , stringify ! ( FIT_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_MESG_DEF>() , 2usize , concat ! (
"Alignment of " , stringify ! ( FIT_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MESG_DEF ) ) . reserved_1 as * const
_ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MESG_DEF ) , "::" ,
stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MESG_DEF ) ) . arch as * const _ as
usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MESG_DEF ) , "::" ,
stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MESG_DEF ) ) . global_mesg_num as *
const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MESG_DEF ) , "::" ,
stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MESG_DEF ) ) . num_fields as * const
_ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MESG_DEF ) , "::" ,
stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MESG_DEF ) ) . fields as * const _ as
usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MESG_DEF ) , "::" ,
stringify ! ( fields ) ));
}
impl Clone for FIT_MESG_DEF {
fn clone(&self) -> Self { *self }
}
extern "C" {
#[link_name = "fit_base_type_sizes"]
pub static mut fit_base_type_sizes: [FIT_UINT8; 17usize];
}
extern "C" {
#[link_name = "fit_base_type_invalids"]
pub static mut fit_base_type_invalids: [FIT_CONST_UINT8_PTR; 17usize];
}
extern "C" {
///////////////////////////////////////////////////////////////////////
pub fn Fit_GetArch() -> FIT_UINT8;
}
extern "C" {
///////////////////////////////////////////////////////////////////////
pub fn Fit_GetMesgDef(global_mesg_num: FIT_UINT16) -> *const FIT_MESG_DEF;
}
extern "C" {
///////////////////////////////////////////////////////////////////////
pub fn Fit_GetMesgDefFromEnum(fit_mesg_enum: FIT_UINT32)
-> *const FIT_MESG_DEF;
}
extern "C" {
///////////////////////////////////////////////////////////////////////
pub fn Fit_GetMesgDefSize(mesg_def: *const FIT_MESG_DEF) -> FIT_UINT16;
}
extern "C" {
///////////////////////////////////////////////////////////////////////
pub fn Fit_GetMesgSize(global_mesg_num: FIT_UINT16) -> FIT_UINT8;
}
extern "C" {
///////////////////////////////////////////////////////////////////////
pub fn Fit_GetMesgSizeFromEnum(fit_mesg_enum: FIT_UINT32) -> FIT_UINT8;
}
extern "C" {
///////////////////////////////////////////////////////////////////////
pub fn Fit_InitMesg(mesg_def: *const FIT_MESG_DEF,
mesg: *mut ::std::os::raw::c_void) -> FIT_BOOL;
}
extern "C" {
///////////////////////////////////////////////////////////////////////
pub fn Fit_GetFieldOffset(mesg_def: *const FIT_MESG_DEF,
field_def_num: FIT_UINT8) -> FIT_UINT8;
}
extern "C" {
///////////////////////////////////////////////////////////////////////
pub fn Fit_GetFieldDef(mesg_def: *const FIT_MESG_DEF,
field_def_num: FIT_UINT8) -> FIT_FIELD_DEF;
}
extern "C" {
///////////////////////////////////////////////////////////////////////
pub fn Fit_LookupMessage(global_mesg_num: FIT_UINT16,
message_index: FIT_UINT16,
offset: *mut FIT_UINT32,
read_bytes_func: FIT_READ_BYTES_FUNC,
read_header: FIT_BOOL) -> FIT_UINT8;
}
extern "C" {
///////////////////////////////////////////////////////////////////////
pub fn Fit_GetFileMesgOffset(file_def: *const FIT_FILE_DEF,
mesg_num: FIT_UINT16, mesg_index: FIT_UINT16)
-> FIT_UINT32;
}
///////////////////////////////////////////////////////////////////////
pub type FIT_FILE = FIT_ENUM;
pub type FIT_MESG_NUM = FIT_UINT16;
pub type FIT_CHECKSUM = FIT_UINT8;
pub type FIT_FILE_FLAGS = FIT_UINT8Z;
pub type FIT_MESG_COUNT = FIT_ENUM;
pub type FIT_DATE_TIME = FIT_UINT32;
pub type FIT_LOCAL_DATE_TIME = FIT_UINT32;
pub type FIT_MESSAGE_INDEX = FIT_UINT16;
pub type FIT_DEVICE_INDEX = FIT_UINT8;
pub type FIT_GENDER = FIT_ENUM;
pub type FIT_LANGUAGE = FIT_ENUM;
pub type FIT_LANGUAGE_BITS_0 = FIT_UINT8Z;
pub type FIT_LANGUAGE_BITS_1 = FIT_UINT8Z;
pub type FIT_LANGUAGE_BITS_2 = FIT_UINT8Z;
pub type FIT_LANGUAGE_BITS_3 = FIT_UINT8Z;
pub type FIT_LANGUAGE_BITS_4 = FIT_UINT8Z;
pub type FIT_TIME_ZONE = FIT_ENUM;
pub type FIT_DISPLAY_MEASURE = FIT_ENUM;
pub type FIT_DISPLAY_HEART = FIT_ENUM;
pub type FIT_DISPLAY_POWER = FIT_ENUM;
pub type FIT_DISPLAY_POSITION = FIT_ENUM;
pub type FIT_SWITCH = FIT_ENUM;
pub type FIT_SPORT = FIT_ENUM;
pub type FIT_SPORT_BITS_0 = FIT_UINT8Z;
pub type FIT_SPORT_BITS_1 = FIT_UINT8Z;
pub type FIT_SPORT_BITS_2 = FIT_UINT8Z;
pub type FIT_SPORT_BITS_3 = FIT_UINT8Z;
pub type FIT_SPORT_BITS_4 = FIT_UINT8Z;
pub type FIT_SPORT_BITS_5 = FIT_UINT8Z;
pub type FIT_SPORT_BITS_6 = FIT_UINT8Z;
pub type FIT_SUB_SPORT = FIT_ENUM;
pub type FIT_SPORT_EVENT = FIT_ENUM;
pub type FIT_ACTIVITY = FIT_ENUM;
pub type FIT_INTENSITY = FIT_ENUM;
pub type FIT_SESSION_TRIGGER = FIT_ENUM;
pub type FIT_AUTOLAP_TRIGGER = FIT_ENUM;
pub type FIT_LAP_TRIGGER = FIT_ENUM;
pub type FIT_TIME_MODE = FIT_ENUM;
pub type FIT_BACKLIGHT_MODE = FIT_ENUM;
pub type FIT_DATE_MODE = FIT_ENUM;
pub type FIT_EVENT = FIT_ENUM;
pub type FIT_EVENT_TYPE = FIT_ENUM;
pub type FIT_TIMER_TRIGGER = FIT_ENUM;
pub type FIT_FITNESS_EQUIPMENT_STATE = FIT_ENUM;
pub type FIT_AUTOSCROLL = FIT_ENUM;
pub type FIT_ACTIVITY_CLASS = FIT_ENUM;
pub type FIT_HR_ZONE_CALC = FIT_ENUM;
pub type FIT_PWR_ZONE_CALC = FIT_ENUM;
pub type FIT_WKT_STEP_DURATION = FIT_ENUM;
pub type FIT_WKT_STEP_TARGET = FIT_ENUM;
pub type FIT_GOAL = FIT_ENUM;
pub type FIT_GOAL_RECURRENCE = FIT_ENUM;
pub type FIT_GOAL_SOURCE = FIT_ENUM;
pub type FIT_SCHEDULE = FIT_ENUM;
pub type FIT_COURSE_POINT = FIT_ENUM;
pub type FIT_MANUFACTURER = FIT_UINT16;
pub type FIT_GARMIN_PRODUCT = FIT_UINT16;
pub type FIT_ANTPLUS_DEVICE_TYPE = FIT_UINT8;
pub type FIT_ANT_NETWORK = FIT_ENUM;
pub type FIT_WORKOUT_CAPABILITIES = FIT_UINT32Z;
pub type FIT_BATTERY_STATUS = FIT_UINT8;
pub type FIT_HR_TYPE = FIT_ENUM;
pub type FIT_COURSE_CAPABILITIES = FIT_UINT32Z;
pub type FIT_WEIGHT = FIT_UINT16;
pub type FIT_WORKOUT_HR = FIT_UINT32;
pub type FIT_WORKOUT_POWER = FIT_UINT32;
pub type FIT_BP_STATUS = FIT_ENUM;
pub type FIT_USER_LOCAL_ID = FIT_UINT16;
pub type FIT_SWIM_STROKE = FIT_ENUM;
pub type FIT_ACTIVITY_TYPE = FIT_ENUM;
pub type FIT_ACTIVITY_SUBTYPE = FIT_ENUM;
pub type FIT_ACTIVITY_LEVEL = FIT_ENUM;
pub type FIT_SIDE = FIT_ENUM;
pub type FIT_LEFT_RIGHT_BALANCE = FIT_UINT8;
pub type FIT_LEFT_RIGHT_BALANCE_100 = FIT_UINT16;
pub type FIT_LENGTH_TYPE = FIT_ENUM;
pub type FIT_DAY_OF_WEEK = FIT_ENUM;
pub type FIT_CONNECTIVITY_CAPABILITIES = FIT_UINT32Z;
pub type FIT_WEATHER_REPORT = FIT_ENUM;
pub type FIT_WEATHER_STATUS = FIT_ENUM;
pub type FIT_WEATHER_SEVERITY = FIT_ENUM;
pub type FIT_WEATHER_SEVERE_TYPE = FIT_ENUM;
pub type FIT_TIME_INTO_DAY = FIT_UINT32;
pub type FIT_LOCALTIME_INTO_DAY = FIT_UINT32;
pub type FIT_STROKE_TYPE = FIT_ENUM;
pub type FIT_BODY_LOCATION = FIT_ENUM;
pub type FIT_SEGMENT_LAP_STATUS = FIT_ENUM;
pub type FIT_SEGMENT_LEADERBOARD_TYPE = FIT_ENUM;
pub type FIT_SEGMENT_DELETE_STATUS = FIT_ENUM;
pub type FIT_SEGMENT_SELECTION_TYPE = FIT_ENUM;
pub type FIT_SOURCE_TYPE = FIT_ENUM;
pub type FIT_DISPLAY_ORIENTATION = FIT_ENUM;
pub type FIT_WORKOUT_EQUIPMENT = FIT_ENUM;
pub type FIT_WATCHFACE_MODE = FIT_ENUM;
pub type FIT_DIGITAL_WATCHFACE_LAYOUT = FIT_ENUM;
pub type FIT_ANALOG_WATCHFACE_LAYOUT = FIT_ENUM;
pub type FIT_RIDER_POSITION_TYPE = FIT_ENUM;
pub type FIT_POWER_PHASE_TYPE = FIT_ENUM;
pub type FIT_CAMERA_EVENT_TYPE = FIT_ENUM;
pub type FIT_SENSOR_TYPE = FIT_ENUM;
pub type FIT_BIKE_LIGHT_NETWORK_CONFIG_TYPE = FIT_ENUM;
pub type FIT_COMM_TIMEOUT_TYPE = FIT_UINT16;
pub type FIT_CAMERA_ORIENTATION_TYPE = FIT_ENUM;
pub type FIT_ATTITUDE_STAGE = FIT_ENUM;
pub type FIT_ATTITUDE_VALIDITY = FIT_UINT16;
pub type FIT_AUTO_SYNC_FREQUENCY = FIT_ENUM;
pub type FIT_EXD_LAYOUT = FIT_ENUM;
pub type FIT_EXD_DISPLAY_TYPE = FIT_ENUM;
pub type FIT_EXD_DATA_UNITS = FIT_ENUM;
pub type FIT_EXD_QUALIFIERS = FIT_ENUM;
pub type FIT_EXD_DESCRIPTORS = FIT_ENUM;
pub type FIT_AUTO_ACTIVITY_DETECT = FIT_UINT32;
pub type FIT_SUPPORTED_EXD_SCREEN_LAYOUTS = FIT_UINT32Z;
pub type FIT_FIT_BASE_TYPE = FIT_UINT8;
pub type FIT_TURN_TYPE = FIT_ENUM;
pub type FIT_BIKE_LIGHT_BEAM_ANGLE_MODE = FIT_UINT8;
pub type FIT_FIT_BASE_UNIT = FIT_UINT16;
///////////////////////////////////////////////////////////////////////
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_FIELD_CONVERT {
pub base_type: FIT_UINT8,
pub offset_in: FIT_UINT8,
pub offset_local: FIT_UINT8,
pub size: FIT_UINT8,
pub num: FIT_UINT8,
}
#[test]
fn bindgen_test_layout_FIT_FIELD_CONVERT() {
assert_eq!(::std::mem::size_of::<FIT_FIELD_CONVERT>() , 5usize , concat !
( "Size of: " , stringify ! ( FIT_FIELD_CONVERT ) ));
assert_eq! (::std::mem::align_of::<FIT_FIELD_CONVERT>() , 1usize , concat
! ( "Alignment of " , stringify ! ( FIT_FIELD_CONVERT ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_CONVERT ) ) . base_type as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FIELD_CONVERT ) ,
"::" , stringify ! ( base_type ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_CONVERT ) ) . offset_in as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FIELD_CONVERT ) ,
"::" , stringify ! ( offset_in ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_CONVERT ) ) . offset_local as *
const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FIELD_CONVERT ) ,
"::" , stringify ! ( offset_local ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_CONVERT ) ) . size as * const _
as usize } , 3usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FIELD_CONVERT ) ,
"::" , stringify ! ( size ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_CONVERT ) ) . num as * const _
as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FIELD_CONVERT ) ,
"::" , stringify ! ( num ) ));
}
impl Clone for FIT_FIELD_CONVERT {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
pub struct FIT_MESG_CONVERT {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_FIELD_CONVERT; 90usize],
}
#[test]
fn bindgen_test_layout_FIT_MESG_CONVERT() {
assert_eq!(::std::mem::size_of::<FIT_MESG_CONVERT>() , 456usize , concat !
( "Size of: " , stringify ! ( FIT_MESG_CONVERT ) ));
assert_eq! (::std::mem::align_of::<FIT_MESG_CONVERT>() , 2usize , concat !
( "Alignment of " , stringify ! ( FIT_MESG_CONVERT ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MESG_CONVERT ) ) . reserved_1 as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MESG_CONVERT ) ,
"::" , stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MESG_CONVERT ) ) . arch as * const _
as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MESG_CONVERT ) ,
"::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MESG_CONVERT ) ) . global_mesg_num as
* const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MESG_CONVERT ) ,
"::" , stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MESG_CONVERT ) ) . num_fields as *
const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MESG_CONVERT ) ,
"::" , stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MESG_CONVERT ) ) . fields as * const
_ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MESG_CONVERT ) ,
"::" , stringify ! ( fields ) ));
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_PAD_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
}
#[test]
fn bindgen_test_layout_FIT_PAD_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_PAD_MESG_DEF>() , 6usize , concat ! (
"Size of: " , stringify ! ( FIT_PAD_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_PAD_MESG_DEF>() , 2usize , concat !
( "Alignment of " , stringify ! ( FIT_PAD_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_PAD_MESG_DEF ) ) . reserved_1 as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_PAD_MESG_DEF ) ,
"::" , stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_PAD_MESG_DEF ) ) . arch as * const _
as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_PAD_MESG_DEF ) ,
"::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_PAD_MESG_DEF ) ) . global_mesg_num as
* const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_PAD_MESG_DEF ) ,
"::" , stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_PAD_MESG_DEF ) ) . num_fields as *
const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_PAD_MESG_DEF ) ,
"::" , stringify ! ( num_fields ) ));
}
impl Clone for FIT_PAD_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_FILE_ID_MESG {
pub serial_number: FIT_UINT32Z,
pub time_created: FIT_DATE_TIME,
pub product_name: [FIT_STRING; 20usize],
pub manufacturer: FIT_MANUFACTURER,
pub product: FIT_UINT16,
pub number: FIT_UINT16,
pub type_: FIT_FILE,
}
#[test]
fn bindgen_test_layout_FIT_FILE_ID_MESG() {
assert_eq!(::std::mem::size_of::<FIT_FILE_ID_MESG>() , 48usize , concat !
( "Size of: " , stringify ! ( FIT_FILE_ID_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_FILE_ID_MESG>() , 8usize , concat !
( "Alignment of " , stringify ! ( FIT_FILE_ID_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_ID_MESG ) ) . serial_number as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_ID_MESG ) ,
"::" , stringify ! ( serial_number ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_ID_MESG ) ) . time_created as *
const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_ID_MESG ) ,
"::" , stringify ! ( time_created ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_ID_MESG ) ) . product_name as *
const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_ID_MESG ) ,
"::" , stringify ! ( product_name ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_ID_MESG ) ) . manufacturer as *
const _ as usize } , 36usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_ID_MESG ) ,
"::" , stringify ! ( manufacturer ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_ID_MESG ) ) . product as * const
_ as usize } , 38usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_ID_MESG ) ,
"::" , stringify ! ( product ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_ID_MESG ) ) . number as * const
_ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_ID_MESG ) ,
"::" , stringify ! ( number ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_ID_MESG ) ) . type_ as * const _
as usize } , 42usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_ID_MESG ) ,
"::" , stringify ! ( type_ ) ));
}
impl Clone for FIT_FILE_ID_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_FILE_ID_FIELD_NUM {
FIT_FILE_ID_FIELD_NUM_SERIAL_NUMBER = 3,
FIT_FILE_ID_FIELD_NUM_TIME_CREATED = 4,
FIT_FILE_ID_FIELD_NUM_PRODUCT_NAME = 8,
FIT_FILE_ID_FIELD_NUM_MANUFACTURER = 1,
FIT_FILE_ID_FIELD_NUM_PRODUCT = 2,
FIT_FILE_ID_FIELD_NUM_NUMBER = 5,
FIT_FILE_ID_FIELD_NUM_TYPE = 0,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_FILE_ID_MESG_FIELD {
FIT_FILE_ID_MESG_SERIAL_NUMBER = 0,
FIT_FILE_ID_MESG_TIME_CREATED = 1,
FIT_FILE_ID_MESG_PRODUCT_NAME = 2,
FIT_FILE_ID_MESG_MANUFACTURER = 3,
FIT_FILE_ID_MESG_PRODUCT = 4,
FIT_FILE_ID_MESG_NUMBER = 5,
FIT_FILE_ID_MESG_TYPE = 6,
FIT_FILE_ID_MESG_FIELDS = 7,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_FILE_ID_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 21usize],
}
#[test]
fn bindgen_test_layout_FIT_FILE_ID_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_FILE_ID_MESG_DEF>() , 26usize ,
concat ! ( "Size of: " , stringify ! ( FIT_FILE_ID_MESG_DEF )
));
assert_eq! (::std::mem::align_of::<FIT_FILE_ID_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_FILE_ID_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_ID_MESG_DEF ) ) . reserved_1 as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_ID_MESG_DEF )
, "::" , stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_ID_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_ID_MESG_DEF )
, "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_ID_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_ID_MESG_DEF )
, "::" , stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_ID_MESG_DEF ) ) . num_fields as
* const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_ID_MESG_DEF )
, "::" , stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_ID_MESG_DEF ) ) . fields as *
const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_ID_MESG_DEF )
, "::" , stringify ! ( fields ) ));
}
impl Clone for FIT_FILE_ID_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_FILE_CREATOR_MESG {
pub software_version: FIT_UINT16,
pub hardware_version: FIT_UINT8,
}
#[test]
fn bindgen_test_layout_FIT_FILE_CREATOR_MESG() {
assert_eq!(::std::mem::size_of::<FIT_FILE_CREATOR_MESG>() , 4usize ,
concat ! ( "Size of: " , stringify ! ( FIT_FILE_CREATOR_MESG )
));
assert_eq! (::std::mem::align_of::<FIT_FILE_CREATOR_MESG>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_FILE_CREATOR_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_CREATOR_MESG ) ) .
software_version as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_CREATOR_MESG )
, "::" , stringify ! ( software_version ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_CREATOR_MESG ) ) .
hardware_version as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_FILE_CREATOR_MESG )
, "::" , stringify ! ( hardware_version ) ));
}
impl Clone for FIT_FILE_CREATOR_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_FILE_CREATOR_FIELD_NUM {
FIT_FILE_CREATOR_FIELD_NUM_SOFTWARE_VERSION = 0,
FIT_FILE_CREATOR_FIELD_NUM_HARDWARE_VERSION = 1,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_FILE_CREATOR_MESG_FIELD {
FIT_FILE_CREATOR_MESG_SOFTWARE_VERSION = 0,
FIT_FILE_CREATOR_MESG_HARDWARE_VERSION = 1,
FIT_FILE_CREATOR_MESG_FIELDS = 2,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_FILE_CREATOR_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 6usize],
}
#[test]
fn bindgen_test_layout_FIT_FILE_CREATOR_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_FILE_CREATOR_MESG_DEF>() , 12usize ,
concat ! (
"Size of: " , stringify ! ( FIT_FILE_CREATOR_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_FILE_CREATOR_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_FILE_CREATOR_MESG_DEF )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_CREATOR_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FILE_CREATOR_MESG_DEF ) , "::" , stringify ! ( reserved_1
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_CREATOR_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FILE_CREATOR_MESG_DEF ) , "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_CREATOR_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FILE_CREATOR_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_CREATOR_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FILE_CREATOR_MESG_DEF ) , "::" , stringify ! ( num_fields
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_CREATOR_MESG_DEF ) ) . fields as
* const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FILE_CREATOR_MESG_DEF ) , "::" , stringify ! ( fields )
));
}
impl Clone for FIT_FILE_CREATOR_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_SOFTWARE_MESG {
pub part_number: [FIT_STRING; 16usize],
pub message_index: FIT_MESSAGE_INDEX,
pub version: FIT_UINT16,
}
#[test]
fn bindgen_test_layout_FIT_SOFTWARE_MESG() {
assert_eq!(::std::mem::size_of::<FIT_SOFTWARE_MESG>() , 20usize , concat !
( "Size of: " , stringify ! ( FIT_SOFTWARE_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_SOFTWARE_MESG>() , 2usize , concat
! ( "Alignment of " , stringify ! ( FIT_SOFTWARE_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SOFTWARE_MESG ) ) . part_number as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SOFTWARE_MESG ) ,
"::" , stringify ! ( part_number ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SOFTWARE_MESG ) ) . message_index as
* const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SOFTWARE_MESG ) ,
"::" , stringify ! ( message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SOFTWARE_MESG ) ) . version as *
const _ as usize } , 18usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SOFTWARE_MESG ) ,
"::" , stringify ! ( version ) ));
}
impl Clone for FIT_SOFTWARE_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_SOFTWARE_FIELD_NUM {
FIT_SOFTWARE_FIELD_NUM_PART_NUMBER = 5,
FIT_SOFTWARE_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_SOFTWARE_FIELD_NUM_VERSION = 3,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_SOFTWARE_MESG_FIELD {
FIT_SOFTWARE_MESG_PART_NUMBER = 0,
FIT_SOFTWARE_MESG_MESSAGE_INDEX = 1,
FIT_SOFTWARE_MESG_VERSION = 2,
FIT_SOFTWARE_MESG_FIELDS = 3,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_SOFTWARE_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 9usize],
}
#[test]
fn bindgen_test_layout_FIT_SOFTWARE_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_SOFTWARE_MESG_DEF>() , 14usize ,
concat ! ( "Size of: " , stringify ! ( FIT_SOFTWARE_MESG_DEF )
));
assert_eq! (::std::mem::align_of::<FIT_SOFTWARE_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_SOFTWARE_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SOFTWARE_MESG_DEF ) ) . reserved_1 as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SOFTWARE_MESG_DEF )
, "::" , stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SOFTWARE_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SOFTWARE_MESG_DEF )
, "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SOFTWARE_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SOFTWARE_MESG_DEF )
, "::" , stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SOFTWARE_MESG_DEF ) ) . num_fields as
* const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SOFTWARE_MESG_DEF )
, "::" , stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SOFTWARE_MESG_DEF ) ) . fields as *
const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SOFTWARE_MESG_DEF )
, "::" , stringify ! ( fields ) ));
}
impl Clone for FIT_SOFTWARE_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_SLAVE_DEVICE_MESG {
pub manufacturer: FIT_MANUFACTURER,
pub product: FIT_UINT16,
}
#[test]
fn bindgen_test_layout_FIT_SLAVE_DEVICE_MESG() {
assert_eq!(::std::mem::size_of::<FIT_SLAVE_DEVICE_MESG>() , 4usize ,
concat ! ( "Size of: " , stringify ! ( FIT_SLAVE_DEVICE_MESG )
));
assert_eq! (::std::mem::align_of::<FIT_SLAVE_DEVICE_MESG>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_SLAVE_DEVICE_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SLAVE_DEVICE_MESG ) ) . manufacturer
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SLAVE_DEVICE_MESG )
, "::" , stringify ! ( manufacturer ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SLAVE_DEVICE_MESG ) ) . product as *
const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SLAVE_DEVICE_MESG )
, "::" , stringify ! ( product ) ));
}
impl Clone for FIT_SLAVE_DEVICE_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_SLAVE_DEVICE_FIELD_NUM {
FIT_SLAVE_DEVICE_FIELD_NUM_MANUFACTURER = 0,
FIT_SLAVE_DEVICE_FIELD_NUM_PRODUCT = 1,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_SLAVE_DEVICE_MESG_FIELD {
FIT_SLAVE_DEVICE_MESG_MANUFACTURER = 0,
FIT_SLAVE_DEVICE_MESG_PRODUCT = 1,
FIT_SLAVE_DEVICE_MESG_FIELDS = 2,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_SLAVE_DEVICE_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 6usize],
}
#[test]
fn bindgen_test_layout_FIT_SLAVE_DEVICE_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_SLAVE_DEVICE_MESG_DEF>() , 12usize ,
concat ! (
"Size of: " , stringify ! ( FIT_SLAVE_DEVICE_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_SLAVE_DEVICE_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_SLAVE_DEVICE_MESG_DEF )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SLAVE_DEVICE_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SLAVE_DEVICE_MESG_DEF ) , "::" , stringify ! ( reserved_1
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SLAVE_DEVICE_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SLAVE_DEVICE_MESG_DEF ) , "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SLAVE_DEVICE_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SLAVE_DEVICE_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SLAVE_DEVICE_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SLAVE_DEVICE_MESG_DEF ) , "::" , stringify ! ( num_fields
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SLAVE_DEVICE_MESG_DEF ) ) . fields as
* const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SLAVE_DEVICE_MESG_DEF ) , "::" , stringify ! ( fields )
));
}
impl Clone for FIT_SLAVE_DEVICE_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_CAPABILITIES_MESG {
pub languages: [FIT_UINT8Z; 4usize],
pub workouts_supported: FIT_WORKOUT_CAPABILITIES,
pub connectivity_supported: FIT_CONNECTIVITY_CAPABILITIES,
pub sports: [FIT_SPORT_BITS_0; 1usize],
}
#[test]
fn bindgen_test_layout_FIT_CAPABILITIES_MESG() {
assert_eq!(::std::mem::size_of::<FIT_CAPABILITIES_MESG>() , 32usize ,
concat ! ( "Size of: " , stringify ! ( FIT_CAPABILITIES_MESG )
));
assert_eq! (::std::mem::align_of::<FIT_CAPABILITIES_MESG>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_CAPABILITIES_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CAPABILITIES_MESG ) ) . languages as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_CAPABILITIES_MESG )
, "::" , stringify ! ( languages ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CAPABILITIES_MESG ) ) .
workouts_supported as * const _ as usize } , 8usize , concat !
(
"Alignment of field: " , stringify ! ( FIT_CAPABILITIES_MESG )
, "::" , stringify ! ( workouts_supported ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CAPABILITIES_MESG ) ) .
connectivity_supported as * const _ as usize } , 16usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_CAPABILITIES_MESG )
, "::" , stringify ! ( connectivity_supported ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CAPABILITIES_MESG ) ) . sports as *
const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_CAPABILITIES_MESG )
, "::" , stringify ! ( sports ) ));
}
impl Clone for FIT_CAPABILITIES_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_CAPABILITIES_FIELD_NUM {
FIT_CAPABILITIES_FIELD_NUM_LANGUAGES = 0,
FIT_CAPABILITIES_FIELD_NUM_WORKOUTS_SUPPORTED = 21,
FIT_CAPABILITIES_FIELD_NUM_CONNECTIVITY_SUPPORTED = 23,
FIT_CAPABILITIES_FIELD_NUM_SPORTS = 1,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_CAPABILITIES_MESG_FIELD {
FIT_CAPABILITIES_MESG_LANGUAGES = 0,
FIT_CAPABILITIES_MESG_WORKOUTS_SUPPORTED = 1,
FIT_CAPABILITIES_MESG_CONNECTIVITY_SUPPORTED = 2,
FIT_CAPABILITIES_MESG_SPORTS = 3,
FIT_CAPABILITIES_MESG_FIELDS = 4,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_CAPABILITIES_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 12usize],
}
#[test]
fn bindgen_test_layout_FIT_CAPABILITIES_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_CAPABILITIES_MESG_DEF>() , 18usize ,
concat ! (
"Size of: " , stringify ! ( FIT_CAPABILITIES_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_CAPABILITIES_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_CAPABILITIES_MESG_DEF )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CAPABILITIES_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_CAPABILITIES_MESG_DEF ) , "::" , stringify ! ( reserved_1
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CAPABILITIES_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_CAPABILITIES_MESG_DEF ) , "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CAPABILITIES_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_CAPABILITIES_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CAPABILITIES_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_CAPABILITIES_MESG_DEF ) , "::" , stringify ! ( num_fields
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CAPABILITIES_MESG_DEF ) ) . fields as
* const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_CAPABILITIES_MESG_DEF ) , "::" , stringify ! ( fields )
));
}
impl Clone for FIT_CAPABILITIES_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_FILE_CAPABILITIES_MESG {
pub directory: [FIT_STRING; 16usize],
pub max_size: FIT_UINT32,
pub message_index: FIT_MESSAGE_INDEX,
pub max_count: FIT_UINT16,
pub type_: FIT_FILE,
pub flags: FIT_FILE_FLAGS,
}
#[test]
fn bindgen_test_layout_FIT_FILE_CAPABILITIES_MESG() {
assert_eq!(::std::mem::size_of::<FIT_FILE_CAPABILITIES_MESG>() , 32usize ,
concat ! (
"Size of: " , stringify ! ( FIT_FILE_CAPABILITIES_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_FILE_CAPABILITIES_MESG>() , 8usize
, concat ! (
"Alignment of " , stringify ! ( FIT_FILE_CAPABILITIES_MESG )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_CAPABILITIES_MESG ) ) .
directory as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FILE_CAPABILITIES_MESG ) , "::" , stringify ! ( directory
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_CAPABILITIES_MESG ) ) . max_size
as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FILE_CAPABILITIES_MESG ) , "::" , stringify ! ( max_size )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_CAPABILITIES_MESG ) ) .
message_index as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FILE_CAPABILITIES_MESG ) , "::" , stringify ! (
message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_CAPABILITIES_MESG ) ) .
max_count as * const _ as usize } , 26usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FILE_CAPABILITIES_MESG ) , "::" , stringify ! ( max_count
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_CAPABILITIES_MESG ) ) . type_ as
* const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FILE_CAPABILITIES_MESG ) , "::" , stringify ! ( type_ )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_CAPABILITIES_MESG ) ) . flags as
* const _ as usize } , 29usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FILE_CAPABILITIES_MESG ) , "::" , stringify ! ( flags )
));
}
impl Clone for FIT_FILE_CAPABILITIES_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_FILE_CAPABILITIES_FIELD_NUM {
FIT_FILE_CAPABILITIES_FIELD_NUM_DIRECTORY = 2,
FIT_FILE_CAPABILITIES_FIELD_NUM_MAX_SIZE = 4,
FIT_FILE_CAPABILITIES_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_FILE_CAPABILITIES_FIELD_NUM_MAX_COUNT = 3,
FIT_FILE_CAPABILITIES_FIELD_NUM_TYPE = 0,
FIT_FILE_CAPABILITIES_FIELD_NUM_FLAGS = 1,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_FILE_CAPABILITIES_MESG_FIELD {
FIT_FILE_CAPABILITIES_MESG_DIRECTORY = 0,
FIT_FILE_CAPABILITIES_MESG_MAX_SIZE = 1,
FIT_FILE_CAPABILITIES_MESG_MESSAGE_INDEX = 2,
FIT_FILE_CAPABILITIES_MESG_MAX_COUNT = 3,
FIT_FILE_CAPABILITIES_MESG_TYPE = 4,
FIT_FILE_CAPABILITIES_MESG_FLAGS = 5,
FIT_FILE_CAPABILITIES_MESG_FIELDS = 6,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_FILE_CAPABILITIES_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 18usize],
}
#[test]
fn bindgen_test_layout_FIT_FILE_CAPABILITIES_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_FILE_CAPABILITIES_MESG_DEF>() ,
24usize , concat ! (
"Size of: " , stringify ! ( FIT_FILE_CAPABILITIES_MESG_DEF )
));
assert_eq! (::std::mem::align_of::<FIT_FILE_CAPABILITIES_MESG_DEF>() ,
2usize , concat ! (
"Alignment of " , stringify ! ( FIT_FILE_CAPABILITIES_MESG_DEF
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_CAPABILITIES_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FILE_CAPABILITIES_MESG_DEF ) , "::" , stringify ! (
reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_CAPABILITIES_MESG_DEF ) ) . arch
as * const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FILE_CAPABILITIES_MESG_DEF ) , "::" , stringify ! ( arch )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_CAPABILITIES_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FILE_CAPABILITIES_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_CAPABILITIES_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FILE_CAPABILITIES_MESG_DEF ) , "::" , stringify ! (
num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FILE_CAPABILITIES_MESG_DEF ) ) .
fields as * const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FILE_CAPABILITIES_MESG_DEF ) , "::" , stringify ! ( fields
) ));
}
impl Clone for FIT_FILE_CAPABILITIES_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_MESG_CAPABILITIES_MESG {
pub message_index: FIT_MESSAGE_INDEX,
pub mesg_num: FIT_MESG_NUM,
pub count: FIT_UINT16,
pub file: FIT_FILE,
pub count_type: FIT_MESG_COUNT,
}
#[test]
fn bindgen_test_layout_FIT_MESG_CAPABILITIES_MESG() {
assert_eq!(::std::mem::size_of::<FIT_MESG_CAPABILITIES_MESG>() , 8usize ,
concat ! (
"Size of: " , stringify ! ( FIT_MESG_CAPABILITIES_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_MESG_CAPABILITIES_MESG>() , 2usize
, concat ! (
"Alignment of " , stringify ! ( FIT_MESG_CAPABILITIES_MESG )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MESG_CAPABILITIES_MESG ) ) .
message_index as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_MESG_CAPABILITIES_MESG ) , "::" , stringify ! (
message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MESG_CAPABILITIES_MESG ) ) . mesg_num
as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_MESG_CAPABILITIES_MESG ) , "::" , stringify ! ( mesg_num )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MESG_CAPABILITIES_MESG ) ) . count as
* const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_MESG_CAPABILITIES_MESG ) , "::" , stringify ! ( count )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MESG_CAPABILITIES_MESG ) ) . file as
* const _ as usize } , 6usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_MESG_CAPABILITIES_MESG ) , "::" , stringify ! ( file ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MESG_CAPABILITIES_MESG ) ) .
count_type as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_MESG_CAPABILITIES_MESG ) , "::" , stringify ! ( count_type
) ));
}
impl Clone for FIT_MESG_CAPABILITIES_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_MESG_CAPABILITIES_FIELD_NUM {
FIT_MESG_CAPABILITIES_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_MESG_CAPABILITIES_FIELD_NUM_MESG_NUM = 1,
FIT_MESG_CAPABILITIES_FIELD_NUM_COUNT = 3,
FIT_MESG_CAPABILITIES_FIELD_NUM_FILE = 0,
FIT_MESG_CAPABILITIES_FIELD_NUM_COUNT_TYPE = 2,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_MESG_CAPABILITIES_MESG_FIELD {
FIT_MESG_CAPABILITIES_MESG_MESSAGE_INDEX = 0,
FIT_MESG_CAPABILITIES_MESG_MESG_NUM = 1,
FIT_MESG_CAPABILITIES_MESG_COUNT = 2,
FIT_MESG_CAPABILITIES_MESG_FILE = 3,
FIT_MESG_CAPABILITIES_MESG_COUNT_TYPE = 4,
FIT_MESG_CAPABILITIES_MESG_FIELDS = 5,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_MESG_CAPABILITIES_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 15usize],
}
#[test]
fn bindgen_test_layout_FIT_MESG_CAPABILITIES_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_MESG_CAPABILITIES_MESG_DEF>() ,
20usize , concat ! (
"Size of: " , stringify ! ( FIT_MESG_CAPABILITIES_MESG_DEF )
));
assert_eq! (::std::mem::align_of::<FIT_MESG_CAPABILITIES_MESG_DEF>() ,
2usize , concat ! (
"Alignment of " , stringify ! ( FIT_MESG_CAPABILITIES_MESG_DEF
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MESG_CAPABILITIES_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_MESG_CAPABILITIES_MESG_DEF ) , "::" , stringify ! (
reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MESG_CAPABILITIES_MESG_DEF ) ) . arch
as * const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_MESG_CAPABILITIES_MESG_DEF ) , "::" , stringify ! ( arch )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MESG_CAPABILITIES_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_MESG_CAPABILITIES_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MESG_CAPABILITIES_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_MESG_CAPABILITIES_MESG_DEF ) , "::" , stringify ! (
num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MESG_CAPABILITIES_MESG_DEF ) ) .
fields as * const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_MESG_CAPABILITIES_MESG_DEF ) , "::" , stringify ! ( fields
) ));
}
impl Clone for FIT_MESG_CAPABILITIES_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_FIELD_CAPABILITIES_MESG {
pub message_index: FIT_MESSAGE_INDEX,
pub mesg_num: FIT_MESG_NUM,
pub count: FIT_UINT16,
pub file: FIT_FILE,
pub field_num: FIT_UINT8,
}
#[test]
fn bindgen_test_layout_FIT_FIELD_CAPABILITIES_MESG() {
assert_eq!(::std::mem::size_of::<FIT_FIELD_CAPABILITIES_MESG>() , 8usize ,
concat ! (
"Size of: " , stringify ! ( FIT_FIELD_CAPABILITIES_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_FIELD_CAPABILITIES_MESG>() , 2usize
, concat ! (
"Alignment of " , stringify ! ( FIT_FIELD_CAPABILITIES_MESG )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_CAPABILITIES_MESG ) ) .
message_index as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FIELD_CAPABILITIES_MESG ) , "::" , stringify ! (
message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_CAPABILITIES_MESG ) ) .
mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FIELD_CAPABILITIES_MESG ) , "::" , stringify ! ( mesg_num
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_CAPABILITIES_MESG ) ) . count
as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FIELD_CAPABILITIES_MESG ) , "::" , stringify ! ( count )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_CAPABILITIES_MESG ) ) . file as
* const _ as usize } , 6usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FIELD_CAPABILITIES_MESG ) , "::" , stringify ! ( file )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_CAPABILITIES_MESG ) ) .
field_num as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FIELD_CAPABILITIES_MESG ) , "::" , stringify ! ( field_num
) ));
}
impl Clone for FIT_FIELD_CAPABILITIES_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_FIELD_CAPABILITIES_FIELD_NUM {
FIT_FIELD_CAPABILITIES_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_FIELD_CAPABILITIES_FIELD_NUM_MESG_NUM = 1,
FIT_FIELD_CAPABILITIES_FIELD_NUM_COUNT = 3,
FIT_FIELD_CAPABILITIES_FIELD_NUM_FILE = 0,
FIT_FIELD_CAPABILITIES_FIELD_NUM_FIELD_NUM = 2,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_FIELD_CAPABILITIES_MESG_FIELD {
FIT_FIELD_CAPABILITIES_MESG_MESSAGE_INDEX = 0,
FIT_FIELD_CAPABILITIES_MESG_MESG_NUM = 1,
FIT_FIELD_CAPABILITIES_MESG_COUNT = 2,
FIT_FIELD_CAPABILITIES_MESG_FILE = 3,
FIT_FIELD_CAPABILITIES_MESG_FIELD_NUM = 4,
FIT_FIELD_CAPABILITIES_MESG_FIELDS = 5,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_FIELD_CAPABILITIES_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 15usize],
}
#[test]
fn bindgen_test_layout_FIT_FIELD_CAPABILITIES_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_FIELD_CAPABILITIES_MESG_DEF>() ,
20usize , concat ! (
"Size of: " , stringify ! ( FIT_FIELD_CAPABILITIES_MESG_DEF )
));
assert_eq! (::std::mem::align_of::<FIT_FIELD_CAPABILITIES_MESG_DEF>() ,
2usize , concat ! (
"Alignment of " , stringify ! (
FIT_FIELD_CAPABILITIES_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_CAPABILITIES_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FIELD_CAPABILITIES_MESG_DEF ) , "::" , stringify ! (
reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_CAPABILITIES_MESG_DEF ) ) .
arch as * const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FIELD_CAPABILITIES_MESG_DEF ) , "::" , stringify ! ( arch
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_CAPABILITIES_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FIELD_CAPABILITIES_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_CAPABILITIES_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FIELD_CAPABILITIES_MESG_DEF ) , "::" , stringify ! (
num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_CAPABILITIES_MESG_DEF ) ) .
fields as * const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FIELD_CAPABILITIES_MESG_DEF ) , "::" , stringify ! (
fields ) ));
}
impl Clone for FIT_FIELD_CAPABILITIES_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_DEVICE_SETTINGS_MESG {
pub utc_offset: FIT_UINT32,
pub time_offset: [FIT_UINT32; 2usize],
pub clock_time: FIT_DATE_TIME,
pub pages_enabled: [FIT_UINT16; 1usize],
pub default_page: [FIT_UINT16; 1usize],
pub autosync_min_steps: FIT_UINT16,
pub autosync_min_time: FIT_UINT16,
pub active_time_zone: FIT_UINT8,
pub time_mode: [FIT_TIME_MODE; 2usize],
pub time_zone_offset: [FIT_SINT8; 2usize],
pub backlight_mode: FIT_BACKLIGHT_MODE,
pub activity_tracker_enabled: FIT_BOOL,
pub move_alert_enabled: FIT_BOOL,
pub date_mode: FIT_DATE_MODE,
pub display_orientation: FIT_DISPLAY_ORIENTATION,
pub mounting_side: FIT_SIDE,
}
#[test]
fn bindgen_test_layout_FIT_DEVICE_SETTINGS_MESG() {
assert_eq!(::std::mem::size_of::<FIT_DEVICE_SETTINGS_MESG>() , 56usize ,
concat ! (
"Size of: " , stringify ! ( FIT_DEVICE_SETTINGS_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_DEVICE_SETTINGS_MESG>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_DEVICE_SETTINGS_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_SETTINGS_MESG ) ) . utc_offset
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVICE_SETTINGS_MESG ) , "::" , stringify ! ( utc_offset )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_SETTINGS_MESG ) ) .
time_offset as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVICE_SETTINGS_MESG ) , "::" , stringify ! ( time_offset
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_SETTINGS_MESG ) ) . clock_time
as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVICE_SETTINGS_MESG ) , "::" , stringify ! ( clock_time )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_SETTINGS_MESG ) ) .
pages_enabled as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVICE_SETTINGS_MESG ) , "::" , stringify ! (
pages_enabled ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_SETTINGS_MESG ) ) .
default_page as * const _ as usize } , 34usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVICE_SETTINGS_MESG ) , "::" , stringify ! ( default_page
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_SETTINGS_MESG ) ) .
autosync_min_steps as * const _ as usize } , 36usize , concat
! (
"Alignment of field: " , stringify ! (
FIT_DEVICE_SETTINGS_MESG ) , "::" , stringify ! (
autosync_min_steps ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_SETTINGS_MESG ) ) .
autosync_min_time as * const _ as usize } , 38usize , concat !
(
"Alignment of field: " , stringify ! (
FIT_DEVICE_SETTINGS_MESG ) , "::" , stringify ! (
autosync_min_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_SETTINGS_MESG ) ) .
active_time_zone as * const _ as usize } , 40usize , concat !
(
"Alignment of field: " , stringify ! (
FIT_DEVICE_SETTINGS_MESG ) , "::" , stringify ! (
active_time_zone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_SETTINGS_MESG ) ) . time_mode
as * const _ as usize } , 41usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVICE_SETTINGS_MESG ) , "::" , stringify ! ( time_mode )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_SETTINGS_MESG ) ) .
time_zone_offset as * const _ as usize } , 43usize , concat !
(
"Alignment of field: " , stringify ! (
FIT_DEVICE_SETTINGS_MESG ) , "::" , stringify ! (
time_zone_offset ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_SETTINGS_MESG ) ) .
backlight_mode as * const _ as usize } , 45usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVICE_SETTINGS_MESG ) , "::" , stringify ! (
backlight_mode ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_SETTINGS_MESG ) ) .
activity_tracker_enabled as * const _ as usize } , 46usize ,
concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVICE_SETTINGS_MESG ) , "::" , stringify ! (
activity_tracker_enabled ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_SETTINGS_MESG ) ) .
move_alert_enabled as * const _ as usize } , 47usize , concat
! (
"Alignment of field: " , stringify ! (
FIT_DEVICE_SETTINGS_MESG ) , "::" , stringify ! (
move_alert_enabled ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_SETTINGS_MESG ) ) . date_mode
as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVICE_SETTINGS_MESG ) , "::" , stringify ! ( date_mode )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_SETTINGS_MESG ) ) .
display_orientation as * const _ as usize } , 49usize , concat
! (
"Alignment of field: " , stringify ! (
FIT_DEVICE_SETTINGS_MESG ) , "::" , stringify ! (
display_orientation ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_SETTINGS_MESG ) ) .
mounting_side as * const _ as usize } , 50usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVICE_SETTINGS_MESG ) , "::" , stringify ! (
mounting_side ) ));
}
impl Clone for FIT_DEVICE_SETTINGS_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_DEVICE_SETTINGS_FIELD_NUM {
FIT_DEVICE_SETTINGS_FIELD_NUM_UTC_OFFSET = 1,
FIT_DEVICE_SETTINGS_FIELD_NUM_TIME_OFFSET = 2,
FIT_DEVICE_SETTINGS_FIELD_NUM_CLOCK_TIME = 39,
FIT_DEVICE_SETTINGS_FIELD_NUM_PAGES_ENABLED = 40,
FIT_DEVICE_SETTINGS_FIELD_NUM_DEFAULT_PAGE = 57,
FIT_DEVICE_SETTINGS_FIELD_NUM_AUTOSYNC_MIN_STEPS = 58,
FIT_DEVICE_SETTINGS_FIELD_NUM_AUTOSYNC_MIN_TIME = 59,
FIT_DEVICE_SETTINGS_FIELD_NUM_ACTIVE_TIME_ZONE = 0,
FIT_DEVICE_SETTINGS_FIELD_NUM_TIME_MODE = 4,
FIT_DEVICE_SETTINGS_FIELD_NUM_TIME_ZONE_OFFSET = 5,
FIT_DEVICE_SETTINGS_FIELD_NUM_BACKLIGHT_MODE = 12,
FIT_DEVICE_SETTINGS_FIELD_NUM_ACTIVITY_TRACKER_ENABLED = 36,
FIT_DEVICE_SETTINGS_FIELD_NUM_MOVE_ALERT_ENABLED = 46,
FIT_DEVICE_SETTINGS_FIELD_NUM_DATE_MODE = 47,
FIT_DEVICE_SETTINGS_FIELD_NUM_DISPLAY_ORIENTATION = 55,
FIT_DEVICE_SETTINGS_FIELD_NUM_MOUNTING_SIDE = 56,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_DEVICE_SETTINGS_MESG_FIELD {
FIT_DEVICE_SETTINGS_MESG_UTC_OFFSET = 0,
FIT_DEVICE_SETTINGS_MESG_TIME_OFFSET = 1,
FIT_DEVICE_SETTINGS_MESG_CLOCK_TIME = 2,
FIT_DEVICE_SETTINGS_MESG_PAGES_ENABLED = 3,
FIT_DEVICE_SETTINGS_MESG_DEFAULT_PAGE = 4,
FIT_DEVICE_SETTINGS_MESG_AUTOSYNC_MIN_STEPS = 5,
FIT_DEVICE_SETTINGS_MESG_AUTOSYNC_MIN_TIME = 6,
FIT_DEVICE_SETTINGS_MESG_ACTIVE_TIME_ZONE = 7,
FIT_DEVICE_SETTINGS_MESG_TIME_MODE = 8,
FIT_DEVICE_SETTINGS_MESG_TIME_ZONE_OFFSET = 9,
FIT_DEVICE_SETTINGS_MESG_BACKLIGHT_MODE = 10,
FIT_DEVICE_SETTINGS_MESG_ACTIVITY_TRACKER_ENABLED = 11,
FIT_DEVICE_SETTINGS_MESG_MOVE_ALERT_ENABLED = 12,
FIT_DEVICE_SETTINGS_MESG_DATE_MODE = 13,
FIT_DEVICE_SETTINGS_MESG_DISPLAY_ORIENTATION = 14,
FIT_DEVICE_SETTINGS_MESG_MOUNTING_SIDE = 15,
FIT_DEVICE_SETTINGS_MESG_FIELDS = 16,
}
#[repr(C)]
pub struct FIT_DEVICE_SETTINGS_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 48usize],
}
#[test]
fn bindgen_test_layout_FIT_DEVICE_SETTINGS_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_DEVICE_SETTINGS_MESG_DEF>() , 54usize
, concat ! (
"Size of: " , stringify ! ( FIT_DEVICE_SETTINGS_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_DEVICE_SETTINGS_MESG_DEF>() ,
2usize , concat ! (
"Alignment of " , stringify ! ( FIT_DEVICE_SETTINGS_MESG_DEF )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_SETTINGS_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVICE_SETTINGS_MESG_DEF ) , "::" , stringify ! (
reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_SETTINGS_MESG_DEF ) ) . arch
as * const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVICE_SETTINGS_MESG_DEF ) , "::" , stringify ! ( arch )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_SETTINGS_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVICE_SETTINGS_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_SETTINGS_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVICE_SETTINGS_MESG_DEF ) , "::" , stringify ! (
num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_SETTINGS_MESG_DEF ) ) . fields
as * const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVICE_SETTINGS_MESG_DEF ) , "::" , stringify ! ( fields )
));
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_USER_PROFILE_MESG {
pub friendly_name: [FIT_STRING; 16usize],
pub message_index: FIT_MESSAGE_INDEX,
pub weight: FIT_UINT16,
pub local_id: FIT_USER_LOCAL_ID,
pub user_running_step_length: FIT_UINT16,
pub user_walking_step_length: FIT_UINT16,
pub gender: FIT_GENDER,
pub age: FIT_UINT8,
pub height: FIT_UINT8,
pub language: FIT_LANGUAGE,
pub elev_setting: FIT_DISPLAY_MEASURE,
pub weight_setting: FIT_DISPLAY_MEASURE,
pub resting_heart_rate: FIT_UINT8,
pub default_max_running_heart_rate: FIT_UINT8,
pub default_max_biking_heart_rate: FIT_UINT8,
pub default_max_heart_rate: FIT_UINT8,
pub hr_setting: FIT_DISPLAY_HEART,
pub speed_setting: FIT_DISPLAY_MEASURE,
pub dist_setting: FIT_DISPLAY_MEASURE,
pub power_setting: FIT_DISPLAY_POWER,
pub activity_class: FIT_ACTIVITY_CLASS,
pub position_setting: FIT_DISPLAY_POSITION,
pub temperature_setting: FIT_DISPLAY_MEASURE,
pub global_id: [FIT_BYTE; 6usize],
pub height_setting: FIT_DISPLAY_MEASURE,
}
#[test]
fn bindgen_test_layout_FIT_USER_PROFILE_MESG() {
assert_eq!(::std::mem::size_of::<FIT_USER_PROFILE_MESG>() , 50usize ,
concat ! ( "Size of: " , stringify ! ( FIT_USER_PROFILE_MESG )
));
assert_eq! (::std::mem::align_of::<FIT_USER_PROFILE_MESG>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_USER_PROFILE_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG ) ) . friendly_name
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_USER_PROFILE_MESG )
, "::" , stringify ! ( friendly_name ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG ) ) . message_index
as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_USER_PROFILE_MESG )
, "::" , stringify ! ( message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG ) ) . weight as *
const _ as usize } , 18usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_USER_PROFILE_MESG )
, "::" , stringify ! ( weight ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG ) ) . local_id as *
const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_USER_PROFILE_MESG )
, "::" , stringify ! ( local_id ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG ) ) .
user_running_step_length as * const _ as usize } , 22usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_USER_PROFILE_MESG )
, "::" , stringify ! ( user_running_step_length ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG ) ) .
user_walking_step_length as * const _ as usize } , 24usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_USER_PROFILE_MESG )
, "::" , stringify ! ( user_walking_step_length ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG ) ) . gender as *
const _ as usize } , 26usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_USER_PROFILE_MESG )
, "::" , stringify ! ( gender ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG ) ) . age as *
const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_USER_PROFILE_MESG )
, "::" , stringify ! ( age ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG ) ) . height as *
const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_USER_PROFILE_MESG )
, "::" , stringify ! ( height ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG ) ) . language as *
const _ as usize } , 29usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_USER_PROFILE_MESG )
, "::" , stringify ! ( language ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG ) ) . elev_setting
as * const _ as usize } , 30usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_USER_PROFILE_MESG )
, "::" , stringify ! ( elev_setting ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG ) ) .
weight_setting as * const _ as usize } , 31usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_USER_PROFILE_MESG )
, "::" , stringify ! ( weight_setting ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG ) ) .
resting_heart_rate as * const _ as usize } , 32usize , concat
! (
"Alignment of field: " , stringify ! ( FIT_USER_PROFILE_MESG )
, "::" , stringify ! ( resting_heart_rate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG ) ) .
default_max_running_heart_rate as * const _ as usize } ,
33usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_USER_PROFILE_MESG )
, "::" , stringify ! ( default_max_running_heart_rate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG ) ) .
default_max_biking_heart_rate as * const _ as usize } ,
34usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_USER_PROFILE_MESG )
, "::" , stringify ! ( default_max_biking_heart_rate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG ) ) .
default_max_heart_rate as * const _ as usize } , 35usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_USER_PROFILE_MESG )
, "::" , stringify ! ( default_max_heart_rate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG ) ) . hr_setting as
* const _ as usize } , 36usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_USER_PROFILE_MESG )
, "::" , stringify ! ( hr_setting ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG ) ) . speed_setting
as * const _ as usize } , 37usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_USER_PROFILE_MESG )
, "::" , stringify ! ( speed_setting ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG ) ) . dist_setting
as * const _ as usize } , 38usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_USER_PROFILE_MESG )
, "::" , stringify ! ( dist_setting ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG ) ) . power_setting
as * const _ as usize } , 39usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_USER_PROFILE_MESG )
, "::" , stringify ! ( power_setting ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG ) ) .
activity_class as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_USER_PROFILE_MESG )
, "::" , stringify ! ( activity_class ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG ) ) .
position_setting as * const _ as usize } , 41usize , concat !
(
"Alignment of field: " , stringify ! ( FIT_USER_PROFILE_MESG )
, "::" , stringify ! ( position_setting ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG ) ) .
temperature_setting as * const _ as usize } , 42usize , concat
! (
"Alignment of field: " , stringify ! ( FIT_USER_PROFILE_MESG )
, "::" , stringify ! ( temperature_setting ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG ) ) . global_id as
* const _ as usize } , 43usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_USER_PROFILE_MESG )
, "::" , stringify ! ( global_id ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG ) ) .
height_setting as * const _ as usize } , 49usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_USER_PROFILE_MESG )
, "::" , stringify ! ( height_setting ) ));
}
impl Clone for FIT_USER_PROFILE_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_USER_PROFILE_FIELD_NUM {
FIT_USER_PROFILE_FIELD_NUM_FRIENDLY_NAME = 0,
FIT_USER_PROFILE_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_USER_PROFILE_FIELD_NUM_WEIGHT = 4,
FIT_USER_PROFILE_FIELD_NUM_LOCAL_ID = 22,
FIT_USER_PROFILE_FIELD_NUM_USER_RUNNING_STEP_LENGTH = 31,
FIT_USER_PROFILE_FIELD_NUM_USER_WALKING_STEP_LENGTH = 32,
FIT_USER_PROFILE_FIELD_NUM_GENDER = 1,
FIT_USER_PROFILE_FIELD_NUM_AGE = 2,
FIT_USER_PROFILE_FIELD_NUM_HEIGHT = 3,
FIT_USER_PROFILE_FIELD_NUM_LANGUAGE = 5,
FIT_USER_PROFILE_FIELD_NUM_ELEV_SETTING = 6,
FIT_USER_PROFILE_FIELD_NUM_WEIGHT_SETTING = 7,
FIT_USER_PROFILE_FIELD_NUM_RESTING_HEART_RATE = 8,
FIT_USER_PROFILE_FIELD_NUM_DEFAULT_MAX_RUNNING_HEART_RATE = 9,
FIT_USER_PROFILE_FIELD_NUM_DEFAULT_MAX_BIKING_HEART_RATE = 10,
FIT_USER_PROFILE_FIELD_NUM_DEFAULT_MAX_HEART_RATE = 11,
FIT_USER_PROFILE_FIELD_NUM_HR_SETTING = 12,
FIT_USER_PROFILE_FIELD_NUM_SPEED_SETTING = 13,
FIT_USER_PROFILE_FIELD_NUM_DIST_SETTING = 14,
FIT_USER_PROFILE_FIELD_NUM_POWER_SETTING = 16,
FIT_USER_PROFILE_FIELD_NUM_ACTIVITY_CLASS = 17,
FIT_USER_PROFILE_FIELD_NUM_POSITION_SETTING = 18,
FIT_USER_PROFILE_FIELD_NUM_TEMPERATURE_SETTING = 21,
FIT_USER_PROFILE_FIELD_NUM_GLOBAL_ID = 23,
FIT_USER_PROFILE_FIELD_NUM_HEIGHT_SETTING = 30,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_USER_PROFILE_MESG_FIELD {
FIT_USER_PROFILE_MESG_FRIENDLY_NAME = 0,
FIT_USER_PROFILE_MESG_MESSAGE_INDEX = 1,
FIT_USER_PROFILE_MESG_WEIGHT = 2,
FIT_USER_PROFILE_MESG_LOCAL_ID = 3,
FIT_USER_PROFILE_MESG_USER_RUNNING_STEP_LENGTH = 4,
FIT_USER_PROFILE_MESG_USER_WALKING_STEP_LENGTH = 5,
FIT_USER_PROFILE_MESG_GENDER = 6,
FIT_USER_PROFILE_MESG_AGE = 7,
FIT_USER_PROFILE_MESG_HEIGHT = 8,
FIT_USER_PROFILE_MESG_LANGUAGE = 9,
FIT_USER_PROFILE_MESG_ELEV_SETTING = 10,
FIT_USER_PROFILE_MESG_WEIGHT_SETTING = 11,
FIT_USER_PROFILE_MESG_RESTING_HEART_RATE = 12,
FIT_USER_PROFILE_MESG_DEFAULT_MAX_RUNNING_HEART_RATE = 13,
FIT_USER_PROFILE_MESG_DEFAULT_MAX_BIKING_HEART_RATE = 14,
FIT_USER_PROFILE_MESG_DEFAULT_MAX_HEART_RATE = 15,
FIT_USER_PROFILE_MESG_HR_SETTING = 16,
FIT_USER_PROFILE_MESG_SPEED_SETTING = 17,
FIT_USER_PROFILE_MESG_DIST_SETTING = 18,
FIT_USER_PROFILE_MESG_POWER_SETTING = 19,
FIT_USER_PROFILE_MESG_ACTIVITY_CLASS = 20,
FIT_USER_PROFILE_MESG_POSITION_SETTING = 21,
FIT_USER_PROFILE_MESG_TEMPERATURE_SETTING = 22,
FIT_USER_PROFILE_MESG_GLOBAL_ID = 23,
FIT_USER_PROFILE_MESG_HEIGHT_SETTING = 24,
FIT_USER_PROFILE_MESG_FIELDS = 25,
}
#[repr(C)]
pub struct FIT_USER_PROFILE_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 75usize],
}
#[test]
fn bindgen_test_layout_FIT_USER_PROFILE_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_USER_PROFILE_MESG_DEF>() , 80usize ,
concat ! (
"Size of: " , stringify ! ( FIT_USER_PROFILE_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_USER_PROFILE_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_USER_PROFILE_MESG_DEF )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_USER_PROFILE_MESG_DEF ) , "::" , stringify ! ( reserved_1
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_USER_PROFILE_MESG_DEF ) , "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_USER_PROFILE_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_USER_PROFILE_MESG_DEF ) , "::" , stringify ! ( num_fields
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_USER_PROFILE_MESG_DEF ) ) . fields as
* const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_USER_PROFILE_MESG_DEF ) , "::" , stringify ! ( fields )
));
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_HRM_PROFILE_MESG {
pub message_index: FIT_MESSAGE_INDEX,
pub hrm_ant_id: FIT_UINT16Z,
pub enabled: FIT_BOOL,
pub log_hrv: FIT_BOOL,
pub hrm_ant_id_trans_type: FIT_UINT8Z,
}
#[test]
fn bindgen_test_layout_FIT_HRM_PROFILE_MESG() {
assert_eq!(::std::mem::size_of::<FIT_HRM_PROFILE_MESG>() , 8usize , concat
! ( "Size of: " , stringify ! ( FIT_HRM_PROFILE_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_HRM_PROFILE_MESG>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_HRM_PROFILE_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HRM_PROFILE_MESG ) ) . message_index
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HRM_PROFILE_MESG )
, "::" , stringify ! ( message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HRM_PROFILE_MESG ) ) . hrm_ant_id as
* const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HRM_PROFILE_MESG )
, "::" , stringify ! ( hrm_ant_id ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HRM_PROFILE_MESG ) ) . enabled as *
const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HRM_PROFILE_MESG )
, "::" , stringify ! ( enabled ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HRM_PROFILE_MESG ) ) . log_hrv as *
const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HRM_PROFILE_MESG )
, "::" , stringify ! ( log_hrv ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HRM_PROFILE_MESG ) ) .
hrm_ant_id_trans_type as * const _ as usize } , 6usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_HRM_PROFILE_MESG )
, "::" , stringify ! ( hrm_ant_id_trans_type ) ));
}
impl Clone for FIT_HRM_PROFILE_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_HRM_PROFILE_FIELD_NUM {
FIT_HRM_PROFILE_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_HRM_PROFILE_FIELD_NUM_HRM_ANT_ID = 1,
FIT_HRM_PROFILE_FIELD_NUM_ENABLED = 0,
FIT_HRM_PROFILE_FIELD_NUM_LOG_HRV = 2,
FIT_HRM_PROFILE_FIELD_NUM_HRM_ANT_ID_TRANS_TYPE = 3,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_HRM_PROFILE_MESG_FIELD {
FIT_HRM_PROFILE_MESG_MESSAGE_INDEX = 0,
FIT_HRM_PROFILE_MESG_HRM_ANT_ID = 1,
FIT_HRM_PROFILE_MESG_ENABLED = 2,
FIT_HRM_PROFILE_MESG_LOG_HRV = 3,
FIT_HRM_PROFILE_MESG_HRM_ANT_ID_TRANS_TYPE = 4,
FIT_HRM_PROFILE_MESG_FIELDS = 5,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_HRM_PROFILE_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 15usize],
}
#[test]
fn bindgen_test_layout_FIT_HRM_PROFILE_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_HRM_PROFILE_MESG_DEF>() , 20usize ,
concat ! (
"Size of: " , stringify ! ( FIT_HRM_PROFILE_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_HRM_PROFILE_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_HRM_PROFILE_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HRM_PROFILE_MESG_DEF ) ) . reserved_1
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_HRM_PROFILE_MESG_DEF ) , "::" , stringify ! ( reserved_1 )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HRM_PROFILE_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_HRM_PROFILE_MESG_DEF ) , "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HRM_PROFILE_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_HRM_PROFILE_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HRM_PROFILE_MESG_DEF ) ) . num_fields
as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_HRM_PROFILE_MESG_DEF ) , "::" , stringify ! ( num_fields )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HRM_PROFILE_MESG_DEF ) ) . fields as
* const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_HRM_PROFILE_MESG_DEF ) , "::" , stringify ! ( fields ) ));
}
impl Clone for FIT_HRM_PROFILE_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_SDM_PROFILE_MESG {
pub odometer: FIT_UINT32,
pub message_index: FIT_MESSAGE_INDEX,
pub sdm_ant_id: FIT_UINT16Z,
pub sdm_cal_factor: FIT_UINT16,
pub enabled: FIT_BOOL,
pub speed_source: FIT_BOOL,
pub sdm_ant_id_trans_type: FIT_UINT8Z,
pub odometer_rollover: FIT_UINT8,
}
#[test]
fn bindgen_test_layout_FIT_SDM_PROFILE_MESG() {
assert_eq!(::std::mem::size_of::<FIT_SDM_PROFILE_MESG>() , 24usize ,
concat ! ( "Size of: " , stringify ! ( FIT_SDM_PROFILE_MESG )
));
assert_eq! (::std::mem::align_of::<FIT_SDM_PROFILE_MESG>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_SDM_PROFILE_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SDM_PROFILE_MESG ) ) . odometer as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SDM_PROFILE_MESG )
, "::" , stringify ! ( odometer ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SDM_PROFILE_MESG ) ) . message_index
as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SDM_PROFILE_MESG )
, "::" , stringify ! ( message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SDM_PROFILE_MESG ) ) . sdm_ant_id as
* const _ as usize } , 10usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SDM_PROFILE_MESG )
, "::" , stringify ! ( sdm_ant_id ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SDM_PROFILE_MESG ) ) . sdm_cal_factor
as * const _ as usize } , 12usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SDM_PROFILE_MESG )
, "::" , stringify ! ( sdm_cal_factor ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SDM_PROFILE_MESG ) ) . enabled as *
const _ as usize } , 14usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SDM_PROFILE_MESG )
, "::" , stringify ! ( enabled ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SDM_PROFILE_MESG ) ) . speed_source
as * const _ as usize } , 15usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SDM_PROFILE_MESG )
, "::" , stringify ! ( speed_source ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SDM_PROFILE_MESG ) ) .
sdm_ant_id_trans_type as * const _ as usize } , 16usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SDM_PROFILE_MESG )
, "::" , stringify ! ( sdm_ant_id_trans_type ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SDM_PROFILE_MESG ) ) .
odometer_rollover as * const _ as usize } , 17usize , concat !
(
"Alignment of field: " , stringify ! ( FIT_SDM_PROFILE_MESG )
, "::" , stringify ! ( odometer_rollover ) ));
}
impl Clone for FIT_SDM_PROFILE_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_SDM_PROFILE_FIELD_NUM {
FIT_SDM_PROFILE_FIELD_NUM_ODOMETER = 3,
FIT_SDM_PROFILE_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_SDM_PROFILE_FIELD_NUM_SDM_ANT_ID = 1,
FIT_SDM_PROFILE_FIELD_NUM_SDM_CAL_FACTOR = 2,
FIT_SDM_PROFILE_FIELD_NUM_ENABLED = 0,
FIT_SDM_PROFILE_FIELD_NUM_SPEED_SOURCE = 4,
FIT_SDM_PROFILE_FIELD_NUM_SDM_ANT_ID_TRANS_TYPE = 5,
FIT_SDM_PROFILE_FIELD_NUM_ODOMETER_ROLLOVER = 7,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_SDM_PROFILE_MESG_FIELD {
FIT_SDM_PROFILE_MESG_ODOMETER = 0,
FIT_SDM_PROFILE_MESG_MESSAGE_INDEX = 1,
FIT_SDM_PROFILE_MESG_SDM_ANT_ID = 2,
FIT_SDM_PROFILE_MESG_SDM_CAL_FACTOR = 3,
FIT_SDM_PROFILE_MESG_ENABLED = 4,
FIT_SDM_PROFILE_MESG_SPEED_SOURCE = 5,
FIT_SDM_PROFILE_MESG_SDM_ANT_ID_TRANS_TYPE = 6,
FIT_SDM_PROFILE_MESG_ODOMETER_ROLLOVER = 7,
FIT_SDM_PROFILE_MESG_FIELDS = 8,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_SDM_PROFILE_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 24usize],
}
#[test]
fn bindgen_test_layout_FIT_SDM_PROFILE_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_SDM_PROFILE_MESG_DEF>() , 30usize ,
concat ! (
"Size of: " , stringify ! ( FIT_SDM_PROFILE_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_SDM_PROFILE_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_SDM_PROFILE_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SDM_PROFILE_MESG_DEF ) ) . reserved_1
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SDM_PROFILE_MESG_DEF ) , "::" , stringify ! ( reserved_1 )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SDM_PROFILE_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SDM_PROFILE_MESG_DEF ) , "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SDM_PROFILE_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SDM_PROFILE_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SDM_PROFILE_MESG_DEF ) ) . num_fields
as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SDM_PROFILE_MESG_DEF ) , "::" , stringify ! ( num_fields )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SDM_PROFILE_MESG_DEF ) ) . fields as
* const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SDM_PROFILE_MESG_DEF ) , "::" , stringify ! ( fields ) ));
}
impl Clone for FIT_SDM_PROFILE_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_BIKE_PROFILE_MESG {
pub name: [FIT_STRING; 16usize],
pub odometer: FIT_UINT32,
pub message_index: FIT_MESSAGE_INDEX,
pub bike_spd_ant_id: FIT_UINT16Z,
pub bike_cad_ant_id: FIT_UINT16Z,
pub bike_spdcad_ant_id: FIT_UINT16Z,
pub bike_power_ant_id: FIT_UINT16Z,
pub custom_wheelsize: FIT_UINT16,
pub auto_wheelsize: FIT_UINT16,
pub bike_weight: FIT_UINT16,
pub power_cal_factor: FIT_UINT16,
pub sport: FIT_SPORT,
pub sub_sport: FIT_SUB_SPORT,
pub auto_wheel_cal: FIT_BOOL,
pub auto_power_zero: FIT_BOOL,
pub id: FIT_UINT8,
pub spd_enabled: FIT_BOOL,
pub cad_enabled: FIT_BOOL,
pub spdcad_enabled: FIT_BOOL,
pub power_enabled: FIT_BOOL,
pub crank_length: FIT_UINT8,
pub enabled: FIT_BOOL,
pub bike_spd_ant_id_trans_type: FIT_UINT8Z,
pub bike_cad_ant_id_trans_type: FIT_UINT8Z,
pub bike_spdcad_ant_id_trans_type: FIT_UINT8Z,
pub bike_power_ant_id_trans_type: FIT_UINT8Z,
pub odometer_rollover: FIT_UINT8,
pub front_gear_num: FIT_UINT8Z,
pub front_gear: [FIT_UINT8Z; 1usize],
pub rear_gear_num: FIT_UINT8Z,
pub rear_gear: [FIT_UINT8Z; 1usize],
pub shimano_di2_enabled: FIT_BOOL,
}
#[test]
fn bindgen_test_layout_FIT_BIKE_PROFILE_MESG() {
assert_eq!(::std::mem::size_of::<FIT_BIKE_PROFILE_MESG>() , 64usize ,
concat ! ( "Size of: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
));
assert_eq! (::std::mem::align_of::<FIT_BIKE_PROFILE_MESG>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_BIKE_PROFILE_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) . name as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( name ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) . odometer as *
const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( odometer ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) . message_index
as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) .
bike_spd_ant_id as * const _ as usize } , 26usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( bike_spd_ant_id ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) .
bike_cad_ant_id as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( bike_cad_ant_id ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) .
bike_spdcad_ant_id as * const _ as usize } , 30usize , concat
! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( bike_spdcad_ant_id ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) .
bike_power_ant_id as * const _ as usize } , 32usize , concat !
(
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( bike_power_ant_id ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) .
custom_wheelsize as * const _ as usize } , 34usize , concat !
(
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( custom_wheelsize ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) .
auto_wheelsize as * const _ as usize } , 36usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( auto_wheelsize ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) . bike_weight
as * const _ as usize } , 38usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( bike_weight ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) .
power_cal_factor as * const _ as usize } , 40usize , concat !
(
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( power_cal_factor ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) . sport as *
const _ as usize } , 42usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( sport ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) . sub_sport as
* const _ as usize } , 43usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( sub_sport ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) .
auto_wheel_cal as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( auto_wheel_cal ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) .
auto_power_zero as * const _ as usize } , 45usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( auto_power_zero ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) . id as * const
_ as usize } , 46usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( id ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) . spd_enabled
as * const _ as usize } , 47usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( spd_enabled ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) . cad_enabled
as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( cad_enabled ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) .
spdcad_enabled as * const _ as usize } , 49usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( spdcad_enabled ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) . power_enabled
as * const _ as usize } , 50usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( power_enabled ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) . crank_length
as * const _ as usize } , 51usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( crank_length ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) . enabled as *
const _ as usize } , 52usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( enabled ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) .
bike_spd_ant_id_trans_type as * const _ as usize } , 53usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( bike_spd_ant_id_trans_type ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) .
bike_cad_ant_id_trans_type as * const _ as usize } , 54usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( bike_cad_ant_id_trans_type ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) .
bike_spdcad_ant_id_trans_type as * const _ as usize } ,
55usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( bike_spdcad_ant_id_trans_type ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) .
bike_power_ant_id_trans_type as * const _ as usize } , 56usize
, concat ! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( bike_power_ant_id_trans_type ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) .
odometer_rollover as * const _ as usize } , 57usize , concat !
(
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( odometer_rollover ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) .
front_gear_num as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( front_gear_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) . front_gear as
* const _ as usize } , 59usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( front_gear ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) . rear_gear_num
as * const _ as usize } , 60usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( rear_gear_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) . rear_gear as
* const _ as usize } , 61usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( rear_gear ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG ) ) .
shimano_di2_enabled as * const _ as usize } , 62usize , concat
! (
"Alignment of field: " , stringify ! ( FIT_BIKE_PROFILE_MESG )
, "::" , stringify ! ( shimano_di2_enabled ) ));
}
impl Clone for FIT_BIKE_PROFILE_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_BIKE_PROFILE_FIELD_NUM {
FIT_BIKE_PROFILE_FIELD_NUM_NAME = 0,
FIT_BIKE_PROFILE_FIELD_NUM_ODOMETER = 3,
FIT_BIKE_PROFILE_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_BIKE_PROFILE_FIELD_NUM_BIKE_SPD_ANT_ID = 4,
FIT_BIKE_PROFILE_FIELD_NUM_BIKE_CAD_ANT_ID = 5,
FIT_BIKE_PROFILE_FIELD_NUM_BIKE_SPDCAD_ANT_ID = 6,
FIT_BIKE_PROFILE_FIELD_NUM_BIKE_POWER_ANT_ID = 7,
FIT_BIKE_PROFILE_FIELD_NUM_CUSTOM_WHEELSIZE = 8,
FIT_BIKE_PROFILE_FIELD_NUM_AUTO_WHEELSIZE = 9,
FIT_BIKE_PROFILE_FIELD_NUM_BIKE_WEIGHT = 10,
FIT_BIKE_PROFILE_FIELD_NUM_POWER_CAL_FACTOR = 11,
FIT_BIKE_PROFILE_FIELD_NUM_SPORT = 1,
FIT_BIKE_PROFILE_FIELD_NUM_SUB_SPORT = 2,
FIT_BIKE_PROFILE_FIELD_NUM_AUTO_WHEEL_CAL = 12,
FIT_BIKE_PROFILE_FIELD_NUM_AUTO_POWER_ZERO = 13,
FIT_BIKE_PROFILE_FIELD_NUM_ID = 14,
FIT_BIKE_PROFILE_FIELD_NUM_SPD_ENABLED = 15,
FIT_BIKE_PROFILE_FIELD_NUM_CAD_ENABLED = 16,
FIT_BIKE_PROFILE_FIELD_NUM_SPDCAD_ENABLED = 17,
FIT_BIKE_PROFILE_FIELD_NUM_POWER_ENABLED = 18,
FIT_BIKE_PROFILE_FIELD_NUM_CRANK_LENGTH = 19,
FIT_BIKE_PROFILE_FIELD_NUM_ENABLED = 20,
FIT_BIKE_PROFILE_FIELD_NUM_BIKE_SPD_ANT_ID_TRANS_TYPE = 21,
FIT_BIKE_PROFILE_FIELD_NUM_BIKE_CAD_ANT_ID_TRANS_TYPE = 22,
FIT_BIKE_PROFILE_FIELD_NUM_BIKE_SPDCAD_ANT_ID_TRANS_TYPE = 23,
FIT_BIKE_PROFILE_FIELD_NUM_BIKE_POWER_ANT_ID_TRANS_TYPE = 24,
FIT_BIKE_PROFILE_FIELD_NUM_ODOMETER_ROLLOVER = 37,
FIT_BIKE_PROFILE_FIELD_NUM_FRONT_GEAR_NUM = 38,
FIT_BIKE_PROFILE_FIELD_NUM_FRONT_GEAR = 39,
FIT_BIKE_PROFILE_FIELD_NUM_REAR_GEAR_NUM = 40,
FIT_BIKE_PROFILE_FIELD_NUM_REAR_GEAR = 41,
FIT_BIKE_PROFILE_FIELD_NUM_SHIMANO_DI2_ENABLED = 44,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_BIKE_PROFILE_MESG_FIELD {
FIT_BIKE_PROFILE_MESG_NAME = 0,
FIT_BIKE_PROFILE_MESG_ODOMETER = 1,
FIT_BIKE_PROFILE_MESG_MESSAGE_INDEX = 2,
FIT_BIKE_PROFILE_MESG_BIKE_SPD_ANT_ID = 3,
FIT_BIKE_PROFILE_MESG_BIKE_CAD_ANT_ID = 4,
FIT_BIKE_PROFILE_MESG_BIKE_SPDCAD_ANT_ID = 5,
FIT_BIKE_PROFILE_MESG_BIKE_POWER_ANT_ID = 6,
FIT_BIKE_PROFILE_MESG_CUSTOM_WHEELSIZE = 7,
FIT_BIKE_PROFILE_MESG_AUTO_WHEELSIZE = 8,
FIT_BIKE_PROFILE_MESG_BIKE_WEIGHT = 9,
FIT_BIKE_PROFILE_MESG_POWER_CAL_FACTOR = 10,
FIT_BIKE_PROFILE_MESG_SPORT = 11,
FIT_BIKE_PROFILE_MESG_SUB_SPORT = 12,
FIT_BIKE_PROFILE_MESG_AUTO_WHEEL_CAL = 13,
FIT_BIKE_PROFILE_MESG_AUTO_POWER_ZERO = 14,
FIT_BIKE_PROFILE_MESG_ID = 15,
FIT_BIKE_PROFILE_MESG_SPD_ENABLED = 16,
FIT_BIKE_PROFILE_MESG_CAD_ENABLED = 17,
FIT_BIKE_PROFILE_MESG_SPDCAD_ENABLED = 18,
FIT_BIKE_PROFILE_MESG_POWER_ENABLED = 19,
FIT_BIKE_PROFILE_MESG_CRANK_LENGTH = 20,
FIT_BIKE_PROFILE_MESG_ENABLED = 21,
FIT_BIKE_PROFILE_MESG_BIKE_SPD_ANT_ID_TRANS_TYPE = 22,
FIT_BIKE_PROFILE_MESG_BIKE_CAD_ANT_ID_TRANS_TYPE = 23,
FIT_BIKE_PROFILE_MESG_BIKE_SPDCAD_ANT_ID_TRANS_TYPE = 24,
FIT_BIKE_PROFILE_MESG_BIKE_POWER_ANT_ID_TRANS_TYPE = 25,
FIT_BIKE_PROFILE_MESG_ODOMETER_ROLLOVER = 26,
FIT_BIKE_PROFILE_MESG_FRONT_GEAR_NUM = 27,
FIT_BIKE_PROFILE_MESG_FRONT_GEAR = 28,
FIT_BIKE_PROFILE_MESG_REAR_GEAR_NUM = 29,
FIT_BIKE_PROFILE_MESG_REAR_GEAR = 30,
FIT_BIKE_PROFILE_MESG_SHIMANO_DI2_ENABLED = 31,
FIT_BIKE_PROFILE_MESG_FIELDS = 32,
}
#[repr(C)]
pub struct FIT_BIKE_PROFILE_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 96usize],
}
#[test]
fn bindgen_test_layout_FIT_BIKE_PROFILE_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_BIKE_PROFILE_MESG_DEF>() , 102usize ,
concat ! (
"Size of: " , stringify ! ( FIT_BIKE_PROFILE_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_BIKE_PROFILE_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_BIKE_PROFILE_MESG_DEF )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_BIKE_PROFILE_MESG_DEF ) , "::" , stringify ! ( reserved_1
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_BIKE_PROFILE_MESG_DEF ) , "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_BIKE_PROFILE_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_BIKE_PROFILE_MESG_DEF ) , "::" , stringify ! ( num_fields
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BIKE_PROFILE_MESG_DEF ) ) . fields as
* const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_BIKE_PROFILE_MESG_DEF ) , "::" , stringify ! ( fields )
));
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_CONNECTIVITY_MESG {
pub name: [FIT_STRING; 24usize],
pub bluetooth_enabled: FIT_BOOL,
pub bluetooth_le_enabled: FIT_BOOL,
pub ant_enabled: FIT_BOOL,
pub live_tracking_enabled: FIT_BOOL,
pub weather_conditions_enabled: FIT_BOOL,
pub weather_alerts_enabled: FIT_BOOL,
pub auto_activity_upload_enabled: FIT_BOOL,
pub course_download_enabled: FIT_BOOL,
pub workout_download_enabled: FIT_BOOL,
pub gps_ephemeris_download_enabled: FIT_BOOL,
pub incident_detection_enabled: FIT_BOOL,
pub grouptrack_enabled: FIT_BOOL,
}
#[test]
fn bindgen_test_layout_FIT_CONNECTIVITY_MESG() {
assert_eq!(::std::mem::size_of::<FIT_CONNECTIVITY_MESG>() , 36usize ,
concat ! ( "Size of: " , stringify ! ( FIT_CONNECTIVITY_MESG )
));
assert_eq! (::std::mem::align_of::<FIT_CONNECTIVITY_MESG>() , 1usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_CONNECTIVITY_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONNECTIVITY_MESG ) ) . name as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_CONNECTIVITY_MESG )
, "::" , stringify ! ( name ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONNECTIVITY_MESG ) ) .
bluetooth_enabled as * const _ as usize } , 24usize , concat !
(
"Alignment of field: " , stringify ! ( FIT_CONNECTIVITY_MESG )
, "::" , stringify ! ( bluetooth_enabled ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONNECTIVITY_MESG ) ) .
bluetooth_le_enabled as * const _ as usize } , 25usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_CONNECTIVITY_MESG )
, "::" , stringify ! ( bluetooth_le_enabled ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONNECTIVITY_MESG ) ) . ant_enabled
as * const _ as usize } , 26usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_CONNECTIVITY_MESG )
, "::" , stringify ! ( ant_enabled ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONNECTIVITY_MESG ) ) .
live_tracking_enabled as * const _ as usize } , 27usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_CONNECTIVITY_MESG )
, "::" , stringify ! ( live_tracking_enabled ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONNECTIVITY_MESG ) ) .
weather_conditions_enabled as * const _ as usize } , 28usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_CONNECTIVITY_MESG )
, "::" , stringify ! ( weather_conditions_enabled ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONNECTIVITY_MESG ) ) .
weather_alerts_enabled as * const _ as usize } , 29usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_CONNECTIVITY_MESG )
, "::" , stringify ! ( weather_alerts_enabled ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONNECTIVITY_MESG ) ) .
auto_activity_upload_enabled as * const _ as usize } , 30usize
, concat ! (
"Alignment of field: " , stringify ! ( FIT_CONNECTIVITY_MESG )
, "::" , stringify ! ( auto_activity_upload_enabled ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONNECTIVITY_MESG ) ) .
course_download_enabled as * const _ as usize } , 31usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_CONNECTIVITY_MESG )
, "::" , stringify ! ( course_download_enabled ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONNECTIVITY_MESG ) ) .
workout_download_enabled as * const _ as usize } , 32usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_CONNECTIVITY_MESG )
, "::" , stringify ! ( workout_download_enabled ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONNECTIVITY_MESG ) ) .
gps_ephemeris_download_enabled as * const _ as usize } ,
33usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_CONNECTIVITY_MESG )
, "::" , stringify ! ( gps_ephemeris_download_enabled ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONNECTIVITY_MESG ) ) .
incident_detection_enabled as * const _ as usize } , 34usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_CONNECTIVITY_MESG )
, "::" , stringify ! ( incident_detection_enabled ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONNECTIVITY_MESG ) ) .
grouptrack_enabled as * const _ as usize } , 35usize , concat
! (
"Alignment of field: " , stringify ! ( FIT_CONNECTIVITY_MESG )
, "::" , stringify ! ( grouptrack_enabled ) ));
}
impl Clone for FIT_CONNECTIVITY_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_CONNECTIVITY_FIELD_NUM {
FIT_CONNECTIVITY_FIELD_NUM_NAME = 3,
FIT_CONNECTIVITY_FIELD_NUM_BLUETOOTH_ENABLED = 0,
FIT_CONNECTIVITY_FIELD_NUM_BLUETOOTH_LE_ENABLED = 1,
FIT_CONNECTIVITY_FIELD_NUM_ANT_ENABLED = 2,
FIT_CONNECTIVITY_FIELD_NUM_LIVE_TRACKING_ENABLED = 4,
FIT_CONNECTIVITY_FIELD_NUM_WEATHER_CONDITIONS_ENABLED = 5,
FIT_CONNECTIVITY_FIELD_NUM_WEATHER_ALERTS_ENABLED = 6,
FIT_CONNECTIVITY_FIELD_NUM_AUTO_ACTIVITY_UPLOAD_ENABLED = 7,
FIT_CONNECTIVITY_FIELD_NUM_COURSE_DOWNLOAD_ENABLED = 8,
FIT_CONNECTIVITY_FIELD_NUM_WORKOUT_DOWNLOAD_ENABLED = 9,
FIT_CONNECTIVITY_FIELD_NUM_GPS_EPHEMERIS_DOWNLOAD_ENABLED = 10,
FIT_CONNECTIVITY_FIELD_NUM_INCIDENT_DETECTION_ENABLED = 11,
FIT_CONNECTIVITY_FIELD_NUM_GROUPTRACK_ENABLED = 12,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_CONNECTIVITY_MESG_FIELD {
FIT_CONNECTIVITY_MESG_NAME = 0,
FIT_CONNECTIVITY_MESG_BLUETOOTH_ENABLED = 1,
FIT_CONNECTIVITY_MESG_BLUETOOTH_LE_ENABLED = 2,
FIT_CONNECTIVITY_MESG_ANT_ENABLED = 3,
FIT_CONNECTIVITY_MESG_LIVE_TRACKING_ENABLED = 4,
FIT_CONNECTIVITY_MESG_WEATHER_CONDITIONS_ENABLED = 5,
FIT_CONNECTIVITY_MESG_WEATHER_ALERTS_ENABLED = 6,
FIT_CONNECTIVITY_MESG_AUTO_ACTIVITY_UPLOAD_ENABLED = 7,
FIT_CONNECTIVITY_MESG_COURSE_DOWNLOAD_ENABLED = 8,
FIT_CONNECTIVITY_MESG_WORKOUT_DOWNLOAD_ENABLED = 9,
FIT_CONNECTIVITY_MESG_GPS_EPHEMERIS_DOWNLOAD_ENABLED = 10,
FIT_CONNECTIVITY_MESG_INCIDENT_DETECTION_ENABLED = 11,
FIT_CONNECTIVITY_MESG_GROUPTRACK_ENABLED = 12,
FIT_CONNECTIVITY_MESG_FIELDS = 13,
}
#[repr(C)]
pub struct FIT_CONNECTIVITY_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 39usize],
}
#[test]
fn bindgen_test_layout_FIT_CONNECTIVITY_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_CONNECTIVITY_MESG_DEF>() , 44usize ,
concat ! (
"Size of: " , stringify ! ( FIT_CONNECTIVITY_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_CONNECTIVITY_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_CONNECTIVITY_MESG_DEF )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONNECTIVITY_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_CONNECTIVITY_MESG_DEF ) , "::" , stringify ! ( reserved_1
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONNECTIVITY_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_CONNECTIVITY_MESG_DEF ) , "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONNECTIVITY_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_CONNECTIVITY_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONNECTIVITY_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_CONNECTIVITY_MESG_DEF ) , "::" , stringify ! ( num_fields
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONNECTIVITY_MESG_DEF ) ) . fields as
* const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_CONNECTIVITY_MESG_DEF ) , "::" , stringify ! ( fields )
));
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_ZONES_TARGET_MESG {
pub functional_threshold_power: FIT_UINT16,
pub max_heart_rate: FIT_UINT8,
pub threshold_heart_rate: FIT_UINT8,
pub hr_calc_type: FIT_HR_ZONE_CALC,
pub pwr_calc_type: FIT_PWR_ZONE_CALC,
}
#[test]
fn bindgen_test_layout_FIT_ZONES_TARGET_MESG() {
assert_eq!(::std::mem::size_of::<FIT_ZONES_TARGET_MESG>() , 6usize ,
concat ! ( "Size of: " , stringify ! ( FIT_ZONES_TARGET_MESG )
));
assert_eq! (::std::mem::align_of::<FIT_ZONES_TARGET_MESG>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_ZONES_TARGET_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ZONES_TARGET_MESG ) ) .
functional_threshold_power as * const _ as usize } , 0usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_ZONES_TARGET_MESG )
, "::" , stringify ! ( functional_threshold_power ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ZONES_TARGET_MESG ) ) .
max_heart_rate as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ZONES_TARGET_MESG )
, "::" , stringify ! ( max_heart_rate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ZONES_TARGET_MESG ) ) .
threshold_heart_rate as * const _ as usize } , 3usize , concat
! (
"Alignment of field: " , stringify ! ( FIT_ZONES_TARGET_MESG )
, "::" , stringify ! ( threshold_heart_rate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ZONES_TARGET_MESG ) ) . hr_calc_type
as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ZONES_TARGET_MESG )
, "::" , stringify ! ( hr_calc_type ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ZONES_TARGET_MESG ) ) . pwr_calc_type
as * const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ZONES_TARGET_MESG )
, "::" , stringify ! ( pwr_calc_type ) ));
}
impl Clone for FIT_ZONES_TARGET_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_ZONES_TARGET_FIELD_NUM {
FIT_ZONES_TARGET_FIELD_NUM_FUNCTIONAL_THRESHOLD_POWER = 3,
FIT_ZONES_TARGET_FIELD_NUM_MAX_HEART_RATE = 1,
FIT_ZONES_TARGET_FIELD_NUM_THRESHOLD_HEART_RATE = 2,
FIT_ZONES_TARGET_FIELD_NUM_HR_CALC_TYPE = 5,
FIT_ZONES_TARGET_FIELD_NUM_PWR_CALC_TYPE = 7,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_ZONES_TARGET_MESG_FIELD {
FIT_ZONES_TARGET_MESG_FUNCTIONAL_THRESHOLD_POWER = 0,
FIT_ZONES_TARGET_MESG_MAX_HEART_RATE = 1,
FIT_ZONES_TARGET_MESG_THRESHOLD_HEART_RATE = 2,
FIT_ZONES_TARGET_MESG_HR_CALC_TYPE = 3,
FIT_ZONES_TARGET_MESG_PWR_CALC_TYPE = 4,
FIT_ZONES_TARGET_MESG_FIELDS = 5,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_ZONES_TARGET_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 15usize],
}
#[test]
fn bindgen_test_layout_FIT_ZONES_TARGET_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_ZONES_TARGET_MESG_DEF>() , 20usize ,
concat ! (
"Size of: " , stringify ! ( FIT_ZONES_TARGET_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_ZONES_TARGET_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_ZONES_TARGET_MESG_DEF )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ZONES_TARGET_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_ZONES_TARGET_MESG_DEF ) , "::" , stringify ! ( reserved_1
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ZONES_TARGET_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_ZONES_TARGET_MESG_DEF ) , "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ZONES_TARGET_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_ZONES_TARGET_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ZONES_TARGET_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_ZONES_TARGET_MESG_DEF ) , "::" , stringify ! ( num_fields
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ZONES_TARGET_MESG_DEF ) ) . fields as
* const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_ZONES_TARGET_MESG_DEF ) , "::" , stringify ! ( fields )
));
}
impl Clone for FIT_ZONES_TARGET_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_SPORT_MESG {
pub name: [FIT_STRING; 16usize],
pub sport: FIT_SPORT,
pub sub_sport: FIT_SUB_SPORT,
}
#[test]
fn bindgen_test_layout_FIT_SPORT_MESG() {
assert_eq!(::std::mem::size_of::<FIT_SPORT_MESG>() , 18usize , concat ! (
"Size of: " , stringify ! ( FIT_SPORT_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_SPORT_MESG>() , 1usize , concat ! (
"Alignment of " , stringify ! ( FIT_SPORT_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SPORT_MESG ) ) . name as * const _ as
usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SPORT_MESG ) , "::"
, stringify ! ( name ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SPORT_MESG ) ) . sport as * const _
as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SPORT_MESG ) , "::"
, stringify ! ( sport ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SPORT_MESG ) ) . sub_sport as * const
_ as usize } , 17usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SPORT_MESG ) , "::"
, stringify ! ( sub_sport ) ));
}
impl Clone for FIT_SPORT_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_SPORT_FIELD_NUM {
FIT_SPORT_FIELD_NUM_NAME = 3,
FIT_SPORT_FIELD_NUM_SPORT = 0,
FIT_SPORT_FIELD_NUM_SUB_SPORT = 1,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_SPORT_MESG_FIELD {
FIT_SPORT_MESG_NAME = 0,
FIT_SPORT_MESG_SPORT = 1,
FIT_SPORT_MESG_SUB_SPORT = 2,
FIT_SPORT_MESG_FIELDS = 3,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_SPORT_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 9usize],
}
#[test]
fn bindgen_test_layout_FIT_SPORT_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_SPORT_MESG_DEF>() , 14usize , concat
! ( "Size of: " , stringify ! ( FIT_SPORT_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_SPORT_MESG_DEF>() , 2usize , concat
! ( "Alignment of " , stringify ! ( FIT_SPORT_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SPORT_MESG_DEF ) ) . reserved_1 as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SPORT_MESG_DEF ) ,
"::" , stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SPORT_MESG_DEF ) ) . arch as * const
_ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SPORT_MESG_DEF ) ,
"::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SPORT_MESG_DEF ) ) . global_mesg_num
as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SPORT_MESG_DEF ) ,
"::" , stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SPORT_MESG_DEF ) ) . num_fields as *
const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SPORT_MESG_DEF ) ,
"::" , stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SPORT_MESG_DEF ) ) . fields as *
const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SPORT_MESG_DEF ) ,
"::" , stringify ! ( fields ) ));
}
impl Clone for FIT_SPORT_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_HR_ZONE_MESG {
pub name: [FIT_STRING; 16usize],
pub message_index: FIT_MESSAGE_INDEX,
pub high_bpm: FIT_UINT8,
}
#[test]
fn bindgen_test_layout_FIT_HR_ZONE_MESG() {
assert_eq!(::std::mem::size_of::<FIT_HR_ZONE_MESG>() , 20usize , concat !
( "Size of: " , stringify ! ( FIT_HR_ZONE_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_HR_ZONE_MESG>() , 2usize , concat !
( "Alignment of " , stringify ! ( FIT_HR_ZONE_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HR_ZONE_MESG ) ) . name as * const _
as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HR_ZONE_MESG ) ,
"::" , stringify ! ( name ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HR_ZONE_MESG ) ) . message_index as *
const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HR_ZONE_MESG ) ,
"::" , stringify ! ( message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HR_ZONE_MESG ) ) . high_bpm as *
const _ as usize } , 18usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HR_ZONE_MESG ) ,
"::" , stringify ! ( high_bpm ) ));
}
impl Clone for FIT_HR_ZONE_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_HR_ZONE_FIELD_NUM {
FIT_HR_ZONE_FIELD_NUM_NAME = 2,
FIT_HR_ZONE_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_HR_ZONE_FIELD_NUM_HIGH_BPM = 1,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_HR_ZONE_MESG_FIELD {
FIT_HR_ZONE_MESG_NAME = 0,
FIT_HR_ZONE_MESG_MESSAGE_INDEX = 1,
FIT_HR_ZONE_MESG_HIGH_BPM = 2,
FIT_HR_ZONE_MESG_FIELDS = 3,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_HR_ZONE_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 9usize],
}
#[test]
fn bindgen_test_layout_FIT_HR_ZONE_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_HR_ZONE_MESG_DEF>() , 14usize ,
concat ! ( "Size of: " , stringify ! ( FIT_HR_ZONE_MESG_DEF )
));
assert_eq! (::std::mem::align_of::<FIT_HR_ZONE_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_HR_ZONE_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HR_ZONE_MESG_DEF ) ) . reserved_1 as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HR_ZONE_MESG_DEF )
, "::" , stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HR_ZONE_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HR_ZONE_MESG_DEF )
, "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HR_ZONE_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HR_ZONE_MESG_DEF )
, "::" , stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HR_ZONE_MESG_DEF ) ) . num_fields as
* const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HR_ZONE_MESG_DEF )
, "::" , stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HR_ZONE_MESG_DEF ) ) . fields as *
const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HR_ZONE_MESG_DEF )
, "::" , stringify ! ( fields ) ));
}
impl Clone for FIT_HR_ZONE_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_SPEED_ZONE_MESG {
pub name: [FIT_STRING; 16usize],
pub message_index: FIT_MESSAGE_INDEX,
pub high_value: FIT_UINT16,
}
#[test]
fn bindgen_test_layout_FIT_SPEED_ZONE_MESG() {
assert_eq!(::std::mem::size_of::<FIT_SPEED_ZONE_MESG>() , 20usize , concat
! ( "Size of: " , stringify ! ( FIT_SPEED_ZONE_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_SPEED_ZONE_MESG>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_SPEED_ZONE_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SPEED_ZONE_MESG ) ) . name as * const
_ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SPEED_ZONE_MESG ) ,
"::" , stringify ! ( name ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SPEED_ZONE_MESG ) ) . message_index
as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SPEED_ZONE_MESG ) ,
"::" , stringify ! ( message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SPEED_ZONE_MESG ) ) . high_value as *
const _ as usize } , 18usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SPEED_ZONE_MESG ) ,
"::" , stringify ! ( high_value ) ));
}
impl Clone for FIT_SPEED_ZONE_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_SPEED_ZONE_FIELD_NUM {
FIT_SPEED_ZONE_FIELD_NUM_NAME = 1,
FIT_SPEED_ZONE_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_SPEED_ZONE_FIELD_NUM_HIGH_VALUE = 0,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_SPEED_ZONE_MESG_FIELD {
FIT_SPEED_ZONE_MESG_NAME = 0,
FIT_SPEED_ZONE_MESG_MESSAGE_INDEX = 1,
FIT_SPEED_ZONE_MESG_HIGH_VALUE = 2,
FIT_SPEED_ZONE_MESG_FIELDS = 3,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_SPEED_ZONE_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 9usize],
}
#[test]
fn bindgen_test_layout_FIT_SPEED_ZONE_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_SPEED_ZONE_MESG_DEF>() , 14usize ,
concat ! (
"Size of: " , stringify ! ( FIT_SPEED_ZONE_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_SPEED_ZONE_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_SPEED_ZONE_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SPEED_ZONE_MESG_DEF ) ) . reserved_1
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SPEED_ZONE_MESG_DEF
) , "::" , stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SPEED_ZONE_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SPEED_ZONE_MESG_DEF
) , "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SPEED_ZONE_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SPEED_ZONE_MESG_DEF
) , "::" , stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SPEED_ZONE_MESG_DEF ) ) . num_fields
as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SPEED_ZONE_MESG_DEF
) , "::" , stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SPEED_ZONE_MESG_DEF ) ) . fields as *
const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SPEED_ZONE_MESG_DEF
) , "::" , stringify ! ( fields ) ));
}
impl Clone for FIT_SPEED_ZONE_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_CADENCE_ZONE_MESG {
pub name: [FIT_STRING; 16usize],
pub message_index: FIT_MESSAGE_INDEX,
pub high_value: FIT_UINT8,
}
#[test]
fn bindgen_test_layout_FIT_CADENCE_ZONE_MESG() {
assert_eq!(::std::mem::size_of::<FIT_CADENCE_ZONE_MESG>() , 20usize ,
concat ! ( "Size of: " , stringify ! ( FIT_CADENCE_ZONE_MESG )
));
assert_eq! (::std::mem::align_of::<FIT_CADENCE_ZONE_MESG>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_CADENCE_ZONE_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CADENCE_ZONE_MESG ) ) . name as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_CADENCE_ZONE_MESG )
, "::" , stringify ! ( name ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CADENCE_ZONE_MESG ) ) . message_index
as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_CADENCE_ZONE_MESG )
, "::" , stringify ! ( message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CADENCE_ZONE_MESG ) ) . high_value as
* const _ as usize } , 18usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_CADENCE_ZONE_MESG )
, "::" , stringify ! ( high_value ) ));
}
impl Clone for FIT_CADENCE_ZONE_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_CADENCE_ZONE_FIELD_NUM {
FIT_CADENCE_ZONE_FIELD_NUM_NAME = 1,
FIT_CADENCE_ZONE_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_CADENCE_ZONE_FIELD_NUM_HIGH_VALUE = 0,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_CADENCE_ZONE_MESG_FIELD {
FIT_CADENCE_ZONE_MESG_NAME = 0,
FIT_CADENCE_ZONE_MESG_MESSAGE_INDEX = 1,
FIT_CADENCE_ZONE_MESG_HIGH_VALUE = 2,
FIT_CADENCE_ZONE_MESG_FIELDS = 3,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_CADENCE_ZONE_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 9usize],
}
#[test]
fn bindgen_test_layout_FIT_CADENCE_ZONE_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_CADENCE_ZONE_MESG_DEF>() , 14usize ,
concat ! (
"Size of: " , stringify ! ( FIT_CADENCE_ZONE_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_CADENCE_ZONE_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_CADENCE_ZONE_MESG_DEF )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CADENCE_ZONE_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_CADENCE_ZONE_MESG_DEF ) , "::" , stringify ! ( reserved_1
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CADENCE_ZONE_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_CADENCE_ZONE_MESG_DEF ) , "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CADENCE_ZONE_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_CADENCE_ZONE_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CADENCE_ZONE_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_CADENCE_ZONE_MESG_DEF ) , "::" , stringify ! ( num_fields
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CADENCE_ZONE_MESG_DEF ) ) . fields as
* const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_CADENCE_ZONE_MESG_DEF ) , "::" , stringify ! ( fields )
));
}
impl Clone for FIT_CADENCE_ZONE_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_POWER_ZONE_MESG {
pub name: [FIT_STRING; 16usize],
pub message_index: FIT_MESSAGE_INDEX,
pub high_value: FIT_UINT16,
}
#[test]
fn bindgen_test_layout_FIT_POWER_ZONE_MESG() {
assert_eq!(::std::mem::size_of::<FIT_POWER_ZONE_MESG>() , 20usize , concat
! ( "Size of: " , stringify ! ( FIT_POWER_ZONE_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_POWER_ZONE_MESG>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_POWER_ZONE_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_POWER_ZONE_MESG ) ) . name as * const
_ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_POWER_ZONE_MESG ) ,
"::" , stringify ! ( name ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_POWER_ZONE_MESG ) ) . message_index
as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_POWER_ZONE_MESG ) ,
"::" , stringify ! ( message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_POWER_ZONE_MESG ) ) . high_value as *
const _ as usize } , 18usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_POWER_ZONE_MESG ) ,
"::" , stringify ! ( high_value ) ));
}
impl Clone for FIT_POWER_ZONE_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_POWER_ZONE_FIELD_NUM {
FIT_POWER_ZONE_FIELD_NUM_NAME = 2,
FIT_POWER_ZONE_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_POWER_ZONE_FIELD_NUM_HIGH_VALUE = 1,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_POWER_ZONE_MESG_FIELD {
FIT_POWER_ZONE_MESG_NAME = 0,
FIT_POWER_ZONE_MESG_MESSAGE_INDEX = 1,
FIT_POWER_ZONE_MESG_HIGH_VALUE = 2,
FIT_POWER_ZONE_MESG_FIELDS = 3,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_POWER_ZONE_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 9usize],
}
#[test]
fn bindgen_test_layout_FIT_POWER_ZONE_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_POWER_ZONE_MESG_DEF>() , 14usize ,
concat ! (
"Size of: " , stringify ! ( FIT_POWER_ZONE_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_POWER_ZONE_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_POWER_ZONE_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_POWER_ZONE_MESG_DEF ) ) . reserved_1
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_POWER_ZONE_MESG_DEF
) , "::" , stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_POWER_ZONE_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_POWER_ZONE_MESG_DEF
) , "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_POWER_ZONE_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_POWER_ZONE_MESG_DEF
) , "::" , stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_POWER_ZONE_MESG_DEF ) ) . num_fields
as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_POWER_ZONE_MESG_DEF
) , "::" , stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_POWER_ZONE_MESG_DEF ) ) . fields as *
const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_POWER_ZONE_MESG_DEF
) , "::" , stringify ! ( fields ) ));
}
impl Clone for FIT_POWER_ZONE_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_MET_ZONE_MESG {
pub message_index: FIT_MESSAGE_INDEX,
pub calories: FIT_UINT16,
pub high_bpm: FIT_UINT8,
pub fat_calories: FIT_UINT8,
}
#[test]
fn bindgen_test_layout_FIT_MET_ZONE_MESG() {
assert_eq!(::std::mem::size_of::<FIT_MET_ZONE_MESG>() , 6usize , concat !
( "Size of: " , stringify ! ( FIT_MET_ZONE_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_MET_ZONE_MESG>() , 2usize , concat
! ( "Alignment of " , stringify ! ( FIT_MET_ZONE_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MET_ZONE_MESG ) ) . message_index as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MET_ZONE_MESG ) ,
"::" , stringify ! ( message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MET_ZONE_MESG ) ) . calories as *
const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MET_ZONE_MESG ) ,
"::" , stringify ! ( calories ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MET_ZONE_MESG ) ) . high_bpm as *
const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MET_ZONE_MESG ) ,
"::" , stringify ! ( high_bpm ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MET_ZONE_MESG ) ) . fat_calories as *
const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MET_ZONE_MESG ) ,
"::" , stringify ! ( fat_calories ) ));
}
impl Clone for FIT_MET_ZONE_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_MET_ZONE_FIELD_NUM {
FIT_MET_ZONE_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_MET_ZONE_FIELD_NUM_CALORIES = 2,
FIT_MET_ZONE_FIELD_NUM_HIGH_BPM = 1,
FIT_MET_ZONE_FIELD_NUM_FAT_CALORIES = 3,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_MET_ZONE_MESG_FIELD {
FIT_MET_ZONE_MESG_MESSAGE_INDEX = 0,
FIT_MET_ZONE_MESG_CALORIES = 1,
FIT_MET_ZONE_MESG_HIGH_BPM = 2,
FIT_MET_ZONE_MESG_FAT_CALORIES = 3,
FIT_MET_ZONE_MESG_FIELDS = 4,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_MET_ZONE_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 12usize],
}
#[test]
fn bindgen_test_layout_FIT_MET_ZONE_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_MET_ZONE_MESG_DEF>() , 18usize ,
concat ! ( "Size of: " , stringify ! ( FIT_MET_ZONE_MESG_DEF )
));
assert_eq! (::std::mem::align_of::<FIT_MET_ZONE_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_MET_ZONE_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MET_ZONE_MESG_DEF ) ) . reserved_1 as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MET_ZONE_MESG_DEF )
, "::" , stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MET_ZONE_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MET_ZONE_MESG_DEF )
, "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MET_ZONE_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MET_ZONE_MESG_DEF )
, "::" , stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MET_ZONE_MESG_DEF ) ) . num_fields as
* const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MET_ZONE_MESG_DEF )
, "::" , stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MET_ZONE_MESG_DEF ) ) . fields as *
const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MET_ZONE_MESG_DEF )
, "::" , stringify ! ( fields ) ));
}
impl Clone for FIT_MET_ZONE_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_GOAL_MESG {
pub start_date: FIT_DATE_TIME,
pub end_date: FIT_DATE_TIME,
pub value: FIT_UINT32,
pub target_value: FIT_UINT32,
pub message_index: FIT_MESSAGE_INDEX,
pub recurrence_value: FIT_UINT16,
pub sport: FIT_SPORT,
pub sub_sport: FIT_SUB_SPORT,
pub type_: FIT_GOAL,
pub repeat: FIT_BOOL,
pub recurrence: FIT_GOAL_RECURRENCE,
pub enabled: FIT_BOOL,
pub source: FIT_GOAL_SOURCE,
}
#[test]
fn bindgen_test_layout_FIT_GOAL_MESG() {
assert_eq!(::std::mem::size_of::<FIT_GOAL_MESG>() , 48usize , concat ! (
"Size of: " , stringify ! ( FIT_GOAL_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_GOAL_MESG>() , 8usize , concat ! (
"Alignment of " , stringify ! ( FIT_GOAL_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_GOAL_MESG ) ) . start_date as * const
_ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_GOAL_MESG ) , "::"
, stringify ! ( start_date ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_GOAL_MESG ) ) . end_date as * const _
as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_GOAL_MESG ) , "::"
, stringify ! ( end_date ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_GOAL_MESG ) ) . value as * const _ as
usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_GOAL_MESG ) , "::"
, stringify ! ( value ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_GOAL_MESG ) ) . target_value as *
const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_GOAL_MESG ) , "::"
, stringify ! ( target_value ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_GOAL_MESG ) ) . message_index as *
const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_GOAL_MESG ) , "::"
, stringify ! ( message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_GOAL_MESG ) ) . recurrence_value as *
const _ as usize } , 34usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_GOAL_MESG ) , "::"
, stringify ! ( recurrence_value ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_GOAL_MESG ) ) . sport as * const _ as
usize } , 36usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_GOAL_MESG ) , "::"
, stringify ! ( sport ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_GOAL_MESG ) ) . sub_sport as * const
_ as usize } , 37usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_GOAL_MESG ) , "::"
, stringify ! ( sub_sport ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_GOAL_MESG ) ) . type_ as * const _ as
usize } , 38usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_GOAL_MESG ) , "::"
, stringify ! ( type_ ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_GOAL_MESG ) ) . repeat as * const _
as usize } , 39usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_GOAL_MESG ) , "::"
, stringify ! ( repeat ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_GOAL_MESG ) ) . recurrence as * const
_ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_GOAL_MESG ) , "::"
, stringify ! ( recurrence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_GOAL_MESG ) ) . enabled as * const _
as usize } , 41usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_GOAL_MESG ) , "::"
, stringify ! ( enabled ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_GOAL_MESG ) ) . source as * const _
as usize } , 42usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_GOAL_MESG ) , "::"
, stringify ! ( source ) ));
}
impl Clone for FIT_GOAL_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_GOAL_FIELD_NUM {
FIT_GOAL_FIELD_NUM_START_DATE = 2,
FIT_GOAL_FIELD_NUM_END_DATE = 3,
FIT_GOAL_FIELD_NUM_VALUE = 5,
FIT_GOAL_FIELD_NUM_TARGET_VALUE = 7,
FIT_GOAL_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_GOAL_FIELD_NUM_RECURRENCE_VALUE = 9,
FIT_GOAL_FIELD_NUM_SPORT = 0,
FIT_GOAL_FIELD_NUM_SUB_SPORT = 1,
FIT_GOAL_FIELD_NUM_TYPE = 4,
FIT_GOAL_FIELD_NUM_REPEAT = 6,
FIT_GOAL_FIELD_NUM_RECURRENCE = 8,
FIT_GOAL_FIELD_NUM_ENABLED = 10,
FIT_GOAL_FIELD_NUM_SOURCE = 11,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_GOAL_MESG_FIELD {
FIT_GOAL_MESG_START_DATE = 0,
FIT_GOAL_MESG_END_DATE = 1,
FIT_GOAL_MESG_VALUE = 2,
FIT_GOAL_MESG_TARGET_VALUE = 3,
FIT_GOAL_MESG_MESSAGE_INDEX = 4,
FIT_GOAL_MESG_RECURRENCE_VALUE = 5,
FIT_GOAL_MESG_SPORT = 6,
FIT_GOAL_MESG_SUB_SPORT = 7,
FIT_GOAL_MESG_TYPE = 8,
FIT_GOAL_MESG_REPEAT = 9,
FIT_GOAL_MESG_RECURRENCE = 10,
FIT_GOAL_MESG_ENABLED = 11,
FIT_GOAL_MESG_SOURCE = 12,
FIT_GOAL_MESG_FIELDS = 13,
}
#[repr(C)]
pub struct FIT_GOAL_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 39usize],
}
#[test]
fn bindgen_test_layout_FIT_GOAL_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_GOAL_MESG_DEF>() , 44usize , concat !
( "Size of: " , stringify ! ( FIT_GOAL_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_GOAL_MESG_DEF>() , 2usize , concat
! ( "Alignment of " , stringify ! ( FIT_GOAL_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_GOAL_MESG_DEF ) ) . reserved_1 as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_GOAL_MESG_DEF ) ,
"::" , stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_GOAL_MESG_DEF ) ) . arch as * const _
as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_GOAL_MESG_DEF ) ,
"::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_GOAL_MESG_DEF ) ) . global_mesg_num
as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_GOAL_MESG_DEF ) ,
"::" , stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_GOAL_MESG_DEF ) ) . num_fields as *
const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_GOAL_MESG_DEF ) ,
"::" , stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_GOAL_MESG_DEF ) ) . fields as * const
_ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_GOAL_MESG_DEF ) ,
"::" , stringify ! ( fields ) ));
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_ACTIVITY_MESG {
pub timestamp: FIT_DATE_TIME,
pub total_timer_time: FIT_UINT32,
pub local_timestamp: FIT_LOCAL_DATE_TIME,
pub num_sessions: FIT_UINT16,
pub type_: FIT_ACTIVITY,
pub event: FIT_EVENT,
pub event_type: FIT_EVENT_TYPE,
pub event_group: FIT_UINT8,
}
#[test]
fn bindgen_test_layout_FIT_ACTIVITY_MESG() {
assert_eq!(::std::mem::size_of::<FIT_ACTIVITY_MESG>() , 32usize , concat !
( "Size of: " , stringify ! ( FIT_ACTIVITY_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_ACTIVITY_MESG>() , 8usize , concat
! ( "Alignment of " , stringify ! ( FIT_ACTIVITY_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ACTIVITY_MESG ) ) . timestamp as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ACTIVITY_MESG ) ,
"::" , stringify ! ( timestamp ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ACTIVITY_MESG ) ) . total_timer_time
as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ACTIVITY_MESG ) ,
"::" , stringify ! ( total_timer_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ACTIVITY_MESG ) ) . local_timestamp
as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ACTIVITY_MESG ) ,
"::" , stringify ! ( local_timestamp ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ACTIVITY_MESG ) ) . num_sessions as *
const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ACTIVITY_MESG ) ,
"::" , stringify ! ( num_sessions ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ACTIVITY_MESG ) ) . type_ as * const
_ as usize } , 26usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ACTIVITY_MESG ) ,
"::" , stringify ! ( type_ ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ACTIVITY_MESG ) ) . event as * const
_ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ACTIVITY_MESG ) ,
"::" , stringify ! ( event ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ACTIVITY_MESG ) ) . event_type as *
const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ACTIVITY_MESG ) ,
"::" , stringify ! ( event_type ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ACTIVITY_MESG ) ) . event_group as *
const _ as usize } , 29usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ACTIVITY_MESG ) ,
"::" , stringify ! ( event_group ) ));
}
impl Clone for FIT_ACTIVITY_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_ACTIVITY_FIELD_NUM {
FIT_ACTIVITY_FIELD_NUM_TIMESTAMP = 253,
FIT_ACTIVITY_FIELD_NUM_TOTAL_TIMER_TIME = 0,
FIT_ACTIVITY_FIELD_NUM_LOCAL_TIMESTAMP = 5,
FIT_ACTIVITY_FIELD_NUM_NUM_SESSIONS = 1,
FIT_ACTIVITY_FIELD_NUM_TYPE = 2,
FIT_ACTIVITY_FIELD_NUM_EVENT = 3,
FIT_ACTIVITY_FIELD_NUM_EVENT_TYPE = 4,
FIT_ACTIVITY_FIELD_NUM_EVENT_GROUP = 6,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_ACTIVITY_MESG_FIELD {
FIT_ACTIVITY_MESG_TIMESTAMP = 0,
FIT_ACTIVITY_MESG_TOTAL_TIMER_TIME = 1,
FIT_ACTIVITY_MESG_LOCAL_TIMESTAMP = 2,
FIT_ACTIVITY_MESG_NUM_SESSIONS = 3,
FIT_ACTIVITY_MESG_TYPE = 4,
FIT_ACTIVITY_MESG_EVENT = 5,
FIT_ACTIVITY_MESG_EVENT_TYPE = 6,
FIT_ACTIVITY_MESG_EVENT_GROUP = 7,
FIT_ACTIVITY_MESG_FIELDS = 8,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_ACTIVITY_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 24usize],
}
#[test]
fn bindgen_test_layout_FIT_ACTIVITY_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_ACTIVITY_MESG_DEF>() , 30usize ,
concat ! ( "Size of: " , stringify ! ( FIT_ACTIVITY_MESG_DEF )
));
assert_eq! (::std::mem::align_of::<FIT_ACTIVITY_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_ACTIVITY_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ACTIVITY_MESG_DEF ) ) . reserved_1 as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ACTIVITY_MESG_DEF )
, "::" , stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ACTIVITY_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ACTIVITY_MESG_DEF )
, "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ACTIVITY_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ACTIVITY_MESG_DEF )
, "::" , stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ACTIVITY_MESG_DEF ) ) . num_fields as
* const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ACTIVITY_MESG_DEF )
, "::" , stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ACTIVITY_MESG_DEF ) ) . fields as *
const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ACTIVITY_MESG_DEF )
, "::" , stringify ! ( fields ) ));
}
impl Clone for FIT_ACTIVITY_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_SESSION_MESG {
pub timestamp: FIT_DATE_TIME,
pub start_time: FIT_DATE_TIME,
pub start_position_lat: FIT_SINT32,
pub start_position_long: FIT_SINT32,
pub total_elapsed_time: FIT_UINT32,
pub total_timer_time: FIT_UINT32,
pub total_distance: FIT_UINT32,
pub total_cycles: FIT_UINT32,
pub nec_lat: FIT_SINT32,
pub nec_long: FIT_SINT32,
pub swc_lat: FIT_SINT32,
pub swc_long: FIT_SINT32,
pub avg_stroke_count: FIT_UINT32,
pub total_work: FIT_UINT32,
pub total_moving_time: FIT_UINT32,
pub time_in_hr_zone: [FIT_UINT32; 1usize],
pub time_in_speed_zone: [FIT_UINT32; 1usize],
pub time_in_cadence_zone: [FIT_UINT32; 1usize],
pub time_in_power_zone: [FIT_UINT32; 1usize],
pub avg_lap_time: FIT_UINT32,
pub enhanced_avg_speed: FIT_UINT32,
pub enhanced_max_speed: FIT_UINT32,
pub enhanced_avg_altitude: FIT_UINT32,
pub enhanced_min_altitude: FIT_UINT32,
pub enhanced_max_altitude: FIT_UINT32,
pub message_index: FIT_MESSAGE_INDEX,
pub total_calories: FIT_UINT16,
pub total_fat_calories: FIT_UINT16,
pub avg_speed: FIT_UINT16,
pub max_speed: FIT_UINT16,
pub avg_power: FIT_UINT16,
pub max_power: FIT_UINT16,
pub total_ascent: FIT_UINT16,
pub total_descent: FIT_UINT16,
pub first_lap_index: FIT_UINT16,
pub num_laps: FIT_UINT16,
pub normalized_power: FIT_UINT16,
pub training_stress_score: FIT_UINT16,
pub intensity_factor: FIT_UINT16,
pub left_right_balance: FIT_LEFT_RIGHT_BALANCE_100,
pub avg_stroke_distance: FIT_UINT16,
pub pool_length: FIT_UINT16,
pub threshold_power: FIT_UINT16,
pub num_active_lengths: FIT_UINT16,
pub avg_altitude: FIT_UINT16,
pub max_altitude: FIT_UINT16,
pub avg_grade: FIT_SINT16,
pub avg_pos_grade: FIT_SINT16,
pub avg_neg_grade: FIT_SINT16,
pub max_pos_grade: FIT_SINT16,
pub max_neg_grade: FIT_SINT16,
pub avg_pos_vertical_speed: FIT_SINT16,
pub avg_neg_vertical_speed: FIT_SINT16,
pub max_pos_vertical_speed: FIT_SINT16,
pub max_neg_vertical_speed: FIT_SINT16,
pub best_lap_index: FIT_UINT16,
pub min_altitude: FIT_UINT16,
pub player_score: FIT_UINT16,
pub opponent_score: FIT_UINT16,
pub stroke_count: [FIT_UINT16; 1usize],
pub zone_count: [FIT_UINT16; 1usize],
pub max_ball_speed: FIT_UINT16,
pub avg_ball_speed: FIT_UINT16,
pub avg_vertical_oscillation: FIT_UINT16,
pub avg_stance_time_percent: FIT_UINT16,
pub avg_stance_time: FIT_UINT16,
pub avg_vam: FIT_UINT16,
pub event: FIT_EVENT,
pub event_type: FIT_EVENT_TYPE,
pub sport: FIT_SPORT,
pub sub_sport: FIT_SUB_SPORT,
pub avg_heart_rate: FIT_UINT8,
pub max_heart_rate: FIT_UINT8,
pub avg_cadence: FIT_UINT8,
pub max_cadence: FIT_UINT8,
pub total_training_effect: FIT_UINT8,
pub event_group: FIT_UINT8,
pub trigger: FIT_SESSION_TRIGGER,
pub swim_stroke: FIT_SWIM_STROKE,
pub pool_length_unit: FIT_DISPLAY_MEASURE,
pub gps_accuracy: FIT_UINT8,
pub avg_temperature: FIT_SINT8,
pub max_temperature: FIT_SINT8,
pub min_heart_rate: FIT_UINT8,
pub opponent_name: [FIT_STRING; 1usize],
pub avg_fractional_cadence: FIT_UINT8,
pub max_fractional_cadence: FIT_UINT8,
pub total_fractional_cycles: FIT_UINT8,
pub sport_index: FIT_UINT8,
pub total_anaerobic_training_effect: FIT_UINT8,
}
#[test]
fn bindgen_test_layout_FIT_SESSION_MESG() {
assert_eq!(::std::mem::size_of::<FIT_SESSION_MESG>() , 312usize , concat !
( "Size of: " , stringify ! ( FIT_SESSION_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_SESSION_MESG>() , 8usize , concat !
( "Alignment of " , stringify ! ( FIT_SESSION_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . timestamp as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( timestamp ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . start_time as *
const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( start_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . start_position_lat
as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( start_position_lat ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) .
start_position_long as * const _ as usize } , 24usize , concat
! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( start_position_long ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . total_elapsed_time
as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( total_elapsed_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . total_timer_time
as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( total_timer_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . total_distance as
* const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( total_distance ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . total_cycles as *
const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( total_cycles ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . nec_lat as * const
_ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( nec_lat ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . nec_long as *
const _ as usize } , 72usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( nec_long ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . swc_lat as * const
_ as usize } , 80usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( swc_lat ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . swc_long as *
const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( swc_long ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . avg_stroke_count
as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( avg_stroke_count ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . total_work as *
const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( total_work ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . total_moving_time
as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( total_moving_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . time_in_hr_zone as
* const _ as usize } , 120usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( time_in_hr_zone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . time_in_speed_zone
as * const _ as usize } , 128usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( time_in_speed_zone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) .
time_in_cadence_zone as * const _ as usize } , 136usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( time_in_cadence_zone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . time_in_power_zone
as * const _ as usize } , 144usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( time_in_power_zone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . avg_lap_time as *
const _ as usize } , 152usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( avg_lap_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . enhanced_avg_speed
as * const _ as usize } , 160usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( enhanced_avg_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . enhanced_max_speed
as * const _ as usize } , 168usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( enhanced_max_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) .
enhanced_avg_altitude as * const _ as usize } , 176usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( enhanced_avg_altitude ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) .
enhanced_min_altitude as * const _ as usize } , 184usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( enhanced_min_altitude ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) .
enhanced_max_altitude as * const _ as usize } , 192usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( enhanced_max_altitude ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . message_index as *
const _ as usize } , 200usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . total_calories as
* const _ as usize } , 202usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( total_calories ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . total_fat_calories
as * const _ as usize } , 204usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( total_fat_calories ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . avg_speed as *
const _ as usize } , 206usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( avg_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . max_speed as *
const _ as usize } , 208usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( max_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . avg_power as *
const _ as usize } , 210usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( avg_power ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . max_power as *
const _ as usize } , 212usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( max_power ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . total_ascent as *
const _ as usize } , 214usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( total_ascent ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . total_descent as *
const _ as usize } , 216usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( total_descent ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . first_lap_index as
* const _ as usize } , 218usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( first_lap_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . num_laps as *
const _ as usize } , 220usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( num_laps ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . normalized_power
as * const _ as usize } , 222usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( normalized_power ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) .
training_stress_score as * const _ as usize } , 224usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( training_stress_score ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . intensity_factor
as * const _ as usize } , 226usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( intensity_factor ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . left_right_balance
as * const _ as usize } , 228usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( left_right_balance ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) .
avg_stroke_distance as * const _ as usize } , 230usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( avg_stroke_distance ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . pool_length as *
const _ as usize } , 232usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( pool_length ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . threshold_power as
* const _ as usize } , 234usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( threshold_power ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . num_active_lengths
as * const _ as usize } , 236usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( num_active_lengths ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . avg_altitude as *
const _ as usize } , 238usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( avg_altitude ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . max_altitude as *
const _ as usize } , 240usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( max_altitude ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . avg_grade as *
const _ as usize } , 242usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( avg_grade ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . avg_pos_grade as *
const _ as usize } , 244usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( avg_pos_grade ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . avg_neg_grade as *
const _ as usize } , 246usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( avg_neg_grade ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . max_pos_grade as *
const _ as usize } , 248usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( max_pos_grade ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . max_neg_grade as *
const _ as usize } , 250usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( max_neg_grade ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) .
avg_pos_vertical_speed as * const _ as usize } , 252usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( avg_pos_vertical_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) .
avg_neg_vertical_speed as * const _ as usize } , 254usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( avg_neg_vertical_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) .
max_pos_vertical_speed as * const _ as usize } , 256usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( max_pos_vertical_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) .
max_neg_vertical_speed as * const _ as usize } , 258usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( max_neg_vertical_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . best_lap_index as
* const _ as usize } , 260usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( best_lap_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . min_altitude as *
const _ as usize } , 262usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( min_altitude ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . player_score as *
const _ as usize } , 264usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( player_score ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . opponent_score as
* const _ as usize } , 266usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( opponent_score ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . stroke_count as *
const _ as usize } , 268usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( stroke_count ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . zone_count as *
const _ as usize } , 270usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( zone_count ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . max_ball_speed as
* const _ as usize } , 272usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( max_ball_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . avg_ball_speed as
* const _ as usize } , 274usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( avg_ball_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) .
avg_vertical_oscillation as * const _ as usize } , 276usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( avg_vertical_oscillation ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) .
avg_stance_time_percent as * const _ as usize } , 278usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( avg_stance_time_percent ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . avg_stance_time as
* const _ as usize } , 280usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( avg_stance_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . avg_vam as * const
_ as usize } , 282usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( avg_vam ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . event as * const _
as usize } , 284usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( event ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . event_type as *
const _ as usize } , 285usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( event_type ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . sport as * const _
as usize } , 286usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( sport ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . sub_sport as *
const _ as usize } , 287usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( sub_sport ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . avg_heart_rate as
* const _ as usize } , 288usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( avg_heart_rate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . max_heart_rate as
* const _ as usize } , 289usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( max_heart_rate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . avg_cadence as *
const _ as usize } , 290usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( avg_cadence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . max_cadence as *
const _ as usize } , 291usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( max_cadence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) .
total_training_effect as * const _ as usize } , 292usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( total_training_effect ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . event_group as *
const _ as usize } , 293usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( event_group ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . trigger as * const
_ as usize } , 294usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( trigger ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . swim_stroke as *
const _ as usize } , 295usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( swim_stroke ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . pool_length_unit
as * const _ as usize } , 296usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( pool_length_unit ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . gps_accuracy as *
const _ as usize } , 297usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( gps_accuracy ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . avg_temperature as
* const _ as usize } , 298usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( avg_temperature ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . max_temperature as
* const _ as usize } , 299usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( max_temperature ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . min_heart_rate as
* const _ as usize } , 300usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( min_heart_rate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . opponent_name as *
const _ as usize } , 301usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( opponent_name ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) .
avg_fractional_cadence as * const _ as usize } , 302usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( avg_fractional_cadence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) .
max_fractional_cadence as * const _ as usize } , 303usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( max_fractional_cadence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) .
total_fractional_cycles as * const _ as usize } , 304usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( total_fractional_cycles ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) . sport_index as *
const _ as usize } , 305usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( sport_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG ) ) .
total_anaerobic_training_effect as * const _ as usize } ,
306usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG ) ,
"::" , stringify ! ( total_anaerobic_training_effect ) ));
}
impl Clone for FIT_SESSION_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_SESSION_FIELD_NUM {
FIT_SESSION_FIELD_NUM_TIMESTAMP = 253,
FIT_SESSION_FIELD_NUM_START_TIME = 2,
FIT_SESSION_FIELD_NUM_START_POSITION_LAT = 3,
FIT_SESSION_FIELD_NUM_START_POSITION_LONG = 4,
FIT_SESSION_FIELD_NUM_TOTAL_ELAPSED_TIME = 7,
FIT_SESSION_FIELD_NUM_TOTAL_TIMER_TIME = 8,
FIT_SESSION_FIELD_NUM_TOTAL_DISTANCE = 9,
FIT_SESSION_FIELD_NUM_TOTAL_CYCLES = 10,
FIT_SESSION_FIELD_NUM_NEC_LAT = 29,
FIT_SESSION_FIELD_NUM_NEC_LONG = 30,
FIT_SESSION_FIELD_NUM_SWC_LAT = 31,
FIT_SESSION_FIELD_NUM_SWC_LONG = 32,
FIT_SESSION_FIELD_NUM_AVG_STROKE_COUNT = 41,
FIT_SESSION_FIELD_NUM_TOTAL_WORK = 48,
FIT_SESSION_FIELD_NUM_TOTAL_MOVING_TIME = 59,
FIT_SESSION_FIELD_NUM_TIME_IN_HR_ZONE = 65,
FIT_SESSION_FIELD_NUM_TIME_IN_SPEED_ZONE = 66,
FIT_SESSION_FIELD_NUM_TIME_IN_CADENCE_ZONE = 67,
FIT_SESSION_FIELD_NUM_TIME_IN_POWER_ZONE = 68,
FIT_SESSION_FIELD_NUM_AVG_LAP_TIME = 69,
FIT_SESSION_FIELD_NUM_ENHANCED_AVG_SPEED = 124,
FIT_SESSION_FIELD_NUM_ENHANCED_MAX_SPEED = 125,
FIT_SESSION_FIELD_NUM_ENHANCED_AVG_ALTITUDE = 126,
FIT_SESSION_FIELD_NUM_ENHANCED_MIN_ALTITUDE = 127,
FIT_SESSION_FIELD_NUM_ENHANCED_MAX_ALTITUDE = 128,
FIT_SESSION_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_SESSION_FIELD_NUM_TOTAL_CALORIES = 11,
FIT_SESSION_FIELD_NUM_TOTAL_FAT_CALORIES = 13,
FIT_SESSION_FIELD_NUM_AVG_SPEED = 14,
FIT_SESSION_FIELD_NUM_MAX_SPEED = 15,
FIT_SESSION_FIELD_NUM_AVG_POWER = 20,
FIT_SESSION_FIELD_NUM_MAX_POWER = 21,
FIT_SESSION_FIELD_NUM_TOTAL_ASCENT = 22,
FIT_SESSION_FIELD_NUM_TOTAL_DESCENT = 23,
FIT_SESSION_FIELD_NUM_FIRST_LAP_INDEX = 25,
FIT_SESSION_FIELD_NUM_NUM_LAPS = 26,
FIT_SESSION_FIELD_NUM_NORMALIZED_POWER = 34,
FIT_SESSION_FIELD_NUM_TRAINING_STRESS_SCORE = 35,
FIT_SESSION_FIELD_NUM_INTENSITY_FACTOR = 36,
FIT_SESSION_FIELD_NUM_LEFT_RIGHT_BALANCE = 37,
FIT_SESSION_FIELD_NUM_AVG_STROKE_DISTANCE = 42,
FIT_SESSION_FIELD_NUM_POOL_LENGTH = 44,
FIT_SESSION_FIELD_NUM_THRESHOLD_POWER = 45,
FIT_SESSION_FIELD_NUM_NUM_ACTIVE_LENGTHS = 47,
FIT_SESSION_FIELD_NUM_AVG_ALTITUDE = 49,
FIT_SESSION_FIELD_NUM_MAX_ALTITUDE = 50,
FIT_SESSION_FIELD_NUM_AVG_GRADE = 52,
FIT_SESSION_FIELD_NUM_AVG_POS_GRADE = 53,
FIT_SESSION_FIELD_NUM_AVG_NEG_GRADE = 54,
FIT_SESSION_FIELD_NUM_MAX_POS_GRADE = 55,
FIT_SESSION_FIELD_NUM_MAX_NEG_GRADE = 56,
FIT_SESSION_FIELD_NUM_AVG_POS_VERTICAL_SPEED = 60,
FIT_SESSION_FIELD_NUM_AVG_NEG_VERTICAL_SPEED = 61,
FIT_SESSION_FIELD_NUM_MAX_POS_VERTICAL_SPEED = 62,
FIT_SESSION_FIELD_NUM_MAX_NEG_VERTICAL_SPEED = 63,
FIT_SESSION_FIELD_NUM_BEST_LAP_INDEX = 70,
FIT_SESSION_FIELD_NUM_MIN_ALTITUDE = 71,
FIT_SESSION_FIELD_NUM_PLAYER_SCORE = 82,
FIT_SESSION_FIELD_NUM_OPPONENT_SCORE = 83,
FIT_SESSION_FIELD_NUM_STROKE_COUNT = 85,
FIT_SESSION_FIELD_NUM_ZONE_COUNT = 86,
FIT_SESSION_FIELD_NUM_MAX_BALL_SPEED = 87,
FIT_SESSION_FIELD_NUM_AVG_BALL_SPEED = 88,
FIT_SESSION_FIELD_NUM_AVG_VERTICAL_OSCILLATION = 89,
FIT_SESSION_FIELD_NUM_AVG_STANCE_TIME_PERCENT = 90,
FIT_SESSION_FIELD_NUM_AVG_STANCE_TIME = 91,
FIT_SESSION_FIELD_NUM_AVG_VAM = 139,
FIT_SESSION_FIELD_NUM_EVENT = 0,
FIT_SESSION_FIELD_NUM_EVENT_TYPE = 1,
FIT_SESSION_FIELD_NUM_SPORT = 5,
FIT_SESSION_FIELD_NUM_SUB_SPORT = 6,
FIT_SESSION_FIELD_NUM_AVG_HEART_RATE = 16,
FIT_SESSION_FIELD_NUM_MAX_HEART_RATE = 17,
FIT_SESSION_FIELD_NUM_AVG_CADENCE = 18,
FIT_SESSION_FIELD_NUM_MAX_CADENCE = 19,
FIT_SESSION_FIELD_NUM_TOTAL_TRAINING_EFFECT = 24,
FIT_SESSION_FIELD_NUM_EVENT_GROUP = 27,
FIT_SESSION_FIELD_NUM_TRIGGER = 28,
FIT_SESSION_FIELD_NUM_SWIM_STROKE = 43,
FIT_SESSION_FIELD_NUM_POOL_LENGTH_UNIT = 46,
FIT_SESSION_FIELD_NUM_GPS_ACCURACY = 51,
FIT_SESSION_FIELD_NUM_AVG_TEMPERATURE = 57,
FIT_SESSION_FIELD_NUM_MAX_TEMPERATURE = 58,
FIT_SESSION_FIELD_NUM_MIN_HEART_RATE = 64,
FIT_SESSION_FIELD_NUM_OPPONENT_NAME = 84,
FIT_SESSION_FIELD_NUM_AVG_FRACTIONAL_CADENCE = 92,
FIT_SESSION_FIELD_NUM_MAX_FRACTIONAL_CADENCE = 93,
FIT_SESSION_FIELD_NUM_TOTAL_FRACTIONAL_CYCLES = 94,
FIT_SESSION_FIELD_NUM_SPORT_INDEX = 111,
FIT_SESSION_FIELD_NUM_TOTAL_ANAEROBIC_TRAINING_EFFECT = 137,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_SESSION_MESG_FIELD {
FIT_SESSION_MESG_TIMESTAMP = 0,
FIT_SESSION_MESG_START_TIME = 1,
FIT_SESSION_MESG_START_POSITION_LAT = 2,
FIT_SESSION_MESG_START_POSITION_LONG = 3,
FIT_SESSION_MESG_TOTAL_ELAPSED_TIME = 4,
FIT_SESSION_MESG_TOTAL_TIMER_TIME = 5,
FIT_SESSION_MESG_TOTAL_DISTANCE = 6,
FIT_SESSION_MESG_TOTAL_CYCLES = 7,
FIT_SESSION_MESG_NEC_LAT = 8,
FIT_SESSION_MESG_NEC_LONG = 9,
FIT_SESSION_MESG_SWC_LAT = 10,
FIT_SESSION_MESG_SWC_LONG = 11,
FIT_SESSION_MESG_AVG_STROKE_COUNT = 12,
FIT_SESSION_MESG_TOTAL_WORK = 13,
FIT_SESSION_MESG_TOTAL_MOVING_TIME = 14,
FIT_SESSION_MESG_TIME_IN_HR_ZONE = 15,
FIT_SESSION_MESG_TIME_IN_SPEED_ZONE = 16,
FIT_SESSION_MESG_TIME_IN_CADENCE_ZONE = 17,
FIT_SESSION_MESG_TIME_IN_POWER_ZONE = 18,
FIT_SESSION_MESG_AVG_LAP_TIME = 19,
FIT_SESSION_MESG_ENHANCED_AVG_SPEED = 20,
FIT_SESSION_MESG_ENHANCED_MAX_SPEED = 21,
FIT_SESSION_MESG_ENHANCED_AVG_ALTITUDE = 22,
FIT_SESSION_MESG_ENHANCED_MIN_ALTITUDE = 23,
FIT_SESSION_MESG_ENHANCED_MAX_ALTITUDE = 24,
FIT_SESSION_MESG_MESSAGE_INDEX = 25,
FIT_SESSION_MESG_TOTAL_CALORIES = 26,
FIT_SESSION_MESG_TOTAL_FAT_CALORIES = 27,
FIT_SESSION_MESG_AVG_SPEED = 28,
FIT_SESSION_MESG_MAX_SPEED = 29,
FIT_SESSION_MESG_AVG_POWER = 30,
FIT_SESSION_MESG_MAX_POWER = 31,
FIT_SESSION_MESG_TOTAL_ASCENT = 32,
FIT_SESSION_MESG_TOTAL_DESCENT = 33,
FIT_SESSION_MESG_FIRST_LAP_INDEX = 34,
FIT_SESSION_MESG_NUM_LAPS = 35,
FIT_SESSION_MESG_NORMALIZED_POWER = 36,
FIT_SESSION_MESG_TRAINING_STRESS_SCORE = 37,
FIT_SESSION_MESG_INTENSITY_FACTOR = 38,
FIT_SESSION_MESG_LEFT_RIGHT_BALANCE = 39,
FIT_SESSION_MESG_AVG_STROKE_DISTANCE = 40,
FIT_SESSION_MESG_POOL_LENGTH = 41,
FIT_SESSION_MESG_THRESHOLD_POWER = 42,
FIT_SESSION_MESG_NUM_ACTIVE_LENGTHS = 43,
FIT_SESSION_MESG_AVG_ALTITUDE = 44,
FIT_SESSION_MESG_MAX_ALTITUDE = 45,
FIT_SESSION_MESG_AVG_GRADE = 46,
FIT_SESSION_MESG_AVG_POS_GRADE = 47,
FIT_SESSION_MESG_AVG_NEG_GRADE = 48,
FIT_SESSION_MESG_MAX_POS_GRADE = 49,
FIT_SESSION_MESG_MAX_NEG_GRADE = 50,
FIT_SESSION_MESG_AVG_POS_VERTICAL_SPEED = 51,
FIT_SESSION_MESG_AVG_NEG_VERTICAL_SPEED = 52,
FIT_SESSION_MESG_MAX_POS_VERTICAL_SPEED = 53,
FIT_SESSION_MESG_MAX_NEG_VERTICAL_SPEED = 54,
FIT_SESSION_MESG_BEST_LAP_INDEX = 55,
FIT_SESSION_MESG_MIN_ALTITUDE = 56,
FIT_SESSION_MESG_PLAYER_SCORE = 57,
FIT_SESSION_MESG_OPPONENT_SCORE = 58,
FIT_SESSION_MESG_STROKE_COUNT = 59,
FIT_SESSION_MESG_ZONE_COUNT = 60,
FIT_SESSION_MESG_MAX_BALL_SPEED = 61,
FIT_SESSION_MESG_AVG_BALL_SPEED = 62,
FIT_SESSION_MESG_AVG_VERTICAL_OSCILLATION = 63,
FIT_SESSION_MESG_AVG_STANCE_TIME_PERCENT = 64,
FIT_SESSION_MESG_AVG_STANCE_TIME = 65,
FIT_SESSION_MESG_AVG_VAM = 66,
FIT_SESSION_MESG_EVENT = 67,
FIT_SESSION_MESG_EVENT_TYPE = 68,
FIT_SESSION_MESG_SPORT = 69,
FIT_SESSION_MESG_SUB_SPORT = 70,
FIT_SESSION_MESG_AVG_HEART_RATE = 71,
FIT_SESSION_MESG_MAX_HEART_RATE = 72,
FIT_SESSION_MESG_AVG_CADENCE = 73,
FIT_SESSION_MESG_MAX_CADENCE = 74,
FIT_SESSION_MESG_TOTAL_TRAINING_EFFECT = 75,
FIT_SESSION_MESG_EVENT_GROUP = 76,
FIT_SESSION_MESG_TRIGGER = 77,
FIT_SESSION_MESG_SWIM_STROKE = 78,
FIT_SESSION_MESG_POOL_LENGTH_UNIT = 79,
FIT_SESSION_MESG_GPS_ACCURACY = 80,
FIT_SESSION_MESG_AVG_TEMPERATURE = 81,
FIT_SESSION_MESG_MAX_TEMPERATURE = 82,
FIT_SESSION_MESG_MIN_HEART_RATE = 83,
FIT_SESSION_MESG_OPPONENT_NAME = 84,
FIT_SESSION_MESG_AVG_FRACTIONAL_CADENCE = 85,
FIT_SESSION_MESG_MAX_FRACTIONAL_CADENCE = 86,
FIT_SESSION_MESG_TOTAL_FRACTIONAL_CYCLES = 87,
FIT_SESSION_MESG_SPORT_INDEX = 88,
FIT_SESSION_MESG_TOTAL_ANAEROBIC_TRAINING_EFFECT = 89,
FIT_SESSION_MESG_FIELDS = 90,
}
#[repr(C)]
pub struct FIT_SESSION_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 270usize],
}
#[test]
fn bindgen_test_layout_FIT_SESSION_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_SESSION_MESG_DEF>() , 276usize ,
concat ! ( "Size of: " , stringify ! ( FIT_SESSION_MESG_DEF )
));
assert_eq! (::std::mem::align_of::<FIT_SESSION_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_SESSION_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG_DEF ) ) . reserved_1 as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG_DEF )
, "::" , stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG_DEF )
, "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG_DEF )
, "::" , stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG_DEF ) ) . num_fields as
* const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG_DEF )
, "::" , stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SESSION_MESG_DEF ) ) . fields as *
const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SESSION_MESG_DEF )
, "::" , stringify ! ( fields ) ));
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_LAP_MESG {
pub timestamp: FIT_DATE_TIME,
pub start_time: FIT_DATE_TIME,
pub start_position_lat: FIT_SINT32,
pub start_position_long: FIT_SINT32,
pub end_position_lat: FIT_SINT32,
pub end_position_long: FIT_SINT32,
pub total_elapsed_time: FIT_UINT32,
pub total_timer_time: FIT_UINT32,
pub total_distance: FIT_UINT32,
pub total_cycles: FIT_UINT32,
pub total_work: FIT_UINT32,
pub total_moving_time: FIT_UINT32,
pub time_in_hr_zone: [FIT_UINT32; 1usize],
pub time_in_speed_zone: [FIT_UINT32; 1usize],
pub time_in_cadence_zone: [FIT_UINT32; 1usize],
pub time_in_power_zone: [FIT_UINT32; 1usize],
pub enhanced_avg_speed: FIT_UINT32,
pub enhanced_max_speed: FIT_UINT32,
pub enhanced_avg_altitude: FIT_UINT32,
pub enhanced_min_altitude: FIT_UINT32,
pub enhanced_max_altitude: FIT_UINT32,
pub message_index: FIT_MESSAGE_INDEX,
pub total_calories: FIT_UINT16,
pub total_fat_calories: FIT_UINT16,
pub avg_speed: FIT_UINT16,
pub max_speed: FIT_UINT16,
pub avg_power: FIT_UINT16,
pub max_power: FIT_UINT16,
pub total_ascent: FIT_UINT16,
pub total_descent: FIT_UINT16,
pub num_lengths: FIT_UINT16,
pub normalized_power: FIT_UINT16,
pub left_right_balance: FIT_LEFT_RIGHT_BALANCE_100,
pub first_length_index: FIT_UINT16,
pub avg_stroke_distance: FIT_UINT16,
pub num_active_lengths: FIT_UINT16,
pub avg_altitude: FIT_UINT16,
pub max_altitude: FIT_UINT16,
pub avg_grade: FIT_SINT16,
pub avg_pos_grade: FIT_SINT16,
pub avg_neg_grade: FIT_SINT16,
pub max_pos_grade: FIT_SINT16,
pub max_neg_grade: FIT_SINT16,
pub avg_pos_vertical_speed: FIT_SINT16,
pub avg_neg_vertical_speed: FIT_SINT16,
pub max_pos_vertical_speed: FIT_SINT16,
pub max_neg_vertical_speed: FIT_SINT16,
pub repetition_num: FIT_UINT16,
pub min_altitude: FIT_UINT16,
pub wkt_step_index: FIT_MESSAGE_INDEX,
pub opponent_score: FIT_UINT16,
pub stroke_count: [FIT_UINT16; 1usize],
pub zone_count: [FIT_UINT16; 1usize],
pub avg_vertical_oscillation: FIT_UINT16,
pub avg_stance_time_percent: FIT_UINT16,
pub avg_stance_time: FIT_UINT16,
pub player_score: FIT_UINT16,
pub avg_total_hemoglobin_conc: [FIT_UINT16; 1usize],
pub min_total_hemoglobin_conc: [FIT_UINT16; 1usize],
pub max_total_hemoglobin_conc: [FIT_UINT16; 1usize],
pub avg_saturated_hemoglobin_percent: [FIT_UINT16; 1usize],
pub min_saturated_hemoglobin_percent: [FIT_UINT16; 1usize],
pub max_saturated_hemoglobin_percent: [FIT_UINT16; 1usize],
pub avg_vam: FIT_UINT16,
pub event: FIT_EVENT,
pub event_type: FIT_EVENT_TYPE,
pub avg_heart_rate: FIT_UINT8,
pub max_heart_rate: FIT_UINT8,
pub avg_cadence: FIT_UINT8,
pub max_cadence: FIT_UINT8,
pub intensity: FIT_INTENSITY,
pub lap_trigger: FIT_LAP_TRIGGER,
pub sport: FIT_SPORT,
pub event_group: FIT_UINT8,
pub swim_stroke: FIT_SWIM_STROKE,
pub sub_sport: FIT_SUB_SPORT,
pub gps_accuracy: FIT_UINT8,
pub avg_temperature: FIT_SINT8,
pub max_temperature: FIT_SINT8,
pub min_heart_rate: FIT_UINT8,
pub avg_fractional_cadence: FIT_UINT8,
pub max_fractional_cadence: FIT_UINT8,
pub total_fractional_cycles: FIT_UINT8,
}
#[test]
fn bindgen_test_layout_FIT_LAP_MESG() {
assert_eq!(::std::mem::size_of::<FIT_LAP_MESG>() , 280usize , concat ! (
"Size of: " , stringify ! ( FIT_LAP_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_LAP_MESG>() , 8usize , concat ! (
"Alignment of " , stringify ! ( FIT_LAP_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . timestamp as * const _
as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( timestamp ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . start_time as * const
_ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( start_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . start_position_lat as
* const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( start_position_lat ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . start_position_long as
* const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( start_position_long ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . end_position_lat as *
const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( end_position_lat ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . end_position_long as *
const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( end_position_long ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . total_elapsed_time as
* const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( total_elapsed_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . total_timer_time as *
const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( total_timer_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . total_distance as *
const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( total_distance ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . total_cycles as *
const _ as usize } , 72usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( total_cycles ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . total_work as * const
_ as usize } , 80usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( total_work ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . total_moving_time as *
const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( total_moving_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . time_in_hr_zone as *
const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( time_in_hr_zone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . time_in_speed_zone as
* const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( time_in_speed_zone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . time_in_cadence_zone
as * const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( time_in_cadence_zone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . time_in_power_zone as
* const _ as usize } , 120usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( time_in_power_zone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . enhanced_avg_speed as
* const _ as usize } , 128usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( enhanced_avg_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . enhanced_max_speed as
* const _ as usize } , 136usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( enhanced_max_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . enhanced_avg_altitude
as * const _ as usize } , 144usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( enhanced_avg_altitude ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . enhanced_min_altitude
as * const _ as usize } , 152usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( enhanced_min_altitude ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . enhanced_max_altitude
as * const _ as usize } , 160usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( enhanced_max_altitude ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . message_index as *
const _ as usize } , 168usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . total_calories as *
const _ as usize } , 170usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( total_calories ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . total_fat_calories as
* const _ as usize } , 172usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( total_fat_calories ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . avg_speed as * const _
as usize } , 174usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( avg_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . max_speed as * const _
as usize } , 176usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( max_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . avg_power as * const _
as usize } , 178usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( avg_power ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . max_power as * const _
as usize } , 180usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( max_power ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . total_ascent as *
const _ as usize } , 182usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( total_ascent ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . total_descent as *
const _ as usize } , 184usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( total_descent ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . num_lengths as * const
_ as usize } , 186usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( num_lengths ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . normalized_power as *
const _ as usize } , 188usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( normalized_power ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . left_right_balance as
* const _ as usize } , 190usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( left_right_balance ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . first_length_index as
* const _ as usize } , 192usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( first_length_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . avg_stroke_distance as
* const _ as usize } , 194usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( avg_stroke_distance ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . num_active_lengths as
* const _ as usize } , 196usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( num_active_lengths ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . avg_altitude as *
const _ as usize } , 198usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( avg_altitude ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . max_altitude as *
const _ as usize } , 200usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( max_altitude ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . avg_grade as * const _
as usize } , 202usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( avg_grade ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . avg_pos_grade as *
const _ as usize } , 204usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( avg_pos_grade ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . avg_neg_grade as *
const _ as usize } , 206usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( avg_neg_grade ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . max_pos_grade as *
const _ as usize } , 208usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( max_pos_grade ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . max_neg_grade as *
const _ as usize } , 210usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( max_neg_grade ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . avg_pos_vertical_speed
as * const _ as usize } , 212usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( avg_pos_vertical_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . avg_neg_vertical_speed
as * const _ as usize } , 214usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( avg_neg_vertical_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . max_pos_vertical_speed
as * const _ as usize } , 216usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( max_pos_vertical_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . max_neg_vertical_speed
as * const _ as usize } , 218usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( max_neg_vertical_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . repetition_num as *
const _ as usize } , 220usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( repetition_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . min_altitude as *
const _ as usize } , 222usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( min_altitude ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . wkt_step_index as *
const _ as usize } , 224usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( wkt_step_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . opponent_score as *
const _ as usize } , 226usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( opponent_score ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . stroke_count as *
const _ as usize } , 228usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( stroke_count ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . zone_count as * const
_ as usize } , 230usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( zone_count ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) .
avg_vertical_oscillation as * const _ as usize } , 232usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( avg_vertical_oscillation ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) .
avg_stance_time_percent as * const _ as usize } , 234usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( avg_stance_time_percent ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . avg_stance_time as *
const _ as usize } , 236usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( avg_stance_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . player_score as *
const _ as usize } , 238usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( player_score ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) .
avg_total_hemoglobin_conc as * const _ as usize } , 240usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( avg_total_hemoglobin_conc ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) .
min_total_hemoglobin_conc as * const _ as usize } , 242usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( min_total_hemoglobin_conc ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) .
max_total_hemoglobin_conc as * const _ as usize } , 244usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( max_total_hemoglobin_conc ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) .
avg_saturated_hemoglobin_percent as * const _ as usize } ,
246usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( avg_saturated_hemoglobin_percent ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) .
min_saturated_hemoglobin_percent as * const _ as usize } ,
248usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( min_saturated_hemoglobin_percent ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) .
max_saturated_hemoglobin_percent as * const _ as usize } ,
250usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( max_saturated_hemoglobin_percent ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . avg_vam as * const _
as usize } , 252usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( avg_vam ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . event as * const _ as
usize } , 254usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( event ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . event_type as * const
_ as usize } , 255usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( event_type ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . avg_heart_rate as *
const _ as usize } , 256usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( avg_heart_rate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . max_heart_rate as *
const _ as usize } , 257usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( max_heart_rate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . avg_cadence as * const
_ as usize } , 258usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( avg_cadence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . max_cadence as * const
_ as usize } , 259usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( max_cadence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . intensity as * const _
as usize } , 260usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( intensity ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . lap_trigger as * const
_ as usize } , 261usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( lap_trigger ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . sport as * const _ as
usize } , 262usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( sport ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . event_group as * const
_ as usize } , 263usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( event_group ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . swim_stroke as * const
_ as usize } , 264usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( swim_stroke ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . sub_sport as * const _
as usize } , 265usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( sub_sport ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . gps_accuracy as *
const _ as usize } , 266usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( gps_accuracy ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . avg_temperature as *
const _ as usize } , 267usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( avg_temperature ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . max_temperature as *
const _ as usize } , 268usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( max_temperature ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . min_heart_rate as *
const _ as usize } , 269usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( min_heart_rate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . avg_fractional_cadence
as * const _ as usize } , 270usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( avg_fractional_cadence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) . max_fractional_cadence
as * const _ as usize } , 271usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( max_fractional_cadence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG ) ) .
total_fractional_cycles as * const _ as usize } , 272usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG ) , "::" ,
stringify ! ( total_fractional_cycles ) ));
}
impl Clone for FIT_LAP_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_LAP_FIELD_NUM {
FIT_LAP_FIELD_NUM_TIMESTAMP = 253,
FIT_LAP_FIELD_NUM_START_TIME = 2,
FIT_LAP_FIELD_NUM_START_POSITION_LAT = 3,
FIT_LAP_FIELD_NUM_START_POSITION_LONG = 4,
FIT_LAP_FIELD_NUM_END_POSITION_LAT = 5,
FIT_LAP_FIELD_NUM_END_POSITION_LONG = 6,
FIT_LAP_FIELD_NUM_TOTAL_ELAPSED_TIME = 7,
FIT_LAP_FIELD_NUM_TOTAL_TIMER_TIME = 8,
FIT_LAP_FIELD_NUM_TOTAL_DISTANCE = 9,
FIT_LAP_FIELD_NUM_TOTAL_CYCLES = 10,
FIT_LAP_FIELD_NUM_TOTAL_WORK = 41,
FIT_LAP_FIELD_NUM_TOTAL_MOVING_TIME = 52,
FIT_LAP_FIELD_NUM_TIME_IN_HR_ZONE = 57,
FIT_LAP_FIELD_NUM_TIME_IN_SPEED_ZONE = 58,
FIT_LAP_FIELD_NUM_TIME_IN_CADENCE_ZONE = 59,
FIT_LAP_FIELD_NUM_TIME_IN_POWER_ZONE = 60,
FIT_LAP_FIELD_NUM_ENHANCED_AVG_SPEED = 110,
FIT_LAP_FIELD_NUM_ENHANCED_MAX_SPEED = 111,
FIT_LAP_FIELD_NUM_ENHANCED_AVG_ALTITUDE = 112,
FIT_LAP_FIELD_NUM_ENHANCED_MIN_ALTITUDE = 113,
FIT_LAP_FIELD_NUM_ENHANCED_MAX_ALTITUDE = 114,
FIT_LAP_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_LAP_FIELD_NUM_TOTAL_CALORIES = 11,
FIT_LAP_FIELD_NUM_TOTAL_FAT_CALORIES = 12,
FIT_LAP_FIELD_NUM_AVG_SPEED = 13,
FIT_LAP_FIELD_NUM_MAX_SPEED = 14,
FIT_LAP_FIELD_NUM_AVG_POWER = 19,
FIT_LAP_FIELD_NUM_MAX_POWER = 20,
FIT_LAP_FIELD_NUM_TOTAL_ASCENT = 21,
FIT_LAP_FIELD_NUM_TOTAL_DESCENT = 22,
FIT_LAP_FIELD_NUM_NUM_LENGTHS = 32,
FIT_LAP_FIELD_NUM_NORMALIZED_POWER = 33,
FIT_LAP_FIELD_NUM_LEFT_RIGHT_BALANCE = 34,
FIT_LAP_FIELD_NUM_FIRST_LENGTH_INDEX = 35,
FIT_LAP_FIELD_NUM_AVG_STROKE_DISTANCE = 37,
FIT_LAP_FIELD_NUM_NUM_ACTIVE_LENGTHS = 40,
FIT_LAP_FIELD_NUM_AVG_ALTITUDE = 42,
FIT_LAP_FIELD_NUM_MAX_ALTITUDE = 43,
FIT_LAP_FIELD_NUM_AVG_GRADE = 45,
FIT_LAP_FIELD_NUM_AVG_POS_GRADE = 46,
FIT_LAP_FIELD_NUM_AVG_NEG_GRADE = 47,
FIT_LAP_FIELD_NUM_MAX_POS_GRADE = 48,
FIT_LAP_FIELD_NUM_MAX_NEG_GRADE = 49,
FIT_LAP_FIELD_NUM_AVG_POS_VERTICAL_SPEED = 53,
FIT_LAP_FIELD_NUM_AVG_NEG_VERTICAL_SPEED = 54,
FIT_LAP_FIELD_NUM_MAX_POS_VERTICAL_SPEED = 55,
FIT_LAP_FIELD_NUM_MAX_NEG_VERTICAL_SPEED = 56,
FIT_LAP_FIELD_NUM_REPETITION_NUM = 61,
FIT_LAP_FIELD_NUM_MIN_ALTITUDE = 62,
FIT_LAP_FIELD_NUM_WKT_STEP_INDEX = 71,
FIT_LAP_FIELD_NUM_OPPONENT_SCORE = 74,
FIT_LAP_FIELD_NUM_STROKE_COUNT = 75,
FIT_LAP_FIELD_NUM_ZONE_COUNT = 76,
FIT_LAP_FIELD_NUM_AVG_VERTICAL_OSCILLATION = 77,
FIT_LAP_FIELD_NUM_AVG_STANCE_TIME_PERCENT = 78,
FIT_LAP_FIELD_NUM_AVG_STANCE_TIME = 79,
FIT_LAP_FIELD_NUM_PLAYER_SCORE = 83,
FIT_LAP_FIELD_NUM_AVG_TOTAL_HEMOGLOBIN_CONC = 84,
FIT_LAP_FIELD_NUM_MIN_TOTAL_HEMOGLOBIN_CONC = 85,
FIT_LAP_FIELD_NUM_MAX_TOTAL_HEMOGLOBIN_CONC = 86,
FIT_LAP_FIELD_NUM_AVG_SATURATED_HEMOGLOBIN_PERCENT = 87,
FIT_LAP_FIELD_NUM_MIN_SATURATED_HEMOGLOBIN_PERCENT = 88,
FIT_LAP_FIELD_NUM_MAX_SATURATED_HEMOGLOBIN_PERCENT = 89,
FIT_LAP_FIELD_NUM_AVG_VAM = 121,
FIT_LAP_FIELD_NUM_EVENT = 0,
FIT_LAP_FIELD_NUM_EVENT_TYPE = 1,
FIT_LAP_FIELD_NUM_AVG_HEART_RATE = 15,
FIT_LAP_FIELD_NUM_MAX_HEART_RATE = 16,
FIT_LAP_FIELD_NUM_AVG_CADENCE = 17,
FIT_LAP_FIELD_NUM_MAX_CADENCE = 18,
FIT_LAP_FIELD_NUM_INTENSITY = 23,
FIT_LAP_FIELD_NUM_LAP_TRIGGER = 24,
FIT_LAP_FIELD_NUM_SPORT = 25,
FIT_LAP_FIELD_NUM_EVENT_GROUP = 26,
FIT_LAP_FIELD_NUM_SWIM_STROKE = 38,
FIT_LAP_FIELD_NUM_SUB_SPORT = 39,
FIT_LAP_FIELD_NUM_GPS_ACCURACY = 44,
FIT_LAP_FIELD_NUM_AVG_TEMPERATURE = 50,
FIT_LAP_FIELD_NUM_MAX_TEMPERATURE = 51,
FIT_LAP_FIELD_NUM_MIN_HEART_RATE = 63,
FIT_LAP_FIELD_NUM_AVG_FRACTIONAL_CADENCE = 80,
FIT_LAP_FIELD_NUM_MAX_FRACTIONAL_CADENCE = 81,
FIT_LAP_FIELD_NUM_TOTAL_FRACTIONAL_CYCLES = 82,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_LAP_MESG_FIELD {
FIT_LAP_MESG_TIMESTAMP = 0,
FIT_LAP_MESG_START_TIME = 1,
FIT_LAP_MESG_START_POSITION_LAT = 2,
FIT_LAP_MESG_START_POSITION_LONG = 3,
FIT_LAP_MESG_END_POSITION_LAT = 4,
FIT_LAP_MESG_END_POSITION_LONG = 5,
FIT_LAP_MESG_TOTAL_ELAPSED_TIME = 6,
FIT_LAP_MESG_TOTAL_TIMER_TIME = 7,
FIT_LAP_MESG_TOTAL_DISTANCE = 8,
FIT_LAP_MESG_TOTAL_CYCLES = 9,
FIT_LAP_MESG_TOTAL_WORK = 10,
FIT_LAP_MESG_TOTAL_MOVING_TIME = 11,
FIT_LAP_MESG_TIME_IN_HR_ZONE = 12,
FIT_LAP_MESG_TIME_IN_SPEED_ZONE = 13,
FIT_LAP_MESG_TIME_IN_CADENCE_ZONE = 14,
FIT_LAP_MESG_TIME_IN_POWER_ZONE = 15,
FIT_LAP_MESG_ENHANCED_AVG_SPEED = 16,
FIT_LAP_MESG_ENHANCED_MAX_SPEED = 17,
FIT_LAP_MESG_ENHANCED_AVG_ALTITUDE = 18,
FIT_LAP_MESG_ENHANCED_MIN_ALTITUDE = 19,
FIT_LAP_MESG_ENHANCED_MAX_ALTITUDE = 20,
FIT_LAP_MESG_MESSAGE_INDEX = 21,
FIT_LAP_MESG_TOTAL_CALORIES = 22,
FIT_LAP_MESG_TOTAL_FAT_CALORIES = 23,
FIT_LAP_MESG_AVG_SPEED = 24,
FIT_LAP_MESG_MAX_SPEED = 25,
FIT_LAP_MESG_AVG_POWER = 26,
FIT_LAP_MESG_MAX_POWER = 27,
FIT_LAP_MESG_TOTAL_ASCENT = 28,
FIT_LAP_MESG_TOTAL_DESCENT = 29,
FIT_LAP_MESG_NUM_LENGTHS = 30,
FIT_LAP_MESG_NORMALIZED_POWER = 31,
FIT_LAP_MESG_LEFT_RIGHT_BALANCE = 32,
FIT_LAP_MESG_FIRST_LENGTH_INDEX = 33,
FIT_LAP_MESG_AVG_STROKE_DISTANCE = 34,
FIT_LAP_MESG_NUM_ACTIVE_LENGTHS = 35,
FIT_LAP_MESG_AVG_ALTITUDE = 36,
FIT_LAP_MESG_MAX_ALTITUDE = 37,
FIT_LAP_MESG_AVG_GRADE = 38,
FIT_LAP_MESG_AVG_POS_GRADE = 39,
FIT_LAP_MESG_AVG_NEG_GRADE = 40,
FIT_LAP_MESG_MAX_POS_GRADE = 41,
FIT_LAP_MESG_MAX_NEG_GRADE = 42,
FIT_LAP_MESG_AVG_POS_VERTICAL_SPEED = 43,
FIT_LAP_MESG_AVG_NEG_VERTICAL_SPEED = 44,
FIT_LAP_MESG_MAX_POS_VERTICAL_SPEED = 45,
FIT_LAP_MESG_MAX_NEG_VERTICAL_SPEED = 46,
FIT_LAP_MESG_REPETITION_NUM = 47,
FIT_LAP_MESG_MIN_ALTITUDE = 48,
FIT_LAP_MESG_WKT_STEP_INDEX = 49,
FIT_LAP_MESG_OPPONENT_SCORE = 50,
FIT_LAP_MESG_STROKE_COUNT = 51,
FIT_LAP_MESG_ZONE_COUNT = 52,
FIT_LAP_MESG_AVG_VERTICAL_OSCILLATION = 53,
FIT_LAP_MESG_AVG_STANCE_TIME_PERCENT = 54,
FIT_LAP_MESG_AVG_STANCE_TIME = 55,
FIT_LAP_MESG_PLAYER_SCORE = 56,
FIT_LAP_MESG_AVG_TOTAL_HEMOGLOBIN_CONC = 57,
FIT_LAP_MESG_MIN_TOTAL_HEMOGLOBIN_CONC = 58,
FIT_LAP_MESG_MAX_TOTAL_HEMOGLOBIN_CONC = 59,
FIT_LAP_MESG_AVG_SATURATED_HEMOGLOBIN_PERCENT = 60,
FIT_LAP_MESG_MIN_SATURATED_HEMOGLOBIN_PERCENT = 61,
FIT_LAP_MESG_MAX_SATURATED_HEMOGLOBIN_PERCENT = 62,
FIT_LAP_MESG_AVG_VAM = 63,
FIT_LAP_MESG_EVENT = 64,
FIT_LAP_MESG_EVENT_TYPE = 65,
FIT_LAP_MESG_AVG_HEART_RATE = 66,
FIT_LAP_MESG_MAX_HEART_RATE = 67,
FIT_LAP_MESG_AVG_CADENCE = 68,
FIT_LAP_MESG_MAX_CADENCE = 69,
FIT_LAP_MESG_INTENSITY = 70,
FIT_LAP_MESG_LAP_TRIGGER = 71,
FIT_LAP_MESG_SPORT = 72,
FIT_LAP_MESG_EVENT_GROUP = 73,
FIT_LAP_MESG_SWIM_STROKE = 74,
FIT_LAP_MESG_SUB_SPORT = 75,
FIT_LAP_MESG_GPS_ACCURACY = 76,
FIT_LAP_MESG_AVG_TEMPERATURE = 77,
FIT_LAP_MESG_MAX_TEMPERATURE = 78,
FIT_LAP_MESG_MIN_HEART_RATE = 79,
FIT_LAP_MESG_AVG_FRACTIONAL_CADENCE = 80,
FIT_LAP_MESG_MAX_FRACTIONAL_CADENCE = 81,
FIT_LAP_MESG_TOTAL_FRACTIONAL_CYCLES = 82,
FIT_LAP_MESG_FIELDS = 83,
}
#[repr(C)]
pub struct FIT_LAP_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 249usize],
}
#[test]
fn bindgen_test_layout_FIT_LAP_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_LAP_MESG_DEF>() , 254usize , concat !
( "Size of: " , stringify ! ( FIT_LAP_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_LAP_MESG_DEF>() , 2usize , concat !
( "Alignment of " , stringify ! ( FIT_LAP_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG_DEF ) ) . reserved_1 as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG_DEF ) ,
"::" , stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG_DEF ) ) . arch as * const _
as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG_DEF ) ,
"::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG_DEF ) ) . global_mesg_num as
* const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG_DEF ) ,
"::" , stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG_DEF ) ) . num_fields as *
const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG_DEF ) ,
"::" , stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LAP_MESG_DEF ) ) . fields as * const
_ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LAP_MESG_DEF ) ,
"::" , stringify ! ( fields ) ));
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_LENGTH_MESG {
pub timestamp: FIT_DATE_TIME,
pub start_time: FIT_DATE_TIME,
pub total_elapsed_time: FIT_UINT32,
pub total_timer_time: FIT_UINT32,
pub message_index: FIT_MESSAGE_INDEX,
pub total_strokes: FIT_UINT16,
pub avg_speed: FIT_UINT16,
pub total_calories: FIT_UINT16,
pub player_score: FIT_UINT16,
pub opponent_score: FIT_UINT16,
pub stroke_count: [FIT_UINT16; 1usize],
pub zone_count: [FIT_UINT16; 1usize],
pub event: FIT_EVENT,
pub event_type: FIT_EVENT_TYPE,
pub swim_stroke: FIT_SWIM_STROKE,
pub avg_swimming_cadence: FIT_UINT8,
pub event_group: FIT_UINT8,
pub length_type: FIT_LENGTH_TYPE,
}
#[test]
fn bindgen_test_layout_FIT_LENGTH_MESG() {
assert_eq!(::std::mem::size_of::<FIT_LENGTH_MESG>() , 56usize , concat ! (
"Size of: " , stringify ! ( FIT_LENGTH_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_LENGTH_MESG>() , 8usize , concat !
( "Alignment of " , stringify ! ( FIT_LENGTH_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LENGTH_MESG ) ) . timestamp as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LENGTH_MESG ) ,
"::" , stringify ! ( timestamp ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LENGTH_MESG ) ) . start_time as *
const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LENGTH_MESG ) ,
"::" , stringify ! ( start_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LENGTH_MESG ) ) . total_elapsed_time
as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LENGTH_MESG ) ,
"::" , stringify ! ( total_elapsed_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LENGTH_MESG ) ) . total_timer_time as
* const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LENGTH_MESG ) ,
"::" , stringify ! ( total_timer_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LENGTH_MESG ) ) . message_index as *
const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LENGTH_MESG ) ,
"::" , stringify ! ( message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LENGTH_MESG ) ) . total_strokes as *
const _ as usize } , 34usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LENGTH_MESG ) ,
"::" , stringify ! ( total_strokes ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LENGTH_MESG ) ) . avg_speed as *
const _ as usize } , 36usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LENGTH_MESG ) ,
"::" , stringify ! ( avg_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LENGTH_MESG ) ) . total_calories as *
const _ as usize } , 38usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LENGTH_MESG ) ,
"::" , stringify ! ( total_calories ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LENGTH_MESG ) ) . player_score as *
const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LENGTH_MESG ) ,
"::" , stringify ! ( player_score ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LENGTH_MESG ) ) . opponent_score as *
const _ as usize } , 42usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LENGTH_MESG ) ,
"::" , stringify ! ( opponent_score ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LENGTH_MESG ) ) . stroke_count as *
const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LENGTH_MESG ) ,
"::" , stringify ! ( stroke_count ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LENGTH_MESG ) ) . zone_count as *
const _ as usize } , 46usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LENGTH_MESG ) ,
"::" , stringify ! ( zone_count ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LENGTH_MESG ) ) . event as * const _
as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LENGTH_MESG ) ,
"::" , stringify ! ( event ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LENGTH_MESG ) ) . event_type as *
const _ as usize } , 49usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LENGTH_MESG ) ,
"::" , stringify ! ( event_type ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LENGTH_MESG ) ) . swim_stroke as *
const _ as usize } , 50usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LENGTH_MESG ) ,
"::" , stringify ! ( swim_stroke ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LENGTH_MESG ) ) .
avg_swimming_cadence as * const _ as usize } , 51usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_LENGTH_MESG ) ,
"::" , stringify ! ( avg_swimming_cadence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LENGTH_MESG ) ) . event_group as *
const _ as usize } , 52usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LENGTH_MESG ) ,
"::" , stringify ! ( event_group ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LENGTH_MESG ) ) . length_type as *
const _ as usize } , 53usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LENGTH_MESG ) ,
"::" , stringify ! ( length_type ) ));
}
impl Clone for FIT_LENGTH_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_LENGTH_FIELD_NUM {
FIT_LENGTH_FIELD_NUM_TIMESTAMP = 253,
FIT_LENGTH_FIELD_NUM_START_TIME = 2,
FIT_LENGTH_FIELD_NUM_TOTAL_ELAPSED_TIME = 3,
FIT_LENGTH_FIELD_NUM_TOTAL_TIMER_TIME = 4,
FIT_LENGTH_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_LENGTH_FIELD_NUM_TOTAL_STROKES = 5,
FIT_LENGTH_FIELD_NUM_AVG_SPEED = 6,
FIT_LENGTH_FIELD_NUM_TOTAL_CALORIES = 11,
FIT_LENGTH_FIELD_NUM_PLAYER_SCORE = 18,
FIT_LENGTH_FIELD_NUM_OPPONENT_SCORE = 19,
FIT_LENGTH_FIELD_NUM_STROKE_COUNT = 20,
FIT_LENGTH_FIELD_NUM_ZONE_COUNT = 21,
FIT_LENGTH_FIELD_NUM_EVENT = 0,
FIT_LENGTH_FIELD_NUM_EVENT_TYPE = 1,
FIT_LENGTH_FIELD_NUM_SWIM_STROKE = 7,
FIT_LENGTH_FIELD_NUM_AVG_SWIMMING_CADENCE = 9,
FIT_LENGTH_FIELD_NUM_EVENT_GROUP = 10,
FIT_LENGTH_FIELD_NUM_LENGTH_TYPE = 12,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_LENGTH_MESG_FIELD {
FIT_LENGTH_MESG_TIMESTAMP = 0,
FIT_LENGTH_MESG_START_TIME = 1,
FIT_LENGTH_MESG_TOTAL_ELAPSED_TIME = 2,
FIT_LENGTH_MESG_TOTAL_TIMER_TIME = 3,
FIT_LENGTH_MESG_MESSAGE_INDEX = 4,
FIT_LENGTH_MESG_TOTAL_STROKES = 5,
FIT_LENGTH_MESG_AVG_SPEED = 6,
FIT_LENGTH_MESG_TOTAL_CALORIES = 7,
FIT_LENGTH_MESG_PLAYER_SCORE = 8,
FIT_LENGTH_MESG_OPPONENT_SCORE = 9,
FIT_LENGTH_MESG_STROKE_COUNT = 10,
FIT_LENGTH_MESG_ZONE_COUNT = 11,
FIT_LENGTH_MESG_EVENT = 12,
FIT_LENGTH_MESG_EVENT_TYPE = 13,
FIT_LENGTH_MESG_SWIM_STROKE = 14,
FIT_LENGTH_MESG_AVG_SWIMMING_CADENCE = 15,
FIT_LENGTH_MESG_EVENT_GROUP = 16,
FIT_LENGTH_MESG_LENGTH_TYPE = 17,
FIT_LENGTH_MESG_FIELDS = 18,
}
#[repr(C)]
pub struct FIT_LENGTH_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 54usize],
}
#[test]
fn bindgen_test_layout_FIT_LENGTH_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_LENGTH_MESG_DEF>() , 60usize , concat
! ( "Size of: " , stringify ! ( FIT_LENGTH_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_LENGTH_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_LENGTH_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LENGTH_MESG_DEF ) ) . reserved_1 as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LENGTH_MESG_DEF ) ,
"::" , stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LENGTH_MESG_DEF ) ) . arch as * const
_ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LENGTH_MESG_DEF ) ,
"::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LENGTH_MESG_DEF ) ) . global_mesg_num
as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LENGTH_MESG_DEF ) ,
"::" , stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LENGTH_MESG_DEF ) ) . num_fields as *
const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LENGTH_MESG_DEF ) ,
"::" , stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_LENGTH_MESG_DEF ) ) . fields as *
const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_LENGTH_MESG_DEF ) ,
"::" , stringify ! ( fields ) ));
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_RECORD_MESG {
pub timestamp: FIT_DATE_TIME,
pub position_lat: FIT_SINT32,
pub position_long: FIT_SINT32,
pub distance: FIT_UINT32,
pub time_from_course: FIT_SINT32,
pub total_cycles: FIT_UINT32,
pub accumulated_power: FIT_UINT32,
pub enhanced_speed: FIT_UINT32,
pub enhanced_altitude: FIT_UINT32,
pub altitude: FIT_UINT16,
pub speed: FIT_UINT16,
pub power: FIT_UINT16,
pub grade: FIT_SINT16,
pub compressed_accumulated_power: FIT_UINT16,
pub vertical_speed: FIT_SINT16,
pub calories: FIT_UINT16,
pub vertical_oscillation: FIT_UINT16,
pub stance_time_percent: FIT_UINT16,
pub stance_time: FIT_UINT16,
pub ball_speed: FIT_UINT16,
pub cadence256: FIT_UINT16,
pub total_hemoglobin_conc: FIT_UINT16,
pub total_hemoglobin_conc_min: FIT_UINT16,
pub total_hemoglobin_conc_max: FIT_UINT16,
pub saturated_hemoglobin_percent: FIT_UINT16,
pub saturated_hemoglobin_percent_min: FIT_UINT16,
pub saturated_hemoglobin_percent_max: FIT_UINT16,
pub heart_rate: FIT_UINT8,
pub cadence: FIT_UINT8,
pub compressed_speed_distance: [FIT_BYTE; 3usize],
pub resistance: FIT_UINT8,
pub cycle_length: FIT_UINT8,
pub temperature: FIT_SINT8,
pub speed_1s: [FIT_UINT8; 5usize],
pub cycles: FIT_UINT8,
pub left_right_balance: FIT_LEFT_RIGHT_BALANCE,
pub gps_accuracy: FIT_UINT8,
pub activity_type: FIT_ACTIVITY_TYPE,
pub left_torque_effectiveness: FIT_UINT8,
pub right_torque_effectiveness: FIT_UINT8,
pub left_pedal_smoothness: FIT_UINT8,
pub right_pedal_smoothness: FIT_UINT8,
pub combined_pedal_smoothness: FIT_UINT8,
pub time128: FIT_UINT8,
pub stroke_type: FIT_STROKE_TYPE,
pub zone: FIT_UINT8,
pub fractional_cadence: FIT_UINT8,
pub device_index: FIT_DEVICE_INDEX,
}
#[test]
fn bindgen_test_layout_FIT_RECORD_MESG() {
assert_eq!(::std::mem::size_of::<FIT_RECORD_MESG>() , 136usize , concat !
( "Size of: " , stringify ! ( FIT_RECORD_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_RECORD_MESG>() , 8usize , concat !
( "Alignment of " , stringify ! ( FIT_RECORD_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . timestamp as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( timestamp ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . position_lat as *
const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( position_lat ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . position_long as *
const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( position_long ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . distance as * const
_ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( distance ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . time_from_course as
* const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( time_from_course ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . total_cycles as *
const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( total_cycles ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . accumulated_power
as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( accumulated_power ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . enhanced_speed as *
const _ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( enhanced_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . enhanced_altitude
as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( enhanced_altitude ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . altitude as * const
_ as usize } , 72usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( altitude ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . speed as * const _
as usize } , 74usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . power as * const _
as usize } , 76usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( power ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . grade as * const _
as usize } , 78usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( grade ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) .
compressed_accumulated_power as * const _ as usize } , 80usize
, concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( compressed_accumulated_power ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . vertical_speed as *
const _ as usize } , 82usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( vertical_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . calories as * const
_ as usize } , 84usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( calories ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) .
vertical_oscillation as * const _ as usize } , 86usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( vertical_oscillation ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . stance_time_percent
as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( stance_time_percent ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . stance_time as *
const _ as usize } , 90usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( stance_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . ball_speed as *
const _ as usize } , 92usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( ball_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . cadence256 as *
const _ as usize } , 94usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( cadence256 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) .
total_hemoglobin_conc as * const _ as usize } , 96usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( total_hemoglobin_conc ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) .
total_hemoglobin_conc_min as * const _ as usize } , 98usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( total_hemoglobin_conc_min ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) .
total_hemoglobin_conc_max as * const _ as usize } , 100usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( total_hemoglobin_conc_max ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) .
saturated_hemoglobin_percent as * const _ as usize } ,
102usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( saturated_hemoglobin_percent ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) .
saturated_hemoglobin_percent_min as * const _ as usize } ,
104usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( saturated_hemoglobin_percent_min ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) .
saturated_hemoglobin_percent_max as * const _ as usize } ,
106usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( saturated_hemoglobin_percent_max ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . heart_rate as *
const _ as usize } , 108usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( heart_rate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . cadence as * const
_ as usize } , 109usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( cadence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) .
compressed_speed_distance as * const _ as usize } , 110usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( compressed_speed_distance ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . resistance as *
const _ as usize } , 113usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( resistance ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . cycle_length as *
const _ as usize } , 114usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( cycle_length ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . temperature as *
const _ as usize } , 115usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( temperature ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . speed_1s as * const
_ as usize } , 116usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( speed_1s ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . cycles as * const _
as usize } , 121usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( cycles ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . left_right_balance
as * const _ as usize } , 122usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( left_right_balance ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . gps_accuracy as *
const _ as usize } , 123usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( gps_accuracy ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . activity_type as *
const _ as usize } , 124usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( activity_type ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) .
left_torque_effectiveness as * const _ as usize } , 125usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( left_torque_effectiveness ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) .
right_torque_effectiveness as * const _ as usize } , 126usize
, concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( right_torque_effectiveness ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) .
left_pedal_smoothness as * const _ as usize } , 127usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( left_pedal_smoothness ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) .
right_pedal_smoothness as * const _ as usize } , 128usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( right_pedal_smoothness ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) .
combined_pedal_smoothness as * const _ as usize } , 129usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( combined_pedal_smoothness ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . time128 as * const
_ as usize } , 130usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( time128 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . stroke_type as *
const _ as usize } , 131usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( stroke_type ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . zone as * const _
as usize } , 132usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( zone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . fractional_cadence
as * const _ as usize } , 133usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( fractional_cadence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG ) ) . device_index as *
const _ as usize } , 134usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG ) ,
"::" , stringify ! ( device_index ) ));
}
impl Clone for FIT_RECORD_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_RECORD_FIELD_NUM {
FIT_RECORD_FIELD_NUM_TIMESTAMP = 253,
FIT_RECORD_FIELD_NUM_POSITION_LAT = 0,
FIT_RECORD_FIELD_NUM_POSITION_LONG = 1,
FIT_RECORD_FIELD_NUM_DISTANCE = 5,
FIT_RECORD_FIELD_NUM_TIME_FROM_COURSE = 11,
FIT_RECORD_FIELD_NUM_TOTAL_CYCLES = 19,
FIT_RECORD_FIELD_NUM_ACCUMULATED_POWER = 29,
FIT_RECORD_FIELD_NUM_ENHANCED_SPEED = 73,
FIT_RECORD_FIELD_NUM_ENHANCED_ALTITUDE = 78,
FIT_RECORD_FIELD_NUM_ALTITUDE = 2,
FIT_RECORD_FIELD_NUM_SPEED = 6,
FIT_RECORD_FIELD_NUM_POWER = 7,
FIT_RECORD_FIELD_NUM_GRADE = 9,
FIT_RECORD_FIELD_NUM_COMPRESSED_ACCUMULATED_POWER = 28,
FIT_RECORD_FIELD_NUM_VERTICAL_SPEED = 32,
FIT_RECORD_FIELD_NUM_CALORIES = 33,
FIT_RECORD_FIELD_NUM_VERTICAL_OSCILLATION = 39,
FIT_RECORD_FIELD_NUM_STANCE_TIME_PERCENT = 40,
FIT_RECORD_FIELD_NUM_STANCE_TIME = 41,
FIT_RECORD_FIELD_NUM_BALL_SPEED = 51,
FIT_RECORD_FIELD_NUM_CADENCE256 = 52,
FIT_RECORD_FIELD_NUM_TOTAL_HEMOGLOBIN_CONC = 54,
FIT_RECORD_FIELD_NUM_TOTAL_HEMOGLOBIN_CONC_MIN = 55,
FIT_RECORD_FIELD_NUM_TOTAL_HEMOGLOBIN_CONC_MAX = 56,
FIT_RECORD_FIELD_NUM_SATURATED_HEMOGLOBIN_PERCENT = 57,
FIT_RECORD_FIELD_NUM_SATURATED_HEMOGLOBIN_PERCENT_MIN = 58,
FIT_RECORD_FIELD_NUM_SATURATED_HEMOGLOBIN_PERCENT_MAX = 59,
FIT_RECORD_FIELD_NUM_HEART_RATE = 3,
FIT_RECORD_FIELD_NUM_CADENCE = 4,
FIT_RECORD_FIELD_NUM_COMPRESSED_SPEED_DISTANCE = 8,
FIT_RECORD_FIELD_NUM_RESISTANCE = 10,
FIT_RECORD_FIELD_NUM_CYCLE_LENGTH = 12,
FIT_RECORD_FIELD_NUM_TEMPERATURE = 13,
FIT_RECORD_FIELD_NUM_SPEED_1S = 17,
FIT_RECORD_FIELD_NUM_CYCLES = 18,
FIT_RECORD_FIELD_NUM_LEFT_RIGHT_BALANCE = 30,
FIT_RECORD_FIELD_NUM_GPS_ACCURACY = 31,
FIT_RECORD_FIELD_NUM_ACTIVITY_TYPE = 42,
FIT_RECORD_FIELD_NUM_LEFT_TORQUE_EFFECTIVENESS = 43,
FIT_RECORD_FIELD_NUM_RIGHT_TORQUE_EFFECTIVENESS = 44,
FIT_RECORD_FIELD_NUM_LEFT_PEDAL_SMOOTHNESS = 45,
FIT_RECORD_FIELD_NUM_RIGHT_PEDAL_SMOOTHNESS = 46,
FIT_RECORD_FIELD_NUM_COMBINED_PEDAL_SMOOTHNESS = 47,
FIT_RECORD_FIELD_NUM_TIME128 = 48,
FIT_RECORD_FIELD_NUM_STROKE_TYPE = 49,
FIT_RECORD_FIELD_NUM_ZONE = 50,
FIT_RECORD_FIELD_NUM_FRACTIONAL_CADENCE = 53,
FIT_RECORD_FIELD_NUM_DEVICE_INDEX = 62,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_RECORD_MESG_FIELD {
FIT_RECORD_MESG_TIMESTAMP = 0,
FIT_RECORD_MESG_POSITION_LAT = 1,
FIT_RECORD_MESG_POSITION_LONG = 2,
FIT_RECORD_MESG_DISTANCE = 3,
FIT_RECORD_MESG_TIME_FROM_COURSE = 4,
FIT_RECORD_MESG_TOTAL_CYCLES = 5,
FIT_RECORD_MESG_ACCUMULATED_POWER = 6,
FIT_RECORD_MESG_ENHANCED_SPEED = 7,
FIT_RECORD_MESG_ENHANCED_ALTITUDE = 8,
FIT_RECORD_MESG_ALTITUDE = 9,
FIT_RECORD_MESG_SPEED = 10,
FIT_RECORD_MESG_POWER = 11,
FIT_RECORD_MESG_GRADE = 12,
FIT_RECORD_MESG_COMPRESSED_ACCUMULATED_POWER = 13,
FIT_RECORD_MESG_VERTICAL_SPEED = 14,
FIT_RECORD_MESG_CALORIES = 15,
FIT_RECORD_MESG_VERTICAL_OSCILLATION = 16,
FIT_RECORD_MESG_STANCE_TIME_PERCENT = 17,
FIT_RECORD_MESG_STANCE_TIME = 18,
FIT_RECORD_MESG_BALL_SPEED = 19,
FIT_RECORD_MESG_CADENCE256 = 20,
FIT_RECORD_MESG_TOTAL_HEMOGLOBIN_CONC = 21,
FIT_RECORD_MESG_TOTAL_HEMOGLOBIN_CONC_MIN = 22,
FIT_RECORD_MESG_TOTAL_HEMOGLOBIN_CONC_MAX = 23,
FIT_RECORD_MESG_SATURATED_HEMOGLOBIN_PERCENT = 24,
FIT_RECORD_MESG_SATURATED_HEMOGLOBIN_PERCENT_MIN = 25,
FIT_RECORD_MESG_SATURATED_HEMOGLOBIN_PERCENT_MAX = 26,
FIT_RECORD_MESG_HEART_RATE = 27,
FIT_RECORD_MESG_CADENCE = 28,
FIT_RECORD_MESG_COMPRESSED_SPEED_DISTANCE = 29,
FIT_RECORD_MESG_RESISTANCE = 30,
FIT_RECORD_MESG_CYCLE_LENGTH = 31,
FIT_RECORD_MESG_TEMPERATURE = 32,
FIT_RECORD_MESG_SPEED_1S = 33,
FIT_RECORD_MESG_CYCLES = 34,
FIT_RECORD_MESG_LEFT_RIGHT_BALANCE = 35,
FIT_RECORD_MESG_GPS_ACCURACY = 36,
FIT_RECORD_MESG_ACTIVITY_TYPE = 37,
FIT_RECORD_MESG_LEFT_TORQUE_EFFECTIVENESS = 38,
FIT_RECORD_MESG_RIGHT_TORQUE_EFFECTIVENESS = 39,
FIT_RECORD_MESG_LEFT_PEDAL_SMOOTHNESS = 40,
FIT_RECORD_MESG_RIGHT_PEDAL_SMOOTHNESS = 41,
FIT_RECORD_MESG_COMBINED_PEDAL_SMOOTHNESS = 42,
FIT_RECORD_MESG_TIME128 = 43,
FIT_RECORD_MESG_STROKE_TYPE = 44,
FIT_RECORD_MESG_ZONE = 45,
FIT_RECORD_MESG_FRACTIONAL_CADENCE = 46,
FIT_RECORD_MESG_DEVICE_INDEX = 47,
FIT_RECORD_MESG_FIELDS = 48,
}
#[repr(C)]
pub struct FIT_RECORD_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 144usize],
}
#[test]
fn bindgen_test_layout_FIT_RECORD_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_RECORD_MESG_DEF>() , 150usize ,
concat ! ( "Size of: " , stringify ! ( FIT_RECORD_MESG_DEF )
));
assert_eq! (::std::mem::align_of::<FIT_RECORD_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_RECORD_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG_DEF ) ) . reserved_1 as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG_DEF ) ,
"::" , stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG_DEF ) ) . arch as * const
_ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG_DEF ) ,
"::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG_DEF ) ) . global_mesg_num
as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG_DEF ) ,
"::" , stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG_DEF ) ) . num_fields as *
const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG_DEF ) ,
"::" , stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_RECORD_MESG_DEF ) ) . fields as *
const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_RECORD_MESG_DEF ) ,
"::" , stringify ! ( fields ) ));
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_EVENT_MESG {
pub timestamp: FIT_DATE_TIME,
pub data: FIT_UINT32,
pub data16: FIT_UINT16,
pub score: FIT_UINT16,
pub opponent_score: FIT_UINT16,
pub event: FIT_EVENT,
pub event_type: FIT_EVENT_TYPE,
pub event_group: FIT_UINT8,
pub front_gear_num: FIT_UINT8Z,
pub front_gear: FIT_UINT8Z,
pub rear_gear_num: FIT_UINT8Z,
pub rear_gear: FIT_UINT8Z,
}
#[test]
fn bindgen_test_layout_FIT_EVENT_MESG() {
assert_eq!(::std::mem::size_of::<FIT_EVENT_MESG>() , 32usize , concat ! (
"Size of: " , stringify ! ( FIT_EVENT_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_EVENT_MESG>() , 8usize , concat ! (
"Alignment of " , stringify ! ( FIT_EVENT_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EVENT_MESG ) ) . timestamp as * const
_ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_EVENT_MESG ) , "::"
, stringify ! ( timestamp ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EVENT_MESG ) ) . data as * const _ as
usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_EVENT_MESG ) , "::"
, stringify ! ( data ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EVENT_MESG ) ) . data16 as * const _
as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_EVENT_MESG ) , "::"
, stringify ! ( data16 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EVENT_MESG ) ) . score as * const _
as usize } , 18usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_EVENT_MESG ) , "::"
, stringify ! ( score ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EVENT_MESG ) ) . opponent_score as *
const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_EVENT_MESG ) , "::"
, stringify ! ( opponent_score ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EVENT_MESG ) ) . event as * const _
as usize } , 22usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_EVENT_MESG ) , "::"
, stringify ! ( event ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EVENT_MESG ) ) . event_type as *
const _ as usize } , 23usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_EVENT_MESG ) , "::"
, stringify ! ( event_type ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EVENT_MESG ) ) . event_group as *
const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_EVENT_MESG ) , "::"
, stringify ! ( event_group ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EVENT_MESG ) ) . front_gear_num as *
const _ as usize } , 25usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_EVENT_MESG ) , "::"
, stringify ! ( front_gear_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EVENT_MESG ) ) . front_gear as *
const _ as usize } , 26usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_EVENT_MESG ) , "::"
, stringify ! ( front_gear ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EVENT_MESG ) ) . rear_gear_num as *
const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_EVENT_MESG ) , "::"
, stringify ! ( rear_gear_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EVENT_MESG ) ) . rear_gear as * const
_ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_EVENT_MESG ) , "::"
, stringify ! ( rear_gear ) ));
}
impl Clone for FIT_EVENT_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_EVENT_FIELD_NUM {
FIT_EVENT_FIELD_NUM_TIMESTAMP = 253,
FIT_EVENT_FIELD_NUM_DATA = 3,
FIT_EVENT_FIELD_NUM_DATA16 = 2,
FIT_EVENT_FIELD_NUM_SCORE = 7,
FIT_EVENT_FIELD_NUM_OPPONENT_SCORE = 8,
FIT_EVENT_FIELD_NUM_EVENT = 0,
FIT_EVENT_FIELD_NUM_EVENT_TYPE = 1,
FIT_EVENT_FIELD_NUM_EVENT_GROUP = 4,
FIT_EVENT_FIELD_NUM_FRONT_GEAR_NUM = 9,
FIT_EVENT_FIELD_NUM_FRONT_GEAR = 10,
FIT_EVENT_FIELD_NUM_REAR_GEAR_NUM = 11,
FIT_EVENT_FIELD_NUM_REAR_GEAR = 12,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_EVENT_MESG_FIELD {
FIT_EVENT_MESG_TIMESTAMP = 0,
FIT_EVENT_MESG_DATA = 1,
FIT_EVENT_MESG_DATA16 = 2,
FIT_EVENT_MESG_SCORE = 3,
FIT_EVENT_MESG_OPPONENT_SCORE = 4,
FIT_EVENT_MESG_EVENT = 5,
FIT_EVENT_MESG_EVENT_TYPE = 6,
FIT_EVENT_MESG_EVENT_GROUP = 7,
FIT_EVENT_MESG_FRONT_GEAR_NUM = 8,
FIT_EVENT_MESG_FRONT_GEAR = 9,
FIT_EVENT_MESG_REAR_GEAR_NUM = 10,
FIT_EVENT_MESG_REAR_GEAR = 11,
FIT_EVENT_MESG_FIELDS = 12,
}
#[repr(C)]
pub struct FIT_EVENT_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 36usize],
}
#[test]
fn bindgen_test_layout_FIT_EVENT_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_EVENT_MESG_DEF>() , 42usize , concat
! ( "Size of: " , stringify ! ( FIT_EVENT_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_EVENT_MESG_DEF>() , 2usize , concat
! ( "Alignment of " , stringify ! ( FIT_EVENT_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EVENT_MESG_DEF ) ) . reserved_1 as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_EVENT_MESG_DEF ) ,
"::" , stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EVENT_MESG_DEF ) ) . arch as * const
_ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_EVENT_MESG_DEF ) ,
"::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EVENT_MESG_DEF ) ) . global_mesg_num
as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_EVENT_MESG_DEF ) ,
"::" , stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EVENT_MESG_DEF ) ) . num_fields as *
const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_EVENT_MESG_DEF ) ,
"::" , stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EVENT_MESG_DEF ) ) . fields as *
const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_EVENT_MESG_DEF ) ,
"::" , stringify ! ( fields ) ));
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_DEVICE_INFO_MESG {
pub timestamp: FIT_DATE_TIME,
pub serial_number: FIT_UINT32Z,
pub cum_operating_time: FIT_UINT32,
pub product_name: [FIT_STRING; 20usize],
pub manufacturer: FIT_MANUFACTURER,
pub product: FIT_UINT16,
pub software_version: FIT_UINT16,
pub battery_voltage: FIT_UINT16,
pub ant_device_number: FIT_UINT16Z,
pub device_index: FIT_DEVICE_INDEX,
pub device_type: FIT_UINT8,
pub hardware_version: FIT_UINT8,
pub battery_status: FIT_BATTERY_STATUS,
pub sensor_position: FIT_BODY_LOCATION,
pub descriptor: [FIT_STRING; 1usize],
pub ant_transmission_type: FIT_UINT8Z,
pub ant_network: FIT_ANT_NETWORK,
pub source_type: FIT_SOURCE_TYPE,
}
#[test]
fn bindgen_test_layout_FIT_DEVICE_INFO_MESG() {
assert_eq!(::std::mem::size_of::<FIT_DEVICE_INFO_MESG>() , 64usize ,
concat ! ( "Size of: " , stringify ! ( FIT_DEVICE_INFO_MESG )
));
assert_eq! (::std::mem::align_of::<FIT_DEVICE_INFO_MESG>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_DEVICE_INFO_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_INFO_MESG ) ) . timestamp as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_DEVICE_INFO_MESG )
, "::" , stringify ! ( timestamp ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_INFO_MESG ) ) . serial_number
as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_DEVICE_INFO_MESG )
, "::" , stringify ! ( serial_number ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_INFO_MESG ) ) .
cum_operating_time as * const _ as usize } , 16usize , concat
! (
"Alignment of field: " , stringify ! ( FIT_DEVICE_INFO_MESG )
, "::" , stringify ! ( cum_operating_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_INFO_MESG ) ) . product_name
as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_DEVICE_INFO_MESG )
, "::" , stringify ! ( product_name ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_INFO_MESG ) ) . manufacturer
as * const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_DEVICE_INFO_MESG )
, "::" , stringify ! ( manufacturer ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_INFO_MESG ) ) . product as *
const _ as usize } , 46usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_DEVICE_INFO_MESG )
, "::" , stringify ! ( product ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_INFO_MESG ) ) .
software_version as * const _ as usize } , 48usize , concat !
(
"Alignment of field: " , stringify ! ( FIT_DEVICE_INFO_MESG )
, "::" , stringify ! ( software_version ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_INFO_MESG ) ) .
battery_voltage as * const _ as usize } , 50usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_DEVICE_INFO_MESG )
, "::" , stringify ! ( battery_voltage ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_INFO_MESG ) ) .
ant_device_number as * const _ as usize } , 52usize , concat !
(
"Alignment of field: " , stringify ! ( FIT_DEVICE_INFO_MESG )
, "::" , stringify ! ( ant_device_number ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_INFO_MESG ) ) . device_index
as * const _ as usize } , 54usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_DEVICE_INFO_MESG )
, "::" , stringify ! ( device_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_INFO_MESG ) ) . device_type as
* const _ as usize } , 55usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_DEVICE_INFO_MESG )
, "::" , stringify ! ( device_type ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_INFO_MESG ) ) .
hardware_version as * const _ as usize } , 56usize , concat !
(
"Alignment of field: " , stringify ! ( FIT_DEVICE_INFO_MESG )
, "::" , stringify ! ( hardware_version ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_INFO_MESG ) ) . battery_status
as * const _ as usize } , 57usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_DEVICE_INFO_MESG )
, "::" , stringify ! ( battery_status ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_INFO_MESG ) ) .
sensor_position as * const _ as usize } , 58usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_DEVICE_INFO_MESG )
, "::" , stringify ! ( sensor_position ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_INFO_MESG ) ) . descriptor as
* const _ as usize } , 59usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_DEVICE_INFO_MESG )
, "::" , stringify ! ( descriptor ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_INFO_MESG ) ) .
ant_transmission_type as * const _ as usize } , 60usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_DEVICE_INFO_MESG )
, "::" , stringify ! ( ant_transmission_type ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_INFO_MESG ) ) . ant_network as
* const _ as usize } , 61usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_DEVICE_INFO_MESG )
, "::" , stringify ! ( ant_network ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_INFO_MESG ) ) . source_type as
* const _ as usize } , 62usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_DEVICE_INFO_MESG )
, "::" , stringify ! ( source_type ) ));
}
impl Clone for FIT_DEVICE_INFO_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_DEVICE_INFO_FIELD_NUM {
FIT_DEVICE_INFO_FIELD_NUM_TIMESTAMP = 253,
FIT_DEVICE_INFO_FIELD_NUM_SERIAL_NUMBER = 3,
FIT_DEVICE_INFO_FIELD_NUM_CUM_OPERATING_TIME = 7,
FIT_DEVICE_INFO_FIELD_NUM_PRODUCT_NAME = 27,
FIT_DEVICE_INFO_FIELD_NUM_MANUFACTURER = 2,
FIT_DEVICE_INFO_FIELD_NUM_PRODUCT = 4,
FIT_DEVICE_INFO_FIELD_NUM_SOFTWARE_VERSION = 5,
FIT_DEVICE_INFO_FIELD_NUM_BATTERY_VOLTAGE = 10,
FIT_DEVICE_INFO_FIELD_NUM_ANT_DEVICE_NUMBER = 21,
FIT_DEVICE_INFO_FIELD_NUM_DEVICE_INDEX = 0,
FIT_DEVICE_INFO_FIELD_NUM_DEVICE_TYPE = 1,
FIT_DEVICE_INFO_FIELD_NUM_HARDWARE_VERSION = 6,
FIT_DEVICE_INFO_FIELD_NUM_BATTERY_STATUS = 11,
FIT_DEVICE_INFO_FIELD_NUM_SENSOR_POSITION = 18,
FIT_DEVICE_INFO_FIELD_NUM_DESCRIPTOR = 19,
FIT_DEVICE_INFO_FIELD_NUM_ANT_TRANSMISSION_TYPE = 20,
FIT_DEVICE_INFO_FIELD_NUM_ANT_NETWORK = 22,
FIT_DEVICE_INFO_FIELD_NUM_SOURCE_TYPE = 25,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_DEVICE_INFO_MESG_FIELD {
FIT_DEVICE_INFO_MESG_TIMESTAMP = 0,
FIT_DEVICE_INFO_MESG_SERIAL_NUMBER = 1,
FIT_DEVICE_INFO_MESG_CUM_OPERATING_TIME = 2,
FIT_DEVICE_INFO_MESG_PRODUCT_NAME = 3,
FIT_DEVICE_INFO_MESG_MANUFACTURER = 4,
FIT_DEVICE_INFO_MESG_PRODUCT = 5,
FIT_DEVICE_INFO_MESG_SOFTWARE_VERSION = 6,
FIT_DEVICE_INFO_MESG_BATTERY_VOLTAGE = 7,
FIT_DEVICE_INFO_MESG_ANT_DEVICE_NUMBER = 8,
FIT_DEVICE_INFO_MESG_DEVICE_INDEX = 9,
FIT_DEVICE_INFO_MESG_DEVICE_TYPE = 10,
FIT_DEVICE_INFO_MESG_HARDWARE_VERSION = 11,
FIT_DEVICE_INFO_MESG_BATTERY_STATUS = 12,
FIT_DEVICE_INFO_MESG_SENSOR_POSITION = 13,
FIT_DEVICE_INFO_MESG_DESCRIPTOR = 14,
FIT_DEVICE_INFO_MESG_ANT_TRANSMISSION_TYPE = 15,
FIT_DEVICE_INFO_MESG_ANT_NETWORK = 16,
FIT_DEVICE_INFO_MESG_SOURCE_TYPE = 17,
FIT_DEVICE_INFO_MESG_FIELDS = 18,
}
#[repr(C)]
pub struct FIT_DEVICE_INFO_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 54usize],
}
#[test]
fn bindgen_test_layout_FIT_DEVICE_INFO_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_DEVICE_INFO_MESG_DEF>() , 60usize ,
concat ! (
"Size of: " , stringify ! ( FIT_DEVICE_INFO_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_DEVICE_INFO_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_DEVICE_INFO_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_INFO_MESG_DEF ) ) . reserved_1
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVICE_INFO_MESG_DEF ) , "::" , stringify ! ( reserved_1 )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_INFO_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVICE_INFO_MESG_DEF ) , "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_INFO_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVICE_INFO_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_INFO_MESG_DEF ) ) . num_fields
as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVICE_INFO_MESG_DEF ) , "::" , stringify ! ( num_fields )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_INFO_MESG_DEF ) ) . fields as
* const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVICE_INFO_MESG_DEF ) , "::" , stringify ! ( fields ) ));
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_TRAINING_FILE_MESG {
pub timestamp: FIT_DATE_TIME,
pub serial_number: FIT_UINT32Z,
pub time_created: FIT_DATE_TIME,
pub manufacturer: FIT_MANUFACTURER,
pub product: FIT_UINT16,
pub type_: FIT_FILE,
}
#[test]
fn bindgen_test_layout_FIT_TRAINING_FILE_MESG() {
assert_eq!(::std::mem::size_of::<FIT_TRAINING_FILE_MESG>() , 32usize ,
concat ! ( "Size of: " , stringify ! ( FIT_TRAINING_FILE_MESG )
));
assert_eq! (::std::mem::align_of::<FIT_TRAINING_FILE_MESG>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_TRAINING_FILE_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_TRAINING_FILE_MESG ) ) . timestamp as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_TRAINING_FILE_MESG
) , "::" , stringify ! ( timestamp ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_TRAINING_FILE_MESG ) ) .
serial_number as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_TRAINING_FILE_MESG
) , "::" , stringify ! ( serial_number ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_TRAINING_FILE_MESG ) ) . time_created
as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_TRAINING_FILE_MESG
) , "::" , stringify ! ( time_created ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_TRAINING_FILE_MESG ) ) . manufacturer
as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_TRAINING_FILE_MESG
) , "::" , stringify ! ( manufacturer ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_TRAINING_FILE_MESG ) ) . product as *
const _ as usize } , 26usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_TRAINING_FILE_MESG
) , "::" , stringify ! ( product ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_TRAINING_FILE_MESG ) ) . type_ as *
const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_TRAINING_FILE_MESG
) , "::" , stringify ! ( type_ ) ));
}
impl Clone for FIT_TRAINING_FILE_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_TRAINING_FILE_FIELD_NUM {
FIT_TRAINING_FILE_FIELD_NUM_TIMESTAMP = 253,
FIT_TRAINING_FILE_FIELD_NUM_SERIAL_NUMBER = 3,
FIT_TRAINING_FILE_FIELD_NUM_TIME_CREATED = 4,
FIT_TRAINING_FILE_FIELD_NUM_MANUFACTURER = 1,
FIT_TRAINING_FILE_FIELD_NUM_PRODUCT = 2,
FIT_TRAINING_FILE_FIELD_NUM_TYPE = 0,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_TRAINING_FILE_MESG_FIELD {
FIT_TRAINING_FILE_MESG_TIMESTAMP = 0,
FIT_TRAINING_FILE_MESG_SERIAL_NUMBER = 1,
FIT_TRAINING_FILE_MESG_TIME_CREATED = 2,
FIT_TRAINING_FILE_MESG_MANUFACTURER = 3,
FIT_TRAINING_FILE_MESG_PRODUCT = 4,
FIT_TRAINING_FILE_MESG_TYPE = 5,
FIT_TRAINING_FILE_MESG_FIELDS = 6,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_TRAINING_FILE_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 18usize],
}
#[test]
fn bindgen_test_layout_FIT_TRAINING_FILE_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_TRAINING_FILE_MESG_DEF>() , 24usize ,
concat ! (
"Size of: " , stringify ! ( FIT_TRAINING_FILE_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_TRAINING_FILE_MESG_DEF>() , 2usize
, concat ! (
"Alignment of " , stringify ! ( FIT_TRAINING_FILE_MESG_DEF )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_TRAINING_FILE_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_TRAINING_FILE_MESG_DEF ) , "::" , stringify ! ( reserved_1
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_TRAINING_FILE_MESG_DEF ) ) . arch as
* const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_TRAINING_FILE_MESG_DEF ) , "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_TRAINING_FILE_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_TRAINING_FILE_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_TRAINING_FILE_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_TRAINING_FILE_MESG_DEF ) , "::" , stringify ! ( num_fields
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_TRAINING_FILE_MESG_DEF ) ) . fields
as * const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_TRAINING_FILE_MESG_DEF ) , "::" , stringify ! ( fields )
));
}
impl Clone for FIT_TRAINING_FILE_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_HRV_MESG {
pub time: [FIT_UINT16; 1usize],
}
#[test]
fn bindgen_test_layout_FIT_HRV_MESG() {
assert_eq!(::std::mem::size_of::<FIT_HRV_MESG>() , 2usize , concat ! (
"Size of: " , stringify ! ( FIT_HRV_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_HRV_MESG>() , 2usize , concat ! (
"Alignment of " , stringify ! ( FIT_HRV_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HRV_MESG ) ) . time as * const _ as
usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HRV_MESG ) , "::" ,
stringify ! ( time ) ));
}
impl Clone for FIT_HRV_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_HRV_FIELD_NUM { FIT_HRV_FIELD_NUM_TIME = 0, }
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_HRV_MESG_FIELD {
FIT_HRV_MESG_TIME = 0,
FIT_HRV_MESG_FIELDS = 1,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_HRV_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 3usize],
}
#[test]
fn bindgen_test_layout_FIT_HRV_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_HRV_MESG_DEF>() , 8usize , concat ! (
"Size of: " , stringify ! ( FIT_HRV_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_HRV_MESG_DEF>() , 2usize , concat !
( "Alignment of " , stringify ! ( FIT_HRV_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HRV_MESG_DEF ) ) . reserved_1 as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HRV_MESG_DEF ) ,
"::" , stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HRV_MESG_DEF ) ) . arch as * const _
as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HRV_MESG_DEF ) ,
"::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HRV_MESG_DEF ) ) . global_mesg_num as
* const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HRV_MESG_DEF ) ,
"::" , stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HRV_MESG_DEF ) ) . num_fields as *
const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HRV_MESG_DEF ) ,
"::" , stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HRV_MESG_DEF ) ) . fields as * const
_ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HRV_MESG_DEF ) ,
"::" , stringify ! ( fields ) ));
}
impl Clone for FIT_HRV_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
pub struct FIT_WEATHER_CONDITIONS_MESG {
pub timestamp: FIT_DATE_TIME,
pub location: [FIT_STRING; 64usize],
pub observed_at_time: FIT_DATE_TIME,
pub observed_location_lat: FIT_SINT32,
pub observed_location_long: FIT_SINT32,
pub wind_direction: FIT_UINT16,
pub wind_speed: FIT_UINT16,
pub weather_report: FIT_WEATHER_REPORT,
pub temperature: FIT_SINT8,
pub condition: FIT_WEATHER_STATUS,
pub precipitation_probability: FIT_UINT8,
pub temperature_feels_like: FIT_SINT8,
pub relative_humidity: FIT_UINT8,
pub day_of_week: FIT_DAY_OF_WEEK,
pub high_temperature: FIT_SINT8,
pub low_temperature: FIT_SINT8,
}
#[test]
fn bindgen_test_layout_FIT_WEATHER_CONDITIONS_MESG() {
assert_eq!(::std::mem::size_of::<FIT_WEATHER_CONDITIONS_MESG>() , 112usize
, concat ! (
"Size of: " , stringify ! ( FIT_WEATHER_CONDITIONS_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_WEATHER_CONDITIONS_MESG>() , 8usize
, concat ! (
"Alignment of " , stringify ! ( FIT_WEATHER_CONDITIONS_MESG )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_CONDITIONS_MESG ) ) .
timestamp as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WEATHER_CONDITIONS_MESG ) , "::" , stringify ! ( timestamp
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_CONDITIONS_MESG ) ) .
location as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WEATHER_CONDITIONS_MESG ) , "::" , stringify ! ( location
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_CONDITIONS_MESG ) ) .
observed_at_time as * const _ as usize } , 72usize , concat !
(
"Alignment of field: " , stringify ! (
FIT_WEATHER_CONDITIONS_MESG ) , "::" , stringify ! (
observed_at_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_CONDITIONS_MESG ) ) .
observed_location_lat as * const _ as usize } , 80usize ,
concat ! (
"Alignment of field: " , stringify ! (
FIT_WEATHER_CONDITIONS_MESG ) , "::" , stringify ! (
observed_location_lat ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_CONDITIONS_MESG ) ) .
observed_location_long as * const _ as usize } , 88usize ,
concat ! (
"Alignment of field: " , stringify ! (
FIT_WEATHER_CONDITIONS_MESG ) , "::" , stringify ! (
observed_location_long ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_CONDITIONS_MESG ) ) .
wind_direction as * const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WEATHER_CONDITIONS_MESG ) , "::" , stringify ! (
wind_direction ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_CONDITIONS_MESG ) ) .
wind_speed as * const _ as usize } , 98usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WEATHER_CONDITIONS_MESG ) , "::" , stringify ! (
wind_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_CONDITIONS_MESG ) ) .
weather_report as * const _ as usize } , 100usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WEATHER_CONDITIONS_MESG ) , "::" , stringify ! (
weather_report ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_CONDITIONS_MESG ) ) .
temperature as * const _ as usize } , 101usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WEATHER_CONDITIONS_MESG ) , "::" , stringify ! (
temperature ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_CONDITIONS_MESG ) ) .
condition as * const _ as usize } , 102usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WEATHER_CONDITIONS_MESG ) , "::" , stringify ! ( condition
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_CONDITIONS_MESG ) ) .
precipitation_probability as * const _ as usize } , 103usize ,
concat ! (
"Alignment of field: " , stringify ! (
FIT_WEATHER_CONDITIONS_MESG ) , "::" , stringify ! (
precipitation_probability ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_CONDITIONS_MESG ) ) .
temperature_feels_like as * const _ as usize } , 104usize ,
concat ! (
"Alignment of field: " , stringify ! (
FIT_WEATHER_CONDITIONS_MESG ) , "::" , stringify ! (
temperature_feels_like ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_CONDITIONS_MESG ) ) .
relative_humidity as * const _ as usize } , 105usize , concat
! (
"Alignment of field: " , stringify ! (
FIT_WEATHER_CONDITIONS_MESG ) , "::" , stringify ! (
relative_humidity ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_CONDITIONS_MESG ) ) .
day_of_week as * const _ as usize } , 106usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WEATHER_CONDITIONS_MESG ) , "::" , stringify ! (
day_of_week ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_CONDITIONS_MESG ) ) .
high_temperature as * const _ as usize } , 107usize , concat !
(
"Alignment of field: " , stringify ! (
FIT_WEATHER_CONDITIONS_MESG ) , "::" , stringify ! (
high_temperature ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_CONDITIONS_MESG ) ) .
low_temperature as * const _ as usize } , 108usize , concat !
(
"Alignment of field: " , stringify ! (
FIT_WEATHER_CONDITIONS_MESG ) , "::" , stringify ! (
low_temperature ) ));
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_WEATHER_CONDITIONS_FIELD_NUM {
FIT_WEATHER_CONDITIONS_FIELD_NUM_TIMESTAMP = 253,
FIT_WEATHER_CONDITIONS_FIELD_NUM_LOCATION = 8,
FIT_WEATHER_CONDITIONS_FIELD_NUM_OBSERVED_AT_TIME = 9,
FIT_WEATHER_CONDITIONS_FIELD_NUM_OBSERVED_LOCATION_LAT = 10,
FIT_WEATHER_CONDITIONS_FIELD_NUM_OBSERVED_LOCATION_LONG = 11,
FIT_WEATHER_CONDITIONS_FIELD_NUM_WIND_DIRECTION = 3,
FIT_WEATHER_CONDITIONS_FIELD_NUM_WIND_SPEED = 4,
FIT_WEATHER_CONDITIONS_FIELD_NUM_WEATHER_REPORT = 0,
FIT_WEATHER_CONDITIONS_FIELD_NUM_TEMPERATURE = 1,
FIT_WEATHER_CONDITIONS_FIELD_NUM_CONDITION = 2,
FIT_WEATHER_CONDITIONS_FIELD_NUM_PRECIPITATION_PROBABILITY = 5,
FIT_WEATHER_CONDITIONS_FIELD_NUM_TEMPERATURE_FEELS_LIKE = 6,
FIT_WEATHER_CONDITIONS_FIELD_NUM_RELATIVE_HUMIDITY = 7,
FIT_WEATHER_CONDITIONS_FIELD_NUM_DAY_OF_WEEK = 12,
FIT_WEATHER_CONDITIONS_FIELD_NUM_HIGH_TEMPERATURE = 13,
FIT_WEATHER_CONDITIONS_FIELD_NUM_LOW_TEMPERATURE = 14,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_WEATHER_CONDITIONS_MESG_FIELD {
FIT_WEATHER_CONDITIONS_MESG_TIMESTAMP = 0,
FIT_WEATHER_CONDITIONS_MESG_LOCATION = 1,
FIT_WEATHER_CONDITIONS_MESG_OBSERVED_AT_TIME = 2,
FIT_WEATHER_CONDITIONS_MESG_OBSERVED_LOCATION_LAT = 3,
FIT_WEATHER_CONDITIONS_MESG_OBSERVED_LOCATION_LONG = 4,
FIT_WEATHER_CONDITIONS_MESG_WIND_DIRECTION = 5,
FIT_WEATHER_CONDITIONS_MESG_WIND_SPEED = 6,
FIT_WEATHER_CONDITIONS_MESG_WEATHER_REPORT = 7,
FIT_WEATHER_CONDITIONS_MESG_TEMPERATURE = 8,
FIT_WEATHER_CONDITIONS_MESG_CONDITION = 9,
FIT_WEATHER_CONDITIONS_MESG_PRECIPITATION_PROBABILITY = 10,
FIT_WEATHER_CONDITIONS_MESG_TEMPERATURE_FEELS_LIKE = 11,
FIT_WEATHER_CONDITIONS_MESG_RELATIVE_HUMIDITY = 12,
FIT_WEATHER_CONDITIONS_MESG_DAY_OF_WEEK = 13,
FIT_WEATHER_CONDITIONS_MESG_HIGH_TEMPERATURE = 14,
FIT_WEATHER_CONDITIONS_MESG_LOW_TEMPERATURE = 15,
FIT_WEATHER_CONDITIONS_MESG_FIELDS = 16,
}
#[repr(C)]
pub struct FIT_WEATHER_CONDITIONS_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 48usize],
}
#[test]
fn bindgen_test_layout_FIT_WEATHER_CONDITIONS_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_WEATHER_CONDITIONS_MESG_DEF>() ,
54usize , concat ! (
"Size of: " , stringify ! ( FIT_WEATHER_CONDITIONS_MESG_DEF )
));
assert_eq! (::std::mem::align_of::<FIT_WEATHER_CONDITIONS_MESG_DEF>() ,
2usize , concat ! (
"Alignment of " , stringify ! (
FIT_WEATHER_CONDITIONS_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_CONDITIONS_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WEATHER_CONDITIONS_MESG_DEF ) , "::" , stringify ! (
reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_CONDITIONS_MESG_DEF ) ) .
arch as * const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WEATHER_CONDITIONS_MESG_DEF ) , "::" , stringify ! ( arch
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_CONDITIONS_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WEATHER_CONDITIONS_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_CONDITIONS_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WEATHER_CONDITIONS_MESG_DEF ) , "::" , stringify ! (
num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_CONDITIONS_MESG_DEF ) ) .
fields as * const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WEATHER_CONDITIONS_MESG_DEF ) , "::" , stringify ! (
fields ) ));
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_WEATHER_ALERT_MESG {
pub timestamp: FIT_DATE_TIME,
pub report_id: [FIT_STRING; 12usize],
pub issue_time: FIT_DATE_TIME,
pub expire_time: FIT_DATE_TIME,
pub severity: FIT_WEATHER_SEVERITY,
pub type_: FIT_WEATHER_SEVERE_TYPE,
}
#[test]
fn bindgen_test_layout_FIT_WEATHER_ALERT_MESG() {
assert_eq!(::std::mem::size_of::<FIT_WEATHER_ALERT_MESG>() , 48usize ,
concat ! ( "Size of: " , stringify ! ( FIT_WEATHER_ALERT_MESG )
));
assert_eq! (::std::mem::align_of::<FIT_WEATHER_ALERT_MESG>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_WEATHER_ALERT_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_ALERT_MESG ) ) . timestamp as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WEATHER_ALERT_MESG
) , "::" , stringify ! ( timestamp ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_ALERT_MESG ) ) . report_id as
* const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WEATHER_ALERT_MESG
) , "::" , stringify ! ( report_id ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_ALERT_MESG ) ) . issue_time
as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WEATHER_ALERT_MESG
) , "::" , stringify ! ( issue_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_ALERT_MESG ) ) . expire_time
as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WEATHER_ALERT_MESG
) , "::" , stringify ! ( expire_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_ALERT_MESG ) ) . severity as
* const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WEATHER_ALERT_MESG
) , "::" , stringify ! ( severity ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_ALERT_MESG ) ) . type_ as *
const _ as usize } , 41usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WEATHER_ALERT_MESG
) , "::" , stringify ! ( type_ ) ));
}
impl Clone for FIT_WEATHER_ALERT_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_WEATHER_ALERT_FIELD_NUM {
FIT_WEATHER_ALERT_FIELD_NUM_TIMESTAMP = 253,
FIT_WEATHER_ALERT_FIELD_NUM_REPORT_ID = 0,
FIT_WEATHER_ALERT_FIELD_NUM_ISSUE_TIME = 1,
FIT_WEATHER_ALERT_FIELD_NUM_EXPIRE_TIME = 2,
FIT_WEATHER_ALERT_FIELD_NUM_SEVERITY = 3,
FIT_WEATHER_ALERT_FIELD_NUM_TYPE = 4,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_WEATHER_ALERT_MESG_FIELD {
FIT_WEATHER_ALERT_MESG_TIMESTAMP = 0,
FIT_WEATHER_ALERT_MESG_REPORT_ID = 1,
FIT_WEATHER_ALERT_MESG_ISSUE_TIME = 2,
FIT_WEATHER_ALERT_MESG_EXPIRE_TIME = 3,
FIT_WEATHER_ALERT_MESG_SEVERITY = 4,
FIT_WEATHER_ALERT_MESG_TYPE = 5,
FIT_WEATHER_ALERT_MESG_FIELDS = 6,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_WEATHER_ALERT_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 18usize],
}
#[test]
fn bindgen_test_layout_FIT_WEATHER_ALERT_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_WEATHER_ALERT_MESG_DEF>() , 24usize ,
concat ! (
"Size of: " , stringify ! ( FIT_WEATHER_ALERT_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_WEATHER_ALERT_MESG_DEF>() , 2usize
, concat ! (
"Alignment of " , stringify ! ( FIT_WEATHER_ALERT_MESG_DEF )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_ALERT_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WEATHER_ALERT_MESG_DEF ) , "::" , stringify ! ( reserved_1
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_ALERT_MESG_DEF ) ) . arch as
* const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WEATHER_ALERT_MESG_DEF ) , "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_ALERT_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WEATHER_ALERT_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_ALERT_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WEATHER_ALERT_MESG_DEF ) , "::" , stringify ! ( num_fields
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEATHER_ALERT_MESG_DEF ) ) . fields
as * const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WEATHER_ALERT_MESG_DEF ) , "::" , stringify ! ( fields )
));
}
impl Clone for FIT_WEATHER_ALERT_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
pub struct FIT_NMEA_SENTENCE_MESG {
pub timestamp: FIT_DATE_TIME,
pub timestamp_ms: FIT_UINT16,
pub sentence: [FIT_STRING; 83usize],
}
#[test]
fn bindgen_test_layout_FIT_NMEA_SENTENCE_MESG() {
assert_eq!(::std::mem::size_of::<FIT_NMEA_SENTENCE_MESG>() , 96usize ,
concat ! ( "Size of: " , stringify ! ( FIT_NMEA_SENTENCE_MESG )
));
assert_eq! (::std::mem::align_of::<FIT_NMEA_SENTENCE_MESG>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_NMEA_SENTENCE_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_NMEA_SENTENCE_MESG ) ) . timestamp as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_NMEA_SENTENCE_MESG
) , "::" , stringify ! ( timestamp ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_NMEA_SENTENCE_MESG ) ) . timestamp_ms
as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_NMEA_SENTENCE_MESG
) , "::" , stringify ! ( timestamp_ms ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_NMEA_SENTENCE_MESG ) ) . sentence as
* const _ as usize } , 10usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_NMEA_SENTENCE_MESG
) , "::" , stringify ! ( sentence ) ));
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_NMEA_SENTENCE_FIELD_NUM {
FIT_NMEA_SENTENCE_FIELD_NUM_TIMESTAMP = 253,
FIT_NMEA_SENTENCE_FIELD_NUM_TIMESTAMP_MS = 0,
FIT_NMEA_SENTENCE_FIELD_NUM_SENTENCE = 1,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_NMEA_SENTENCE_MESG_FIELD {
FIT_NMEA_SENTENCE_MESG_TIMESTAMP = 0,
FIT_NMEA_SENTENCE_MESG_TIMESTAMP_MS = 1,
FIT_NMEA_SENTENCE_MESG_SENTENCE = 2,
FIT_NMEA_SENTENCE_MESG_FIELDS = 3,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_NMEA_SENTENCE_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 9usize],
}
#[test]
fn bindgen_test_layout_FIT_NMEA_SENTENCE_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_NMEA_SENTENCE_MESG_DEF>() , 14usize ,
concat ! (
"Size of: " , stringify ! ( FIT_NMEA_SENTENCE_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_NMEA_SENTENCE_MESG_DEF>() , 2usize
, concat ! (
"Alignment of " , stringify ! ( FIT_NMEA_SENTENCE_MESG_DEF )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_NMEA_SENTENCE_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_NMEA_SENTENCE_MESG_DEF ) , "::" , stringify ! ( reserved_1
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_NMEA_SENTENCE_MESG_DEF ) ) . arch as
* const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_NMEA_SENTENCE_MESG_DEF ) , "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_NMEA_SENTENCE_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_NMEA_SENTENCE_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_NMEA_SENTENCE_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_NMEA_SENTENCE_MESG_DEF ) , "::" , stringify ! ( num_fields
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_NMEA_SENTENCE_MESG_DEF ) ) . fields
as * const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_NMEA_SENTENCE_MESG_DEF ) , "::" , stringify ! ( fields )
));
}
impl Clone for FIT_NMEA_SENTENCE_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_AVIATION_ATTITUDE_MESG {
pub timestamp: FIT_DATE_TIME,
pub system_time: [FIT_UINT32; 1usize],
pub timestamp_ms: FIT_UINT16,
pub pitch: [FIT_SINT16; 1usize],
pub roll: [FIT_SINT16; 1usize],
pub accel_lateral: [FIT_SINT16; 1usize],
pub accel_normal: [FIT_SINT16; 1usize],
pub turn_rate: [FIT_SINT16; 1usize],
pub track: [FIT_UINT16; 1usize],
pub validity: [FIT_ATTITUDE_VALIDITY; 1usize],
pub stage: [FIT_ATTITUDE_STAGE; 1usize],
pub attitude_stage_complete: [FIT_UINT8; 1usize],
}
#[test]
fn bindgen_test_layout_FIT_AVIATION_ATTITUDE_MESG() {
assert_eq!(::std::mem::size_of::<FIT_AVIATION_ATTITUDE_MESG>() , 40usize ,
concat ! (
"Size of: " , stringify ! ( FIT_AVIATION_ATTITUDE_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_AVIATION_ATTITUDE_MESG>() , 8usize
, concat ! (
"Alignment of " , stringify ! ( FIT_AVIATION_ATTITUDE_MESG )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_AVIATION_ATTITUDE_MESG ) ) .
timestamp as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_AVIATION_ATTITUDE_MESG ) , "::" , stringify ! ( timestamp
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_AVIATION_ATTITUDE_MESG ) ) .
system_time as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_AVIATION_ATTITUDE_MESG ) , "::" , stringify ! (
system_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_AVIATION_ATTITUDE_MESG ) ) .
timestamp_ms as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_AVIATION_ATTITUDE_MESG ) , "::" , stringify ! (
timestamp_ms ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_AVIATION_ATTITUDE_MESG ) ) . pitch as
* const _ as usize } , 18usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_AVIATION_ATTITUDE_MESG ) , "::" , stringify ! ( pitch )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_AVIATION_ATTITUDE_MESG ) ) . roll as
* const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_AVIATION_ATTITUDE_MESG ) , "::" , stringify ! ( roll ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_AVIATION_ATTITUDE_MESG ) ) .
accel_lateral as * const _ as usize } , 22usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_AVIATION_ATTITUDE_MESG ) , "::" , stringify ! (
accel_lateral ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_AVIATION_ATTITUDE_MESG ) ) .
accel_normal as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_AVIATION_ATTITUDE_MESG ) , "::" , stringify ! (
accel_normal ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_AVIATION_ATTITUDE_MESG ) ) .
turn_rate as * const _ as usize } , 26usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_AVIATION_ATTITUDE_MESG ) , "::" , stringify ! ( turn_rate
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_AVIATION_ATTITUDE_MESG ) ) . track as
* const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_AVIATION_ATTITUDE_MESG ) , "::" , stringify ! ( track )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_AVIATION_ATTITUDE_MESG ) ) . validity
as * const _ as usize } , 30usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_AVIATION_ATTITUDE_MESG ) , "::" , stringify ! ( validity )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_AVIATION_ATTITUDE_MESG ) ) . stage as
* const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_AVIATION_ATTITUDE_MESG ) , "::" , stringify ! ( stage )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_AVIATION_ATTITUDE_MESG ) ) .
attitude_stage_complete as * const _ as usize } , 33usize ,
concat ! (
"Alignment of field: " , stringify ! (
FIT_AVIATION_ATTITUDE_MESG ) , "::" , stringify ! (
attitude_stage_complete ) ));
}
impl Clone for FIT_AVIATION_ATTITUDE_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_AVIATION_ATTITUDE_FIELD_NUM {
FIT_AVIATION_ATTITUDE_FIELD_NUM_TIMESTAMP = 253,
FIT_AVIATION_ATTITUDE_FIELD_NUM_SYSTEM_TIME = 1,
FIT_AVIATION_ATTITUDE_FIELD_NUM_TIMESTAMP_MS = 0,
FIT_AVIATION_ATTITUDE_FIELD_NUM_PITCH = 2,
FIT_AVIATION_ATTITUDE_FIELD_NUM_ROLL = 3,
FIT_AVIATION_ATTITUDE_FIELD_NUM_ACCEL_LATERAL = 4,
FIT_AVIATION_ATTITUDE_FIELD_NUM_ACCEL_NORMAL = 5,
FIT_AVIATION_ATTITUDE_FIELD_NUM_TURN_RATE = 6,
FIT_AVIATION_ATTITUDE_FIELD_NUM_TRACK = 9,
FIT_AVIATION_ATTITUDE_FIELD_NUM_VALIDITY = 10,
FIT_AVIATION_ATTITUDE_FIELD_NUM_STAGE = 7,
FIT_AVIATION_ATTITUDE_FIELD_NUM_ATTITUDE_STAGE_COMPLETE = 8,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_AVIATION_ATTITUDE_MESG_FIELD {
FIT_AVIATION_ATTITUDE_MESG_TIMESTAMP = 0,
FIT_AVIATION_ATTITUDE_MESG_SYSTEM_TIME = 1,
FIT_AVIATION_ATTITUDE_MESG_TIMESTAMP_MS = 2,
FIT_AVIATION_ATTITUDE_MESG_PITCH = 3,
FIT_AVIATION_ATTITUDE_MESG_ROLL = 4,
FIT_AVIATION_ATTITUDE_MESG_ACCEL_LATERAL = 5,
FIT_AVIATION_ATTITUDE_MESG_ACCEL_NORMAL = 6,
FIT_AVIATION_ATTITUDE_MESG_TURN_RATE = 7,
FIT_AVIATION_ATTITUDE_MESG_TRACK = 8,
FIT_AVIATION_ATTITUDE_MESG_VALIDITY = 9,
FIT_AVIATION_ATTITUDE_MESG_STAGE = 10,
FIT_AVIATION_ATTITUDE_MESG_ATTITUDE_STAGE_COMPLETE = 11,
FIT_AVIATION_ATTITUDE_MESG_FIELDS = 12,
}
#[repr(C)]
pub struct FIT_AVIATION_ATTITUDE_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 36usize],
}
#[test]
fn bindgen_test_layout_FIT_AVIATION_ATTITUDE_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_AVIATION_ATTITUDE_MESG_DEF>() ,
42usize , concat ! (
"Size of: " , stringify ! ( FIT_AVIATION_ATTITUDE_MESG_DEF )
));
assert_eq! (::std::mem::align_of::<FIT_AVIATION_ATTITUDE_MESG_DEF>() ,
2usize , concat ! (
"Alignment of " , stringify ! ( FIT_AVIATION_ATTITUDE_MESG_DEF
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_AVIATION_ATTITUDE_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_AVIATION_ATTITUDE_MESG_DEF ) , "::" , stringify ! (
reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_AVIATION_ATTITUDE_MESG_DEF ) ) . arch
as * const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_AVIATION_ATTITUDE_MESG_DEF ) , "::" , stringify ! ( arch )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_AVIATION_ATTITUDE_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_AVIATION_ATTITUDE_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_AVIATION_ATTITUDE_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_AVIATION_ATTITUDE_MESG_DEF ) , "::" , stringify ! (
num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_AVIATION_ATTITUDE_MESG_DEF ) ) .
fields as * const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_AVIATION_ATTITUDE_MESG_DEF ) , "::" , stringify ! ( fields
) ));
}
#[repr(C)]
pub struct FIT_VIDEO_TITLE_MESG {
pub text: [FIT_STRING; 80usize],
pub message_index: FIT_MESSAGE_INDEX,
pub message_count: FIT_UINT16,
}
#[test]
fn bindgen_test_layout_FIT_VIDEO_TITLE_MESG() {
assert_eq!(::std::mem::size_of::<FIT_VIDEO_TITLE_MESG>() , 84usize ,
concat ! ( "Size of: " , stringify ! ( FIT_VIDEO_TITLE_MESG )
));
assert_eq! (::std::mem::align_of::<FIT_VIDEO_TITLE_MESG>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_VIDEO_TITLE_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_VIDEO_TITLE_MESG ) ) . text as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_VIDEO_TITLE_MESG )
, "::" , stringify ! ( text ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_VIDEO_TITLE_MESG ) ) . message_index
as * const _ as usize } , 80usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_VIDEO_TITLE_MESG )
, "::" , stringify ! ( message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_VIDEO_TITLE_MESG ) ) . message_count
as * const _ as usize } , 82usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_VIDEO_TITLE_MESG )
, "::" , stringify ! ( message_count ) ));
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_VIDEO_TITLE_FIELD_NUM {
FIT_VIDEO_TITLE_FIELD_NUM_TEXT = 1,
FIT_VIDEO_TITLE_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_VIDEO_TITLE_FIELD_NUM_MESSAGE_COUNT = 0,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_VIDEO_TITLE_MESG_FIELD {
FIT_VIDEO_TITLE_MESG_TEXT = 0,
FIT_VIDEO_TITLE_MESG_MESSAGE_INDEX = 1,
FIT_VIDEO_TITLE_MESG_MESSAGE_COUNT = 2,
FIT_VIDEO_TITLE_MESG_FIELDS = 3,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_VIDEO_TITLE_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 9usize],
}
#[test]
fn bindgen_test_layout_FIT_VIDEO_TITLE_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_VIDEO_TITLE_MESG_DEF>() , 14usize ,
concat ! (
"Size of: " , stringify ! ( FIT_VIDEO_TITLE_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_VIDEO_TITLE_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_VIDEO_TITLE_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_VIDEO_TITLE_MESG_DEF ) ) . reserved_1
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_VIDEO_TITLE_MESG_DEF ) , "::" , stringify ! ( reserved_1 )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_VIDEO_TITLE_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_VIDEO_TITLE_MESG_DEF ) , "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_VIDEO_TITLE_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_VIDEO_TITLE_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_VIDEO_TITLE_MESG_DEF ) ) . num_fields
as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_VIDEO_TITLE_MESG_DEF ) , "::" , stringify ! ( num_fields )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_VIDEO_TITLE_MESG_DEF ) ) . fields as
* const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_VIDEO_TITLE_MESG_DEF ) , "::" , stringify ! ( fields ) ));
}
impl Clone for FIT_VIDEO_TITLE_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
pub struct FIT_VIDEO_DESCRIPTION_MESG {
pub message_index: FIT_MESSAGE_INDEX,
pub message_count: FIT_UINT16,
pub text: [FIT_STRING; 250usize],
}
#[test]
fn bindgen_test_layout_FIT_VIDEO_DESCRIPTION_MESG() {
assert_eq!(::std::mem::size_of::<FIT_VIDEO_DESCRIPTION_MESG>() , 254usize
, concat ! (
"Size of: " , stringify ! ( FIT_VIDEO_DESCRIPTION_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_VIDEO_DESCRIPTION_MESG>() , 2usize
, concat ! (
"Alignment of " , stringify ! ( FIT_VIDEO_DESCRIPTION_MESG )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_VIDEO_DESCRIPTION_MESG ) ) .
message_index as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_VIDEO_DESCRIPTION_MESG ) , "::" , stringify ! (
message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_VIDEO_DESCRIPTION_MESG ) ) .
message_count as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_VIDEO_DESCRIPTION_MESG ) , "::" , stringify ! (
message_count ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_VIDEO_DESCRIPTION_MESG ) ) . text as
* const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_VIDEO_DESCRIPTION_MESG ) , "::" , stringify ! ( text ) ));
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_VIDEO_DESCRIPTION_FIELD_NUM {
FIT_VIDEO_DESCRIPTION_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_VIDEO_DESCRIPTION_FIELD_NUM_MESSAGE_COUNT = 0,
FIT_VIDEO_DESCRIPTION_FIELD_NUM_TEXT = 1,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_VIDEO_DESCRIPTION_MESG_FIELD {
FIT_VIDEO_DESCRIPTION_MESG_MESSAGE_INDEX = 0,
FIT_VIDEO_DESCRIPTION_MESG_MESSAGE_COUNT = 1,
FIT_VIDEO_DESCRIPTION_MESG_TEXT = 2,
FIT_VIDEO_DESCRIPTION_MESG_FIELDS = 3,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_VIDEO_DESCRIPTION_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 9usize],
}
#[test]
fn bindgen_test_layout_FIT_VIDEO_DESCRIPTION_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_VIDEO_DESCRIPTION_MESG_DEF>() ,
14usize , concat ! (
"Size of: " , stringify ! ( FIT_VIDEO_DESCRIPTION_MESG_DEF )
));
assert_eq! (::std::mem::align_of::<FIT_VIDEO_DESCRIPTION_MESG_DEF>() ,
2usize , concat ! (
"Alignment of " , stringify ! ( FIT_VIDEO_DESCRIPTION_MESG_DEF
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_VIDEO_DESCRIPTION_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_VIDEO_DESCRIPTION_MESG_DEF ) , "::" , stringify ! (
reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_VIDEO_DESCRIPTION_MESG_DEF ) ) . arch
as * const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_VIDEO_DESCRIPTION_MESG_DEF ) , "::" , stringify ! ( arch )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_VIDEO_DESCRIPTION_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_VIDEO_DESCRIPTION_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_VIDEO_DESCRIPTION_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_VIDEO_DESCRIPTION_MESG_DEF ) , "::" , stringify ! (
num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_VIDEO_DESCRIPTION_MESG_DEF ) ) .
fields as * const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_VIDEO_DESCRIPTION_MESG_DEF ) , "::" , stringify ! ( fields
) ));
}
impl Clone for FIT_VIDEO_DESCRIPTION_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_COURSE_MESG {
pub name: [FIT_STRING; 16usize],
pub capabilities: FIT_COURSE_CAPABILITIES,
pub sport: FIT_SPORT,
pub sub_sport: FIT_SUB_SPORT,
}
#[test]
fn bindgen_test_layout_FIT_COURSE_MESG() {
assert_eq!(::std::mem::size_of::<FIT_COURSE_MESG>() , 32usize , concat ! (
"Size of: " , stringify ! ( FIT_COURSE_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_COURSE_MESG>() , 8usize , concat !
( "Alignment of " , stringify ! ( FIT_COURSE_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_COURSE_MESG ) ) . name as * const _
as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_COURSE_MESG ) ,
"::" , stringify ! ( name ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_COURSE_MESG ) ) . capabilities as *
const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_COURSE_MESG ) ,
"::" , stringify ! ( capabilities ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_COURSE_MESG ) ) . sport as * const _
as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_COURSE_MESG ) ,
"::" , stringify ! ( sport ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_COURSE_MESG ) ) . sub_sport as *
const _ as usize } , 25usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_COURSE_MESG ) ,
"::" , stringify ! ( sub_sport ) ));
}
impl Clone for FIT_COURSE_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_COURSE_FIELD_NUM {
FIT_COURSE_FIELD_NUM_NAME = 5,
FIT_COURSE_FIELD_NUM_CAPABILITIES = 6,
FIT_COURSE_FIELD_NUM_SPORT = 4,
FIT_COURSE_FIELD_NUM_SUB_SPORT = 7,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_COURSE_MESG_FIELD {
FIT_COURSE_MESG_NAME = 0,
FIT_COURSE_MESG_CAPABILITIES = 1,
FIT_COURSE_MESG_SPORT = 2,
FIT_COURSE_MESG_SUB_SPORT = 3,
FIT_COURSE_MESG_FIELDS = 4,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_COURSE_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 12usize],
}
#[test]
fn bindgen_test_layout_FIT_COURSE_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_COURSE_MESG_DEF>() , 18usize , concat
! ( "Size of: " , stringify ! ( FIT_COURSE_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_COURSE_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_COURSE_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_COURSE_MESG_DEF ) ) . reserved_1 as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_COURSE_MESG_DEF ) ,
"::" , stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_COURSE_MESG_DEF ) ) . arch as * const
_ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_COURSE_MESG_DEF ) ,
"::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_COURSE_MESG_DEF ) ) . global_mesg_num
as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_COURSE_MESG_DEF ) ,
"::" , stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_COURSE_MESG_DEF ) ) . num_fields as *
const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_COURSE_MESG_DEF ) ,
"::" , stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_COURSE_MESG_DEF ) ) . fields as *
const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_COURSE_MESG_DEF ) ,
"::" , stringify ! ( fields ) ));
}
impl Clone for FIT_COURSE_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_COURSE_POINT_MESG {
pub timestamp: FIT_DATE_TIME,
pub position_lat: FIT_SINT32,
pub position_long: FIT_SINT32,
pub distance: FIT_UINT32,
pub name: [FIT_STRING; 16usize],
pub message_index: FIT_MESSAGE_INDEX,
pub type_: FIT_COURSE_POINT,
pub favorite: FIT_BOOL,
}
#[test]
fn bindgen_test_layout_FIT_COURSE_POINT_MESG() {
assert_eq!(::std::mem::size_of::<FIT_COURSE_POINT_MESG>() , 56usize ,
concat ! ( "Size of: " , stringify ! ( FIT_COURSE_POINT_MESG )
));
assert_eq! (::std::mem::align_of::<FIT_COURSE_POINT_MESG>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_COURSE_POINT_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_COURSE_POINT_MESG ) ) . timestamp as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_COURSE_POINT_MESG )
, "::" , stringify ! ( timestamp ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_COURSE_POINT_MESG ) ) . position_lat
as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_COURSE_POINT_MESG )
, "::" , stringify ! ( position_lat ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_COURSE_POINT_MESG ) ) . position_long
as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_COURSE_POINT_MESG )
, "::" , stringify ! ( position_long ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_COURSE_POINT_MESG ) ) . distance as *
const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_COURSE_POINT_MESG )
, "::" , stringify ! ( distance ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_COURSE_POINT_MESG ) ) . name as *
const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_COURSE_POINT_MESG )
, "::" , stringify ! ( name ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_COURSE_POINT_MESG ) ) . message_index
as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_COURSE_POINT_MESG )
, "::" , stringify ! ( message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_COURSE_POINT_MESG ) ) . type_ as *
const _ as usize } , 50usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_COURSE_POINT_MESG )
, "::" , stringify ! ( type_ ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_COURSE_POINT_MESG ) ) . favorite as *
const _ as usize } , 51usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_COURSE_POINT_MESG )
, "::" , stringify ! ( favorite ) ));
}
impl Clone for FIT_COURSE_POINT_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_COURSE_POINT_FIELD_NUM {
FIT_COURSE_POINT_FIELD_NUM_TIMESTAMP = 1,
FIT_COURSE_POINT_FIELD_NUM_POSITION_LAT = 2,
FIT_COURSE_POINT_FIELD_NUM_POSITION_LONG = 3,
FIT_COURSE_POINT_FIELD_NUM_DISTANCE = 4,
FIT_COURSE_POINT_FIELD_NUM_NAME = 6,
FIT_COURSE_POINT_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_COURSE_POINT_FIELD_NUM_TYPE = 5,
FIT_COURSE_POINT_FIELD_NUM_FAVORITE = 8,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_COURSE_POINT_MESG_FIELD {
FIT_COURSE_POINT_MESG_TIMESTAMP = 0,
FIT_COURSE_POINT_MESG_POSITION_LAT = 1,
FIT_COURSE_POINT_MESG_POSITION_LONG = 2,
FIT_COURSE_POINT_MESG_DISTANCE = 3,
FIT_COURSE_POINT_MESG_NAME = 4,
FIT_COURSE_POINT_MESG_MESSAGE_INDEX = 5,
FIT_COURSE_POINT_MESG_TYPE = 6,
FIT_COURSE_POINT_MESG_FAVORITE = 7,
FIT_COURSE_POINT_MESG_FIELDS = 8,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_COURSE_POINT_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 24usize],
}
#[test]
fn bindgen_test_layout_FIT_COURSE_POINT_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_COURSE_POINT_MESG_DEF>() , 30usize ,
concat ! (
"Size of: " , stringify ! ( FIT_COURSE_POINT_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_COURSE_POINT_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_COURSE_POINT_MESG_DEF )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_COURSE_POINT_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_COURSE_POINT_MESG_DEF ) , "::" , stringify ! ( reserved_1
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_COURSE_POINT_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_COURSE_POINT_MESG_DEF ) , "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_COURSE_POINT_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_COURSE_POINT_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_COURSE_POINT_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_COURSE_POINT_MESG_DEF ) , "::" , stringify ! ( num_fields
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_COURSE_POINT_MESG_DEF ) ) . fields as
* const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_COURSE_POINT_MESG_DEF ) , "::" , stringify ! ( fields )
));
}
impl Clone for FIT_COURSE_POINT_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_SEGMENT_ID_MESG {
pub user_profile_primary_key: FIT_UINT32,
pub device_id: FIT_UINT32,
pub name: [FIT_STRING; 1usize],
pub uuid: [FIT_STRING; 1usize],
pub sport: FIT_SPORT,
pub enabled: FIT_BOOL,
pub default_race_leader: FIT_UINT8,
pub delete_status: FIT_SEGMENT_DELETE_STATUS,
pub selection_type: FIT_SEGMENT_SELECTION_TYPE,
}
#[test]
fn bindgen_test_layout_FIT_SEGMENT_ID_MESG() {
assert_eq!(::std::mem::size_of::<FIT_SEGMENT_ID_MESG>() , 24usize , concat
! ( "Size of: " , stringify ! ( FIT_SEGMENT_ID_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_SEGMENT_ID_MESG>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_SEGMENT_ID_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_ID_MESG ) ) .
user_profile_primary_key as * const _ as usize } , 0usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_ID_MESG ) ,
"::" , stringify ! ( user_profile_primary_key ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_ID_MESG ) ) . device_id as *
const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_ID_MESG ) ,
"::" , stringify ! ( device_id ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_ID_MESG ) ) . name as * const
_ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_ID_MESG ) ,
"::" , stringify ! ( name ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_ID_MESG ) ) . uuid as * const
_ as usize } , 17usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_ID_MESG ) ,
"::" , stringify ! ( uuid ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_ID_MESG ) ) . sport as *
const _ as usize } , 18usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_ID_MESG ) ,
"::" , stringify ! ( sport ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_ID_MESG ) ) . enabled as *
const _ as usize } , 19usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_ID_MESG ) ,
"::" , stringify ! ( enabled ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_ID_MESG ) ) .
default_race_leader as * const _ as usize } , 20usize , concat
! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_ID_MESG ) ,
"::" , stringify ! ( default_race_leader ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_ID_MESG ) ) . delete_status
as * const _ as usize } , 21usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_ID_MESG ) ,
"::" , stringify ! ( delete_status ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_ID_MESG ) ) . selection_type
as * const _ as usize } , 22usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_ID_MESG ) ,
"::" , stringify ! ( selection_type ) ));
}
impl Clone for FIT_SEGMENT_ID_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_SEGMENT_ID_FIELD_NUM {
FIT_SEGMENT_ID_FIELD_NUM_USER_PROFILE_PRIMARY_KEY = 4,
FIT_SEGMENT_ID_FIELD_NUM_DEVICE_ID = 5,
FIT_SEGMENT_ID_FIELD_NUM_NAME = 0,
FIT_SEGMENT_ID_FIELD_NUM_UUID = 1,
FIT_SEGMENT_ID_FIELD_NUM_SPORT = 2,
FIT_SEGMENT_ID_FIELD_NUM_ENABLED = 3,
FIT_SEGMENT_ID_FIELD_NUM_DEFAULT_RACE_LEADER = 6,
FIT_SEGMENT_ID_FIELD_NUM_DELETE_STATUS = 7,
FIT_SEGMENT_ID_FIELD_NUM_SELECTION_TYPE = 8,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_SEGMENT_ID_MESG_FIELD {
FIT_SEGMENT_ID_MESG_USER_PROFILE_PRIMARY_KEY = 0,
FIT_SEGMENT_ID_MESG_DEVICE_ID = 1,
FIT_SEGMENT_ID_MESG_NAME = 2,
FIT_SEGMENT_ID_MESG_UUID = 3,
FIT_SEGMENT_ID_MESG_SPORT = 4,
FIT_SEGMENT_ID_MESG_ENABLED = 5,
FIT_SEGMENT_ID_MESG_DEFAULT_RACE_LEADER = 6,
FIT_SEGMENT_ID_MESG_DELETE_STATUS = 7,
FIT_SEGMENT_ID_MESG_SELECTION_TYPE = 8,
FIT_SEGMENT_ID_MESG_FIELDS = 9,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_SEGMENT_ID_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 27usize],
}
#[test]
fn bindgen_test_layout_FIT_SEGMENT_ID_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_SEGMENT_ID_MESG_DEF>() , 32usize ,
concat ! (
"Size of: " , stringify ! ( FIT_SEGMENT_ID_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_SEGMENT_ID_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_SEGMENT_ID_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_ID_MESG_DEF ) ) . reserved_1
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_ID_MESG_DEF
) , "::" , stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_ID_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_ID_MESG_DEF
) , "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_ID_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_ID_MESG_DEF
) , "::" , stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_ID_MESG_DEF ) ) . num_fields
as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_ID_MESG_DEF
) , "::" , stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_ID_MESG_DEF ) ) . fields as *
const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_ID_MESG_DEF
) , "::" , stringify ! ( fields ) ));
}
impl Clone for FIT_SEGMENT_ID_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_SEGMENT_LEADERBOARD_ENTRY_MESG {
pub group_primary_key: FIT_UINT32,
pub activity_id: FIT_UINT32,
pub segment_time: FIT_UINT32,
pub message_index: FIT_MESSAGE_INDEX,
pub name: [FIT_STRING; 1usize],
pub type_: FIT_SEGMENT_LEADERBOARD_TYPE,
}
#[test]
fn bindgen_test_layout_FIT_SEGMENT_LEADERBOARD_ENTRY_MESG() {
assert_eq!(::std::mem::size_of::<FIT_SEGMENT_LEADERBOARD_ENTRY_MESG>() ,
32usize , concat ! (
"Size of: " , stringify ! ( FIT_SEGMENT_LEADERBOARD_ENTRY_MESG
) ));
assert_eq! (::std::mem::align_of::<FIT_SEGMENT_LEADERBOARD_ENTRY_MESG>() ,
8usize , concat ! (
"Alignment of " , stringify ! (
FIT_SEGMENT_LEADERBOARD_ENTRY_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LEADERBOARD_ENTRY_MESG ) ) .
group_primary_key as * const _ as usize } , 0usize , concat !
(
"Alignment of field: " , stringify ! (
FIT_SEGMENT_LEADERBOARD_ENTRY_MESG ) , "::" , stringify ! (
group_primary_key ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LEADERBOARD_ENTRY_MESG ) ) .
activity_id as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SEGMENT_LEADERBOARD_ENTRY_MESG ) , "::" , stringify ! (
activity_id ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LEADERBOARD_ENTRY_MESG ) ) .
segment_time as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SEGMENT_LEADERBOARD_ENTRY_MESG ) , "::" , stringify ! (
segment_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LEADERBOARD_ENTRY_MESG ) ) .
message_index as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SEGMENT_LEADERBOARD_ENTRY_MESG ) , "::" , stringify ! (
message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LEADERBOARD_ENTRY_MESG ) ) .
name as * const _ as usize } , 26usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SEGMENT_LEADERBOARD_ENTRY_MESG ) , "::" , stringify ! (
name ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LEADERBOARD_ENTRY_MESG ) ) .
type_ as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SEGMENT_LEADERBOARD_ENTRY_MESG ) , "::" , stringify ! (
type_ ) ));
}
impl Clone for FIT_SEGMENT_LEADERBOARD_ENTRY_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_SEGMENT_LEADERBOARD_ENTRY_FIELD_NUM {
FIT_SEGMENT_LEADERBOARD_ENTRY_FIELD_NUM_GROUP_PRIMARY_KEY = 2,
FIT_SEGMENT_LEADERBOARD_ENTRY_FIELD_NUM_ACTIVITY_ID = 3,
FIT_SEGMENT_LEADERBOARD_ENTRY_FIELD_NUM_SEGMENT_TIME = 4,
FIT_SEGMENT_LEADERBOARD_ENTRY_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_SEGMENT_LEADERBOARD_ENTRY_FIELD_NUM_NAME = 0,
FIT_SEGMENT_LEADERBOARD_ENTRY_FIELD_NUM_TYPE = 1,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_FIELD {
FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_GROUP_PRIMARY_KEY = 0,
FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_ACTIVITY_ID = 1,
FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_SEGMENT_TIME = 2,
FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_MESSAGE_INDEX = 3,
FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_NAME = 4,
FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_TYPE = 5,
FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_FIELDS = 6,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 18usize],
}
#[test]
fn bindgen_test_layout_FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_DEF>()
, 24usize , concat ! (
"Size of: " , stringify ! (
FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_DEF>()
, 2usize , concat ! (
"Alignment of " , stringify ! (
FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_DEF )
) . reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_DEF ) , "::" , stringify !
( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_DEF )
) . arch as * const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_DEF ) , "::" , stringify !
( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_DEF )
) . global_mesg_num as * const _ as usize } , 2usize , concat
! (
"Alignment of field: " , stringify ! (
FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_DEF ) , "::" , stringify !
( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_DEF )
) . num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_DEF ) , "::" , stringify !
( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_DEF )
) . fields as * const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_DEF ) , "::" , stringify !
( fields ) ));
}
impl Clone for FIT_SEGMENT_LEADERBOARD_ENTRY_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_SEGMENT_POINT_MESG {
pub position_lat: FIT_SINT32,
pub position_long: FIT_SINT32,
pub distance: FIT_UINT32,
pub leader_time: [FIT_UINT32; 1usize],
pub message_index: FIT_MESSAGE_INDEX,
pub altitude: FIT_UINT16,
}
#[test]
fn bindgen_test_layout_FIT_SEGMENT_POINT_MESG() {
assert_eq!(::std::mem::size_of::<FIT_SEGMENT_POINT_MESG>() , 40usize ,
concat ! ( "Size of: " , stringify ! ( FIT_SEGMENT_POINT_MESG )
));
assert_eq! (::std::mem::align_of::<FIT_SEGMENT_POINT_MESG>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_SEGMENT_POINT_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_POINT_MESG ) ) . position_lat
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_POINT_MESG
) , "::" , stringify ! ( position_lat ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_POINT_MESG ) ) .
position_long as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_POINT_MESG
) , "::" , stringify ! ( position_long ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_POINT_MESG ) ) . distance as
* const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_POINT_MESG
) , "::" , stringify ! ( distance ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_POINT_MESG ) ) . leader_time
as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_POINT_MESG
) , "::" , stringify ! ( leader_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_POINT_MESG ) ) .
message_index as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_POINT_MESG
) , "::" , stringify ! ( message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_POINT_MESG ) ) . altitude as
* const _ as usize } , 34usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_POINT_MESG
) , "::" , stringify ! ( altitude ) ));
}
impl Clone for FIT_SEGMENT_POINT_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_SEGMENT_POINT_FIELD_NUM {
FIT_SEGMENT_POINT_FIELD_NUM_POSITION_LAT = 1,
FIT_SEGMENT_POINT_FIELD_NUM_POSITION_LONG = 2,
FIT_SEGMENT_POINT_FIELD_NUM_DISTANCE = 3,
FIT_SEGMENT_POINT_FIELD_NUM_LEADER_TIME = 5,
FIT_SEGMENT_POINT_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_SEGMENT_POINT_FIELD_NUM_ALTITUDE = 4,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_SEGMENT_POINT_MESG_FIELD {
FIT_SEGMENT_POINT_MESG_POSITION_LAT = 0,
FIT_SEGMENT_POINT_MESG_POSITION_LONG = 1,
FIT_SEGMENT_POINT_MESG_DISTANCE = 2,
FIT_SEGMENT_POINT_MESG_LEADER_TIME = 3,
FIT_SEGMENT_POINT_MESG_MESSAGE_INDEX = 4,
FIT_SEGMENT_POINT_MESG_ALTITUDE = 5,
FIT_SEGMENT_POINT_MESG_FIELDS = 6,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_SEGMENT_POINT_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 18usize],
}
#[test]
fn bindgen_test_layout_FIT_SEGMENT_POINT_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_SEGMENT_POINT_MESG_DEF>() , 24usize ,
concat ! (
"Size of: " , stringify ! ( FIT_SEGMENT_POINT_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_SEGMENT_POINT_MESG_DEF>() , 2usize
, concat ! (
"Alignment of " , stringify ! ( FIT_SEGMENT_POINT_MESG_DEF )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_POINT_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SEGMENT_POINT_MESG_DEF ) , "::" , stringify ! ( reserved_1
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_POINT_MESG_DEF ) ) . arch as
* const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SEGMENT_POINT_MESG_DEF ) , "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_POINT_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SEGMENT_POINT_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_POINT_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SEGMENT_POINT_MESG_DEF ) , "::" , stringify ! ( num_fields
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_POINT_MESG_DEF ) ) . fields
as * const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SEGMENT_POINT_MESG_DEF ) , "::" , stringify ! ( fields )
));
}
impl Clone for FIT_SEGMENT_POINT_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
pub struct FIT_SEGMENT_LAP_MESG {
pub timestamp: FIT_DATE_TIME,
pub start_time: FIT_DATE_TIME,
pub start_position_lat: FIT_SINT32,
pub start_position_long: FIT_SINT32,
pub end_position_lat: FIT_SINT32,
pub end_position_long: FIT_SINT32,
pub total_elapsed_time: FIT_UINT32,
pub total_timer_time: FIT_UINT32,
pub total_distance: FIT_UINT32,
pub total_cycles: FIT_UINT32,
pub nec_lat: FIT_SINT32,
pub nec_long: FIT_SINT32,
pub swc_lat: FIT_SINT32,
pub swc_long: FIT_SINT32,
pub name: [FIT_STRING; 16usize],
pub total_work: FIT_UINT32,
pub total_moving_time: FIT_UINT32,
pub time_in_hr_zone: [FIT_UINT32; 1usize],
pub time_in_speed_zone: [FIT_UINT32; 1usize],
pub time_in_cadence_zone: [FIT_UINT32; 1usize],
pub time_in_power_zone: [FIT_UINT32; 1usize],
pub active_time: FIT_UINT32,
pub message_index: FIT_MESSAGE_INDEX,
pub total_calories: FIT_UINT16,
pub total_fat_calories: FIT_UINT16,
pub avg_speed: FIT_UINT16,
pub max_speed: FIT_UINT16,
pub avg_power: FIT_UINT16,
pub max_power: FIT_UINT16,
pub total_ascent: FIT_UINT16,
pub total_descent: FIT_UINT16,
pub normalized_power: FIT_UINT16,
pub left_right_balance: FIT_LEFT_RIGHT_BALANCE_100,
pub avg_altitude: FIT_UINT16,
pub max_altitude: FIT_UINT16,
pub avg_grade: FIT_SINT16,
pub avg_pos_grade: FIT_SINT16,
pub avg_neg_grade: FIT_SINT16,
pub max_pos_grade: FIT_SINT16,
pub max_neg_grade: FIT_SINT16,
pub avg_pos_vertical_speed: FIT_SINT16,
pub avg_neg_vertical_speed: FIT_SINT16,
pub max_pos_vertical_speed: FIT_SINT16,
pub max_neg_vertical_speed: FIT_SINT16,
pub repetition_num: FIT_UINT16,
pub min_altitude: FIT_UINT16,
pub wkt_step_index: FIT_MESSAGE_INDEX,
pub front_gear_shift_count: FIT_UINT16,
pub rear_gear_shift_count: FIT_UINT16,
pub event: FIT_EVENT,
pub event_type: FIT_EVENT_TYPE,
pub avg_heart_rate: FIT_UINT8,
pub max_heart_rate: FIT_UINT8,
pub avg_cadence: FIT_UINT8,
pub max_cadence: FIT_UINT8,
pub sport: FIT_SPORT,
pub event_group: FIT_UINT8,
pub sub_sport: FIT_SUB_SPORT,
pub gps_accuracy: FIT_UINT8,
pub avg_temperature: FIT_SINT8,
pub max_temperature: FIT_SINT8,
pub min_heart_rate: FIT_UINT8,
pub sport_event: FIT_SPORT_EVENT,
pub avg_left_torque_effectiveness: FIT_UINT8,
pub avg_right_torque_effectiveness: FIT_UINT8,
pub avg_left_pedal_smoothness: FIT_UINT8,
pub avg_right_pedal_smoothness: FIT_UINT8,
pub avg_combined_pedal_smoothness: FIT_UINT8,
pub status: FIT_SEGMENT_LAP_STATUS,
pub uuid: [FIT_STRING; 33usize],
pub avg_fractional_cadence: FIT_UINT8,
pub max_fractional_cadence: FIT_UINT8,
pub total_fractional_cycles: FIT_UINT8,
}
#[test]
fn bindgen_test_layout_FIT_SEGMENT_LAP_MESG() {
assert_eq!(::std::mem::size_of::<FIT_SEGMENT_LAP_MESG>() , 296usize ,
concat ! ( "Size of: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
));
assert_eq! (::std::mem::align_of::<FIT_SEGMENT_LAP_MESG>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_SEGMENT_LAP_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . timestamp as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( timestamp ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . start_time as
* const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( start_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
start_position_lat as * const _ as usize } , 16usize , concat
! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( start_position_lat ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
start_position_long as * const _ as usize } , 24usize , concat
! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( start_position_long ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
end_position_lat as * const _ as usize } , 32usize , concat !
(
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( end_position_lat ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
end_position_long as * const _ as usize } , 40usize , concat !
(
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( end_position_long ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
total_elapsed_time as * const _ as usize } , 48usize , concat
! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( total_elapsed_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
total_timer_time as * const _ as usize } , 56usize , concat !
(
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( total_timer_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . total_distance
as * const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( total_distance ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . total_cycles
as * const _ as usize } , 72usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( total_cycles ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . nec_lat as *
const _ as usize } , 80usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( nec_lat ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . nec_long as *
const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( nec_long ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . swc_lat as *
const _ as usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( swc_lat ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . swc_long as *
const _ as usize } , 104usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( swc_long ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . name as *
const _ as usize } , 112usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( name ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . total_work as
* const _ as usize } , 128usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( total_work ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
total_moving_time as * const _ as usize } , 136usize , concat
! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( total_moving_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
time_in_hr_zone as * const _ as usize } , 144usize , concat !
(
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( time_in_hr_zone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
time_in_speed_zone as * const _ as usize } , 152usize , concat
! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( time_in_speed_zone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
time_in_cadence_zone as * const _ as usize } , 160usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( time_in_cadence_zone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
time_in_power_zone as * const _ as usize } , 168usize , concat
! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( time_in_power_zone ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . active_time as
* const _ as usize } , 176usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( active_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . message_index
as * const _ as usize } , 184usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . total_calories
as * const _ as usize } , 186usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( total_calories ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
total_fat_calories as * const _ as usize } , 188usize , concat
! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( total_fat_calories ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . avg_speed as *
const _ as usize } , 190usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( avg_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . max_speed as *
const _ as usize } , 192usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( max_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . avg_power as *
const _ as usize } , 194usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( avg_power ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . max_power as *
const _ as usize } , 196usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( max_power ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . total_ascent
as * const _ as usize } , 198usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( total_ascent ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . total_descent
as * const _ as usize } , 200usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( total_descent ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
normalized_power as * const _ as usize } , 202usize , concat !
(
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( normalized_power ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
left_right_balance as * const _ as usize } , 204usize , concat
! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( left_right_balance ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . avg_altitude
as * const _ as usize } , 206usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( avg_altitude ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . max_altitude
as * const _ as usize } , 208usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( max_altitude ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . avg_grade as *
const _ as usize } , 210usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( avg_grade ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . avg_pos_grade
as * const _ as usize } , 212usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( avg_pos_grade ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . avg_neg_grade
as * const _ as usize } , 214usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( avg_neg_grade ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . max_pos_grade
as * const _ as usize } , 216usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( max_pos_grade ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . max_neg_grade
as * const _ as usize } , 218usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( max_neg_grade ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
avg_pos_vertical_speed as * const _ as usize } , 220usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( avg_pos_vertical_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
avg_neg_vertical_speed as * const _ as usize } , 222usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( avg_neg_vertical_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
max_pos_vertical_speed as * const _ as usize } , 224usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( max_pos_vertical_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
max_neg_vertical_speed as * const _ as usize } , 226usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( max_neg_vertical_speed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . repetition_num
as * const _ as usize } , 228usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( repetition_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . min_altitude
as * const _ as usize } , 230usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( min_altitude ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . wkt_step_index
as * const _ as usize } , 232usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( wkt_step_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
front_gear_shift_count as * const _ as usize } , 234usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( front_gear_shift_count ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
rear_gear_shift_count as * const _ as usize } , 236usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( rear_gear_shift_count ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . event as *
const _ as usize } , 238usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( event ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . event_type as
* const _ as usize } , 239usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( event_type ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . avg_heart_rate
as * const _ as usize } , 240usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( avg_heart_rate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . max_heart_rate
as * const _ as usize } , 241usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( max_heart_rate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . avg_cadence as
* const _ as usize } , 242usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( avg_cadence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . max_cadence as
* const _ as usize } , 243usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( max_cadence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . sport as *
const _ as usize } , 244usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( sport ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . event_group as
* const _ as usize } , 245usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( event_group ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . sub_sport as *
const _ as usize } , 246usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( sub_sport ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . gps_accuracy
as * const _ as usize } , 247usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( gps_accuracy ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
avg_temperature as * const _ as usize } , 248usize , concat !
(
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( avg_temperature ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
max_temperature as * const _ as usize } , 249usize , concat !
(
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( max_temperature ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . min_heart_rate
as * const _ as usize } , 250usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( min_heart_rate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . sport_event as
* const _ as usize } , 251usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( sport_event ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
avg_left_torque_effectiveness as * const _ as usize } ,
252usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( avg_left_torque_effectiveness ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
avg_right_torque_effectiveness as * const _ as usize } ,
253usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( avg_right_torque_effectiveness ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
avg_left_pedal_smoothness as * const _ as usize } , 254usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( avg_left_pedal_smoothness ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
avg_right_pedal_smoothness as * const _ as usize } , 255usize
, concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( avg_right_pedal_smoothness ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
avg_combined_pedal_smoothness as * const _ as usize } ,
256usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( avg_combined_pedal_smoothness ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . status as *
const _ as usize } , 257usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( status ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) . uuid as *
const _ as usize } , 258usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( uuid ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
avg_fractional_cadence as * const _ as usize } , 291usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( avg_fractional_cadence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
max_fractional_cadence as * const _ as usize } , 292usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( max_fractional_cadence ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG ) ) .
total_fractional_cycles as * const _ as usize } , 293usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_LAP_MESG )
, "::" , stringify ! ( total_fractional_cycles ) ));
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_SEGMENT_LAP_FIELD_NUM {
FIT_SEGMENT_LAP_FIELD_NUM_TIMESTAMP = 253,
FIT_SEGMENT_LAP_FIELD_NUM_START_TIME = 2,
FIT_SEGMENT_LAP_FIELD_NUM_START_POSITION_LAT = 3,
FIT_SEGMENT_LAP_FIELD_NUM_START_POSITION_LONG = 4,
FIT_SEGMENT_LAP_FIELD_NUM_END_POSITION_LAT = 5,
FIT_SEGMENT_LAP_FIELD_NUM_END_POSITION_LONG = 6,
FIT_SEGMENT_LAP_FIELD_NUM_TOTAL_ELAPSED_TIME = 7,
FIT_SEGMENT_LAP_FIELD_NUM_TOTAL_TIMER_TIME = 8,
FIT_SEGMENT_LAP_FIELD_NUM_TOTAL_DISTANCE = 9,
FIT_SEGMENT_LAP_FIELD_NUM_TOTAL_CYCLES = 10,
FIT_SEGMENT_LAP_FIELD_NUM_NEC_LAT = 25,
FIT_SEGMENT_LAP_FIELD_NUM_NEC_LONG = 26,
FIT_SEGMENT_LAP_FIELD_NUM_SWC_LAT = 27,
FIT_SEGMENT_LAP_FIELD_NUM_SWC_LONG = 28,
FIT_SEGMENT_LAP_FIELD_NUM_NAME = 29,
FIT_SEGMENT_LAP_FIELD_NUM_TOTAL_WORK = 33,
FIT_SEGMENT_LAP_FIELD_NUM_TOTAL_MOVING_TIME = 44,
FIT_SEGMENT_LAP_FIELD_NUM_TIME_IN_HR_ZONE = 49,
FIT_SEGMENT_LAP_FIELD_NUM_TIME_IN_SPEED_ZONE = 50,
FIT_SEGMENT_LAP_FIELD_NUM_TIME_IN_CADENCE_ZONE = 51,
FIT_SEGMENT_LAP_FIELD_NUM_TIME_IN_POWER_ZONE = 52,
FIT_SEGMENT_LAP_FIELD_NUM_ACTIVE_TIME = 56,
FIT_SEGMENT_LAP_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_SEGMENT_LAP_FIELD_NUM_TOTAL_CALORIES = 11,
FIT_SEGMENT_LAP_FIELD_NUM_TOTAL_FAT_CALORIES = 12,
FIT_SEGMENT_LAP_FIELD_NUM_AVG_SPEED = 13,
FIT_SEGMENT_LAP_FIELD_NUM_MAX_SPEED = 14,
FIT_SEGMENT_LAP_FIELD_NUM_AVG_POWER = 19,
FIT_SEGMENT_LAP_FIELD_NUM_MAX_POWER = 20,
FIT_SEGMENT_LAP_FIELD_NUM_TOTAL_ASCENT = 21,
FIT_SEGMENT_LAP_FIELD_NUM_TOTAL_DESCENT = 22,
FIT_SEGMENT_LAP_FIELD_NUM_NORMALIZED_POWER = 30,
FIT_SEGMENT_LAP_FIELD_NUM_LEFT_RIGHT_BALANCE = 31,
FIT_SEGMENT_LAP_FIELD_NUM_AVG_ALTITUDE = 34,
FIT_SEGMENT_LAP_FIELD_NUM_MAX_ALTITUDE = 35,
FIT_SEGMENT_LAP_FIELD_NUM_AVG_GRADE = 37,
FIT_SEGMENT_LAP_FIELD_NUM_AVG_POS_GRADE = 38,
FIT_SEGMENT_LAP_FIELD_NUM_AVG_NEG_GRADE = 39,
FIT_SEGMENT_LAP_FIELD_NUM_MAX_POS_GRADE = 40,
FIT_SEGMENT_LAP_FIELD_NUM_MAX_NEG_GRADE = 41,
FIT_SEGMENT_LAP_FIELD_NUM_AVG_POS_VERTICAL_SPEED = 45,
FIT_SEGMENT_LAP_FIELD_NUM_AVG_NEG_VERTICAL_SPEED = 46,
FIT_SEGMENT_LAP_FIELD_NUM_MAX_POS_VERTICAL_SPEED = 47,
FIT_SEGMENT_LAP_FIELD_NUM_MAX_NEG_VERTICAL_SPEED = 48,
FIT_SEGMENT_LAP_FIELD_NUM_REPETITION_NUM = 53,
FIT_SEGMENT_LAP_FIELD_NUM_MIN_ALTITUDE = 54,
FIT_SEGMENT_LAP_FIELD_NUM_WKT_STEP_INDEX = 57,
FIT_SEGMENT_LAP_FIELD_NUM_FRONT_GEAR_SHIFT_COUNT = 69,
FIT_SEGMENT_LAP_FIELD_NUM_REAR_GEAR_SHIFT_COUNT = 70,
FIT_SEGMENT_LAP_FIELD_NUM_EVENT = 0,
FIT_SEGMENT_LAP_FIELD_NUM_EVENT_TYPE = 1,
FIT_SEGMENT_LAP_FIELD_NUM_AVG_HEART_RATE = 15,
FIT_SEGMENT_LAP_FIELD_NUM_MAX_HEART_RATE = 16,
FIT_SEGMENT_LAP_FIELD_NUM_AVG_CADENCE = 17,
FIT_SEGMENT_LAP_FIELD_NUM_MAX_CADENCE = 18,
FIT_SEGMENT_LAP_FIELD_NUM_SPORT = 23,
FIT_SEGMENT_LAP_FIELD_NUM_EVENT_GROUP = 24,
FIT_SEGMENT_LAP_FIELD_NUM_SUB_SPORT = 32,
FIT_SEGMENT_LAP_FIELD_NUM_GPS_ACCURACY = 36,
FIT_SEGMENT_LAP_FIELD_NUM_AVG_TEMPERATURE = 42,
FIT_SEGMENT_LAP_FIELD_NUM_MAX_TEMPERATURE = 43,
FIT_SEGMENT_LAP_FIELD_NUM_MIN_HEART_RATE = 55,
FIT_SEGMENT_LAP_FIELD_NUM_SPORT_EVENT = 58,
FIT_SEGMENT_LAP_FIELD_NUM_AVG_LEFT_TORQUE_EFFECTIVENESS = 59,
FIT_SEGMENT_LAP_FIELD_NUM_AVG_RIGHT_TORQUE_EFFECTIVENESS = 60,
FIT_SEGMENT_LAP_FIELD_NUM_AVG_LEFT_PEDAL_SMOOTHNESS = 61,
FIT_SEGMENT_LAP_FIELD_NUM_AVG_RIGHT_PEDAL_SMOOTHNESS = 62,
FIT_SEGMENT_LAP_FIELD_NUM_AVG_COMBINED_PEDAL_SMOOTHNESS = 63,
FIT_SEGMENT_LAP_FIELD_NUM_STATUS = 64,
FIT_SEGMENT_LAP_FIELD_NUM_UUID = 65,
FIT_SEGMENT_LAP_FIELD_NUM_AVG_FRACTIONAL_CADENCE = 66,
FIT_SEGMENT_LAP_FIELD_NUM_MAX_FRACTIONAL_CADENCE = 67,
FIT_SEGMENT_LAP_FIELD_NUM_TOTAL_FRACTIONAL_CYCLES = 68,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_SEGMENT_LAP_MESG_FIELD {
FIT_SEGMENT_LAP_MESG_TIMESTAMP = 0,
FIT_SEGMENT_LAP_MESG_START_TIME = 1,
FIT_SEGMENT_LAP_MESG_START_POSITION_LAT = 2,
FIT_SEGMENT_LAP_MESG_START_POSITION_LONG = 3,
FIT_SEGMENT_LAP_MESG_END_POSITION_LAT = 4,
FIT_SEGMENT_LAP_MESG_END_POSITION_LONG = 5,
FIT_SEGMENT_LAP_MESG_TOTAL_ELAPSED_TIME = 6,
FIT_SEGMENT_LAP_MESG_TOTAL_TIMER_TIME = 7,
FIT_SEGMENT_LAP_MESG_TOTAL_DISTANCE = 8,
FIT_SEGMENT_LAP_MESG_TOTAL_CYCLES = 9,
FIT_SEGMENT_LAP_MESG_NEC_LAT = 10,
FIT_SEGMENT_LAP_MESG_NEC_LONG = 11,
FIT_SEGMENT_LAP_MESG_SWC_LAT = 12,
FIT_SEGMENT_LAP_MESG_SWC_LONG = 13,
FIT_SEGMENT_LAP_MESG_NAME = 14,
FIT_SEGMENT_LAP_MESG_TOTAL_WORK = 15,
FIT_SEGMENT_LAP_MESG_TOTAL_MOVING_TIME = 16,
FIT_SEGMENT_LAP_MESG_TIME_IN_HR_ZONE = 17,
FIT_SEGMENT_LAP_MESG_TIME_IN_SPEED_ZONE = 18,
FIT_SEGMENT_LAP_MESG_TIME_IN_CADENCE_ZONE = 19,
FIT_SEGMENT_LAP_MESG_TIME_IN_POWER_ZONE = 20,
FIT_SEGMENT_LAP_MESG_ACTIVE_TIME = 21,
FIT_SEGMENT_LAP_MESG_MESSAGE_INDEX = 22,
FIT_SEGMENT_LAP_MESG_TOTAL_CALORIES = 23,
FIT_SEGMENT_LAP_MESG_TOTAL_FAT_CALORIES = 24,
FIT_SEGMENT_LAP_MESG_AVG_SPEED = 25,
FIT_SEGMENT_LAP_MESG_MAX_SPEED = 26,
FIT_SEGMENT_LAP_MESG_AVG_POWER = 27,
FIT_SEGMENT_LAP_MESG_MAX_POWER = 28,
FIT_SEGMENT_LAP_MESG_TOTAL_ASCENT = 29,
FIT_SEGMENT_LAP_MESG_TOTAL_DESCENT = 30,
FIT_SEGMENT_LAP_MESG_NORMALIZED_POWER = 31,
FIT_SEGMENT_LAP_MESG_LEFT_RIGHT_BALANCE = 32,
FIT_SEGMENT_LAP_MESG_AVG_ALTITUDE = 33,
FIT_SEGMENT_LAP_MESG_MAX_ALTITUDE = 34,
FIT_SEGMENT_LAP_MESG_AVG_GRADE = 35,
FIT_SEGMENT_LAP_MESG_AVG_POS_GRADE = 36,
FIT_SEGMENT_LAP_MESG_AVG_NEG_GRADE = 37,
FIT_SEGMENT_LAP_MESG_MAX_POS_GRADE = 38,
FIT_SEGMENT_LAP_MESG_MAX_NEG_GRADE = 39,
FIT_SEGMENT_LAP_MESG_AVG_POS_VERTICAL_SPEED = 40,
FIT_SEGMENT_LAP_MESG_AVG_NEG_VERTICAL_SPEED = 41,
FIT_SEGMENT_LAP_MESG_MAX_POS_VERTICAL_SPEED = 42,
FIT_SEGMENT_LAP_MESG_MAX_NEG_VERTICAL_SPEED = 43,
FIT_SEGMENT_LAP_MESG_REPETITION_NUM = 44,
FIT_SEGMENT_LAP_MESG_MIN_ALTITUDE = 45,
FIT_SEGMENT_LAP_MESG_WKT_STEP_INDEX = 46,
FIT_SEGMENT_LAP_MESG_FRONT_GEAR_SHIFT_COUNT = 47,
FIT_SEGMENT_LAP_MESG_REAR_GEAR_SHIFT_COUNT = 48,
FIT_SEGMENT_LAP_MESG_EVENT = 49,
FIT_SEGMENT_LAP_MESG_EVENT_TYPE = 50,
FIT_SEGMENT_LAP_MESG_AVG_HEART_RATE = 51,
FIT_SEGMENT_LAP_MESG_MAX_HEART_RATE = 52,
FIT_SEGMENT_LAP_MESG_AVG_CADENCE = 53,
FIT_SEGMENT_LAP_MESG_MAX_CADENCE = 54,
FIT_SEGMENT_LAP_MESG_SPORT = 55,
FIT_SEGMENT_LAP_MESG_EVENT_GROUP = 56,
FIT_SEGMENT_LAP_MESG_SUB_SPORT = 57,
FIT_SEGMENT_LAP_MESG_GPS_ACCURACY = 58,
FIT_SEGMENT_LAP_MESG_AVG_TEMPERATURE = 59,
FIT_SEGMENT_LAP_MESG_MAX_TEMPERATURE = 60,
FIT_SEGMENT_LAP_MESG_MIN_HEART_RATE = 61,
FIT_SEGMENT_LAP_MESG_SPORT_EVENT = 62,
FIT_SEGMENT_LAP_MESG_AVG_LEFT_TORQUE_EFFECTIVENESS = 63,
FIT_SEGMENT_LAP_MESG_AVG_RIGHT_TORQUE_EFFECTIVENESS = 64,
FIT_SEGMENT_LAP_MESG_AVG_LEFT_PEDAL_SMOOTHNESS = 65,
FIT_SEGMENT_LAP_MESG_AVG_RIGHT_PEDAL_SMOOTHNESS = 66,
FIT_SEGMENT_LAP_MESG_AVG_COMBINED_PEDAL_SMOOTHNESS = 67,
FIT_SEGMENT_LAP_MESG_STATUS = 68,
FIT_SEGMENT_LAP_MESG_UUID = 69,
FIT_SEGMENT_LAP_MESG_AVG_FRACTIONAL_CADENCE = 70,
FIT_SEGMENT_LAP_MESG_MAX_FRACTIONAL_CADENCE = 71,
FIT_SEGMENT_LAP_MESG_TOTAL_FRACTIONAL_CYCLES = 72,
FIT_SEGMENT_LAP_MESG_FIELDS = 73,
}
#[repr(C)]
pub struct FIT_SEGMENT_LAP_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 219usize],
}
#[test]
fn bindgen_test_layout_FIT_SEGMENT_LAP_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_SEGMENT_LAP_MESG_DEF>() , 224usize ,
concat ! (
"Size of: " , stringify ! ( FIT_SEGMENT_LAP_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_SEGMENT_LAP_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_SEGMENT_LAP_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG_DEF ) ) . reserved_1
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SEGMENT_LAP_MESG_DEF ) , "::" , stringify ! ( reserved_1 )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SEGMENT_LAP_MESG_DEF ) , "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SEGMENT_LAP_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG_DEF ) ) . num_fields
as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SEGMENT_LAP_MESG_DEF ) , "::" , stringify ! ( num_fields )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_LAP_MESG_DEF ) ) . fields as
* const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SEGMENT_LAP_MESG_DEF ) , "::" , stringify ! ( fields ) ));
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_SEGMENT_FILE_MESG {
pub user_profile_primary_key: FIT_UINT32,
pub leader_group_primary_key: [FIT_UINT32; 1usize],
pub leader_activity_id: [FIT_UINT32; 1usize],
pub message_index: FIT_MESSAGE_INDEX,
pub file_uuid: [FIT_STRING; 1usize],
pub enabled: FIT_BOOL,
pub leader_type: [FIT_SEGMENT_LEADERBOARD_TYPE; 1usize],
}
#[test]
fn bindgen_test_layout_FIT_SEGMENT_FILE_MESG() {
assert_eq!(::std::mem::size_of::<FIT_SEGMENT_FILE_MESG>() , 32usize ,
concat ! ( "Size of: " , stringify ! ( FIT_SEGMENT_FILE_MESG )
));
assert_eq! (::std::mem::align_of::<FIT_SEGMENT_FILE_MESG>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_SEGMENT_FILE_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_FILE_MESG ) ) .
user_profile_primary_key as * const _ as usize } , 0usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_FILE_MESG )
, "::" , stringify ! ( user_profile_primary_key ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_FILE_MESG ) ) .
leader_group_primary_key as * const _ as usize } , 8usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_FILE_MESG )
, "::" , stringify ! ( leader_group_primary_key ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_FILE_MESG ) ) .
leader_activity_id as * const _ as usize } , 16usize , concat
! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_FILE_MESG )
, "::" , stringify ! ( leader_activity_id ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_FILE_MESG ) ) . message_index
as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_FILE_MESG )
, "::" , stringify ! ( message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_FILE_MESG ) ) . file_uuid as
* const _ as usize } , 26usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_FILE_MESG )
, "::" , stringify ! ( file_uuid ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_FILE_MESG ) ) . enabled as *
const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_FILE_MESG )
, "::" , stringify ! ( enabled ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_FILE_MESG ) ) . leader_type
as * const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SEGMENT_FILE_MESG )
, "::" , stringify ! ( leader_type ) ));
}
impl Clone for FIT_SEGMENT_FILE_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_SEGMENT_FILE_FIELD_NUM {
FIT_SEGMENT_FILE_FIELD_NUM_USER_PROFILE_PRIMARY_KEY = 4,
FIT_SEGMENT_FILE_FIELD_NUM_LEADER_GROUP_PRIMARY_KEY = 8,
FIT_SEGMENT_FILE_FIELD_NUM_LEADER_ACTIVITY_ID = 9,
FIT_SEGMENT_FILE_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_SEGMENT_FILE_FIELD_NUM_FILE_UUID = 1,
FIT_SEGMENT_FILE_FIELD_NUM_ENABLED = 3,
FIT_SEGMENT_FILE_FIELD_NUM_LEADER_TYPE = 7,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_SEGMENT_FILE_MESG_FIELD {
FIT_SEGMENT_FILE_MESG_USER_PROFILE_PRIMARY_KEY = 0,
FIT_SEGMENT_FILE_MESG_LEADER_GROUP_PRIMARY_KEY = 1,
FIT_SEGMENT_FILE_MESG_LEADER_ACTIVITY_ID = 2,
FIT_SEGMENT_FILE_MESG_MESSAGE_INDEX = 3,
FIT_SEGMENT_FILE_MESG_FILE_UUID = 4,
FIT_SEGMENT_FILE_MESG_ENABLED = 5,
FIT_SEGMENT_FILE_MESG_LEADER_TYPE = 6,
FIT_SEGMENT_FILE_MESG_FIELDS = 7,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_SEGMENT_FILE_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 21usize],
}
#[test]
fn bindgen_test_layout_FIT_SEGMENT_FILE_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_SEGMENT_FILE_MESG_DEF>() , 26usize ,
concat ! (
"Size of: " , stringify ! ( FIT_SEGMENT_FILE_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_SEGMENT_FILE_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_SEGMENT_FILE_MESG_DEF )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_FILE_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SEGMENT_FILE_MESG_DEF ) , "::" , stringify ! ( reserved_1
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_FILE_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SEGMENT_FILE_MESG_DEF ) , "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_FILE_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SEGMENT_FILE_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_FILE_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SEGMENT_FILE_MESG_DEF ) , "::" , stringify ! ( num_fields
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SEGMENT_FILE_MESG_DEF ) ) . fields as
* const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_SEGMENT_FILE_MESG_DEF ) , "::" , stringify ! ( fields )
));
}
impl Clone for FIT_SEGMENT_FILE_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_WORKOUT_MESG {
pub capabilities: FIT_WORKOUT_CAPABILITIES,
pub wkt_name: [FIT_STRING; 16usize],
pub num_valid_steps: FIT_UINT16,
pub pool_length: FIT_UINT16,
pub sport: FIT_SPORT,
pub sub_sport: FIT_SUB_SPORT,
pub pool_length_unit: FIT_DISPLAY_MEASURE,
}
#[test]
fn bindgen_test_layout_FIT_WORKOUT_MESG() {
assert_eq!(::std::mem::size_of::<FIT_WORKOUT_MESG>() , 32usize , concat !
( "Size of: " , stringify ! ( FIT_WORKOUT_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_WORKOUT_MESG>() , 8usize , concat !
( "Alignment of " , stringify ! ( FIT_WORKOUT_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_MESG ) ) . capabilities as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WORKOUT_MESG ) ,
"::" , stringify ! ( capabilities ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_MESG ) ) . wkt_name as *
const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WORKOUT_MESG ) ,
"::" , stringify ! ( wkt_name ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_MESG ) ) . num_valid_steps as
* const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WORKOUT_MESG ) ,
"::" , stringify ! ( num_valid_steps ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_MESG ) ) . pool_length as *
const _ as usize } , 26usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WORKOUT_MESG ) ,
"::" , stringify ! ( pool_length ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_MESG ) ) . sport as * const _
as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WORKOUT_MESG ) ,
"::" , stringify ! ( sport ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_MESG ) ) . sub_sport as *
const _ as usize } , 29usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WORKOUT_MESG ) ,
"::" , stringify ! ( sub_sport ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_MESG ) ) . pool_length_unit
as * const _ as usize } , 30usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WORKOUT_MESG ) ,
"::" , stringify ! ( pool_length_unit ) ));
}
impl Clone for FIT_WORKOUT_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_WORKOUT_FIELD_NUM {
FIT_WORKOUT_FIELD_NUM_CAPABILITIES = 5,
FIT_WORKOUT_FIELD_NUM_WKT_NAME = 8,
FIT_WORKOUT_FIELD_NUM_NUM_VALID_STEPS = 6,
FIT_WORKOUT_FIELD_NUM_POOL_LENGTH = 14,
FIT_WORKOUT_FIELD_NUM_SPORT = 4,
FIT_WORKOUT_FIELD_NUM_SUB_SPORT = 11,
FIT_WORKOUT_FIELD_NUM_POOL_LENGTH_UNIT = 15,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_WORKOUT_MESG_FIELD {
FIT_WORKOUT_MESG_CAPABILITIES = 0,
FIT_WORKOUT_MESG_WKT_NAME = 1,
FIT_WORKOUT_MESG_NUM_VALID_STEPS = 2,
FIT_WORKOUT_MESG_POOL_LENGTH = 3,
FIT_WORKOUT_MESG_SPORT = 4,
FIT_WORKOUT_MESG_SUB_SPORT = 5,
FIT_WORKOUT_MESG_POOL_LENGTH_UNIT = 6,
FIT_WORKOUT_MESG_FIELDS = 7,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_WORKOUT_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 21usize],
}
#[test]
fn bindgen_test_layout_FIT_WORKOUT_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_WORKOUT_MESG_DEF>() , 26usize ,
concat ! ( "Size of: " , stringify ! ( FIT_WORKOUT_MESG_DEF )
));
assert_eq! (::std::mem::align_of::<FIT_WORKOUT_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_WORKOUT_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_MESG_DEF ) ) . reserved_1 as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WORKOUT_MESG_DEF )
, "::" , stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WORKOUT_MESG_DEF )
, "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WORKOUT_MESG_DEF )
, "::" , stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_MESG_DEF ) ) . num_fields as
* const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WORKOUT_MESG_DEF )
, "::" , stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_MESG_DEF ) ) . fields as *
const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WORKOUT_MESG_DEF )
, "::" , stringify ! ( fields ) ));
}
impl Clone for FIT_WORKOUT_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_WORKOUT_SESSION_MESG {
pub message_index: FIT_MESSAGE_INDEX,
pub num_valid_steps: FIT_UINT16,
pub first_step_index: FIT_UINT16,
pub pool_length: FIT_UINT16,
pub sport: FIT_SPORT,
pub sub_sport: FIT_SUB_SPORT,
pub pool_length_unit: FIT_DISPLAY_MEASURE,
}
#[test]
fn bindgen_test_layout_FIT_WORKOUT_SESSION_MESG() {
assert_eq!(::std::mem::size_of::<FIT_WORKOUT_SESSION_MESG>() , 12usize ,
concat ! (
"Size of: " , stringify ! ( FIT_WORKOUT_SESSION_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_WORKOUT_SESSION_MESG>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_WORKOUT_SESSION_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_SESSION_MESG ) ) .
message_index as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WORKOUT_SESSION_MESG ) , "::" , stringify ! (
message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_SESSION_MESG ) ) .
num_valid_steps as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WORKOUT_SESSION_MESG ) , "::" , stringify ! (
num_valid_steps ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_SESSION_MESG ) ) .
first_step_index as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WORKOUT_SESSION_MESG ) , "::" , stringify ! (
first_step_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_SESSION_MESG ) ) .
pool_length as * const _ as usize } , 6usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WORKOUT_SESSION_MESG ) , "::" , stringify ! ( pool_length
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_SESSION_MESG ) ) . sport as *
const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WORKOUT_SESSION_MESG ) , "::" , stringify ! ( sport ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_SESSION_MESG ) ) . sub_sport
as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WORKOUT_SESSION_MESG ) , "::" , stringify ! ( sub_sport )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_SESSION_MESG ) ) .
pool_length_unit as * const _ as usize } , 10usize , concat !
(
"Alignment of field: " , stringify ! (
FIT_WORKOUT_SESSION_MESG ) , "::" , stringify ! (
pool_length_unit ) ));
}
impl Clone for FIT_WORKOUT_SESSION_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_WORKOUT_SESSION_FIELD_NUM {
FIT_WORKOUT_SESSION_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_WORKOUT_SESSION_FIELD_NUM_NUM_VALID_STEPS = 2,
FIT_WORKOUT_SESSION_FIELD_NUM_FIRST_STEP_INDEX = 3,
FIT_WORKOUT_SESSION_FIELD_NUM_POOL_LENGTH = 4,
FIT_WORKOUT_SESSION_FIELD_NUM_SPORT = 0,
FIT_WORKOUT_SESSION_FIELD_NUM_SUB_SPORT = 1,
FIT_WORKOUT_SESSION_FIELD_NUM_POOL_LENGTH_UNIT = 5,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_WORKOUT_SESSION_MESG_FIELD {
FIT_WORKOUT_SESSION_MESG_MESSAGE_INDEX = 0,
FIT_WORKOUT_SESSION_MESG_NUM_VALID_STEPS = 1,
FIT_WORKOUT_SESSION_MESG_FIRST_STEP_INDEX = 2,
FIT_WORKOUT_SESSION_MESG_POOL_LENGTH = 3,
FIT_WORKOUT_SESSION_MESG_SPORT = 4,
FIT_WORKOUT_SESSION_MESG_SUB_SPORT = 5,
FIT_WORKOUT_SESSION_MESG_POOL_LENGTH_UNIT = 6,
FIT_WORKOUT_SESSION_MESG_FIELDS = 7,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_WORKOUT_SESSION_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 21usize],
}
#[test]
fn bindgen_test_layout_FIT_WORKOUT_SESSION_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_WORKOUT_SESSION_MESG_DEF>() , 26usize
, concat ! (
"Size of: " , stringify ! ( FIT_WORKOUT_SESSION_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_WORKOUT_SESSION_MESG_DEF>() ,
2usize , concat ! (
"Alignment of " , stringify ! ( FIT_WORKOUT_SESSION_MESG_DEF )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_SESSION_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WORKOUT_SESSION_MESG_DEF ) , "::" , stringify ! (
reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_SESSION_MESG_DEF ) ) . arch
as * const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WORKOUT_SESSION_MESG_DEF ) , "::" , stringify ! ( arch )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_SESSION_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WORKOUT_SESSION_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_SESSION_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WORKOUT_SESSION_MESG_DEF ) , "::" , stringify ! (
num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_SESSION_MESG_DEF ) ) . fields
as * const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WORKOUT_SESSION_MESG_DEF ) , "::" , stringify ! ( fields )
));
}
impl Clone for FIT_WORKOUT_SESSION_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
pub struct FIT_WORKOUT_STEP_MESG {
pub wkt_step_name: [FIT_STRING; 16usize],
pub duration_value: FIT_UINT32,
pub target_value: FIT_UINT32,
pub custom_target_value_low: FIT_UINT32,
pub custom_target_value_high: FIT_UINT32,
pub message_index: FIT_MESSAGE_INDEX,
pub duration_type: FIT_WKT_STEP_DURATION,
pub target_type: FIT_WKT_STEP_TARGET,
pub intensity: FIT_INTENSITY,
pub notes: [FIT_STRING; 50usize],
pub equipment: FIT_WORKOUT_EQUIPMENT,
}
#[test]
fn bindgen_test_layout_FIT_WORKOUT_STEP_MESG() {
assert_eq!(::std::mem::size_of::<FIT_WORKOUT_STEP_MESG>() , 104usize ,
concat ! ( "Size of: " , stringify ! ( FIT_WORKOUT_STEP_MESG )
));
assert_eq! (::std::mem::align_of::<FIT_WORKOUT_STEP_MESG>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_WORKOUT_STEP_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_STEP_MESG ) ) . wkt_step_name
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WORKOUT_STEP_MESG )
, "::" , stringify ! ( wkt_step_name ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_STEP_MESG ) ) .
duration_value as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WORKOUT_STEP_MESG )
, "::" , stringify ! ( duration_value ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_STEP_MESG ) ) . target_value
as * const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WORKOUT_STEP_MESG )
, "::" , stringify ! ( target_value ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_STEP_MESG ) ) .
custom_target_value_low as * const _ as usize } , 32usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_WORKOUT_STEP_MESG )
, "::" , stringify ! ( custom_target_value_low ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_STEP_MESG ) ) .
custom_target_value_high as * const _ as usize } , 40usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_WORKOUT_STEP_MESG )
, "::" , stringify ! ( custom_target_value_high ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_STEP_MESG ) ) . message_index
as * const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WORKOUT_STEP_MESG )
, "::" , stringify ! ( message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_STEP_MESG ) ) . duration_type
as * const _ as usize } , 50usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WORKOUT_STEP_MESG )
, "::" , stringify ! ( duration_type ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_STEP_MESG ) ) . target_type
as * const _ as usize } , 51usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WORKOUT_STEP_MESG )
, "::" , stringify ! ( target_type ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_STEP_MESG ) ) . intensity as
* const _ as usize } , 52usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WORKOUT_STEP_MESG )
, "::" , stringify ! ( intensity ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_STEP_MESG ) ) . notes as *
const _ as usize } , 53usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WORKOUT_STEP_MESG )
, "::" , stringify ! ( notes ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_STEP_MESG ) ) . equipment as
* const _ as usize } , 103usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WORKOUT_STEP_MESG )
, "::" , stringify ! ( equipment ) ));
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_WORKOUT_STEP_FIELD_NUM {
FIT_WORKOUT_STEP_FIELD_NUM_WKT_STEP_NAME = 0,
FIT_WORKOUT_STEP_FIELD_NUM_DURATION_VALUE = 2,
FIT_WORKOUT_STEP_FIELD_NUM_TARGET_VALUE = 4,
FIT_WORKOUT_STEP_FIELD_NUM_CUSTOM_TARGET_VALUE_LOW = 5,
FIT_WORKOUT_STEP_FIELD_NUM_CUSTOM_TARGET_VALUE_HIGH = 6,
FIT_WORKOUT_STEP_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_WORKOUT_STEP_FIELD_NUM_DURATION_TYPE = 1,
FIT_WORKOUT_STEP_FIELD_NUM_TARGET_TYPE = 3,
FIT_WORKOUT_STEP_FIELD_NUM_INTENSITY = 7,
FIT_WORKOUT_STEP_FIELD_NUM_NOTES = 8,
FIT_WORKOUT_STEP_FIELD_NUM_EQUIPMENT = 9,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_WORKOUT_STEP_MESG_FIELD {
FIT_WORKOUT_STEP_MESG_WKT_STEP_NAME = 0,
FIT_WORKOUT_STEP_MESG_DURATION_VALUE = 1,
FIT_WORKOUT_STEP_MESG_TARGET_VALUE = 2,
FIT_WORKOUT_STEP_MESG_CUSTOM_TARGET_VALUE_LOW = 3,
FIT_WORKOUT_STEP_MESG_CUSTOM_TARGET_VALUE_HIGH = 4,
FIT_WORKOUT_STEP_MESG_MESSAGE_INDEX = 5,
FIT_WORKOUT_STEP_MESG_DURATION_TYPE = 6,
FIT_WORKOUT_STEP_MESG_TARGET_TYPE = 7,
FIT_WORKOUT_STEP_MESG_INTENSITY = 8,
FIT_WORKOUT_STEP_MESG_NOTES = 9,
FIT_WORKOUT_STEP_MESG_EQUIPMENT = 10,
FIT_WORKOUT_STEP_MESG_FIELDS = 11,
}
#[repr(C)]
pub struct FIT_WORKOUT_STEP_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 33usize],
}
#[test]
fn bindgen_test_layout_FIT_WORKOUT_STEP_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_WORKOUT_STEP_MESG_DEF>() , 38usize ,
concat ! (
"Size of: " , stringify ! ( FIT_WORKOUT_STEP_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_WORKOUT_STEP_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_WORKOUT_STEP_MESG_DEF )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_STEP_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WORKOUT_STEP_MESG_DEF ) , "::" , stringify ! ( reserved_1
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_STEP_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WORKOUT_STEP_MESG_DEF ) , "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_STEP_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WORKOUT_STEP_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_STEP_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WORKOUT_STEP_MESG_DEF ) , "::" , stringify ! ( num_fields
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WORKOUT_STEP_MESG_DEF ) ) . fields as
* const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WORKOUT_STEP_MESG_DEF ) , "::" , stringify ! ( fields )
));
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_SCHEDULE_MESG {
pub serial_number: FIT_UINT32Z,
pub time_created: FIT_DATE_TIME,
pub scheduled_time: FIT_LOCAL_DATE_TIME,
pub manufacturer: FIT_MANUFACTURER,
pub product: FIT_UINT16,
pub completed: FIT_BOOL,
pub type_: FIT_SCHEDULE,
}
#[test]
fn bindgen_test_layout_FIT_SCHEDULE_MESG() {
assert_eq!(::std::mem::size_of::<FIT_SCHEDULE_MESG>() , 32usize , concat !
( "Size of: " , stringify ! ( FIT_SCHEDULE_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_SCHEDULE_MESG>() , 8usize , concat
! ( "Alignment of " , stringify ! ( FIT_SCHEDULE_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SCHEDULE_MESG ) ) . serial_number as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SCHEDULE_MESG ) ,
"::" , stringify ! ( serial_number ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SCHEDULE_MESG ) ) . time_created as *
const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SCHEDULE_MESG ) ,
"::" , stringify ! ( time_created ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SCHEDULE_MESG ) ) . scheduled_time as
* const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SCHEDULE_MESG ) ,
"::" , stringify ! ( scheduled_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SCHEDULE_MESG ) ) . manufacturer as *
const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SCHEDULE_MESG ) ,
"::" , stringify ! ( manufacturer ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SCHEDULE_MESG ) ) . product as *
const _ as usize } , 26usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SCHEDULE_MESG ) ,
"::" , stringify ! ( product ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SCHEDULE_MESG ) ) . completed as *
const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SCHEDULE_MESG ) ,
"::" , stringify ! ( completed ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SCHEDULE_MESG ) ) . type_ as * const
_ as usize } , 29usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SCHEDULE_MESG ) ,
"::" , stringify ! ( type_ ) ));
}
impl Clone for FIT_SCHEDULE_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_SCHEDULE_FIELD_NUM {
FIT_SCHEDULE_FIELD_NUM_SERIAL_NUMBER = 2,
FIT_SCHEDULE_FIELD_NUM_TIME_CREATED = 3,
FIT_SCHEDULE_FIELD_NUM_SCHEDULED_TIME = 6,
FIT_SCHEDULE_FIELD_NUM_MANUFACTURER = 0,
FIT_SCHEDULE_FIELD_NUM_PRODUCT = 1,
FIT_SCHEDULE_FIELD_NUM_COMPLETED = 4,
FIT_SCHEDULE_FIELD_NUM_TYPE = 5,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_SCHEDULE_MESG_FIELD {
FIT_SCHEDULE_MESG_SERIAL_NUMBER = 0,
FIT_SCHEDULE_MESG_TIME_CREATED = 1,
FIT_SCHEDULE_MESG_SCHEDULED_TIME = 2,
FIT_SCHEDULE_MESG_MANUFACTURER = 3,
FIT_SCHEDULE_MESG_PRODUCT = 4,
FIT_SCHEDULE_MESG_COMPLETED = 5,
FIT_SCHEDULE_MESG_TYPE = 6,
FIT_SCHEDULE_MESG_FIELDS = 7,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_SCHEDULE_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 21usize],
}
#[test]
fn bindgen_test_layout_FIT_SCHEDULE_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_SCHEDULE_MESG_DEF>() , 26usize ,
concat ! ( "Size of: " , stringify ! ( FIT_SCHEDULE_MESG_DEF )
));
assert_eq! (::std::mem::align_of::<FIT_SCHEDULE_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_SCHEDULE_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SCHEDULE_MESG_DEF ) ) . reserved_1 as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SCHEDULE_MESG_DEF )
, "::" , stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SCHEDULE_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SCHEDULE_MESG_DEF )
, "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SCHEDULE_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SCHEDULE_MESG_DEF )
, "::" , stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SCHEDULE_MESG_DEF ) ) . num_fields as
* const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SCHEDULE_MESG_DEF )
, "::" , stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_SCHEDULE_MESG_DEF ) ) . fields as *
const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_SCHEDULE_MESG_DEF )
, "::" , stringify ! ( fields ) ));
}
impl Clone for FIT_SCHEDULE_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_TOTALS_MESG {
pub timestamp: FIT_DATE_TIME,
pub timer_time: FIT_UINT32,
pub distance: FIT_UINT32,
pub calories: FIT_UINT32,
pub elapsed_time: FIT_UINT32,
pub active_time: FIT_UINT32,
pub message_index: FIT_MESSAGE_INDEX,
pub sessions: FIT_UINT16,
pub sport: FIT_SPORT,
}
#[test]
fn bindgen_test_layout_FIT_TOTALS_MESG() {
assert_eq!(::std::mem::size_of::<FIT_TOTALS_MESG>() , 56usize , concat ! (
"Size of: " , stringify ! ( FIT_TOTALS_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_TOTALS_MESG>() , 8usize , concat !
( "Alignment of " , stringify ! ( FIT_TOTALS_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_TOTALS_MESG ) ) . timestamp as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_TOTALS_MESG ) ,
"::" , stringify ! ( timestamp ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_TOTALS_MESG ) ) . timer_time as *
const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_TOTALS_MESG ) ,
"::" , stringify ! ( timer_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_TOTALS_MESG ) ) . distance as * const
_ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_TOTALS_MESG ) ,
"::" , stringify ! ( distance ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_TOTALS_MESG ) ) . calories as * const
_ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_TOTALS_MESG ) ,
"::" , stringify ! ( calories ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_TOTALS_MESG ) ) . elapsed_time as *
const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_TOTALS_MESG ) ,
"::" , stringify ! ( elapsed_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_TOTALS_MESG ) ) . active_time as *
const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_TOTALS_MESG ) ,
"::" , stringify ! ( active_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_TOTALS_MESG ) ) . message_index as *
const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_TOTALS_MESG ) ,
"::" , stringify ! ( message_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_TOTALS_MESG ) ) . sessions as * const
_ as usize } , 50usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_TOTALS_MESG ) ,
"::" , stringify ! ( sessions ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_TOTALS_MESG ) ) . sport as * const _
as usize } , 52usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_TOTALS_MESG ) ,
"::" , stringify ! ( sport ) ));
}
impl Clone for FIT_TOTALS_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_TOTALS_FIELD_NUM {
FIT_TOTALS_FIELD_NUM_TIMESTAMP = 253,
FIT_TOTALS_FIELD_NUM_TIMER_TIME = 0,
FIT_TOTALS_FIELD_NUM_DISTANCE = 1,
FIT_TOTALS_FIELD_NUM_CALORIES = 2,
FIT_TOTALS_FIELD_NUM_ELAPSED_TIME = 4,
FIT_TOTALS_FIELD_NUM_ACTIVE_TIME = 6,
FIT_TOTALS_FIELD_NUM_MESSAGE_INDEX = 254,
FIT_TOTALS_FIELD_NUM_SESSIONS = 5,
FIT_TOTALS_FIELD_NUM_SPORT = 3,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_TOTALS_MESG_FIELD {
FIT_TOTALS_MESG_TIMESTAMP = 0,
FIT_TOTALS_MESG_TIMER_TIME = 1,
FIT_TOTALS_MESG_DISTANCE = 2,
FIT_TOTALS_MESG_CALORIES = 3,
FIT_TOTALS_MESG_ELAPSED_TIME = 4,
FIT_TOTALS_MESG_ACTIVE_TIME = 5,
FIT_TOTALS_MESG_MESSAGE_INDEX = 6,
FIT_TOTALS_MESG_SESSIONS = 7,
FIT_TOTALS_MESG_SPORT = 8,
FIT_TOTALS_MESG_FIELDS = 9,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_TOTALS_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 27usize],
}
#[test]
fn bindgen_test_layout_FIT_TOTALS_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_TOTALS_MESG_DEF>() , 32usize , concat
! ( "Size of: " , stringify ! ( FIT_TOTALS_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_TOTALS_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_TOTALS_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_TOTALS_MESG_DEF ) ) . reserved_1 as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_TOTALS_MESG_DEF ) ,
"::" , stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_TOTALS_MESG_DEF ) ) . arch as * const
_ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_TOTALS_MESG_DEF ) ,
"::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_TOTALS_MESG_DEF ) ) . global_mesg_num
as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_TOTALS_MESG_DEF ) ,
"::" , stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_TOTALS_MESG_DEF ) ) . num_fields as *
const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_TOTALS_MESG_DEF ) ,
"::" , stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_TOTALS_MESG_DEF ) ) . fields as *
const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_TOTALS_MESG_DEF ) ,
"::" , stringify ! ( fields ) ));
}
impl Clone for FIT_TOTALS_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_WEIGHT_SCALE_MESG {
pub timestamp: FIT_DATE_TIME,
pub weight: FIT_WEIGHT,
pub percent_fat: FIT_UINT16,
pub percent_hydration: FIT_UINT16,
pub visceral_fat_mass: FIT_UINT16,
pub bone_mass: FIT_UINT16,
pub muscle_mass: FIT_UINT16,
pub basal_met: FIT_UINT16,
pub active_met: FIT_UINT16,
pub user_profile_index: FIT_MESSAGE_INDEX,
pub physique_rating: FIT_UINT8,
pub metabolic_age: FIT_UINT8,
pub visceral_fat_rating: FIT_UINT8,
}
#[test]
fn bindgen_test_layout_FIT_WEIGHT_SCALE_MESG() {
assert_eq!(::std::mem::size_of::<FIT_WEIGHT_SCALE_MESG>() , 32usize ,
concat ! ( "Size of: " , stringify ! ( FIT_WEIGHT_SCALE_MESG )
));
assert_eq! (::std::mem::align_of::<FIT_WEIGHT_SCALE_MESG>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_WEIGHT_SCALE_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEIGHT_SCALE_MESG ) ) . timestamp as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WEIGHT_SCALE_MESG )
, "::" , stringify ! ( timestamp ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEIGHT_SCALE_MESG ) ) . weight as *
const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WEIGHT_SCALE_MESG )
, "::" , stringify ! ( weight ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEIGHT_SCALE_MESG ) ) . percent_fat
as * const _ as usize } , 10usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WEIGHT_SCALE_MESG )
, "::" , stringify ! ( percent_fat ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEIGHT_SCALE_MESG ) ) .
percent_hydration as * const _ as usize } , 12usize , concat !
(
"Alignment of field: " , stringify ! ( FIT_WEIGHT_SCALE_MESG )
, "::" , stringify ! ( percent_hydration ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEIGHT_SCALE_MESG ) ) .
visceral_fat_mass as * const _ as usize } , 14usize , concat !
(
"Alignment of field: " , stringify ! ( FIT_WEIGHT_SCALE_MESG )
, "::" , stringify ! ( visceral_fat_mass ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEIGHT_SCALE_MESG ) ) . bone_mass as
* const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WEIGHT_SCALE_MESG )
, "::" , stringify ! ( bone_mass ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEIGHT_SCALE_MESG ) ) . muscle_mass
as * const _ as usize } , 18usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WEIGHT_SCALE_MESG )
, "::" , stringify ! ( muscle_mass ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEIGHT_SCALE_MESG ) ) . basal_met as
* const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WEIGHT_SCALE_MESG )
, "::" , stringify ! ( basal_met ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEIGHT_SCALE_MESG ) ) . active_met as
* const _ as usize } , 22usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WEIGHT_SCALE_MESG )
, "::" , stringify ! ( active_met ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEIGHT_SCALE_MESG ) ) .
user_profile_index as * const _ as usize } , 24usize , concat
! (
"Alignment of field: " , stringify ! ( FIT_WEIGHT_SCALE_MESG )
, "::" , stringify ! ( user_profile_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEIGHT_SCALE_MESG ) ) .
physique_rating as * const _ as usize } , 26usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WEIGHT_SCALE_MESG )
, "::" , stringify ! ( physique_rating ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEIGHT_SCALE_MESG ) ) . metabolic_age
as * const _ as usize } , 27usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_WEIGHT_SCALE_MESG )
, "::" , stringify ! ( metabolic_age ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEIGHT_SCALE_MESG ) ) .
visceral_fat_rating as * const _ as usize } , 28usize , concat
! (
"Alignment of field: " , stringify ! ( FIT_WEIGHT_SCALE_MESG )
, "::" , stringify ! ( visceral_fat_rating ) ));
}
impl Clone for FIT_WEIGHT_SCALE_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_WEIGHT_SCALE_FIELD_NUM {
FIT_WEIGHT_SCALE_FIELD_NUM_TIMESTAMP = 253,
FIT_WEIGHT_SCALE_FIELD_NUM_WEIGHT = 0,
FIT_WEIGHT_SCALE_FIELD_NUM_PERCENT_FAT = 1,
FIT_WEIGHT_SCALE_FIELD_NUM_PERCENT_HYDRATION = 2,
FIT_WEIGHT_SCALE_FIELD_NUM_VISCERAL_FAT_MASS = 3,
FIT_WEIGHT_SCALE_FIELD_NUM_BONE_MASS = 4,
FIT_WEIGHT_SCALE_FIELD_NUM_MUSCLE_MASS = 5,
FIT_WEIGHT_SCALE_FIELD_NUM_BASAL_MET = 7,
FIT_WEIGHT_SCALE_FIELD_NUM_ACTIVE_MET = 9,
FIT_WEIGHT_SCALE_FIELD_NUM_USER_PROFILE_INDEX = 12,
FIT_WEIGHT_SCALE_FIELD_NUM_PHYSIQUE_RATING = 8,
FIT_WEIGHT_SCALE_FIELD_NUM_METABOLIC_AGE = 10,
FIT_WEIGHT_SCALE_FIELD_NUM_VISCERAL_FAT_RATING = 11,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_WEIGHT_SCALE_MESG_FIELD {
FIT_WEIGHT_SCALE_MESG_TIMESTAMP = 0,
FIT_WEIGHT_SCALE_MESG_WEIGHT = 1,
FIT_WEIGHT_SCALE_MESG_PERCENT_FAT = 2,
FIT_WEIGHT_SCALE_MESG_PERCENT_HYDRATION = 3,
FIT_WEIGHT_SCALE_MESG_VISCERAL_FAT_MASS = 4,
FIT_WEIGHT_SCALE_MESG_BONE_MASS = 5,
FIT_WEIGHT_SCALE_MESG_MUSCLE_MASS = 6,
FIT_WEIGHT_SCALE_MESG_BASAL_MET = 7,
FIT_WEIGHT_SCALE_MESG_ACTIVE_MET = 8,
FIT_WEIGHT_SCALE_MESG_USER_PROFILE_INDEX = 9,
FIT_WEIGHT_SCALE_MESG_PHYSIQUE_RATING = 10,
FIT_WEIGHT_SCALE_MESG_METABOLIC_AGE = 11,
FIT_WEIGHT_SCALE_MESG_VISCERAL_FAT_RATING = 12,
FIT_WEIGHT_SCALE_MESG_FIELDS = 13,
}
#[repr(C)]
pub struct FIT_WEIGHT_SCALE_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 39usize],
}
#[test]
fn bindgen_test_layout_FIT_WEIGHT_SCALE_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_WEIGHT_SCALE_MESG_DEF>() , 44usize ,
concat ! (
"Size of: " , stringify ! ( FIT_WEIGHT_SCALE_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_WEIGHT_SCALE_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_WEIGHT_SCALE_MESG_DEF )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEIGHT_SCALE_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WEIGHT_SCALE_MESG_DEF ) , "::" , stringify ! ( reserved_1
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEIGHT_SCALE_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WEIGHT_SCALE_MESG_DEF ) , "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEIGHT_SCALE_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WEIGHT_SCALE_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEIGHT_SCALE_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WEIGHT_SCALE_MESG_DEF ) , "::" , stringify ! ( num_fields
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_WEIGHT_SCALE_MESG_DEF ) ) . fields as
* const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_WEIGHT_SCALE_MESG_DEF ) , "::" , stringify ! ( fields )
));
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_BLOOD_PRESSURE_MESG {
pub timestamp: FIT_DATE_TIME,
pub systolic_pressure: FIT_UINT16,
pub diastolic_pressure: FIT_UINT16,
pub mean_arterial_pressure: FIT_UINT16,
pub map_3_sample_mean: FIT_UINT16,
pub map_morning_values: FIT_UINT16,
pub map_evening_values: FIT_UINT16,
pub user_profile_index: FIT_MESSAGE_INDEX,
pub heart_rate: FIT_UINT8,
pub heart_rate_type: FIT_HR_TYPE,
pub status: FIT_BP_STATUS,
}
#[test]
fn bindgen_test_layout_FIT_BLOOD_PRESSURE_MESG() {
assert_eq!(::std::mem::size_of::<FIT_BLOOD_PRESSURE_MESG>() , 32usize ,
concat ! (
"Size of: " , stringify ! ( FIT_BLOOD_PRESSURE_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_BLOOD_PRESSURE_MESG>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_BLOOD_PRESSURE_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BLOOD_PRESSURE_MESG ) ) . timestamp
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BLOOD_PRESSURE_MESG
) , "::" , stringify ! ( timestamp ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BLOOD_PRESSURE_MESG ) ) .
systolic_pressure as * const _ as usize } , 8usize , concat !
(
"Alignment of field: " , stringify ! ( FIT_BLOOD_PRESSURE_MESG
) , "::" , stringify ! ( systolic_pressure ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BLOOD_PRESSURE_MESG ) ) .
diastolic_pressure as * const _ as usize } , 10usize , concat
! (
"Alignment of field: " , stringify ! ( FIT_BLOOD_PRESSURE_MESG
) , "::" , stringify ! ( diastolic_pressure ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BLOOD_PRESSURE_MESG ) ) .
mean_arterial_pressure as * const _ as usize } , 12usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_BLOOD_PRESSURE_MESG
) , "::" , stringify ! ( mean_arterial_pressure ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BLOOD_PRESSURE_MESG ) ) .
map_3_sample_mean as * const _ as usize } , 14usize , concat !
(
"Alignment of field: " , stringify ! ( FIT_BLOOD_PRESSURE_MESG
) , "::" , stringify ! ( map_3_sample_mean ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BLOOD_PRESSURE_MESG ) ) .
map_morning_values as * const _ as usize } , 16usize , concat
! (
"Alignment of field: " , stringify ! ( FIT_BLOOD_PRESSURE_MESG
) , "::" , stringify ! ( map_morning_values ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BLOOD_PRESSURE_MESG ) ) .
map_evening_values as * const _ as usize } , 18usize , concat
! (
"Alignment of field: " , stringify ! ( FIT_BLOOD_PRESSURE_MESG
) , "::" , stringify ! ( map_evening_values ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BLOOD_PRESSURE_MESG ) ) .
user_profile_index as * const _ as usize } , 20usize , concat
! (
"Alignment of field: " , stringify ! ( FIT_BLOOD_PRESSURE_MESG
) , "::" , stringify ! ( user_profile_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BLOOD_PRESSURE_MESG ) ) . heart_rate
as * const _ as usize } , 22usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BLOOD_PRESSURE_MESG
) , "::" , stringify ! ( heart_rate ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BLOOD_PRESSURE_MESG ) ) .
heart_rate_type as * const _ as usize } , 23usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BLOOD_PRESSURE_MESG
) , "::" , stringify ! ( heart_rate_type ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BLOOD_PRESSURE_MESG ) ) . status as *
const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_BLOOD_PRESSURE_MESG
) , "::" , stringify ! ( status ) ));
}
impl Clone for FIT_BLOOD_PRESSURE_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_BLOOD_PRESSURE_FIELD_NUM {
FIT_BLOOD_PRESSURE_FIELD_NUM_TIMESTAMP = 253,
FIT_BLOOD_PRESSURE_FIELD_NUM_SYSTOLIC_PRESSURE = 0,
FIT_BLOOD_PRESSURE_FIELD_NUM_DIASTOLIC_PRESSURE = 1,
FIT_BLOOD_PRESSURE_FIELD_NUM_MEAN_ARTERIAL_PRESSURE = 2,
FIT_BLOOD_PRESSURE_FIELD_NUM_MAP_3_SAMPLE_MEAN = 3,
FIT_BLOOD_PRESSURE_FIELD_NUM_MAP_MORNING_VALUES = 4,
FIT_BLOOD_PRESSURE_FIELD_NUM_MAP_EVENING_VALUES = 5,
FIT_BLOOD_PRESSURE_FIELD_NUM_USER_PROFILE_INDEX = 9,
FIT_BLOOD_PRESSURE_FIELD_NUM_HEART_RATE = 6,
FIT_BLOOD_PRESSURE_FIELD_NUM_HEART_RATE_TYPE = 7,
FIT_BLOOD_PRESSURE_FIELD_NUM_STATUS = 8,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_BLOOD_PRESSURE_MESG_FIELD {
FIT_BLOOD_PRESSURE_MESG_TIMESTAMP = 0,
FIT_BLOOD_PRESSURE_MESG_SYSTOLIC_PRESSURE = 1,
FIT_BLOOD_PRESSURE_MESG_DIASTOLIC_PRESSURE = 2,
FIT_BLOOD_PRESSURE_MESG_MEAN_ARTERIAL_PRESSURE = 3,
FIT_BLOOD_PRESSURE_MESG_MAP_3_SAMPLE_MEAN = 4,
FIT_BLOOD_PRESSURE_MESG_MAP_MORNING_VALUES = 5,
FIT_BLOOD_PRESSURE_MESG_MAP_EVENING_VALUES = 6,
FIT_BLOOD_PRESSURE_MESG_USER_PROFILE_INDEX = 7,
FIT_BLOOD_PRESSURE_MESG_HEART_RATE = 8,
FIT_BLOOD_PRESSURE_MESG_HEART_RATE_TYPE = 9,
FIT_BLOOD_PRESSURE_MESG_STATUS = 10,
FIT_BLOOD_PRESSURE_MESG_FIELDS = 11,
}
#[repr(C)]
pub struct FIT_BLOOD_PRESSURE_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 33usize],
}
#[test]
fn bindgen_test_layout_FIT_BLOOD_PRESSURE_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_BLOOD_PRESSURE_MESG_DEF>() , 38usize
, concat ! (
"Size of: " , stringify ! ( FIT_BLOOD_PRESSURE_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_BLOOD_PRESSURE_MESG_DEF>() , 2usize
, concat ! (
"Alignment of " , stringify ! ( FIT_BLOOD_PRESSURE_MESG_DEF )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BLOOD_PRESSURE_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_BLOOD_PRESSURE_MESG_DEF ) , "::" , stringify ! (
reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BLOOD_PRESSURE_MESG_DEF ) ) . arch as
* const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_BLOOD_PRESSURE_MESG_DEF ) , "::" , stringify ! ( arch )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BLOOD_PRESSURE_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_BLOOD_PRESSURE_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BLOOD_PRESSURE_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_BLOOD_PRESSURE_MESG_DEF ) , "::" , stringify ! (
num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_BLOOD_PRESSURE_MESG_DEF ) ) . fields
as * const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_BLOOD_PRESSURE_MESG_DEF ) , "::" , stringify ! ( fields )
));
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_MONITORING_INFO_MESG {
pub timestamp: FIT_DATE_TIME,
pub local_timestamp: FIT_LOCAL_DATE_TIME,
}
#[test]
fn bindgen_test_layout_FIT_MONITORING_INFO_MESG() {
assert_eq!(::std::mem::size_of::<FIT_MONITORING_INFO_MESG>() , 16usize ,
concat ! (
"Size of: " , stringify ! ( FIT_MONITORING_INFO_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_MONITORING_INFO_MESG>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_MONITORING_INFO_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MONITORING_INFO_MESG ) ) . timestamp
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_MONITORING_INFO_MESG ) , "::" , stringify ! ( timestamp )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MONITORING_INFO_MESG ) ) .
local_timestamp as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_MONITORING_INFO_MESG ) , "::" , stringify ! (
local_timestamp ) ));
}
impl Clone for FIT_MONITORING_INFO_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_MONITORING_INFO_FIELD_NUM {
FIT_MONITORING_INFO_FIELD_NUM_TIMESTAMP = 253,
FIT_MONITORING_INFO_FIELD_NUM_LOCAL_TIMESTAMP = 0,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_MONITORING_INFO_MESG_FIELD {
FIT_MONITORING_INFO_MESG_TIMESTAMP = 0,
FIT_MONITORING_INFO_MESG_LOCAL_TIMESTAMP = 1,
FIT_MONITORING_INFO_MESG_FIELDS = 2,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_MONITORING_INFO_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 6usize],
}
#[test]
fn bindgen_test_layout_FIT_MONITORING_INFO_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_MONITORING_INFO_MESG_DEF>() , 12usize
, concat ! (
"Size of: " , stringify ! ( FIT_MONITORING_INFO_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_MONITORING_INFO_MESG_DEF>() ,
2usize , concat ! (
"Alignment of " , stringify ! ( FIT_MONITORING_INFO_MESG_DEF )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MONITORING_INFO_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_MONITORING_INFO_MESG_DEF ) , "::" , stringify ! (
reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MONITORING_INFO_MESG_DEF ) ) . arch
as * const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_MONITORING_INFO_MESG_DEF ) , "::" , stringify ! ( arch )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MONITORING_INFO_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_MONITORING_INFO_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MONITORING_INFO_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_MONITORING_INFO_MESG_DEF ) , "::" , stringify ! (
num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MONITORING_INFO_MESG_DEF ) ) . fields
as * const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_MONITORING_INFO_MESG_DEF ) , "::" , stringify ! ( fields )
));
}
impl Clone for FIT_MONITORING_INFO_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_MONITORING_MESG {
pub timestamp: FIT_DATE_TIME,
pub distance: FIT_UINT32,
pub cycles: FIT_UINT32,
pub active_time: FIT_UINT32,
pub local_timestamp: FIT_LOCAL_DATE_TIME,
pub calories: FIT_UINT16,
pub distance_16: FIT_UINT16,
pub cycles_16: FIT_UINT16,
pub active_time_16: FIT_UINT16,
pub device_index: FIT_DEVICE_INDEX,
pub activity_type: FIT_ACTIVITY_TYPE,
pub activity_subtype: FIT_ACTIVITY_SUBTYPE,
}
#[test]
fn bindgen_test_layout_FIT_MONITORING_MESG() {
assert_eq!(::std::mem::size_of::<FIT_MONITORING_MESG>() , 56usize , concat
! ( "Size of: " , stringify ! ( FIT_MONITORING_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_MONITORING_MESG>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_MONITORING_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MONITORING_MESG ) ) . timestamp as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MONITORING_MESG ) ,
"::" , stringify ! ( timestamp ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MONITORING_MESG ) ) . distance as *
const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MONITORING_MESG ) ,
"::" , stringify ! ( distance ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MONITORING_MESG ) ) . cycles as *
const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MONITORING_MESG ) ,
"::" , stringify ! ( cycles ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MONITORING_MESG ) ) . active_time as
* const _ as usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MONITORING_MESG ) ,
"::" , stringify ! ( active_time ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MONITORING_MESG ) ) . local_timestamp
as * const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MONITORING_MESG ) ,
"::" , stringify ! ( local_timestamp ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MONITORING_MESG ) ) . calories as *
const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MONITORING_MESG ) ,
"::" , stringify ! ( calories ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MONITORING_MESG ) ) . distance_16 as
* const _ as usize } , 42usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MONITORING_MESG ) ,
"::" , stringify ! ( distance_16 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MONITORING_MESG ) ) . cycles_16 as *
const _ as usize } , 44usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MONITORING_MESG ) ,
"::" , stringify ! ( cycles_16 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MONITORING_MESG ) ) . active_time_16
as * const _ as usize } , 46usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MONITORING_MESG ) ,
"::" , stringify ! ( active_time_16 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MONITORING_MESG ) ) . device_index as
* const _ as usize } , 48usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MONITORING_MESG ) ,
"::" , stringify ! ( device_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MONITORING_MESG ) ) . activity_type
as * const _ as usize } , 49usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MONITORING_MESG ) ,
"::" , stringify ! ( activity_type ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MONITORING_MESG ) ) .
activity_subtype as * const _ as usize } , 50usize , concat !
(
"Alignment of field: " , stringify ! ( FIT_MONITORING_MESG ) ,
"::" , stringify ! ( activity_subtype ) ));
}
impl Clone for FIT_MONITORING_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_MONITORING_FIELD_NUM {
FIT_MONITORING_FIELD_NUM_TIMESTAMP = 253,
FIT_MONITORING_FIELD_NUM_DISTANCE = 2,
FIT_MONITORING_FIELD_NUM_CYCLES = 3,
FIT_MONITORING_FIELD_NUM_ACTIVE_TIME = 4,
FIT_MONITORING_FIELD_NUM_LOCAL_TIMESTAMP = 11,
FIT_MONITORING_FIELD_NUM_CALORIES = 1,
FIT_MONITORING_FIELD_NUM_DISTANCE_16 = 8,
FIT_MONITORING_FIELD_NUM_CYCLES_16 = 9,
FIT_MONITORING_FIELD_NUM_ACTIVE_TIME_16 = 10,
FIT_MONITORING_FIELD_NUM_DEVICE_INDEX = 0,
FIT_MONITORING_FIELD_NUM_ACTIVITY_TYPE = 5,
FIT_MONITORING_FIELD_NUM_ACTIVITY_SUBTYPE = 6,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_MONITORING_MESG_FIELD {
FIT_MONITORING_MESG_TIMESTAMP = 0,
FIT_MONITORING_MESG_DISTANCE = 1,
FIT_MONITORING_MESG_CYCLES = 2,
FIT_MONITORING_MESG_ACTIVE_TIME = 3,
FIT_MONITORING_MESG_LOCAL_TIMESTAMP = 4,
FIT_MONITORING_MESG_CALORIES = 5,
FIT_MONITORING_MESG_DISTANCE_16 = 6,
FIT_MONITORING_MESG_CYCLES_16 = 7,
FIT_MONITORING_MESG_ACTIVE_TIME_16 = 8,
FIT_MONITORING_MESG_DEVICE_INDEX = 9,
FIT_MONITORING_MESG_ACTIVITY_TYPE = 10,
FIT_MONITORING_MESG_ACTIVITY_SUBTYPE = 11,
FIT_MONITORING_MESG_FIELDS = 12,
}
#[repr(C)]
pub struct FIT_MONITORING_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 36usize],
}
#[test]
fn bindgen_test_layout_FIT_MONITORING_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_MONITORING_MESG_DEF>() , 42usize ,
concat ! (
"Size of: " , stringify ! ( FIT_MONITORING_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_MONITORING_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_MONITORING_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MONITORING_MESG_DEF ) ) . reserved_1
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MONITORING_MESG_DEF
) , "::" , stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MONITORING_MESG_DEF ) ) . arch as *
const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MONITORING_MESG_DEF
) , "::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MONITORING_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MONITORING_MESG_DEF
) , "::" , stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MONITORING_MESG_DEF ) ) . num_fields
as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MONITORING_MESG_DEF
) , "::" , stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_MONITORING_MESG_DEF ) ) . fields as *
const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_MONITORING_MESG_DEF
) , "::" , stringify ! ( fields ) ));
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_HR_MESG {
pub timestamp: FIT_DATE_TIME,
pub event_timestamp: [FIT_UINT32; 1usize],
pub fractional_timestamp: FIT_UINT16,
pub time256: FIT_UINT8,
pub filtered_bpm: [FIT_UINT8; 1usize],
pub event_timestamp_12: [FIT_BYTE; 1usize],
}
#[test]
fn bindgen_test_layout_FIT_HR_MESG() {
assert_eq!(::std::mem::size_of::<FIT_HR_MESG>() , 24usize , concat ! (
"Size of: " , stringify ! ( FIT_HR_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_HR_MESG>() , 8usize , concat ! (
"Alignment of " , stringify ! ( FIT_HR_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HR_MESG ) ) . timestamp as * const _
as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HR_MESG ) , "::" ,
stringify ! ( timestamp ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HR_MESG ) ) . event_timestamp as *
const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HR_MESG ) , "::" ,
stringify ! ( event_timestamp ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HR_MESG ) ) . fractional_timestamp as
* const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HR_MESG ) , "::" ,
stringify ! ( fractional_timestamp ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HR_MESG ) ) . time256 as * const _ as
usize } , 18usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HR_MESG ) , "::" ,
stringify ! ( time256 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HR_MESG ) ) . filtered_bpm as * const
_ as usize } , 19usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HR_MESG ) , "::" ,
stringify ! ( filtered_bpm ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HR_MESG ) ) . event_timestamp_12 as *
const _ as usize } , 20usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HR_MESG ) , "::" ,
stringify ! ( event_timestamp_12 ) ));
}
impl Clone for FIT_HR_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_HR_FIELD_NUM {
FIT_HR_FIELD_NUM_TIMESTAMP = 253,
FIT_HR_FIELD_NUM_EVENT_TIMESTAMP = 9,
FIT_HR_FIELD_NUM_FRACTIONAL_TIMESTAMP = 0,
FIT_HR_FIELD_NUM_TIME256 = 1,
FIT_HR_FIELD_NUM_FILTERED_BPM = 6,
FIT_HR_FIELD_NUM_EVENT_TIMESTAMP_12 = 10,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_HR_MESG_FIELD {
FIT_HR_MESG_TIMESTAMP = 0,
FIT_HR_MESG_EVENT_TIMESTAMP = 1,
FIT_HR_MESG_FRACTIONAL_TIMESTAMP = 2,
FIT_HR_MESG_TIME256 = 3,
FIT_HR_MESG_FILTERED_BPM = 4,
FIT_HR_MESG_EVENT_TIMESTAMP_12 = 5,
FIT_HR_MESG_FIELDS = 6,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_HR_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 18usize],
}
#[test]
fn bindgen_test_layout_FIT_HR_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_HR_MESG_DEF>() , 24usize , concat ! (
"Size of: " , stringify ! ( FIT_HR_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_HR_MESG_DEF>() , 2usize , concat !
( "Alignment of " , stringify ! ( FIT_HR_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HR_MESG_DEF ) ) . reserved_1 as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HR_MESG_DEF ) ,
"::" , stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HR_MESG_DEF ) ) . arch as * const _
as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HR_MESG_DEF ) ,
"::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HR_MESG_DEF ) ) . global_mesg_num as
* const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HR_MESG_DEF ) ,
"::" , stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HR_MESG_DEF ) ) . num_fields as *
const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HR_MESG_DEF ) ,
"::" , stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_HR_MESG_DEF ) ) . fields as * const _
as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_HR_MESG_DEF ) ,
"::" , stringify ! ( fields ) ));
}
impl Clone for FIT_HR_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_ANT_RX_MESG {
pub timestamp: FIT_DATE_TIME,
pub data: [FIT_BYTE; 8usize],
pub fractional_timestamp: FIT_UINT16,
pub mesg_id: FIT_BYTE,
pub mesg_data: [FIT_BYTE; 9usize],
pub channel_number: FIT_UINT8,
}
#[test]
fn bindgen_test_layout_FIT_ANT_RX_MESG() {
assert_eq!(::std::mem::size_of::<FIT_ANT_RX_MESG>() , 32usize , concat ! (
"Size of: " , stringify ! ( FIT_ANT_RX_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_ANT_RX_MESG>() , 8usize , concat !
( "Alignment of " , stringify ! ( FIT_ANT_RX_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ANT_RX_MESG ) ) . timestamp as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ANT_RX_MESG ) ,
"::" , stringify ! ( timestamp ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ANT_RX_MESG ) ) . data as * const _
as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ANT_RX_MESG ) ,
"::" , stringify ! ( data ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ANT_RX_MESG ) ) .
fractional_timestamp as * const _ as usize } , 16usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_ANT_RX_MESG ) ,
"::" , stringify ! ( fractional_timestamp ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ANT_RX_MESG ) ) . mesg_id as * const
_ as usize } , 18usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ANT_RX_MESG ) ,
"::" , stringify ! ( mesg_id ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ANT_RX_MESG ) ) . mesg_data as *
const _ as usize } , 19usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ANT_RX_MESG ) ,
"::" , stringify ! ( mesg_data ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ANT_RX_MESG ) ) . channel_number as *
const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ANT_RX_MESG ) ,
"::" , stringify ! ( channel_number ) ));
}
impl Clone for FIT_ANT_RX_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_ANT_RX_FIELD_NUM {
FIT_ANT_RX_FIELD_NUM_TIMESTAMP = 253,
FIT_ANT_RX_FIELD_NUM_DATA = 4,
FIT_ANT_RX_FIELD_NUM_FRACTIONAL_TIMESTAMP = 0,
FIT_ANT_RX_FIELD_NUM_MESG_ID = 1,
FIT_ANT_RX_FIELD_NUM_MESG_DATA = 2,
FIT_ANT_RX_FIELD_NUM_CHANNEL_NUMBER = 3,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_ANT_RX_MESG_FIELD {
FIT_ANT_RX_MESG_TIMESTAMP = 0,
FIT_ANT_RX_MESG_DATA = 1,
FIT_ANT_RX_MESG_FRACTIONAL_TIMESTAMP = 2,
FIT_ANT_RX_MESG_MESG_ID = 3,
FIT_ANT_RX_MESG_MESG_DATA = 4,
FIT_ANT_RX_MESG_CHANNEL_NUMBER = 5,
FIT_ANT_RX_MESG_FIELDS = 6,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_ANT_RX_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 18usize],
}
#[test]
fn bindgen_test_layout_FIT_ANT_RX_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_ANT_RX_MESG_DEF>() , 24usize , concat
! ( "Size of: " , stringify ! ( FIT_ANT_RX_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_ANT_RX_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_ANT_RX_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ANT_RX_MESG_DEF ) ) . reserved_1 as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ANT_RX_MESG_DEF ) ,
"::" , stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ANT_RX_MESG_DEF ) ) . arch as * const
_ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ANT_RX_MESG_DEF ) ,
"::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ANT_RX_MESG_DEF ) ) . global_mesg_num
as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ANT_RX_MESG_DEF ) ,
"::" , stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ANT_RX_MESG_DEF ) ) . num_fields as *
const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ANT_RX_MESG_DEF ) ,
"::" , stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ANT_RX_MESG_DEF ) ) . fields as *
const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ANT_RX_MESG_DEF ) ,
"::" , stringify ! ( fields ) ));
}
impl Clone for FIT_ANT_RX_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_ANT_TX_MESG {
pub timestamp: FIT_DATE_TIME,
pub data: [FIT_BYTE; 8usize],
pub fractional_timestamp: FIT_UINT16,
pub mesg_id: FIT_BYTE,
pub mesg_data: [FIT_BYTE; 9usize],
pub channel_number: FIT_UINT8,
}
#[test]
fn bindgen_test_layout_FIT_ANT_TX_MESG() {
assert_eq!(::std::mem::size_of::<FIT_ANT_TX_MESG>() , 32usize , concat ! (
"Size of: " , stringify ! ( FIT_ANT_TX_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_ANT_TX_MESG>() , 8usize , concat !
( "Alignment of " , stringify ! ( FIT_ANT_TX_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ANT_TX_MESG ) ) . timestamp as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ANT_TX_MESG ) ,
"::" , stringify ! ( timestamp ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ANT_TX_MESG ) ) . data as * const _
as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ANT_TX_MESG ) ,
"::" , stringify ! ( data ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ANT_TX_MESG ) ) .
fractional_timestamp as * const _ as usize } , 16usize ,
concat ! (
"Alignment of field: " , stringify ! ( FIT_ANT_TX_MESG ) ,
"::" , stringify ! ( fractional_timestamp ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ANT_TX_MESG ) ) . mesg_id as * const
_ as usize } , 18usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ANT_TX_MESG ) ,
"::" , stringify ! ( mesg_id ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ANT_TX_MESG ) ) . mesg_data as *
const _ as usize } , 19usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ANT_TX_MESG ) ,
"::" , stringify ! ( mesg_data ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ANT_TX_MESG ) ) . channel_number as *
const _ as usize } , 28usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ANT_TX_MESG ) ,
"::" , stringify ! ( channel_number ) ));
}
impl Clone for FIT_ANT_TX_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_ANT_TX_FIELD_NUM {
FIT_ANT_TX_FIELD_NUM_TIMESTAMP = 253,
FIT_ANT_TX_FIELD_NUM_DATA = 4,
FIT_ANT_TX_FIELD_NUM_FRACTIONAL_TIMESTAMP = 0,
FIT_ANT_TX_FIELD_NUM_MESG_ID = 1,
FIT_ANT_TX_FIELD_NUM_MESG_DATA = 2,
FIT_ANT_TX_FIELD_NUM_CHANNEL_NUMBER = 3,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_ANT_TX_MESG_FIELD {
FIT_ANT_TX_MESG_TIMESTAMP = 0,
FIT_ANT_TX_MESG_DATA = 1,
FIT_ANT_TX_MESG_FRACTIONAL_TIMESTAMP = 2,
FIT_ANT_TX_MESG_MESG_ID = 3,
FIT_ANT_TX_MESG_MESG_DATA = 4,
FIT_ANT_TX_MESG_CHANNEL_NUMBER = 5,
FIT_ANT_TX_MESG_FIELDS = 6,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_ANT_TX_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 18usize],
}
#[test]
fn bindgen_test_layout_FIT_ANT_TX_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_ANT_TX_MESG_DEF>() , 24usize , concat
! ( "Size of: " , stringify ! ( FIT_ANT_TX_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_ANT_TX_MESG_DEF>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( FIT_ANT_TX_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ANT_TX_MESG_DEF ) ) . reserved_1 as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ANT_TX_MESG_DEF ) ,
"::" , stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ANT_TX_MESG_DEF ) ) . arch as * const
_ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ANT_TX_MESG_DEF ) ,
"::" , stringify ! ( arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ANT_TX_MESG_DEF ) ) . global_mesg_num
as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ANT_TX_MESG_DEF ) ,
"::" , stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ANT_TX_MESG_DEF ) ) . num_fields as *
const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ANT_TX_MESG_DEF ) ,
"::" , stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_ANT_TX_MESG_DEF ) ) . fields as *
const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_ANT_TX_MESG_DEF ) ,
"::" , stringify ! ( fields ) ));
}
impl Clone for FIT_ANT_TX_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_EXD_SCREEN_CONFIGURATION_MESG {
pub screen_index: FIT_UINT8,
pub field_count: FIT_UINT8,
pub layout: FIT_EXD_LAYOUT,
pub screen_enabled: FIT_BOOL,
}
#[test]
fn bindgen_test_layout_FIT_EXD_SCREEN_CONFIGURATION_MESG() {
assert_eq!(::std::mem::size_of::<FIT_EXD_SCREEN_CONFIGURATION_MESG>() ,
4usize , concat ! (
"Size of: " , stringify ! ( FIT_EXD_SCREEN_CONFIGURATION_MESG )
));
assert_eq! (::std::mem::align_of::<FIT_EXD_SCREEN_CONFIGURATION_MESG>() ,
1usize , concat ! (
"Alignment of " , stringify ! (
FIT_EXD_SCREEN_CONFIGURATION_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EXD_SCREEN_CONFIGURATION_MESG ) ) .
screen_index as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_SCREEN_CONFIGURATION_MESG ) , "::" , stringify ! (
screen_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EXD_SCREEN_CONFIGURATION_MESG ) ) .
field_count as * const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_SCREEN_CONFIGURATION_MESG ) , "::" , stringify ! (
field_count ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EXD_SCREEN_CONFIGURATION_MESG ) ) .
layout as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_SCREEN_CONFIGURATION_MESG ) , "::" , stringify ! (
layout ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EXD_SCREEN_CONFIGURATION_MESG ) ) .
screen_enabled as * const _ as usize } , 3usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_SCREEN_CONFIGURATION_MESG ) , "::" , stringify ! (
screen_enabled ) ));
}
impl Clone for FIT_EXD_SCREEN_CONFIGURATION_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_EXD_SCREEN_CONFIGURATION_FIELD_NUM {
FIT_EXD_SCREEN_CONFIGURATION_FIELD_NUM_SCREEN_INDEX = 0,
FIT_EXD_SCREEN_CONFIGURATION_FIELD_NUM_FIELD_COUNT = 1,
FIT_EXD_SCREEN_CONFIGURATION_FIELD_NUM_LAYOUT = 2,
FIT_EXD_SCREEN_CONFIGURATION_FIELD_NUM_SCREEN_ENABLED = 3,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_EXD_SCREEN_CONFIGURATION_MESG_FIELD {
FIT_EXD_SCREEN_CONFIGURATION_MESG_SCREEN_INDEX = 0,
FIT_EXD_SCREEN_CONFIGURATION_MESG_FIELD_COUNT = 1,
FIT_EXD_SCREEN_CONFIGURATION_MESG_LAYOUT = 2,
FIT_EXD_SCREEN_CONFIGURATION_MESG_SCREEN_ENABLED = 3,
FIT_EXD_SCREEN_CONFIGURATION_MESG_FIELDS = 4,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_EXD_SCREEN_CONFIGURATION_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 12usize],
}
#[test]
fn bindgen_test_layout_FIT_EXD_SCREEN_CONFIGURATION_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_EXD_SCREEN_CONFIGURATION_MESG_DEF>()
, 18usize , concat ! (
"Size of: " , stringify ! (
FIT_EXD_SCREEN_CONFIGURATION_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_EXD_SCREEN_CONFIGURATION_MESG_DEF>()
, 2usize , concat ! (
"Alignment of " , stringify ! (
FIT_EXD_SCREEN_CONFIGURATION_MESG_DEF ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EXD_SCREEN_CONFIGURATION_MESG_DEF ) )
. reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_SCREEN_CONFIGURATION_MESG_DEF ) , "::" , stringify ! (
reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EXD_SCREEN_CONFIGURATION_MESG_DEF ) )
. arch as * const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_SCREEN_CONFIGURATION_MESG_DEF ) , "::" , stringify ! (
arch ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EXD_SCREEN_CONFIGURATION_MESG_DEF ) )
. global_mesg_num as * const _ as usize } , 2usize , concat !
(
"Alignment of field: " , stringify ! (
FIT_EXD_SCREEN_CONFIGURATION_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EXD_SCREEN_CONFIGURATION_MESG_DEF ) )
. num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_SCREEN_CONFIGURATION_MESG_DEF ) , "::" , stringify ! (
num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EXD_SCREEN_CONFIGURATION_MESG_DEF ) )
. fields as * const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_SCREEN_CONFIGURATION_MESG_DEF ) , "::" , stringify ! (
fields ) ));
}
impl Clone for FIT_EXD_SCREEN_CONFIGURATION_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_EXD_DATA_FIELD_CONFIGURATION_MESG {
pub screen_index: FIT_UINT8,
pub concept_field: FIT_BYTE,
pub field_id: FIT_UINT8,
pub concept_count: FIT_UINT8,
pub display_type: FIT_EXD_DISPLAY_TYPE,
pub title: [FIT_STRING; 1usize],
}
#[test]
fn bindgen_test_layout_FIT_EXD_DATA_FIELD_CONFIGURATION_MESG() {
assert_eq!(::std::mem::size_of::<FIT_EXD_DATA_FIELD_CONFIGURATION_MESG>()
, 6usize , concat ! (
"Size of: " , stringify ! (
FIT_EXD_DATA_FIELD_CONFIGURATION_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_EXD_DATA_FIELD_CONFIGURATION_MESG>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
FIT_EXD_DATA_FIELD_CONFIGURATION_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EXD_DATA_FIELD_CONFIGURATION_MESG ) )
. screen_index as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_FIELD_CONFIGURATION_MESG ) , "::" , stringify ! (
screen_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EXD_DATA_FIELD_CONFIGURATION_MESG ) )
. concept_field as * const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_FIELD_CONFIGURATION_MESG ) , "::" , stringify ! (
concept_field ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EXD_DATA_FIELD_CONFIGURATION_MESG ) )
. field_id as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_FIELD_CONFIGURATION_MESG ) , "::" , stringify ! (
field_id ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EXD_DATA_FIELD_CONFIGURATION_MESG ) )
. concept_count as * const _ as usize } , 3usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_FIELD_CONFIGURATION_MESG ) , "::" , stringify ! (
concept_count ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EXD_DATA_FIELD_CONFIGURATION_MESG ) )
. display_type as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_FIELD_CONFIGURATION_MESG ) , "::" , stringify ! (
display_type ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EXD_DATA_FIELD_CONFIGURATION_MESG ) )
. title as * const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_FIELD_CONFIGURATION_MESG ) , "::" , stringify ! (
title ) ));
}
impl Clone for FIT_EXD_DATA_FIELD_CONFIGURATION_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_EXD_DATA_FIELD_CONFIGURATION_FIELD_NUM {
FIT_EXD_DATA_FIELD_CONFIGURATION_FIELD_NUM_SCREEN_INDEX = 0,
FIT_EXD_DATA_FIELD_CONFIGURATION_FIELD_NUM_CONCEPT_FIELD = 1,
FIT_EXD_DATA_FIELD_CONFIGURATION_FIELD_NUM_FIELD_ID = 2,
FIT_EXD_DATA_FIELD_CONFIGURATION_FIELD_NUM_CONCEPT_COUNT = 3,
FIT_EXD_DATA_FIELD_CONFIGURATION_FIELD_NUM_DISPLAY_TYPE = 4,
FIT_EXD_DATA_FIELD_CONFIGURATION_FIELD_NUM_TITLE = 5,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_FIELD {
FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_SCREEN_INDEX = 0,
FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_CONCEPT_FIELD = 1,
FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_FIELD_ID = 2,
FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_CONCEPT_COUNT = 3,
FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_DISPLAY_TYPE = 4,
FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_TITLE = 5,
FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_FIELDS = 6,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 18usize],
}
#[test]
fn bindgen_test_layout_FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_DEF>()
, 24usize , concat ! (
"Size of: " , stringify ! (
FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_DEF>()
, 2usize , concat ! (
"Alignment of " , stringify ! (
FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_DEF ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_DEF ) )
. reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_DEF ) , "::" , stringify
! ( reserved_1 ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_DEF ) )
. arch as * const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_DEF ) , "::" , stringify
! ( arch ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_DEF ) )
. global_mesg_num as * const _ as usize } , 2usize , concat !
(
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_DEF ) , "::" , stringify
! ( global_mesg_num ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_DEF ) )
. num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_DEF ) , "::" , stringify
! ( num_fields ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_DEF ) )
. fields as * const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_DEF ) , "::" , stringify
! ( fields ) ));
}
impl Clone for FIT_EXD_DATA_FIELD_CONFIGURATION_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG {
pub screen_index: FIT_UINT8,
pub concept_field: FIT_BYTE,
pub field_id: FIT_UINT8,
pub concept_index: FIT_UINT8,
pub data_page: FIT_UINT8,
pub concept_key: FIT_UINT8,
pub scaling: FIT_UINT8,
pub data_units: FIT_EXD_DATA_UNITS,
pub qualifier: FIT_EXD_QUALIFIERS,
pub descriptor: FIT_EXD_DESCRIPTORS,
pub is_signed: FIT_BOOL,
}
#[test]
fn bindgen_test_layout_FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG() {
assert_eq!(::std::mem::size_of::<FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG>()
, 11usize , concat ! (
"Size of: " , stringify ! (
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG>()
, 1usize , concat ! (
"Alignment of " , stringify ! (
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG )
) . screen_index as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG ) , "::" , stringify !
( screen_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG )
) . concept_field as * const _ as usize } , 1usize , concat !
(
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG ) , "::" , stringify !
( concept_field ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG )
) . field_id as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG ) , "::" , stringify !
( field_id ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG )
) . concept_index as * const _ as usize } , 3usize , concat !
(
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG ) , "::" , stringify !
( concept_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG )
) . data_page as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG ) , "::" , stringify !
( data_page ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG )
) . concept_key as * const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG ) , "::" , stringify !
( concept_key ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG )
) . scaling as * const _ as usize } , 6usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG ) , "::" , stringify !
( scaling ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG )
) . data_units as * const _ as usize } , 7usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG ) , "::" , stringify !
( data_units ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG )
) . qualifier as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG ) , "::" , stringify !
( qualifier ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG )
) . descriptor as * const _ as usize } , 9usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG ) , "::" , stringify !
( descriptor ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG )
) . is_signed as * const _ as usize } , 10usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG ) , "::" , stringify !
( is_signed ) ));
}
impl Clone for FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_EXD_DATA_CONCEPT_CONFIGURATION_FIELD_NUM {
FIT_EXD_DATA_CONCEPT_CONFIGURATION_FIELD_NUM_SCREEN_INDEX = 0,
FIT_EXD_DATA_CONCEPT_CONFIGURATION_FIELD_NUM_CONCEPT_FIELD = 1,
FIT_EXD_DATA_CONCEPT_CONFIGURATION_FIELD_NUM_FIELD_ID = 2,
FIT_EXD_DATA_CONCEPT_CONFIGURATION_FIELD_NUM_CONCEPT_INDEX = 3,
FIT_EXD_DATA_CONCEPT_CONFIGURATION_FIELD_NUM_DATA_PAGE = 4,
FIT_EXD_DATA_CONCEPT_CONFIGURATION_FIELD_NUM_CONCEPT_KEY = 5,
FIT_EXD_DATA_CONCEPT_CONFIGURATION_FIELD_NUM_SCALING = 6,
FIT_EXD_DATA_CONCEPT_CONFIGURATION_FIELD_NUM_DATA_UNITS = 8,
FIT_EXD_DATA_CONCEPT_CONFIGURATION_FIELD_NUM_QUALIFIER = 9,
FIT_EXD_DATA_CONCEPT_CONFIGURATION_FIELD_NUM_DESCRIPTOR = 10,
FIT_EXD_DATA_CONCEPT_CONFIGURATION_FIELD_NUM_IS_SIGNED = 11,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_FIELD {
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_SCREEN_INDEX = 0,
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_CONCEPT_FIELD = 1,
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_FIELD_ID = 2,
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_CONCEPT_INDEX = 3,
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_DATA_PAGE = 4,
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_CONCEPT_KEY = 5,
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_SCALING = 6,
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_DATA_UNITS = 7,
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_QUALIFIER = 8,
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_DESCRIPTOR = 9,
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_IS_SIGNED = 10,
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_FIELDS = 11,
}
#[repr(C)]
pub struct FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 33usize],
}
#[test]
fn bindgen_test_layout_FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_DEF>()
, 38usize , concat ! (
"Size of: " , stringify ! (
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_DEF ) ));
assert_eq! (::std::mem::align_of::<FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_DEF>()
, 2usize , concat ! (
"Alignment of " , stringify ! (
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_DEF ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_DEF )
) . reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_DEF ) , "::" ,
stringify ! ( reserved_1 ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_DEF )
) . arch as * const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_DEF ) , "::" ,
stringify ! ( arch ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_DEF )
) . global_mesg_num as * const _ as usize } , 2usize , concat
! (
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_DEF ) , "::" ,
stringify ! ( global_mesg_num ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_DEF )
) . num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_DEF ) , "::" ,
stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& (
* ( 0 as * const FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_DEF )
) . fields as * const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_EXD_DATA_CONCEPT_CONFIGURATION_MESG_DEF ) , "::" ,
stringify ! ( fields ) ));
}
#[repr(C)]
pub struct FIT_FIELD_DESCRIPTION_MESG {
pub field_name: [FIT_STRING; 64usize],
pub units: [FIT_STRING; 16usize],
pub fit_base_unit_id: FIT_FIT_BASE_UNIT,
pub native_mesg_num: FIT_MESG_NUM,
pub developer_data_index: FIT_UINT8,
pub field_definition_number: FIT_UINT8,
pub fit_base_type_id: FIT_FIT_BASE_TYPE,
pub scale: FIT_UINT8,
pub offset: FIT_SINT8,
pub native_field_num: FIT_UINT8,
}
#[test]
fn bindgen_test_layout_FIT_FIELD_DESCRIPTION_MESG() {
assert_eq!(::std::mem::size_of::<FIT_FIELD_DESCRIPTION_MESG>() , 90usize ,
concat ! (
"Size of: " , stringify ! ( FIT_FIELD_DESCRIPTION_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_FIELD_DESCRIPTION_MESG>() , 2usize
, concat ! (
"Alignment of " , stringify ! ( FIT_FIELD_DESCRIPTION_MESG )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_DESCRIPTION_MESG ) ) .
field_name as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FIELD_DESCRIPTION_MESG ) , "::" , stringify ! ( field_name
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_DESCRIPTION_MESG ) ) . units as
* const _ as usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FIELD_DESCRIPTION_MESG ) , "::" , stringify ! ( units )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_DESCRIPTION_MESG ) ) .
fit_base_unit_id as * const _ as usize } , 80usize , concat !
(
"Alignment of field: " , stringify ! (
FIT_FIELD_DESCRIPTION_MESG ) , "::" , stringify ! (
fit_base_unit_id ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_DESCRIPTION_MESG ) ) .
native_mesg_num as * const _ as usize } , 82usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FIELD_DESCRIPTION_MESG ) , "::" , stringify ! (
native_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_DESCRIPTION_MESG ) ) .
developer_data_index as * const _ as usize } , 84usize ,
concat ! (
"Alignment of field: " , stringify ! (
FIT_FIELD_DESCRIPTION_MESG ) , "::" , stringify ! (
developer_data_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_DESCRIPTION_MESG ) ) .
field_definition_number as * const _ as usize } , 85usize ,
concat ! (
"Alignment of field: " , stringify ! (
FIT_FIELD_DESCRIPTION_MESG ) , "::" , stringify ! (
field_definition_number ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_DESCRIPTION_MESG ) ) .
fit_base_type_id as * const _ as usize } , 86usize , concat !
(
"Alignment of field: " , stringify ! (
FIT_FIELD_DESCRIPTION_MESG ) , "::" , stringify ! (
fit_base_type_id ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_DESCRIPTION_MESG ) ) . scale as
* const _ as usize } , 87usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FIELD_DESCRIPTION_MESG ) , "::" , stringify ! ( scale )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_DESCRIPTION_MESG ) ) . offset
as * const _ as usize } , 88usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FIELD_DESCRIPTION_MESG ) , "::" , stringify ! ( offset )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_DESCRIPTION_MESG ) ) .
native_field_num as * const _ as usize } , 89usize , concat !
(
"Alignment of field: " , stringify ! (
FIT_FIELD_DESCRIPTION_MESG ) , "::" , stringify ! (
native_field_num ) ));
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_FIELD_DESCRIPTION_FIELD_NUM {
FIT_FIELD_DESCRIPTION_FIELD_NUM_FIELD_NAME = 3,
FIT_FIELD_DESCRIPTION_FIELD_NUM_UNITS = 8,
FIT_FIELD_DESCRIPTION_FIELD_NUM_FIT_BASE_UNIT_ID = 13,
FIT_FIELD_DESCRIPTION_FIELD_NUM_NATIVE_MESG_NUM = 14,
FIT_FIELD_DESCRIPTION_FIELD_NUM_DEVELOPER_DATA_INDEX = 0,
FIT_FIELD_DESCRIPTION_FIELD_NUM_FIELD_DEFINITION_NUMBER = 1,
FIT_FIELD_DESCRIPTION_FIELD_NUM_FIT_BASE_TYPE_ID = 2,
FIT_FIELD_DESCRIPTION_FIELD_NUM_SCALE = 6,
FIT_FIELD_DESCRIPTION_FIELD_NUM_OFFSET = 7,
FIT_FIELD_DESCRIPTION_FIELD_NUM_NATIVE_FIELD_NUM = 15,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_FIELD_DESCRIPTION_MESG_FIELD {
FIT_FIELD_DESCRIPTION_MESG_FIELD_NAME = 0,
FIT_FIELD_DESCRIPTION_MESG_UNITS = 1,
FIT_FIELD_DESCRIPTION_MESG_FIT_BASE_UNIT_ID = 2,
FIT_FIELD_DESCRIPTION_MESG_NATIVE_MESG_NUM = 3,
FIT_FIELD_DESCRIPTION_MESG_DEVELOPER_DATA_INDEX = 4,
FIT_FIELD_DESCRIPTION_MESG_FIELD_DEFINITION_NUMBER = 5,
FIT_FIELD_DESCRIPTION_MESG_FIT_BASE_TYPE_ID = 6,
FIT_FIELD_DESCRIPTION_MESG_SCALE = 7,
FIT_FIELD_DESCRIPTION_MESG_OFFSET = 8,
FIT_FIELD_DESCRIPTION_MESG_NATIVE_FIELD_NUM = 9,
FIT_FIELD_DESCRIPTION_MESG_FIELDS = 10,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_FIELD_DESCRIPTION_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 30usize],
}
#[test]
fn bindgen_test_layout_FIT_FIELD_DESCRIPTION_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_FIELD_DESCRIPTION_MESG_DEF>() ,
36usize , concat ! (
"Size of: " , stringify ! ( FIT_FIELD_DESCRIPTION_MESG_DEF )
));
assert_eq! (::std::mem::align_of::<FIT_FIELD_DESCRIPTION_MESG_DEF>() ,
2usize , concat ! (
"Alignment of " , stringify ! ( FIT_FIELD_DESCRIPTION_MESG_DEF
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_DESCRIPTION_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FIELD_DESCRIPTION_MESG_DEF ) , "::" , stringify ! (
reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_DESCRIPTION_MESG_DEF ) ) . arch
as * const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FIELD_DESCRIPTION_MESG_DEF ) , "::" , stringify ! ( arch )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_DESCRIPTION_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FIELD_DESCRIPTION_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_DESCRIPTION_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FIELD_DESCRIPTION_MESG_DEF ) , "::" , stringify ! (
num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_FIELD_DESCRIPTION_MESG_DEF ) ) .
fields as * const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_FIELD_DESCRIPTION_MESG_DEF ) , "::" , stringify ! ( fields
) ));
}
impl Clone for FIT_FIELD_DESCRIPTION_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_DEVELOPER_DATA_ID_MESG {
pub developer_id: [FIT_BYTE; 16usize],
pub application_id: [FIT_BYTE; 16usize],
pub application_version: FIT_UINT32,
pub manufacturer_id: FIT_MANUFACTURER,
pub developer_data_index: FIT_UINT8,
}
#[test]
fn bindgen_test_layout_FIT_DEVELOPER_DATA_ID_MESG() {
assert_eq!(::std::mem::size_of::<FIT_DEVELOPER_DATA_ID_MESG>() , 48usize ,
concat ! (
"Size of: " , stringify ! ( FIT_DEVELOPER_DATA_ID_MESG ) ));
assert_eq! (::std::mem::align_of::<FIT_DEVELOPER_DATA_ID_MESG>() , 8usize
, concat ! (
"Alignment of " , stringify ! ( FIT_DEVELOPER_DATA_ID_MESG )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVELOPER_DATA_ID_MESG ) ) .
developer_id as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVELOPER_DATA_ID_MESG ) , "::" , stringify ! (
developer_id ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVELOPER_DATA_ID_MESG ) ) .
application_id as * const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVELOPER_DATA_ID_MESG ) , "::" , stringify ! (
application_id ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVELOPER_DATA_ID_MESG ) ) .
application_version as * const _ as usize } , 32usize , concat
! (
"Alignment of field: " , stringify ! (
FIT_DEVELOPER_DATA_ID_MESG ) , "::" , stringify ! (
application_version ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVELOPER_DATA_ID_MESG ) ) .
manufacturer_id as * const _ as usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVELOPER_DATA_ID_MESG ) , "::" , stringify ! (
manufacturer_id ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVELOPER_DATA_ID_MESG ) ) .
developer_data_index as * const _ as usize } , 42usize ,
concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVELOPER_DATA_ID_MESG ) , "::" , stringify ! (
developer_data_index ) ));
}
impl Clone for FIT_DEVELOPER_DATA_ID_MESG {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_DEVELOPER_DATA_ID_FIELD_NUM {
FIT_DEVELOPER_DATA_ID_FIELD_NUM_DEVELOPER_ID = 0,
FIT_DEVELOPER_DATA_ID_FIELD_NUM_APPLICATION_ID = 1,
FIT_DEVELOPER_DATA_ID_FIELD_NUM_APPLICATION_VERSION = 4,
FIT_DEVELOPER_DATA_ID_FIELD_NUM_MANUFACTURER_ID = 2,
FIT_DEVELOPER_DATA_ID_FIELD_NUM_DEVELOPER_DATA_INDEX = 3,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_DEVELOPER_DATA_ID_MESG_FIELD {
FIT_DEVELOPER_DATA_ID_MESG_DEVELOPER_ID = 0,
FIT_DEVELOPER_DATA_ID_MESG_APPLICATION_ID = 1,
FIT_DEVELOPER_DATA_ID_MESG_APPLICATION_VERSION = 2,
FIT_DEVELOPER_DATA_ID_MESG_MANUFACTURER_ID = 3,
FIT_DEVELOPER_DATA_ID_MESG_DEVELOPER_DATA_INDEX = 4,
FIT_DEVELOPER_DATA_ID_MESG_FIELDS = 5,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_DEVELOPER_DATA_ID_MESG_DEF {
pub reserved_1: FIT_UINT8,
pub arch: FIT_UINT8,
pub global_mesg_num: FIT_MESG_NUM,
pub num_fields: FIT_UINT8,
pub fields: [FIT_UINT8; 15usize],
}
#[test]
fn bindgen_test_layout_FIT_DEVELOPER_DATA_ID_MESG_DEF() {
assert_eq!(::std::mem::size_of::<FIT_DEVELOPER_DATA_ID_MESG_DEF>() ,
20usize , concat ! (
"Size of: " , stringify ! ( FIT_DEVELOPER_DATA_ID_MESG_DEF )
));
assert_eq! (::std::mem::align_of::<FIT_DEVELOPER_DATA_ID_MESG_DEF>() ,
2usize , concat ! (
"Alignment of " , stringify ! ( FIT_DEVELOPER_DATA_ID_MESG_DEF
) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVELOPER_DATA_ID_MESG_DEF ) ) .
reserved_1 as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVELOPER_DATA_ID_MESG_DEF ) , "::" , stringify ! (
reserved_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVELOPER_DATA_ID_MESG_DEF ) ) . arch
as * const _ as usize } , 1usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVELOPER_DATA_ID_MESG_DEF ) , "::" , stringify ! ( arch )
));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVELOPER_DATA_ID_MESG_DEF ) ) .
global_mesg_num as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVELOPER_DATA_ID_MESG_DEF ) , "::" , stringify ! (
global_mesg_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVELOPER_DATA_ID_MESG_DEF ) ) .
num_fields as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVELOPER_DATA_ID_MESG_DEF ) , "::" , stringify ! (
num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVELOPER_DATA_ID_MESG_DEF ) ) .
fields as * const _ as usize } , 5usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_DEVELOPER_DATA_ID_MESG_DEF ) , "::" , stringify ! ( fields
) ));
}
impl Clone for FIT_DEVELOPER_DATA_ID_MESG_DEF {
fn clone(&self) -> Self { *self }
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_MESG {
FIT_MESG_PAD = 0,
FIT_MESG_FILE_ID = 1,
FIT_MESG_FILE_CREATOR = 2,
FIT_MESG_SOFTWARE = 3,
FIT_MESG_SLAVE_DEVICE = 4,
FIT_MESG_CAPABILITIES = 5,
FIT_MESG_FILE_CAPABILITIES = 6,
FIT_MESG_MESG_CAPABILITIES = 7,
FIT_MESG_FIELD_CAPABILITIES = 8,
FIT_MESG_DEVICE_SETTINGS = 9,
FIT_MESG_USER_PROFILE = 10,
FIT_MESG_HRM_PROFILE = 11,
FIT_MESG_SDM_PROFILE = 12,
FIT_MESG_BIKE_PROFILE = 13,
FIT_MESG_CONNECTIVITY = 14,
FIT_MESG_ZONES_TARGET = 15,
FIT_MESG_SPORT = 16,
FIT_MESG_HR_ZONE = 17,
FIT_MESG_SPEED_ZONE = 18,
FIT_MESG_CADENCE_ZONE = 19,
FIT_MESG_POWER_ZONE = 20,
FIT_MESG_MET_ZONE = 21,
FIT_MESG_GOAL = 22,
FIT_MESG_ACTIVITY = 23,
FIT_MESG_SESSION = 24,
FIT_MESG_LAP = 25,
FIT_MESG_LENGTH = 26,
FIT_MESG_RECORD = 27,
FIT_MESG_EVENT = 28,
FIT_MESG_DEVICE_INFO = 29,
FIT_MESG_TRAINING_FILE = 30,
FIT_MESG_HRV = 31,
FIT_MESG_WEATHER_CONDITIONS = 32,
FIT_MESG_WEATHER_ALERT = 33,
FIT_MESG_NMEA_SENTENCE = 34,
FIT_MESG_AVIATION_ATTITUDE = 35,
FIT_MESG_VIDEO_TITLE = 36,
FIT_MESG_VIDEO_DESCRIPTION = 37,
FIT_MESG_COURSE = 38,
FIT_MESG_COURSE_POINT = 39,
FIT_MESG_SEGMENT_ID = 40,
FIT_MESG_SEGMENT_LEADERBOARD_ENTRY = 41,
FIT_MESG_SEGMENT_POINT = 42,
FIT_MESG_SEGMENT_LAP = 43,
FIT_MESG_SEGMENT_FILE = 44,
FIT_MESG_WORKOUT = 45,
FIT_MESG_WORKOUT_SESSION = 46,
FIT_MESG_WORKOUT_STEP = 47,
FIT_MESG_SCHEDULE = 48,
FIT_MESG_TOTALS = 49,
FIT_MESG_WEIGHT_SCALE = 50,
FIT_MESG_BLOOD_PRESSURE = 51,
FIT_MESG_MONITORING_INFO = 52,
FIT_MESG_MONITORING = 53,
FIT_MESG_HR = 54,
FIT_MESG_ANT_RX = 55,
FIT_MESG_ANT_TX = 56,
FIT_MESG_EXD_SCREEN_CONFIGURATION = 57,
FIT_MESG_EXD_DATA_FIELD_CONFIGURATION = 58,
FIT_MESG_EXD_DATA_CONCEPT_CONFIGURATION = 59,
FIT_MESG_FIELD_DESCRIPTION = 60,
FIT_MESG_DEVELOPER_DATA_ID = 61,
FIT_MESGS = 62,
}
pub type FIT_CONST_MESG_DEF_PTR = *const FIT_MESG_DEF;
extern "C" {
#[link_name = "fit_mesg_defs"]
pub static mut fit_mesg_defs: [FIT_CONST_MESG_DEF_PTR; 62usize];
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_FILE_DEF_ENUM { FIT_FILE_DEF_DEVICE = 0, FIT_FILE_DEFS = 1, }
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_FILE_INDEX {
FIT_FILE_INDEX_DEVICE_0 = 0,
FIT_FILE_INDEX_COUNT = 1,
}
#[repr(C)]
#[derive(Copy)]
pub struct FIT_DEVICE_FILE {
pub hdr: [FIT_UINT8; 14usize],
pub file_id_mesg_def: [FIT_UINT8; 27usize],
pub file_id_mesg: [[FIT_UINT8; 36usize]; 1usize],
pub crc: [FIT_UINT8; 2usize],
}
#[test]
fn bindgen_test_layout_FIT_DEVICE_FILE() {
assert_eq!(::std::mem::size_of::<FIT_DEVICE_FILE>() , 79usize , concat ! (
"Size of: " , stringify ! ( FIT_DEVICE_FILE ) ));
assert_eq! (::std::mem::align_of::<FIT_DEVICE_FILE>() , 1usize , concat !
( "Alignment of " , stringify ! ( FIT_DEVICE_FILE ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_FILE ) ) . hdr as * const _ as
usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_DEVICE_FILE ) ,
"::" , stringify ! ( hdr ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_FILE ) ) . file_id_mesg_def as
* const _ as usize } , 14usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_DEVICE_FILE ) ,
"::" , stringify ! ( file_id_mesg_def ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_FILE ) ) . file_id_mesg as *
const _ as usize } , 41usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_DEVICE_FILE ) ,
"::" , stringify ! ( file_id_mesg ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_DEVICE_FILE ) ) . crc as * const _ as
usize } , 77usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_DEVICE_FILE ) ,
"::" , stringify ! ( crc ) ));
}
impl Clone for FIT_DEVICE_FILE {
fn clone(&self) -> Self { *self }
}
extern "C" {
#[link_name = "fit_device_file"]
pub static fit_device_file: FIT_DEVICE_FILE;
}
extern "C" {
#[link_name = "fit_file_defs"]
pub static mut fit_file_defs: [FIT_FILE_DEF; 1usize];
}
#[repr(u32)]
//////////////////////////////////////////////////////////////////////////////////
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_CONVERT_RETURN {
FIT_CONVERT_CONTINUE = 0,
FIT_CONVERT_MESSAGE_AVAILABLE = 1,
FIT_CONVERT_ERROR = 2,
FIT_CONVERT_END_OF_FILE = 3,
FIT_CONVERT_PROTOCOL_VERSION_NOT_SUPPORTED = 4,
FIT_CONVERT_DATA_TYPE_NOT_SUPPORTED = 5,
FIT_CONVERT_MESSAGE_NUMBER_FOUND = 6,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FIT_CONVERT_DECODE_STATE {
FIT_CONVERT_DECODE_FILE_HDR = 0,
FIT_CONVERT_DECODE_RECORD = 1,
FIT_CONVERT_DECODE_RESERVED1 = 2,
FIT_CONVERT_DECODE_ARCH = 3,
FIT_CONVERT_DECODE_GTYPE_1 = 4,
FIT_CONVERT_DECODE_GTYPE_2 = 5,
FIT_CONVERT_DECODE_NUM_FIELD_DEFS = 6,
FIT_CONVERT_DECODE_FIELD_DEF = 7,
FIT_CONVERT_DECODE_FIELD_DEF_SIZE = 8,
FIT_CONVERT_DECODE_FIELD_BASE_TYPE = 9,
FIT_CONVERT_DECODE_NUM_DEV_FIELDS = 10,
FIT_CONVERT_DECODE_DEV_FIELD_DEF = 11,
FIT_CONVERT_DECODE_DEV_FIELD_SIZE = 12,
FIT_CONVERT_DECODE_DEV_FIELD_INDEX = 13,
FIT_CONVERT_DECODE_FIELD_DATA = 14,
FIT_CONVERT_DECODE_DEV_FIELD_DATA = 15,
}
#[repr(C)]
pub struct FIT_CONVERT_STATE {
pub file_bytes_left: FIT_UINT32,
pub data_offset: FIT_UINT32,
pub timestamp: FIT_UINT32,
pub u: FIT_CONVERT_STATE__bindgen_ty_1,
pub convert_table: [FIT_MESG_CONVERT; 16usize],
pub mesg_def: *const FIT_MESG_DEF,
pub crc: FIT_UINT16,
pub decode_state: FIT_CONVERT_DECODE_STATE,
pub has_dev_data: FIT_BOOL,
pub mesg_index: FIT_UINT8,
pub mesg_sizes: [FIT_UINT8; 16usize],
pub dev_data_sizes: [FIT_UINT8; 16usize],
pub mesg_offset: FIT_UINT8,
pub num_fields: FIT_UINT8,
pub field_num: FIT_UINT8,
pub field_index: FIT_UINT8,
pub field_offset: FIT_UINT8,
pub last_time_offset: FIT_UINT8,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct FIT_CONVERT_STATE__bindgen_ty_1 {
pub file_hdr: __BindgenUnionField<FIT_FILE_HDR>,
pub mesg: __BindgenUnionField<[FIT_UINT8; 254usize]>,
pub bindgen_union_field: [u64; 32usize],
}
#[test]
fn bindgen_test_layout_FIT_CONVERT_STATE__bindgen_ty_1() {
assert_eq!(::std::mem::size_of::<FIT_CONVERT_STATE__bindgen_ty_1>() ,
256usize , concat ! (
"Size of: " , stringify ! ( FIT_CONVERT_STATE__bindgen_ty_1 )
));
assert_eq! (::std::mem::align_of::<FIT_CONVERT_STATE__bindgen_ty_1>() ,
8usize , concat ! (
"Alignment of " , stringify ! (
FIT_CONVERT_STATE__bindgen_ty_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONVERT_STATE__bindgen_ty_1 ) ) .
file_hdr as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_CONVERT_STATE__bindgen_ty_1 ) , "::" , stringify ! (
file_hdr ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONVERT_STATE__bindgen_ty_1 ) ) .
mesg as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
FIT_CONVERT_STATE__bindgen_ty_1 ) , "::" , stringify ! ( mesg
) ));
}
impl Clone for FIT_CONVERT_STATE__bindgen_ty_1 {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_FIT_CONVERT_STATE() {
assert_eq!(::std::mem::size_of::<FIT_CONVERT_STATE>() , 7632usize , concat
! ( "Size of: " , stringify ! ( FIT_CONVERT_STATE ) ));
assert_eq! (::std::mem::align_of::<FIT_CONVERT_STATE>() , 8usize , concat
! ( "Alignment of " , stringify ! ( FIT_CONVERT_STATE ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONVERT_STATE ) ) . file_bytes_left
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_CONVERT_STATE ) ,
"::" , stringify ! ( file_bytes_left ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONVERT_STATE ) ) . data_offset as *
const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_CONVERT_STATE ) ,
"::" , stringify ! ( data_offset ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONVERT_STATE ) ) . timestamp as *
const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_CONVERT_STATE ) ,
"::" , stringify ! ( timestamp ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONVERT_STATE ) ) . u as * const _ as
usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_CONVERT_STATE ) ,
"::" , stringify ! ( u ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONVERT_STATE ) ) . convert_table as
* const _ as usize } , 280usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_CONVERT_STATE ) ,
"::" , stringify ! ( convert_table ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONVERT_STATE ) ) . mesg_def as *
const _ as usize } , 7576usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_CONVERT_STATE ) ,
"::" , stringify ! ( mesg_def ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONVERT_STATE ) ) . crc as * const _
as usize } , 7584usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_CONVERT_STATE ) ,
"::" , stringify ! ( crc ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONVERT_STATE ) ) . decode_state as *
const _ as usize } , 7588usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_CONVERT_STATE ) ,
"::" , stringify ! ( decode_state ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONVERT_STATE ) ) . has_dev_data as *
const _ as usize } , 7592usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_CONVERT_STATE ) ,
"::" , stringify ! ( has_dev_data ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONVERT_STATE ) ) . mesg_index as *
const _ as usize } , 7593usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_CONVERT_STATE ) ,
"::" , stringify ! ( mesg_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONVERT_STATE ) ) . mesg_sizes as *
const _ as usize } , 7594usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_CONVERT_STATE ) ,
"::" , stringify ! ( mesg_sizes ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONVERT_STATE ) ) . dev_data_sizes as
* const _ as usize } , 7610usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_CONVERT_STATE ) ,
"::" , stringify ! ( dev_data_sizes ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONVERT_STATE ) ) . mesg_offset as *
const _ as usize } , 7626usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_CONVERT_STATE ) ,
"::" , stringify ! ( mesg_offset ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONVERT_STATE ) ) . num_fields as *
const _ as usize } , 7627usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_CONVERT_STATE ) ,
"::" , stringify ! ( num_fields ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONVERT_STATE ) ) . field_num as *
const _ as usize } , 7628usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_CONVERT_STATE ) ,
"::" , stringify ! ( field_num ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONVERT_STATE ) ) . field_index as *
const _ as usize } , 7629usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_CONVERT_STATE ) ,
"::" , stringify ! ( field_index ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONVERT_STATE ) ) . field_offset as *
const _ as usize } , 7630usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_CONVERT_STATE ) ,
"::" , stringify ! ( field_offset ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const FIT_CONVERT_STATE ) ) . last_time_offset
as * const _ as usize } , 7631usize , concat ! (
"Alignment of field: " , stringify ! ( FIT_CONVERT_STATE ) ,
"::" , stringify ! ( last_time_offset ) ));
}
extern "C" {
pub fn FitConvert_Init(state: *mut FIT_CONVERT_STATE,
read_file_header: FIT_BOOL);
}
extern "C" {
pub fn FitConvert_Read(state: *mut FIT_CONVERT_STATE,
data: *const ::std::os::raw::c_void,
size: FIT_UINT32) -> FIT_CONVERT_RETURN;
}
extern "C" {
pub fn FitConvert_ReadExt(state: *mut FIT_CONVERT_STATE,
data: *const ::std::os::raw::c_void,
size: FIT_UINT32,
return_message_numbers: FIT_BOOL)
-> FIT_CONVERT_RETURN;
}
extern "C" {
pub fn FitConvert_GetMessageNumber(state: *mut FIT_CONVERT_STATE)
-> FIT_MESG_NUM;
}
extern "C" {
pub fn FitConvert_GetMessageData(state: *mut FIT_CONVERT_STATE)
-> *const FIT_UINT8;
}
extern "C" {
pub fn FitConvert_RestoreFields(state: *mut FIT_CONVERT_STATE,
mesg_data: *const ::std::os::raw::c_void);
}
extern "C" {
pub fn FitConvert_GetFieldSize(state: *mut FIT_CONVERT_STATE,
field: FIT_UINT8) -> FIT_UINT8;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment