1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef _UAPI_XT_CGROUP_H
3#define _UAPI_XT_CGROUP_H
4
5#include <linux/types.h>
6#include <linux/limits.h>
7
8struct xt_cgroup_info_v0 {
9	__u32 id;
10	__u32 invert;
11};
12
13struct xt_cgroup_info_v1 {
14	__u8		has_path;
15	__u8		has_classid;
16	__u8		invert_path;
17	__u8		invert_classid;
18	char		path[PATH_MAX];
19	__u32		classid;
20
21	/* kernel internal data */
22	void		*priv __attribute__((aligned(8)));
23};
24
25#define XT_CGROUP_PATH_MAX	512
26
27struct xt_cgroup_info_v2 {
28	__u8		has_path;
29	__u8		has_classid;
30	__u8		invert_path;
31	__u8		invert_classid;
32	union {
33		char	path[XT_CGROUP_PATH_MAX];
34		__u32	classid;
35	};
36
37	/* kernel internal data */
38	void		*priv __attribute__((aligned(8)));
39};
40
41#endif /* _UAPI_XT_CGROUP_H */
42