android_kernel_msm-6.1_noth.../include/uapi/linux
David Howells bbb4c4323a dns: Allow the dns resolver to retrieve a server set
Allow the DNS resolver to retrieve a set of servers and their associated
addresses, ports, preference and weight ratings.

In terms of communication with userspace, "srv=1" is added to the callout
string (the '1' indicating the maximum data version supported by the
kernel) to ask the userspace side for this.

If the userspace side doesn't recognise it, it will ignore the option and
return the usual text address list.

If the userspace side does recognise it, it will return some binary data
that begins with a zero byte that would cause the string parsers to give an
error.  The second byte contains the version of the data in the blob (this
may be between 1 and the version specified in the callout data).  The
remainder of the payload is version-specific.

In version 1, the payload looks like (note that this is packed):

	u8	Non-string marker (ie. 0)
	u8	Content (0 => Server list)
	u8	Version (ie. 1)
	u8	Source (eg. DNS_RECORD_FROM_DNS_SRV)
	u8	Status (eg. DNS_LOOKUP_GOOD)
	u8	Number of servers
	foreach-server {
		u16	Name length (LE)
		u16	Priority (as per SRV record) (LE)
		u16	Weight (as per SRV record) (LE)
		u16	Port (LE)
		u8	Source (eg. DNS_RECORD_FROM_NSS)
		u8	Status (eg. DNS_LOOKUP_GOT_NOT_FOUND)
		u8	Protocol (eg. DNS_SERVER_PROTOCOL_UDP)
		u8	Number of addresses
		char[]	Name (not NUL-terminated)
		foreach-address {
			u8		Family (AF_INET{,6})
			union {
				u8[4]	ipv4_addr
				u8[16]	ipv6_addr
			}
		}
	}

