]> granicus.if.org Git - strace/blob - linux/smc_diag.h
mem: decode hugetlb page size in mmap flags
[strace] / linux / smc_diag.h
1 #ifndef STRACE_LINUX_SMC_DIAG_H
2 #define STRACE_LINUX_SMC_DIAG_H
3
4 #include <linux/inet_diag.h>
5
6 /* Request structure */
7 struct smc_diag_req {
8         uint8_t diag_family;
9         uint8_t pad[2];
10         uint8_t diag_ext;               /* Query extended information */
11         struct inet_diag_sockid id;
12 };
13
14 struct smc_diag_msg {
15         uint8_t diag_family;
16         uint8_t diag_state;
17         uint8_t diag_fallback;
18         uint8_t diag_shutdown;
19         struct inet_diag_sockid id;
20
21         uint32_t diag_uid;
22         uint64_t diag_inode;
23 };
24
25 /* Extensions */
26 enum {
27         SMC_DIAG_NONE,
28         SMC_DIAG_CONNINFO,
29         SMC_DIAG_LGRINFO,
30         SMC_DIAG_SHUTDOWN,
31 };
32
33 /* SMC_DIAG_CONNINFO */
34 struct smc_diag_cursor {
35         uint16_t reserved;
36         uint16_t wrap;
37         uint32_t count;
38 };
39
40 struct smc_diag_conninfo {
41         uint32_t                token;
42         uint32_t                sndbuf_size;
43         uint32_t                rmbe_size;
44         uint32_t                peer_rmbe_size;
45         struct smc_diag_cursor  rx_prod;
46         struct smc_diag_cursor  rx_cons;
47         struct smc_diag_cursor  tx_prod;
48         struct smc_diag_cursor  tx_cons;
49         uint8_t                 rx_prod_flags;
50         uint8_t                 rx_conn_state_flags;
51         uint8_t                 tx_prod_flags;
52         uint8_t                 tx_conn_state_flags;
53         struct smc_diag_cursor  tx_prep;
54         struct smc_diag_cursor  tx_sent;
55         struct smc_diag_cursor  tx_fin;
56 };
57
58 /* SMC_DIAG_LINKINFO */
59 struct smc_diag_linkinfo {
60         uint8_t link_id;
61         uint8_t ibname[64]; /* IB_DEVICE_NAME_MAX */
62         uint8_t ibport;
63         uint8_t gid[40];
64         uint8_t peer_gid[40];
65 };
66
67 struct smc_diag_lgrinfo {
68         struct smc_diag_linkinfo lnk[1];
69         uint8_t role;
70 };
71
72 #endif /* !STRACE_LINUX_SMC_DIAG_H */