/****************************************************************************
 ****************************************************************************
 ***
 ***   This header was automatically generated from a Linux kernel header
 ***   of the same name, to make information necessary for userspace to
 ***   call into the kernel available to libc.  It contains only constants,
 ***   structures, and macros generated from the original header, and thus,
 ***   contains no copyrightable information.
 ***
 ***   To edit the content of this header, modify the corresponding
 ***   source file (e.g. under external/kernel-headers/original/) then
 ***   run bionic/libc/kernel/tools/update_all.py
 ***
 ***   Any manual change here will be lost the next time this script will
 ***   be run. You've been warned!
 ***
 ****************************************************************************
 ****************************************************************************/
#ifndef UAPI_UFS_H_
#define UAPI_UFS_H_
#define MAX_QUERY_IDN 0x12
enum flag_idn {
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  QUERY_FLAG_IDN_FDEVICEINIT = 0x01,
  QUERY_FLAG_IDN_PERMANENT_WPE = 0x02,
  QUERY_FLAG_IDN_PWR_ON_WPE = 0x03,
  QUERY_FLAG_IDN_BKOPS_EN = 0x04,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  QUERY_FLAG_IDN_RESERVED1 = 0x05,
  QUERY_FLAG_IDN_PURGE_ENABLE = 0x06,
  QUERY_FLAG_IDN_RESERVED2 = 0x07,
  QUERY_FLAG_IDN_FPHYRESOURCEREMOVAL = 0x08,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  QUERY_FLAG_IDN_BUSY_RTC = 0x09,
};
enum attr_idn {
  QUERY_ATTR_IDN_BOOT_LU_EN = 0x00,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  QUERY_ATTR_IDN_RESERVED = 0x01,
  QUERY_ATTR_IDN_POWER_MODE = 0x02,
  QUERY_ATTR_IDN_ACTIVE_ICC_LVL = 0x03,
  QUERY_ATTR_IDN_OOO_DATA_EN = 0x04,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  QUERY_ATTR_IDN_BKOPS_STATUS = 0x05,
  QUERY_ATTR_IDN_PURGE_STATUS = 0x06,
  QUERY_ATTR_IDN_MAX_DATA_IN = 0x07,
  QUERY_ATTR_IDN_MAX_DATA_OUT = 0x08,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  QUERY_ATTR_IDN_DYN_CAP_NEEDED = 0x09,
  QUERY_ATTR_IDN_REF_CLK_FREQ = 0x0A,
  QUERY_ATTR_IDN_CONF_DESC_LOCK = 0x0B,
  QUERY_ATTR_IDN_MAX_NUM_OF_RTT = 0x0C,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  QUERY_ATTR_IDN_EE_CONTROL = 0x0D,
  QUERY_ATTR_IDN_EE_STATUS = 0x0E,
  QUERY_ATTR_IDN_SECONDS_PASSED = 0x0F,
  QUERY_ATTR_IDN_CNTX_CONF = 0x10,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  QUERY_ATTR_IDN_CORR_PRG_BLK_NUM = 0x11,
};
#define QUERY_ATTR_IDN_BOOT_LU_EN_MAX 0x02
enum desc_idn {
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  QUERY_DESC_IDN_DEVICE = 0x0,
  QUERY_DESC_IDN_CONFIGURAION = 0x1,
  QUERY_DESC_IDN_UNIT = 0x2,
  QUERY_DESC_IDN_RFU_0 = 0x3,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  QUERY_DESC_IDN_INTERCONNECT = 0x4,
  QUERY_DESC_IDN_STRING = 0x5,
  QUERY_DESC_IDN_RFU_1 = 0x6,
  QUERY_DESC_IDN_GEOMETRY = 0x7,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  QUERY_DESC_IDN_POWER = 0x8,
  QUERY_DESC_IDN_RFU_2 = 0x9,
  QUERY_DESC_IDN_MAX,
};
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
enum query_opcode {
  UPIU_QUERY_OPCODE_NOP = 0x0,
  UPIU_QUERY_OPCODE_READ_DESC = 0x1,
  UPIU_QUERY_OPCODE_WRITE_DESC = 0x2,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  UPIU_QUERY_OPCODE_READ_ATTR = 0x3,
  UPIU_QUERY_OPCODE_WRITE_ATTR = 0x4,
  UPIU_QUERY_OPCODE_READ_FLAG = 0x5,
  UPIU_QUERY_OPCODE_SET_FLAG = 0x6,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  UPIU_QUERY_OPCODE_CLEAR_FLAG = 0x7,
  UPIU_QUERY_OPCODE_TOGGLE_FLAG = 0x8,
  UPIU_QUERY_OPCODE_MAX,
};
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#endif

