blob: cd6737688f13c88fafeb854092866c7e46150db7 [file] [log] [blame]
/*
* This file is auto-generated. Modifications will be lost.
*
* See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
* for more information.
*/
#ifndef __VMCLOCK_ABI_H__
#define __VMCLOCK_ABI_H__
#include <linux/types.h>
struct vmclock_abi {
__le32 magic;
#define VMCLOCK_MAGIC 0x4b4c4356
__le32 size;
__le16 version;
__u8 counter_id;
#define VMCLOCK_COUNTER_ARM_VCNT 0
#define VMCLOCK_COUNTER_X86_TSC 1
#define VMCLOCK_COUNTER_INVALID 0xff
__u8 time_type;
#define VMCLOCK_TIME_UTC 0
#define VMCLOCK_TIME_TAI 1
#define VMCLOCK_TIME_MONOTONIC 2
#define VMCLOCK_TIME_INVALID_SMEARED 3
#define VMCLOCK_TIME_INVALID_MAYBE_SMEARED 4
__le32 seq_count;
__le64 disruption_marker;
__le64 flags;
#define VMCLOCK_FLAG_TAI_OFFSET_VALID (1 << 0)
#define VMCLOCK_FLAG_DISRUPTION_SOON (1 << 1)
#define VMCLOCK_FLAG_DISRUPTION_IMMINENT (1 << 2)
#define VMCLOCK_FLAG_PERIOD_ESTERROR_VALID (1 << 3)
#define VMCLOCK_FLAG_PERIOD_MAXERROR_VALID (1 << 4)
#define VMCLOCK_FLAG_TIME_ESTERROR_VALID (1 << 5)
#define VMCLOCK_FLAG_TIME_MAXERROR_VALID (1 << 6)
#define VMCLOCK_FLAG_TIME_MONOTONIC (1 << 7)
__u8 pad[2];
__u8 clock_status;
#define VMCLOCK_STATUS_UNKNOWN 0
#define VMCLOCK_STATUS_INITIALIZING 1
#define VMCLOCK_STATUS_SYNCHRONIZED 2
#define VMCLOCK_STATUS_FREERUNNING 3
#define VMCLOCK_STATUS_UNRELIABLE 4
__u8 leap_second_smearing_hint;
#define VMCLOCK_SMEARING_STRICT 0
#define VMCLOCK_SMEARING_NOON_LINEAR 1
#define VMCLOCK_SMEARING_UTC_SLS 2
__le16 tai_offset_sec;
__u8 leap_indicator;
#define VMCLOCK_LEAP_NONE 0x00
#define VMCLOCK_LEAP_PRE_POS 0x01
#define VMCLOCK_LEAP_PRE_NEG 0x02
#define VMCLOCK_LEAP_POS 0x03
#define VMCLOCK_LEAP_POST_POS 0x04
#define VMCLOCK_LEAP_POST_NEG 0x05
__u8 counter_period_shift;
__le64 counter_value;
__le64 counter_period_frac_sec;
__le64 counter_period_esterror_rate_frac_sec;
__le64 counter_period_maxerror_rate_frac_sec;
__le64 time_sec;
__le64 time_frac_sec;
__le64 time_esterror_nanosec;
__le64 time_maxerror_nanosec;
};
#endif