1655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/**************************************************************************** 2655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng **************************************************************************** 3655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 4655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** This header was automatically generated from a Linux kernel header 5655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** of the same name, to make information necessary for userspace to 6655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** call into the kernel available to libc. It contains only constants, 7655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** structures, and macros generated from the original header, and thus, 8655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** contains no copyrightable information. 9655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 10655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** To edit the content of this header, modify the corresponding 11655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** source file (e.g. under external/kernel-headers/original/) then 12655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** run bionic/libc/kernel/tools/update_all.py 13655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 14655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** Any manual change here will be lost the next time this script will 15655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** be run. You've been warned! 16655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 17655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng **************************************************************************** 18655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************/ 19655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifndef _UAPI_NF_CONNTRACK_COMMON_H 20655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _UAPI_NF_CONNTRACK_COMMON_H 21655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum ip_conntrack_info { 22d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IP_CT_ESTABLISHED, 23d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IP_CT_RELATED, 24d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IP_CT_NEW, 25d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IP_CT_IS_REPLY, 26d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IP_CT_ESTABLISHED_REPLY = IP_CT_ESTABLISHED + IP_CT_IS_REPLY, 27d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IP_CT_RELATED_REPLY = IP_CT_RELATED + IP_CT_IS_REPLY, 28106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris IP_CT_NUMBER, 29106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris IP_CT_NEW_REPLY = IP_CT_NUMBER, 30655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 3138062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define NF_CT_STATE_INVALID_BIT (1 << 0) 3238062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define NF_CT_STATE_BIT(ctinfo) (1 << ((ctinfo) % IP_CT_IS_REPLY + 1)) 33934ec9495505d234b2c2fa284470c2f44aae9de9Christopher Ferris#define NF_CT_STATE_UNTRACKED_BIT (1 << 6) 34655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum ip_conntrack_status { 35d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_EXPECTED_BIT = 0, 36d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_EXPECTED = (1 << IPS_EXPECTED_BIT), 37d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_SEEN_REPLY_BIT = 1, 38d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_SEEN_REPLY = (1 << IPS_SEEN_REPLY_BIT), 39d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_ASSURED_BIT = 2, 40d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_ASSURED = (1 << IPS_ASSURED_BIT), 41d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_CONFIRMED_BIT = 3, 42d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_CONFIRMED = (1 << IPS_CONFIRMED_BIT), 43d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_SRC_NAT_BIT = 4, 44d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_SRC_NAT = (1 << IPS_SRC_NAT_BIT), 45d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_DST_NAT_BIT = 5, 46d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_DST_NAT = (1 << IPS_DST_NAT_BIT), 47d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_NAT_MASK = (IPS_DST_NAT | IPS_SRC_NAT), 48d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_SEQ_ADJUST_BIT = 6, 49d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_SEQ_ADJUST = (1 << IPS_SEQ_ADJUST_BIT), 50d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_SRC_NAT_DONE_BIT = 7, 51d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_SRC_NAT_DONE = (1 << IPS_SRC_NAT_DONE_BIT), 52d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_DST_NAT_DONE_BIT = 8, 53d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_DST_NAT_DONE = (1 << IPS_DST_NAT_DONE_BIT), 54d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_NAT_DONE_MASK = (IPS_DST_NAT_DONE | IPS_SRC_NAT_DONE), 55d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_DYING_BIT = 9, 56d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_DYING = (1 << IPS_DYING_BIT), 57d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_FIXED_TIMEOUT_BIT = 10, 58d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_FIXED_TIMEOUT = (1 << IPS_FIXED_TIMEOUT_BIT), 59d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_TEMPLATE_BIT = 11, 60d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_TEMPLATE = (1 << IPS_TEMPLATE_BIT), 61d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_UNTRACKED_BIT = 12, 62d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_UNTRACKED = (1 << IPS_UNTRACKED_BIT), 63d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_HELPER_BIT = 13, 64d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPS_HELPER = (1 << IPS_HELPER_BIT), 65525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris IPS_UNCHANGEABLE_MASK = (IPS_NAT_DONE_MASK | IPS_NAT_MASK | IPS_EXPECTED | IPS_CONFIRMED | IPS_DYING | IPS_SEQ_ADJUST | IPS_TEMPLATE), 66525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __IPS_MAX_BIT = 14, 67655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 68655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum ip_conntrack_events { 69d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPCT_NEW, 70d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPCT_RELATED, 71d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPCT_DESTROY, 72d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPCT_REPLY, 73d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPCT_ASSURED, 74d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPCT_PROTOINFO, 75d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPCT_HELPER, 76d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPCT_MARK, 77d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPCT_SEQADJ, 78d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPCT_NATSEQADJ = IPCT_SEQADJ, 79d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPCT_SECMARK, 80d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPCT_LABEL, 81655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 82655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum ip_conntrack_expect_events { 83d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPEXP_NEW, 84d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao IPEXP_DESTROY, 85655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 86655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define NF_CT_EXPECT_PERMANENT 0x1 87655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define NF_CT_EXPECT_INACTIVE 0x2 88655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define NF_CT_EXPECT_USERSPACE 0x4 89655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif 90