Created
July 11, 2017 04:14
-
-
Save jacobh/e812d09c8af2d62631eefcb21b051969 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* 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