/****************************************************************************
 ****************************************************************************
 ***
 ***   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_LINUX_BATMAN_ADV_H_
#define _UAPI_LINUX_BATMAN_ADV_H_
#define BATADV_NL_NAME "batadv"
#define BATADV_NL_MCAST_GROUP_TPMETER "tpmeter"
enum batadv_tt_client_flags {
  BATADV_TT_CLIENT_DEL = (1 << 0),
  BATADV_TT_CLIENT_ROAM = (1 << 1),
  BATADV_TT_CLIENT_WIFI = (1 << 4),
  BATADV_TT_CLIENT_ISOLA = (1 << 5),
  BATADV_TT_CLIENT_NOPURGE = (1 << 8),
  BATADV_TT_CLIENT_NEW = (1 << 9),
  BATADV_TT_CLIENT_PENDING = (1 << 10),
  BATADV_TT_CLIENT_TEMP = (1 << 11),
};
enum batadv_nl_attrs {
  BATADV_ATTR_UNSPEC,
  BATADV_ATTR_VERSION,
  BATADV_ATTR_ALGO_NAME,
  BATADV_ATTR_MESH_IFINDEX,
  BATADV_ATTR_MESH_IFNAME,
  BATADV_ATTR_MESH_ADDRESS,
  BATADV_ATTR_HARD_IFINDEX,
  BATADV_ATTR_HARD_IFNAME,
  BATADV_ATTR_HARD_ADDRESS,
  BATADV_ATTR_ORIG_ADDRESS,
  BATADV_ATTR_TPMETER_RESULT,
  BATADV_ATTR_TPMETER_TEST_TIME,
  BATADV_ATTR_TPMETER_BYTES,
  BATADV_ATTR_TPMETER_COOKIE,
  BATADV_ATTR_PAD,
  BATADV_ATTR_ACTIVE,
  BATADV_ATTR_TT_ADDRESS,
  BATADV_ATTR_TT_TTVN,
  BATADV_ATTR_TT_LAST_TTVN,
  BATADV_ATTR_TT_CRC32,
  BATADV_ATTR_TT_VID,
  BATADV_ATTR_TT_FLAGS,
  BATADV_ATTR_FLAG_BEST,
  BATADV_ATTR_LAST_SEEN_MSECS,
  BATADV_ATTR_NEIGH_ADDRESS,
  BATADV_ATTR_TQ,
  BATADV_ATTR_THROUGHPUT,
  BATADV_ATTR_BANDWIDTH_UP,
  BATADV_ATTR_BANDWIDTH_DOWN,
  BATADV_ATTR_ROUTER,
  BATADV_ATTR_BLA_OWN,
  BATADV_ATTR_BLA_ADDRESS,
  BATADV_ATTR_BLA_VID,
  BATADV_ATTR_BLA_BACKBONE,
  BATADV_ATTR_BLA_CRC,
  __BATADV_ATTR_AFTER_LAST,
  NUM_BATADV_ATTR = __BATADV_ATTR_AFTER_LAST,
  BATADV_ATTR_MAX = __BATADV_ATTR_AFTER_LAST - 1
};
enum batadv_nl_commands {
  BATADV_CMD_UNSPEC,
  BATADV_CMD_GET_MESH_INFO,
  BATADV_CMD_TP_METER,
  BATADV_CMD_TP_METER_CANCEL,
  BATADV_CMD_GET_ROUTING_ALGOS,
  BATADV_CMD_GET_HARDIFS,
  BATADV_CMD_GET_TRANSTABLE_LOCAL,
  BATADV_CMD_GET_TRANSTABLE_GLOBAL,
  BATADV_CMD_GET_ORIGINATORS,
  BATADV_CMD_GET_NEIGHBORS,
  BATADV_CMD_GET_GATEWAYS,
  BATADV_CMD_GET_BLA_CLAIM,
  BATADV_CMD_GET_BLA_BACKBONE,
  __BATADV_CMD_AFTER_LAST,
  BATADV_CMD_MAX = __BATADV_CMD_AFTER_LAST - 1
};
enum batadv_tp_meter_reason {
  BATADV_TP_REASON_COMPLETE = 3,
  BATADV_TP_REASON_CANCEL = 4,
  BATADV_TP_REASON_DST_UNREACHABLE = 128,
  BATADV_TP_REASON_RESEND_LIMIT = 129,
  BATADV_TP_REASON_ALREADY_ONGOING = 130,
  BATADV_TP_REASON_MEMORY_ERROR = 131,
  BATADV_TP_REASON_CANT_SEND = 132,
  BATADV_TP_REASON_TOO_MANY = 133,
};
#endif
