| # Copyright 2017 syzkaller project authors. All rights reserved. |
| # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. |
| |
| # AF_NETLINK/NETLINK_GENERIC support. |
| |
| # TODO: describe APIs of specific genetlink families. |
| |
| include <linux/net.h> |
| include <uapi/linux/netlink.h> |
| include <uapi/linux/genetlink.h> |
| |
| resource sock_nl_generic[sock_netlink] |
| |
| socket$nl_generic(domain const[AF_NETLINK], type const[SOCK_RAW], proto const[NETLINK_GENERIC]) sock_nl_generic |
| |
| sendmsg$nl_generic(fd sock_nl_generic, msg ptr[in, msghdr_nl_generic], f flags[send_flags]) |
| |
| type msghdr_nl_generic msghdr_netlink[netlink_msg_t[netlink_random_msg_type, genlmsghdr, nl_generic_attr]] |
| |
| genlmsghdr { |
| cmd int8[0:32] |
| version const[0, int8] |
| reserved const[0, int16] |
| } [align_4] |
| |
| type genlmsghdr_t[CMD] { |
| cmd const[CMD, int8] |
| version const[0, int8] |
| reserved const[0, int16] |
| } [align_4] |