aboutsummaryrefslogtreecommitdiff
path: root/linux/unix_diag.h
blob: f1a7fc0c14318607e229d1a087dd1333e8a61640 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#ifndef STRACE_LINUX_UNIX_DIAG_H
#define STRACE_LINUX_UNIX_DIAG_H

struct unix_diag_req {
	uint8_t	 sdiag_family;
	uint8_t	 sdiag_protocol;
	uint16_t pad;
	uint32_t udiag_states;
	uint32_t udiag_ino;
	uint32_t udiag_show;
	uint32_t udiag_cookie[2];
};

#define UDIAG_SHOW_NAME		0x01
#define UDIAG_SHOW_VFS		0x02
#define UDIAG_SHOW_PEER		0x04
#define UDIAG_SHOW_ICONS	0x08
#define UDIAG_SHOW_RQLEN	0x10
#define UDIAG_SHOW_MEMINFO	0x20

struct unix_diag_msg {
	uint8_t	 udiag_family;
	uint8_t	 udiag_type;
	uint8_t	 udiag_state;
	uint8_t	 pad;
	uint32_t udiag_ino;
	uint32_t udiag_cookie[2];
};

enum {
	UNIX_DIAG_NAME,
	UNIX_DIAG_VFS,
	UNIX_DIAG_PEER,
	UNIX_DIAG_ICONS,
	UNIX_DIAG_RQLEN,
	UNIX_DIAG_MEMINFO,
	UNIX_DIAG_SHUTDOWN,
};

struct unix_diag_vfs {
	uint32_t udiag_vfs_ino;
	uint32_t udiag_vfs_dev;
};

struct unix_diag_rqlen {
	uint32_t udiag_rqueue;
	uint32_t udiag_wqueue;
};

#endif /* !STRACE_LINUX_UNIX_DIAG_H */