1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*8d67ca89SAndroid Build Coastguard Worker * 4*8d67ca89SAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*8d67ca89SAndroid Build Coastguard Worker * for more information. 6*8d67ca89SAndroid Build Coastguard Worker */ 7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI_LINUX_DNS_RESOLVER_H 8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_LINUX_DNS_RESOLVER_H 9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h> 10*8d67ca89SAndroid Build Coastguard Worker enum dns_payload_content_type { 11*8d67ca89SAndroid Build Coastguard Worker DNS_PAYLOAD_IS_SERVER_LIST = 0, 12*8d67ca89SAndroid Build Coastguard Worker }; 13*8d67ca89SAndroid Build Coastguard Worker enum dns_payload_address_type { 14*8d67ca89SAndroid Build Coastguard Worker DNS_ADDRESS_IS_IPV4 = 0, 15*8d67ca89SAndroid Build Coastguard Worker DNS_ADDRESS_IS_IPV6 = 1, 16*8d67ca89SAndroid Build Coastguard Worker }; 17*8d67ca89SAndroid Build Coastguard Worker enum dns_payload_protocol_type { 18*8d67ca89SAndroid Build Coastguard Worker DNS_SERVER_PROTOCOL_UNSPECIFIED = 0, 19*8d67ca89SAndroid Build Coastguard Worker DNS_SERVER_PROTOCOL_UDP = 1, 20*8d67ca89SAndroid Build Coastguard Worker DNS_SERVER_PROTOCOL_TCP = 2, 21*8d67ca89SAndroid Build Coastguard Worker }; 22*8d67ca89SAndroid Build Coastguard Worker enum dns_record_source { 23*8d67ca89SAndroid Build Coastguard Worker DNS_RECORD_UNAVAILABLE = 0, 24*8d67ca89SAndroid Build Coastguard Worker DNS_RECORD_FROM_CONFIG = 1, 25*8d67ca89SAndroid Build Coastguard Worker DNS_RECORD_FROM_DNS_A = 2, 26*8d67ca89SAndroid Build Coastguard Worker DNS_RECORD_FROM_DNS_AFSDB = 3, 27*8d67ca89SAndroid Build Coastguard Worker DNS_RECORD_FROM_DNS_SRV = 4, 28*8d67ca89SAndroid Build Coastguard Worker DNS_RECORD_FROM_NSS = 5, 29*8d67ca89SAndroid Build Coastguard Worker NR__dns_record_source 30*8d67ca89SAndroid Build Coastguard Worker }; 31*8d67ca89SAndroid Build Coastguard Worker enum dns_lookup_status { 32*8d67ca89SAndroid Build Coastguard Worker DNS_LOOKUP_NOT_DONE = 0, 33*8d67ca89SAndroid Build Coastguard Worker DNS_LOOKUP_GOOD = 1, 34*8d67ca89SAndroid Build Coastguard Worker DNS_LOOKUP_GOOD_WITH_BAD = 2, 35*8d67ca89SAndroid Build Coastguard Worker DNS_LOOKUP_BAD = 3, 36*8d67ca89SAndroid Build Coastguard Worker DNS_LOOKUP_GOT_NOT_FOUND = 4, 37*8d67ca89SAndroid Build Coastguard Worker DNS_LOOKUP_GOT_LOCAL_FAILURE = 5, 38*8d67ca89SAndroid Build Coastguard Worker DNS_LOOKUP_GOT_TEMP_FAILURE = 6, 39*8d67ca89SAndroid Build Coastguard Worker DNS_LOOKUP_GOT_NS_FAILURE = 7, 40*8d67ca89SAndroid Build Coastguard Worker NR__dns_lookup_status 41*8d67ca89SAndroid Build Coastguard Worker }; 42*8d67ca89SAndroid Build Coastguard Worker struct dns_payload_header { 43*8d67ca89SAndroid Build Coastguard Worker __u8 zero; 44*8d67ca89SAndroid Build Coastguard Worker __u8 content; 45*8d67ca89SAndroid Build Coastguard Worker __u8 version; 46*8d67ca89SAndroid Build Coastguard Worker } __attribute__((__packed__)); 47*8d67ca89SAndroid Build Coastguard Worker struct dns_server_list_v1_header { 48*8d67ca89SAndroid Build Coastguard Worker struct dns_payload_header hdr; 49*8d67ca89SAndroid Build Coastguard Worker __u8 source; 50*8d67ca89SAndroid Build Coastguard Worker __u8 status; 51*8d67ca89SAndroid Build Coastguard Worker __u8 nr_servers; 52*8d67ca89SAndroid Build Coastguard Worker } __attribute__((__packed__)); 53*8d67ca89SAndroid Build Coastguard Worker struct dns_server_list_v1_server { 54*8d67ca89SAndroid Build Coastguard Worker __u16 name_len; 55*8d67ca89SAndroid Build Coastguard Worker __u16 priority; 56*8d67ca89SAndroid Build Coastguard Worker __u16 weight; 57*8d67ca89SAndroid Build Coastguard Worker __u16 port; 58*8d67ca89SAndroid Build Coastguard Worker __u8 source; 59*8d67ca89SAndroid Build Coastguard Worker __u8 status; 60*8d67ca89SAndroid Build Coastguard Worker __u8 protocol; 61*8d67ca89SAndroid Build Coastguard Worker __u8 nr_addrs; 62*8d67ca89SAndroid Build Coastguard Worker } __attribute__((__packed__)); 63*8d67ca89SAndroid Build Coastguard Worker struct dns_server_list_v1_address { 64*8d67ca89SAndroid Build Coastguard Worker __u8 address_type; 65*8d67ca89SAndroid Build Coastguard Worker } __attribute__((__packed__)); 66*8d67ca89SAndroid Build Coastguard Worker #endif 67