This can then be used to fetch a whole cell's VL-server configuration for
AFS, for example.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-10-04 09:40:52 -07:00
..
android
byteorder
caif
can
cifs
dvb media: dvb/audio.h: get rid of unused APIs 2018-07-30 16:21:49 -04:00
genwqe
hdlc
hsi
iio iio: Add modifier for DUV light 2018-07-23 19:18:10 +01:00
isdn
mmc
netfilter netfilter: uapi: fix linux/netfilter/nf_osf.h userspace compilation errors 2018-08-16 19:37:09 +02:00
netfilter_arp
netfilter_bridge netfilter: ebtables: add ebt_get_target and ebt_get_target_c 2018-04-24 10:29:18 +02:00
netfilter_ipv4
netfilter_ipv6 netfilter: ip6t_srh: extend SRH matching for previous, next and last SID 2018-05-06 23:33:03 +02:00
nfsd
raid
sched
spi
sunrpc
tc_act net/sched: tunnel_key: Allow to set tos and ttl for tc based ip tunnels 2018-07-19 23:26:01 -07:00
tc_ematch net: sched: add em_ipt ematch for calling xtables matches 2018-02-21 13:15:33 -05:00
usb USB/PHY patches for 4.19-rc1 2018-08-18 10:21:49 -07:00
wimax
a.out.h
acct.h
adb.h
adfs_fs.h
affs_hardblocks.h
agpgart.h
aio_abi.h aio: implement IOCB_CMD_POLL 2018-08-06 10:24:33 +02:00
am437x-vpfe.h
apm_bios.h
arcfb.h
arm_sdei.h
aspeed-lpc-ctrl.h
atalk.h
atm.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_tcp.h
atm_zatm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
audit.h Merge branch 'next-integrity' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2018-08-15 22:54:12 -07:00
auto_dev-ioctl.h
auto_fs.h autofs: add AUTOFS_EXP_FORCED flag 2018-08-22 10:52:49 -07:00
auto_fs4.h autofs4: merge auto_fs.h and auto_fs4.h 2018-06-07 17:34:39 -07:00
auxvec.h
ax25.h
b1lli.h
batadv_packet.h batman-adv: always assume 2-byte packet alignment 2018-02-27 13:02:54 +01:00
batman_adv.h batman-adv: add multicast flags netlink support 2018-03-14 10:15:34 +01:00
baycom.h
bcache.h bcache: style fix to add a blank line after declarations 2018-08-11 15:46:41 -06:00
bcm933xx_hcs.h
bfs_fs.h
binfmts.h
blkpg.h
blktrace_api.h blktrace: fix comment in blktrace_api.h 2018-03-30 14:16:24 -06:00
blkzoned.h include/uapi/linux/blkzoned.h: Remove a superfluous __packed directive 2018-07-09 09:07:52 -06:00
bpf.h flow_dissector: implements flow dissector BPF hook 2018-09-14 12:04:33 -07:00
bpf_common.h
bpf_perf_event.h bpf: add support to read sample address in bpf program 2018-03-08 02:22:34 +01:00
bpfilter.h net: add skeleton of bpfilter kernel module 2018-05-23 13:23:40 -04:00
bpqether.h
bsg.h
bt-bmc.h
btf.h bpf: btf: Clean up BTF_INT_BITS() in uapi btf.h 2018-07-20 10:25:48 +02:00
btrfs.h btrfs: Add unprivileged version of ino_lookup ioctl 2018-05-31 11:35:24 +02:00
btrfs_tree.h
can.h can: uapi: can.h: Fix can error class mask dir path 2018-07-27 10:40:16 +02:00
capability.h
capi.h
cciss_defs.h
cciss_ioctl.h
cdrom.h
cec-funcs.h media: include/(uapi/)media: add SPDX license info 2018-02-14 13:23:51 -05:00
cec.h media: uapi/linux/cec.h: add 5V events 2018-07-25 06:59:23 -04:00
cgroupstats.h
chio.h
cm4000_cs.h
cn_proc.h connector: add parent pid and tgid to coredump and exit events 2018-05-01 14:25:37 -04:00
coda.h
coda_psdev.h
coff.h
connector.h
const.h linux/const.h: refactor _BITUL and _BITULL a bit 2018-04-11 10:28:38 -07:00
coresight-stm.h
cramfs_fs.h
cryptouser.h
cuda.h
cyclades.h
cycx_cfm.h
dcbnl.h net: dcb: add DSCP to comment about priority selector types 2018-07-29 12:53:54 -07:00
dccp.h
devlink.h devlink: Add support for region snapshot read command 2018-07-12 17:37:13 -07:00
dlm.h
dlm_device.h
dlm_netlink.h
dlm_plock.h
dlmconstants.h
dm-ioctl.h dm: hold DM table for duration of ioctl rather than use blkdev_get 2018-04-04 12:12:38 -04:00
dm-log-userspace.h
dma-buf.h
dn.h
dns_resolver.h dns: Allow the dns resolver to retrieve a server set 2018-10-04 09:40:52 -07:00
dqblk_xfs.h
edd.h
efs_fs_sb.h
elf-em.h
elf-fdpic.h
elf.h MIPS: Add FP_MODE regset support 2018-07-19 13:58:44 -07:00
elfcore.h
errno.h
errqueue.h net/sched: Make etf report drops on error_queue 2018-07-04 22:30:28 +09:00
erspan.h net: erspan: create erspan metadata uapi header 2018-01-25 21:39:43 -05:00
ethtool.h ethtool: drop get_settings and set_settings callbacks 2018-08-29 19:46:10 -07:00
eventpoll.h eventpoll.h: wrap casts in () properly 2018-07-15 14:03:06 +02:00
fadvise.h
falloc.h
fanotify.h
fb.h
fcntl.h
fd.h
fdreg.h
fib_rules.h net: fib_rules: support for match on ip_proto, sport and dport 2018-02-28 22:44:43 -05:00
fiemap.h
filter.h
firewire-cdev.h
firewire-constants.h
flat.h
fou.h
fpga-dfl.h fpga: dfl: afu: add DFL_FPGA_PORT_DMA_MAP/UNMAP ioctls support 2018-07-15 13:55:47 +02:00
fs.h Add bunch of cleanups, and add support for the Speck128/256 2018-06-05 15:15:32 -07:00
fsi.h fsi: scom: Major overhaul 2018-06-18 15:11:53 +10:00
fsl_hypervisor.h
fsmap.h
fuse.h fuse: return -ECONNABORTED on /dev/fuse read after abort 2018-03-20 17:11:44 +01:00
futex.h
gameport.h
gen_stats.h net/core: Add new basic hardware counter 2018-09-24 12:18:42 -07:00
genetlink.h
gfs2_ondisk.h
gigaset_dev.h
gpio.h
gsmmux.h
gtp.h
hash_info.h
hdlc.h
hdlcdrv.h
hdreg.h
hid.h
hiddev.h
hidraw.h
hpet.h
hsr_netlink.h
hw_breakpoint.h
hyperv.h
hysdn_if.h
i2c-dev.h
i2c.h
i2o-dev.h
i8k.h
icmp.h
icmpv6.h
if.h
if_addr.h if_addr: add IFA_TARGET_NETNSID 2018-09-05 22:27:11 -07:00
if_addrlabel.h
if_alg.h
if_arcnet.h
if_arp.h net: if_arp: use define instead of hard-coded value 2018-09-21 19:22:32 -07:00
if_bonding.h
if_bridge.h
if_cablemodem.h
if_eql.h
if_ether.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-03-23 11:31:58 -04:00
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h uapi: Fix SPDX tags for files referring to the 'OpenIB.org' license 2018-04-23 11:10:33 -04:00
if_link.h geneve: add ttl inherit support 2018-09-12 20:38:22 -07:00
if_ltalk.h
if_macsec.h
if_packet.h packet: add sockopt to ignore outgoing packets 2018-09-05 22:09:37 -07:00
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h
if_slip.h
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h
if_x25.h
if_xdp.h xsk: Fix umem fill/completion queue mmap on 32-bit 2018-06-08 00:18:02 +02:00
ife.h
igmp.h
ila.h ila: Flush netlink command to clear xlat table 2018-06-29 11:32:55 +09:00
in.h
in6.h ipv6: Add sockopt IPV6_MULTICAST_ALL analogue to IP_MULTICAST_ALL 2018-09-13 08:17:27 -07:00
in_route.h
inet_diag.h
inotify.h inotify: Add flag IN_MASK_CREATE for inotify_add_watch() 2018-06-27 19:21:25 +02:00
input-event-codes.h
input.h input: add MT_TOOL_DIAL 2018-07-17 15:33:47 +02:00
ioctl.h
ip.h route: add support for directed broadcast forwarding 2018-07-29 12:37:06 -07:00
ip6_tunnel.h
ip_vs.h
ipc.h
ipmi.h ipmi: Add or fix SPDX-License-Identifier in all files 2018-02-27 07:42:51 -06:00
ipmi_bmc.h ipmi: kcs_bmc: coding-style fixes and use new poll type 2018-02-26 09:49:21 -06:00
ipmi_msgdefs.h ipmi: Add or fix SPDX-License-Identifier in all files 2018-02-27 07:42:51 -06:00
ipsec.h
ipv6.h
ipv6_route.h
ipx.h
irqnr.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
iso_fs.h
ivtv.h
ivtvfb.h
jffs2.h
joystick.h Input: stop telling users to snail-mail Vojtech 2018-07-26 17:04:37 -07:00
Kbuild
kcm.h
kcmp.h
kcov.h
kd.h
kdev_t.h
kernel-page-flags.h mm: mark pages in use for page tables 2018-06-07 17:34:37 -07:00
kernel.h
kernelcapi.h
kexec.h
keyboard.h kbd: complete dead keys definitions 2018-07-07 17:41:38 +02:00
keyctl.h Revert "uapi/linux/keyctl.h: don't use C++ reserved keyword as a struct member name" 2018-09-25 13:28:58 +02:00
kfd_ioctl.h drm/amd: Add CU-masking ioctl definition to kfd_ioctl.h 2018-07-14 19:05:58 -04:00
kvm.h KVM: x86: Control guest reads of MSR_PLATFORM_INFO 2018-09-20 00:51:46 +02:00
kvm_para.h KVM: X86: Implement PV IPIs in linux guest 2018-08-06 17:59:22 +02:00
l2tp.h l2tp: ignore L2TP_ATTR_MTU 2018-08-03 10:03:57 -07:00
libc-compat.h uapi/if_ether.h: move __UAPI_DEF_ETHHDR libc define 2018-02-13 11:23:24 -05:00
lightnvm.h
limits.h
lirc.h media: rc: add ioctl to get the current timeout 2018-04-20 09:15:18 -04:00
llc.h
loop.h
lp.h
lwtunnel.h
magic.h
major.h
map_to_7segment.h
matroxfb.h
max2175.h
mdio.h
media-bus-format.h media: v4l: Add new 2X8 10-bit grayscale media bus code 2018-08-02 06:04:57 -04:00
media.h media: media.h: remove linux/version.h include 2018-07-27 07:52:39 -04:00
mei.h
membarrier.h membarrier: Provide core serializing command, *_SYNC_CORE 2018-02-05 21:35:03 +01:00
memfd.h
mempolicy.h
meye.h
mic_common.h
mic_ioctl.h
mii.h net: phy: add GBit master / slave error detection 2018-07-24 14:41:08 -07:00
minix_fs.h
mman.h
mmtimer.h
module.h
mpls.h
mpls_iptunnel.h
mqueue.h
mroute.h net: ipmr: add support for passing full packet on wrong vif 2018-07-13 14:21:16 -07:00
mroute6.h
msdos_fs.h block: Move SECTOR_SIZE and SECTOR_SHIFT definitions into <linux/blkdev.h> 2018-03-17 14:45:23 -06:00
msg.h ipc/msg: introduce msgctl(MSG_STAT_ANY) 2018-04-11 10:28:37 -07:00
mtio.h
n_r3964.h
nbd-netlink.h
nbd.h nbd: Add the nbd NBD_DISCONNECT_ON_CLOSE config flag. 2018-06-20 19:10:06 -06:00
ncsi.h net/ncsi: Add generic netlink family 2018-03-05 10:43:37 -05:00
ndctl.h libnvdimm, namespace: make min namespace size 4K 2018-02-01 21:27:22 -08:00
neighbour.h net: bridge: add support for sticky fdb entries 2018-09-12 20:30:03 -07:00
net.h
net_dropmon.h
net_namespace.h
net_tstamp.h net: Use __u32 in uapi net_stamp.h 2018-07-09 16:31:28 -07:00
netconf.h route: add support for directed broadcast forwarding 2018-07-29 12:37:06 -07:00
netdevice.h
netfilter.h
netfilter_arp.h
netfilter_bridge.h netfilter: bridge: Expose nf_tables bridge hook priorities through uapi 2018-08-03 21:15:09 +02:00
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
netlink_diag.h
netrom.h
nfc.h
nfs.h
nfs2.h
nfs3.h
nfs4.h
nfs4_mount.h
nfs_fs.h
nfs_idmap.h
nfs_mount.h
nfsacl.h
nilfs2_api.h
nilfs2_ondisk.h
nl80211.h nl80211: Add CAN_REPLACE_PTK0 API 2018-09-05 10:03:17 +02:00
nsfs.h
nubus.h
nvme_ioctl.h
nvram.h
omap3isp.h media: omap3isp: support 64-bit version of omap3isp_stat_data 2018-05-09 16:37:05 -04:00
omapfb.h
oom.h
openvswitch.h openvswitch: kernel datapath clone action 2018-07-08 11:13:25 +09:00
packet_diag.h
param.h
parport.h
patchkey.h
pci.h
pci_regs.h Merge branch 'pci/virtualization' 2018-08-15 14:59:06 -05:00
pcitest.h pci_endpoint_test: Add 2 ioctl commands 2018-07-19 11:46:57 +01:00
perf_event.h perf/UAPI: Clearly mark __PERF_SAMPLE_CALLCHAIN_EARLY as internal use 2018-09-10 10:03:02 +02:00
personality.h
pfkeyv2.h
pg.h
phantom.h
phonet.h
pkt_cls.h net: sched: cls_flower: dump offload count value 2018-09-10 10:35:15 -07:00
pkt_sched.h net/sched: fix type of htb statistics 2018-09-02 13:57:12 -07:00
pktcdvd.h
pmu.h macintosh/via-pmu: Replace via-pmu68k driver with via-pmu driver 2018-07-31 19:56:42 +10:00
poll.h
posix_acl.h
posix_acl_xattr.h
posix_types.h
ppdev.h
ppp-comp.h
ppp-ioctl.h l2tp: remove pppol2tp_session_ioctl() 2018-08-11 12:13:49 -07:00
ppp_defs.h
pps.h
pr.h
prctl.h docs: Fix some broken references 2018-06-15 18:10:01 -03:00
psample.h
psci.h arm/arm64: KVM: Add PSCI_VERSION helper 2018-02-06 22:53:56 +00:00
psp-sev.h crypto: ccp - Add GET_ID SEV command 2018-05-31 00:13:56 +08:00
ptp_clock.h
ptrace.h seccomp, ptrace: switch get_metadata types to arch independent 2018-02-21 16:56:03 -08:00
qemu_fw_cfg.h fw_cfg: write vmcoreinfo details 2018-03-20 03:17:41 +02:00
qnx4_fs.h
qnxtypes.h
qrtr.h
quota.h
radeonfb.h
random.h random: add new ioctl RNDRESEEDCRNG 2018-04-14 11:59:31 -04:00
raw.h
rds.h uapi: Fix linux/rds.h userspace compilation errors. 2018-09-02 16:14:44 -07:00
reboot.h
reiserfs_fs.h
reiserfs_xattr.h
resource.h
rfkill.h
rio_cm_cdev.h
rio_mport_cdev.h
romfs_fs.h
rose.h
route.h
rpmsg.h rpmsg: char: Switch to SPDX license identifier 2018-06-03 17:37:16 -07:00
rseq.h rseq: uapi: Declare rseq_cs field as union, update includes 2018-07-10 22:18:52 +02:00
rtc.h
rtnetlink.h net: sched: introduce chain object to uapi 2018-07-23 20:44:12 -07:00
rxrpc.h
scc.h
sched.h
scif_ioctl.h
screen_info.h
sctp.h sctp: add spp_ipv6_flowlabel and spp_dscp for sctp_paddrparams 2018-07-04 11:36:54 +09:00
sdla.h
seccomp.h seccomp: Add filter flag to opt-out of SSB mitigation 2018-05-05 00:51:44 +02:00
securebits.h
sed-opal.h
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h ipv6: sr: Add seg6local action End.BPF 2018-05-24 11:57:36 +02:00
selinux_netlink.h
sem.h ipc/sem: introduce semctl(SEM_STAT_ANY) 2018-04-11 10:28:37 -07:00
serial.h
serial_core.h serial: 8250: Add Nuvoton NPCM UART 2018-03-09 11:01:19 -08:00
serial_reg.h
serio.h
shm.h ipc/shm: introduce shmctl(SHM_STAT_ANY) 2018-04-11 10:28:37 -07:00
signal.h
signalfd.h signal/signalfd: Add support for SIGSYS 2018-04-26 19:51:12 -05:00
smc.h
smc_diag.h net/smc: provide fallback reason code 2018-07-25 22:25:53 -07:00
smiapp.h
snmp.h ip: discard IPv4 datagrams with overlapping segments. 2018-08-05 17:16:46 -07:00
sock_diag.h
socket.h
sockios.h
sonet.h
sonypi.h
sound.h
soundcard.h
stat.h
stddef.h
stm.h stm class: Make dummy's master/channel ranges configurable 2018-03-28 18:47:18 +03:00
string.h
suspend_ioctls.h
swab.h
switchtec_ioctl.h
sync_file.h
synclink.h
sysctl.h ipv6: Add icmp_echo_ignore_all support for ICMPv6 2018-08-13 08:42:25 -07:00
sysinfo.h
target_core_user.h scsi: target: tcmu: add read length support 2018-06-18 21:02:52 -04:00
taskstats.h
tcp.h tcp: add stat of data packet reordering events 2018-08-01 09:56:10 -07:00
tcp_metrics.h
tee.h
termios.h
thermal.h
time.h time: Introduce struct __kernel_itimerspec 2018-06-24 14:39:46 +02:00
timerfd.h
times.h
timex.h
tiocl.h
tipc.h tipc: introduce ioctl for fetching node identity 2018-04-27 11:05:41 -04:00
tipc_config.h tipc: set default MTU for UDP media 2018-04-20 11:04:05 -04:00
tipc_netlink.h tipc: extend sock diag for group communication 2018-06-30 21:05:42 +09:00
tipc_sockets_diag.h tipc: implement socket diagnostics for AF_TIPC 2018-03-22 14:43:35 -04:00
tls.h uapi: Fix SPDX tags for files referring to the 'OpenIB.org' license 2018-04-23 11:10:33 -04:00
toshiba.h
tty.h
tty_flags.h tty: fix typo in ASYNCB_FOURPORT comment 2018-05-24 18:38:51 +02:00
types.h uapi: turn __poll_t sparse checks on by default 2018-05-26 09:16:44 +02:00
udf_fs_i.h
udp.h udp: generate gso with UDP_SEGMENT 2018-04-26 15:08:04 -04:00
uhid.h
uinput.h
uio.h
uleds.h
ultrasound.h
un.h
unistd.h
unix_diag.h
usbdevice_fs.h
usbip.h
userfaultfd.h
userio.h
utime.h
utsname.h
uuid.h uuid: cleanup <uapi/linux/uuid.h> 2018-02-06 18:32:44 -08:00
uvcvideo.h media: uvcvideo: Send a control event when a Control Change interrupt arrives 2018-07-27 06:39:57 -04:00
v4l2-common.h
v4l2-controls.h media: v4l2-ctrl: Add control for VP9 profile 2018-07-04 09:32:22 -04:00
v4l2-dv-timings.h
v4l2-mediabus.h media: v4l: doc: Clarify v4l2_mbus_fmt height definition 2018-02-26 08:15:50 -05:00
v4l2-subdev.h media: v4l: Add support for STD ioctls on subdev nodes 2018-07-24 17:39:28 -04:00
vbox_err.h
vbox_vmmdev_types.h
vboxguest.h
veth.h
vfio.h vfio/pci: Add ioeventfd support 2018-03-26 13:22:58 -06:00
vfio_ccw.h
vhost.h vhost: fix VHOST_GET_BACKEND_FEATURES ioctl request definition 2018-09-03 21:23:24 -07:00
videodev2.h media: v4l: Add new 10-bit packed grayscale format 2018-08-02 06:07:05 -04:00
virtio_9p.h
virtio_balloon.h virtio_balloon: add array of stat names 2018-04-24 21:44:01 +03:00
virtio_blk.h
virtio_config.h virtio: update the comments for transport features 2018-06-12 04:59:29 +03:00
virtio_console.h
virtio_crypto.h
virtio_gpu.h drm/virtio: add define for second capset to the virgl code. 2018-05-14 11:01:29 +02:00
virtio_ids.h
virtio_input.h
virtio_mmio.h
virtio_net.h virtio_net: Introduce VIRTIO_NET_F_STANDBY feature bit 2018-05-28 22:59:54 -04:00
virtio_pci.h
virtio_ring.h
virtio_rng.h
virtio_scsi.h
virtio_types.h
virtio_vsock.h
vm_sockets.h
vm_sockets_diag.h
vmcore.h vmcore: add API to collect hardware dump in second kernel 2018-05-14 13:46:04 -04:00
vsockmon.h
vt.h
vtpm_proxy.h
wait.h
wanrouter.h
watchdog.h
wimax.h
wireless.h
wmi.h
x25.h
xattr.h
xfrm.h xfrm: Add a new lookup key to match xfrm interfaces. 2018-06-23 16:07:15 +02:00
xilinx-v4l2-controls.h
zorro.h
zorro_ids.h