/****************************************************************************
 ****************************************************************************
 ***
 ***   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 _NFNL_CTHELPER_H_
#define _NFNL_CTHELPER_H_
#define NFCT_HELPER_STATUS_DISABLED 0
#define NFCT_HELPER_STATUS_ENABLED 1
enum nfnl_cthelper_msg_types {
  NFNL_MSG_CTHELPER_NEW,
  NFNL_MSG_CTHELPER_GET,
  NFNL_MSG_CTHELPER_DEL,
  NFNL_MSG_CTHELPER_MAX
};
enum nfnl_cthelper_type {
  NFCTH_UNSPEC,
  NFCTH_NAME,
  NFCTH_TUPLE,
  NFCTH_QUEUE_NUM,
  NFCTH_POLICY,
  NFCTH_PRIV_DATA_LEN,
  NFCTH_STATUS,
  __NFCTH_MAX
};
#define NFCTH_MAX (__NFCTH_MAX - 1)
enum nfnl_cthelper_policy_type {
  NFCTH_POLICY_SET_UNSPEC,
  NFCTH_POLICY_SET_NUM,
  NFCTH_POLICY_SET,
  NFCTH_POLICY_SET1 = NFCTH_POLICY_SET,
  NFCTH_POLICY_SET2,
  NFCTH_POLICY_SET3,
  NFCTH_POLICY_SET4,
  __NFCTH_POLICY_SET_MAX
};
#define NFCTH_POLICY_SET_MAX (__NFCTH_POLICY_SET_MAX - 1)
enum nfnl_cthelper_pol_type {
  NFCTH_POLICY_UNSPEC,
  NFCTH_POLICY_NAME,
  NFCTH_POLICY_EXPECT_MAX,
  NFCTH_POLICY_EXPECT_TIMEOUT,
  __NFCTH_POLICY_MAX
};
#define NFCTH_POLICY_MAX (__NFCTH_POLICY_MAX - 1)
enum nfnl_cthelper_tuple_type {
  NFCTH_TUPLE_UNSPEC,
  NFCTH_TUPLE_L3PROTONUM,
  NFCTH_TUPLE_L4PROTONUM,
  __NFCTH_TUPLE_MAX,
};
#define NFCTH_TUPLE_MAX (__NFCTH_TUPLE_MAX - 1)
#endif
