huangcm
2025-08-14 5d6606c55520a76d5bb8297d83fd9bbf967e5244
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 */