net_dropmon.h revision 655a7c081f83b8351ed5f11a6c6accd9458293a8
1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef __NET_DROPMON_H
20#define __NET_DROPMON_H
21#include <linux/types.h>
22#include <linux/netlink.h>
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24struct net_dm_drop_point {
25 __u8 pc[8];
26 __u32 count;
27};
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29#define is_drop_point_hw(x) do {  int ____i, ____j;  for (____i = 0; ____i < 8; i ____i++)  ____j |= x[____i];  ____j; } while (0)
30#define NET_DM_CFG_VERSION 0
31#define NET_DM_CFG_ALERT_COUNT 1
32#define NET_DM_CFG_ALERT_DELAY 2
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34#define NET_DM_CFG_MAX 3
35struct net_dm_config_entry {
36 __u32 type;
37 __u64 data __attribute__((aligned(8)));
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39};
40struct net_dm_config_msg {
41 __u32 entries;
42 struct net_dm_config_entry options[0];
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44};
45struct net_dm_alert_msg {
46 __u32 entries;
47 struct net_dm_drop_point points[0];
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49};
50struct net_dm_user_msg {
51 union {
52 struct net_dm_config_msg user;
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 struct net_dm_alert_msg alert;
55 } u;
56};
57enum {
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 NET_DM_CMD_UNSPEC = 0,
60 NET_DM_CMD_ALERT,
61 NET_DM_CMD_CONFIG,
62 NET_DM_CMD_START,
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 NET_DM_CMD_STOP,
65 _NET_DM_CMD_MAX,
66};
67#define NET_DM_CMD_MAX (_NET_DM_CMD_MAX - 1)
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69#define NET_DM_GRP_ALERT 1
70#endif
71