/* * common.h - common code header * * Declarations for data and functions shared by ioctl and netlink code. */ #ifndef ETHTOOL_COMMON_H__ #define ETHTOOL_COMMON_H__ #include "internal.h" #include #include #define KERNEL_VERSION(a, b, c) (((a) << 16) + ((b) << 8) + (c)) struct flag_info { const char *name; u32 value; }; extern const struct flag_info flags_msglvl[]; extern const unsigned int n_flags_msglvl; struct off_flag_def { const char *short_name; const char *long_name; const char *kernel_name; u32 get_cmd, set_cmd; u32 value; /* For features exposed through ETHTOOL_GFLAGS, the oldest * kernel version for which we can trust the result. Where * the flag was added at the same time the kernel started * supporting the feature, this is 0 (to allow for backports). * Where the feature was supported before the flag was added, * it is the version that introduced the flag. */ u32 min_kernel_ver; }; #define OFF_FLAG_DEF_SIZE 12 extern const struct off_flag_def off_flag_def[OFF_FLAG_DEF_SIZE]; void print_flags(const struct flag_info *info, unsigned int n_info, u32 value); int dump_wol(struct ethtool_wolinfo *wol); void dump_mdix(u8 mdix, u8 mdix_ctrl); void print_indir_table(struct cmd_context *ctx, u64 ring_count, u32 indir_size, u32 *indir); void print_rss_hkey(u8 *hkey, u32 hkey_size); #endif /* ETHTOOL_COMMON_H__ */