/****************************************************************************
 ****************************************************************************
 ***
 ***   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_MACSEC_H
#define _UAPI_MACSEC_H
#include <linux/types.h>
#define MACSEC_GENL_NAME "macsec"
#define MACSEC_GENL_VERSION 1
#define MACSEC_MAX_KEY_LEN 128
#define MACSEC_KEYID_LEN 16
#define MACSEC_CIPHER_ID_GCM_AES_128 0x0080C20001000001ULL
#define MACSEC_CIPHER_ID_GCM_AES_256 0x0080C20001000002ULL
#define MACSEC_DEFAULT_CIPHER_ID 0x0080020001000001ULL
#define MACSEC_DEFAULT_CIPHER_ALT MACSEC_CIPHER_ID_GCM_AES_128
#define MACSEC_MIN_ICV_LEN 8
#define MACSEC_MAX_ICV_LEN 32
#define MACSEC_STD_ICV_LEN 16
enum macsec_attrs {
  MACSEC_ATTR_UNSPEC,
  MACSEC_ATTR_IFINDEX,
  MACSEC_ATTR_RXSC_CONFIG,
  MACSEC_ATTR_SA_CONFIG,
  MACSEC_ATTR_SECY,
  MACSEC_ATTR_TXSA_LIST,
  MACSEC_ATTR_RXSC_LIST,
  MACSEC_ATTR_TXSC_STATS,
  MACSEC_ATTR_SECY_STATS,
  __MACSEC_ATTR_END,
  NUM_MACSEC_ATTR = __MACSEC_ATTR_END,
  MACSEC_ATTR_MAX = __MACSEC_ATTR_END - 1,
};
enum macsec_secy_attrs {
  MACSEC_SECY_ATTR_UNSPEC,
  MACSEC_SECY_ATTR_SCI,
  MACSEC_SECY_ATTR_ENCODING_SA,
  MACSEC_SECY_ATTR_WINDOW,
  MACSEC_SECY_ATTR_CIPHER_SUITE,
  MACSEC_SECY_ATTR_ICV_LEN,
  MACSEC_SECY_ATTR_PROTECT,
  MACSEC_SECY_ATTR_REPLAY,
  MACSEC_SECY_ATTR_OPER,
  MACSEC_SECY_ATTR_VALIDATE,
  MACSEC_SECY_ATTR_ENCRYPT,
  MACSEC_SECY_ATTR_INC_SCI,
  MACSEC_SECY_ATTR_ES,
  MACSEC_SECY_ATTR_SCB,
  MACSEC_SECY_ATTR_PAD,
  __MACSEC_SECY_ATTR_END,
  NUM_MACSEC_SECY_ATTR = __MACSEC_SECY_ATTR_END,
  MACSEC_SECY_ATTR_MAX = __MACSEC_SECY_ATTR_END - 1,
};
enum macsec_rxsc_attrs {
  MACSEC_RXSC_ATTR_UNSPEC,
  MACSEC_RXSC_ATTR_SCI,
  MACSEC_RXSC_ATTR_ACTIVE,
  MACSEC_RXSC_ATTR_SA_LIST,
  MACSEC_RXSC_ATTR_STATS,
  MACSEC_RXSC_ATTR_PAD,
  __MACSEC_RXSC_ATTR_END,
  NUM_MACSEC_RXSC_ATTR = __MACSEC_RXSC_ATTR_END,
  MACSEC_RXSC_ATTR_MAX = __MACSEC_RXSC_ATTR_END - 1,
};
enum macsec_sa_attrs {
  MACSEC_SA_ATTR_UNSPEC,
  MACSEC_SA_ATTR_AN,
  MACSEC_SA_ATTR_ACTIVE,
  MACSEC_SA_ATTR_PN,
  MACSEC_SA_ATTR_KEY,
  MACSEC_SA_ATTR_KEYID,
  MACSEC_SA_ATTR_STATS,
  MACSEC_SA_ATTR_PAD,
  __MACSEC_SA_ATTR_END,
  NUM_MACSEC_SA_ATTR = __MACSEC_SA_ATTR_END,
  MACSEC_SA_ATTR_MAX = __MACSEC_SA_ATTR_END - 1,
};
enum macsec_nl_commands {
  MACSEC_CMD_GET_TXSC,
  MACSEC_CMD_ADD_RXSC,
  MACSEC_CMD_DEL_RXSC,
  MACSEC_CMD_UPD_RXSC,
  MACSEC_CMD_ADD_TXSA,
  MACSEC_CMD_DEL_TXSA,
  MACSEC_CMD_UPD_TXSA,
  MACSEC_CMD_ADD_RXSA,
  MACSEC_CMD_DEL_RXSA,
  MACSEC_CMD_UPD_RXSA,
};
enum macsec_rxsc_stats_attr {
  MACSEC_RXSC_STATS_ATTR_UNSPEC,
  MACSEC_RXSC_STATS_ATTR_IN_OCTETS_VALIDATED,
  MACSEC_RXSC_STATS_ATTR_IN_OCTETS_DECRYPTED,
  MACSEC_RXSC_STATS_ATTR_IN_PKTS_UNCHECKED,
  MACSEC_RXSC_STATS_ATTR_IN_PKTS_DELAYED,
  MACSEC_RXSC_STATS_ATTR_IN_PKTS_OK,
  MACSEC_RXSC_STATS_ATTR_IN_PKTS_INVALID,
  MACSEC_RXSC_STATS_ATTR_IN_PKTS_LATE,
  MACSEC_RXSC_STATS_ATTR_IN_PKTS_NOT_VALID,
  MACSEC_RXSC_STATS_ATTR_IN_PKTS_NOT_USING_SA,
  MACSEC_RXSC_STATS_ATTR_IN_PKTS_UNUSED_SA,
  MACSEC_RXSC_STATS_ATTR_PAD,
  __MACSEC_RXSC_STATS_ATTR_END,
  NUM_MACSEC_RXSC_STATS_ATTR = __MACSEC_RXSC_STATS_ATTR_END,
  MACSEC_RXSC_STATS_ATTR_MAX = __MACSEC_RXSC_STATS_ATTR_END - 1,
};
enum macsec_sa_stats_attr {
  MACSEC_SA_STATS_ATTR_UNSPEC,
  MACSEC_SA_STATS_ATTR_IN_PKTS_OK,
  MACSEC_SA_STATS_ATTR_IN_PKTS_INVALID,
  MACSEC_SA_STATS_ATTR_IN_PKTS_NOT_VALID,
  MACSEC_SA_STATS_ATTR_IN_PKTS_NOT_USING_SA,
  MACSEC_SA_STATS_ATTR_IN_PKTS_UNUSED_SA,
  MACSEC_SA_STATS_ATTR_OUT_PKTS_PROTECTED,
  MACSEC_SA_STATS_ATTR_OUT_PKTS_ENCRYPTED,
  __MACSEC_SA_STATS_ATTR_END,
  NUM_MACSEC_SA_STATS_ATTR = __MACSEC_SA_STATS_ATTR_END,
  MACSEC_SA_STATS_ATTR_MAX = __MACSEC_SA_STATS_ATTR_END - 1,
};
enum macsec_txsc_stats_attr {
  MACSEC_TXSC_STATS_ATTR_UNSPEC,
  MACSEC_TXSC_STATS_ATTR_OUT_PKTS_PROTECTED,
  MACSEC_TXSC_STATS_ATTR_OUT_PKTS_ENCRYPTED,
  MACSEC_TXSC_STATS_ATTR_OUT_OCTETS_PROTECTED,
  MACSEC_TXSC_STATS_ATTR_OUT_OCTETS_ENCRYPTED,
  MACSEC_TXSC_STATS_ATTR_PAD,
  __MACSEC_TXSC_STATS_ATTR_END,
  NUM_MACSEC_TXSC_STATS_ATTR = __MACSEC_TXSC_STATS_ATTR_END,
  MACSEC_TXSC_STATS_ATTR_MAX = __MACSEC_TXSC_STATS_ATTR_END - 1,
};
enum macsec_secy_stats_attr {
  MACSEC_SECY_STATS_ATTR_UNSPEC,
  MACSEC_SECY_STATS_ATTR_OUT_PKTS_UNTAGGED,
  MACSEC_SECY_STATS_ATTR_IN_PKTS_UNTAGGED,
  MACSEC_SECY_STATS_ATTR_OUT_PKTS_TOO_LONG,
  MACSEC_SECY_STATS_ATTR_IN_PKTS_NO_TAG,
  MACSEC_SECY_STATS_ATTR_IN_PKTS_BAD_TAG,
  MACSEC_SECY_STATS_ATTR_IN_PKTS_UNKNOWN_SCI,
  MACSEC_SECY_STATS_ATTR_IN_PKTS_NO_SCI,
  MACSEC_SECY_STATS_ATTR_IN_PKTS_OVERRUN,
  MACSEC_SECY_STATS_ATTR_PAD,
  __MACSEC_SECY_STATS_ATTR_END,
  NUM_MACSEC_SECY_STATS_ATTR = __MACSEC_SECY_STATS_ATTR_END,
  MACSEC_SECY_STATS_ATTR_MAX = __MACSEC_SECY_STATS_ATTR_END - 1,
};
#endif
