summaryrefslogtreecommitdiff
path: root/linux/smc_diag.h
diff options
context:
space:
mode:
authorJingPiao Chen <chenjingpiao@gmail.com>2017-06-13 13:38:27 +0800
committerDmitry V. Levin <ldv@altlinux.org>2017-06-15 23:52:47 +0000
commit955cc506139b87d9794513747dc05a3e0cf6ca85 (patch)
tree2b474322f12c168e83cfdb68a81d021b92de7dd0 /linux/smc_diag.h
parentc17150366c4fd05140aeab2a8bb30a0117e13251 (diff)
downloadstrace-955cc506139b87d9794513747dc05a3e0cf6ca85.tar.gz
netlink: add a basic socket diag parser of AF_SMC messages
* linux/smc_diag.h: New file. * Makefile.am (EXTRA_DIST): Add it. * netlink_sock_diag.c: Include <linux/smc_diag.h>, "xlat/smc_diag_extended_flags.h" and "xlat/smc_states.h". (decode_smc_diag_req, decode_smc_diag_msg): New functions. (diag_decoders): Add AF_SMC. * xlat/smc_diag_extended_flags.in: New file. * xlat/smc_states.in: Likewise.
Diffstat (limited to 'linux/smc_diag.h')
-rw-r--r--linux/smc_diag.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/linux/smc_diag.h b/linux/smc_diag.h
new file mode 100644
index 000000000..aea7d3209
--- /dev/null
+++ b/linux/smc_diag.h
@@ -0,0 +1,33 @@
+#ifndef STRACE_LINUX_SMC_DIAG_H
+#define STRACE_LINUX_SMC_DIAG_H
+
+#include <linux/inet_diag.h>
+
+/* Request structure */
+struct smc_diag_req {
+ uint8_t diag_family;
+ uint8_t pad[2];
+ uint8_t diag_ext; /* Query extended information */
+ struct inet_diag_sockid id;
+};
+
+struct smc_diag_msg {
+ uint8_t diag_family;
+ uint8_t diag_state;
+ uint8_t diag_fallback;
+ uint8_t diag_shutdown;
+ struct inet_diag_sockid id;
+
+ uint32_t diag_uid;
+ uint64_t diag_inode;
+};
+
+/* Extensions */
+enum {
+ SMC_DIAG_NONE,
+ SMC_DIAG_CONNINFO,
+ SMC_DIAG_LGRINFO,
+ SMC_DIAG_SHUTDOWN,
+};
+
+#endif /* !STRACE_LINUX_SMC_DIAG_H */