netlink_diag.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #ifndef __NETLINK_DIAG_H__
  2. #define __NETLINK_DIAG_H__
  3. #include <linux/types.h>
  4. struct netlink_diag_req {
  5. __u8 sdiag_family;
  6. __u8 sdiag_protocol;
  7. __u16 pad;
  8. __u32 ndiag_ino;
  9. __u32 ndiag_show;
  10. __u32 ndiag_cookie[2];
  11. };
  12. struct netlink_diag_msg {
  13. __u8 ndiag_family;
  14. __u8 ndiag_type;
  15. __u8 ndiag_protocol;
  16. __u8 ndiag_state;
  17. __u32 ndiag_portid;
  18. __u32 ndiag_dst_portid;
  19. __u32 ndiag_dst_group;
  20. __u32 ndiag_ino;
  21. __u32 ndiag_cookie[2];
  22. };
  23. struct netlink_diag_ring {
  24. __u32 ndr_block_size;
  25. __u32 ndr_block_nr;
  26. __u32 ndr_frame_size;
  27. __u32 ndr_frame_nr;
  28. };
  29. enum {
  30. /* NETLINK_DIAG_NONE, standard nl API requires this attribute! */
  31. NETLINK_DIAG_MEMINFO,
  32. NETLINK_DIAG_GROUPS,
  33. NETLINK_DIAG_RX_RING,
  34. NETLINK_DIAG_TX_RING,
  35. __NETLINK_DIAG_MAX,
  36. };
  37. #define NETLINK_DIAG_MAX (__NETLINK_DIAG_MAX - 1)
  38. #define NDIAG_PROTO_ALL ((__u8) ~0)
  39. #define NDIAG_SHOW_MEMINFO 0x00000001 /* show memory info of a socket */
  40. #define NDIAG_SHOW_GROUPS 0x00000002 /* show groups of a netlink socket */
  41. #ifndef __KERNEL__
  42. #define NDIAG_SHOW_RING_CFG 0x00000004 /* show ring configuration */
  43. #endif
  44. #endif