diff --git a/home/nipa/nipa_out/830674/ynl/old-code/ethtool-user.c b/home/nipa/nipa_out/830674/ynl/new-code/ethtool-user.c index 6e6e2dbd423c..68aca370cd0a 100644 --- a/home/nipa/nipa_out/830674/ynl/old-code/ethtool-user.c +++ b/home/nipa/nipa_out/830674/ynl/new-code/ethtool-user.c @@ -59,6 +59,7 @@ static const char * const ethtool_op_strmap[] = { [41] = "plca-ntf", [ETHTOOL_MSG_MM_GET] = "mm-get", [43] = "mm-ntf", + [ETHTOOL_MSG_PHY_GET] = "phy-get", }; const char *ethtool_op_str(int op) @@ -91,11 +92,24 @@ const char *ethtool_stringset_str(enum ethtool_stringset value) return ethtool_stringset_strmap[value]; } +static const char * const ethtool_phy_upstream_type_strmap[] = { + [0] = "mac", + [1] = "phy", +}; + +const char *ethtool_phy_upstream_type_str(int value) +{ + if (value < 0 || value >= (int)MNL_ARRAY_SIZE(ethtool_phy_upstream_type_strmap)) + return NULL; + return ethtool_phy_upstream_type_strmap[value]; +} + /* Policies */ struct ynl_policy_attr ethtool_header_policy[ETHTOOL_A_HEADER_MAX + 1] = { [ETHTOOL_A_HEADER_DEV_INDEX] = { .name = "dev-index", .type = YNL_PT_U32, }, [ETHTOOL_A_HEADER_DEV_NAME] = { .name = "dev-name", .type = YNL_PT_NUL_STR, }, [ETHTOOL_A_HEADER_FLAGS] = { .name = "flags", .type = YNL_PT_U32, }, + [ETHTOOL_A_HEADER_PHY_INDEX] = { .name = "phy-index", .type = YNL_PT_U32, }, }; struct ynl_policy_nest ethtool_header_nest = { @@ -667,6 +681,23 @@ struct ynl_policy_nest ethtool_mm_nest = { .table = ethtool_mm_policy, }; +struct ynl_policy_attr ethtool_phy_policy[ETHTOOL_A_PHY_MAX + 1] = { + [ETHTOOL_A_PHY_HEADER] = { .name = "header", .type = YNL_PT_NEST, .nest = ðtool_header_nest, }, + [ETHTOOL_A_PHY_INDEX] = { .name = "index", .type = YNL_PT_U32, }, + [ETHTOOL_A_PHY_DRVNAME] = { .name = "drvname", .type = YNL_PT_NUL_STR, }, + [ETHTOOL_A_PHY_NAME] = { .name = "name", .type = YNL_PT_NUL_STR, }, + [ETHTOOL_A_PHY_UPSTREAM_TYPE] = { .name = "upstream-type", .type = YNL_PT_U32, }, + [ETHTOOL_A_PHY_UPSTREAM_INDEX] = { .name = "upstream-index", .type = YNL_PT_U32, }, + [ETHTOOL_A_PHY_UPSTREAM_SFP_NAME] = { .name = "upstream-sfp-name", .type = YNL_PT_NUL_STR, }, + [ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME] = { .name = "downstream-sfp-name", .type = YNL_PT_NUL_STR, }, + [ETHTOOL_A_PHY_ID] = { .name = "id", .type = YNL_PT_U32, }, +}; + +struct ynl_policy_nest ethtool_phy_nest = { + .max_attr = ETHTOOL_A_PHY_MAX, + .table = ethtool_phy_policy, +}; + /* Common nested types */ void ethtool_header_free(struct ethtool_header *obj) { @@ -685,6 +716,8 @@ int ethtool_header_put(struct nlmsghdr *nlh, unsigned int attr_type, mnl_attr_put_strz(nlh, ETHTOOL_A_HEADER_DEV_NAME, obj->dev_name); if (obj->_present.flags) mnl_attr_put_u32(nlh, ETHTOOL_A_HEADER_FLAGS, obj->flags); + if (obj->_present.phy_index) + mnl_attr_put_u32(nlh, ETHTOOL_A_HEADER_PHY_INDEX, obj->phy_index); mnl_attr_nest_end(nlh, nest); return 0; @@ -720,6 +753,11 @@ int ethtool_header_parse(struct ynl_parse_arg *yarg, return MNL_CB_ERROR; dst->_present.flags = 1; dst->flags = mnl_attr_get_u32(attr); + } else if (type == ETHTOOL_A_HEADER_PHY_INDEX) { + if (ynl_attr_validate(yarg, attr)) + return MNL_CB_ERROR; + dst->_present.phy_index = 1; + dst->phy_index = mnl_attr_get_u32(attr); } } @@ -6330,205 +6368,5 @@ int ethtool_mm_set(struct ynl_sock *ys, struct ethtool_mm_set_req *req) return 0; } -/* ETHTOOL_MSG_CABLE_TEST_NTF - event */ -int ethtool_cable_test_ntf_rsp_parse(const struct nlmsghdr *nlh, void *data) -{ - struct ethtool_cable_test_ntf_rsp *dst; - struct ynl_parse_arg *yarg = data; - const struct nlattr *attr; - struct ynl_parse_arg parg; - - dst = yarg->data; - parg.ys = yarg->ys; - - mnl_attr_for_each(attr, nlh, yarg->ys->family->hdr_len) { - unsigned int type = mnl_attr_get_type(attr); - - if (type == ETHTOOL_A_CABLE_TEST_NTF_HEADER) { - if (ynl_attr_validate(yarg, attr)) - return MNL_CB_ERROR; - dst->_present.header = 1; - - parg.rsp_policy = ðtool_header_nest; - parg.data = &dst->header; - if (ethtool_header_parse(&parg, attr)) - return MNL_CB_ERROR; - } else if (type == ETHTOOL_A_CABLE_TEST_NTF_STATUS) { - if (ynl_attr_validate(yarg, attr)) - return MNL_CB_ERROR; - dst->_present.status = 1; - dst->status = mnl_attr_get_u8(attr); - } - } - - return MNL_CB_OK; -} - -void ethtool_cable_test_ntf_free(struct ethtool_cable_test_ntf *rsp) -{ - ethtool_header_free(&rsp->obj.header); - free(rsp); -} - -/* ETHTOOL_MSG_CABLE_TEST_TDR_NTF - event */ -int ethtool_cable_test_tdr_ntf_rsp_parse(const struct nlmsghdr *nlh, - void *data) -{ - struct ethtool_cable_test_tdr_ntf_rsp *dst; - struct ynl_parse_arg *yarg = data; - const struct nlattr *attr; - struct ynl_parse_arg parg; - - dst = yarg->data; - parg.ys = yarg->ys; - - mnl_attr_for_each(attr, nlh, yarg->ys->family->hdr_len) { - unsigned int type = mnl_attr_get_type(attr); - - if (type == ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER) { - if (ynl_attr_validate(yarg, attr)) - return MNL_CB_ERROR; - dst->_present.header = 1; - - parg.rsp_policy = ðtool_header_nest; - parg.data = &dst->header; - if (ethtool_header_parse(&parg, attr)) - return MNL_CB_ERROR; - } else if (type == ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS) { - if (ynl_attr_validate(yarg, attr)) - return MNL_CB_ERROR; - dst->_present.status = 1; - dst->status = mnl_attr_get_u8(attr); - } else if (type == ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST) { - if (ynl_attr_validate(yarg, attr)) - return MNL_CB_ERROR; - dst->_present.nest = 1; - - parg.rsp_policy = ðtool_cable_nest_nest; - parg.data = &dst->nest; - if (ethtool_cable_nest_parse(&parg, attr)) - return MNL_CB_ERROR; - } - } - - return MNL_CB_OK; -} - -void ethtool_cable_test_tdr_ntf_free(struct ethtool_cable_test_tdr_ntf *rsp) -{ - ethtool_header_free(&rsp->obj.header); - ethtool_cable_nest_free(&rsp->obj.nest); - free(rsp); -} - -static const struct ynl_ntf_info ethtool_ntf_info[] = { - [ETHTOOL_MSG_LINKINFO_NTF] = { - .alloc_sz = sizeof(struct ethtool_linkinfo_get_ntf), - .cb = ethtool_linkinfo_get_rsp_parse, - .policy = ðtool_linkinfo_nest, - .free = (void *)ethtool_linkinfo_get_ntf_free, - }, - [ETHTOOL_MSG_LINKMODES_NTF] = { - .alloc_sz = sizeof(struct ethtool_linkmodes_get_ntf), - .cb = ethtool_linkmodes_get_rsp_parse, - .policy = ðtool_linkmodes_nest, - .free = (void *)ethtool_linkmodes_get_ntf_free, - }, - [ETHTOOL_MSG_DEBUG_NTF] = { - .alloc_sz = sizeof(struct ethtool_debug_get_ntf), - .cb = ethtool_debug_get_rsp_parse, - .policy = ðtool_debug_nest, - .free = (void *)ethtool_debug_get_ntf_free, - }, - [ETHTOOL_MSG_WOL_NTF] = { - .alloc_sz = sizeof(struct ethtool_wol_get_ntf), - .cb = ethtool_wol_get_rsp_parse, - .policy = ðtool_wol_nest, - .free = (void *)ethtool_wol_get_ntf_free, - }, - [ETHTOOL_MSG_FEATURES_NTF] = { - .alloc_sz = sizeof(struct ethtool_features_get_ntf), - .cb = ethtool_features_get_rsp_parse, - .policy = ðtool_features_nest, - .free = (void *)ethtool_features_get_ntf_free, - }, - [ETHTOOL_MSG_PRIVFLAGS_NTF] = { - .alloc_sz = sizeof(struct ethtool_privflags_get_ntf), - .cb = ethtool_privflags_get_rsp_parse, - .policy = ðtool_privflags_nest, - .free = (void *)ethtool_privflags_get_ntf_free, - }, - [ETHTOOL_MSG_RINGS_NTF] = { - .alloc_sz = sizeof(struct ethtool_rings_get_ntf), - .cb = ethtool_rings_get_rsp_parse, - .policy = ðtool_rings_nest, - .free = (void *)ethtool_rings_get_ntf_free, - }, - [ETHTOOL_MSG_CHANNELS_NTF] = { - .alloc_sz = sizeof(struct ethtool_channels_get_ntf), - .cb = ethtool_channels_get_rsp_parse, - .policy = ðtool_channels_nest, - .free = (void *)ethtool_channels_get_ntf_free, - }, - [ETHTOOL_MSG_COALESCE_NTF] = { - .alloc_sz = sizeof(struct ethtool_coalesce_get_ntf), - .cb = ethtool_coalesce_get_rsp_parse, - .policy = ðtool_coalesce_nest, - .free = (void *)ethtool_coalesce_get_ntf_free, - }, - [ETHTOOL_MSG_PAUSE_NTF] = { - .alloc_sz = sizeof(struct ethtool_pause_get_ntf), - .cb = ethtool_pause_get_rsp_parse, - .policy = ðtool_pause_nest, - .free = (void *)ethtool_pause_get_ntf_free, - }, - [ETHTOOL_MSG_EEE_NTF] = { - .alloc_sz = sizeof(struct ethtool_eee_get_ntf), - .cb = ethtool_eee_get_rsp_parse, - .policy = ðtool_eee_nest, - .free = (void *)ethtool_eee_get_ntf_free, - }, - [ETHTOOL_MSG_CABLE_TEST_NTF] = { - .alloc_sz = sizeof(struct ethtool_cable_test_ntf), - .cb = ethtool_cable_test_ntf_rsp_parse, - .policy = ðtool_cable_test_ntf_nest, - .free = (void *)ethtool_cable_test_ntf_free, - }, - [ETHTOOL_MSG_CABLE_TEST_TDR_NTF] = { - .alloc_sz = sizeof(struct ethtool_cable_test_tdr_ntf), - .cb = ethtool_cable_test_tdr_ntf_rsp_parse, - .policy = ðtool_cable_test_tdr_ntf_nest, - .free = (void *)ethtool_cable_test_tdr_ntf_free, - }, - [ETHTOOL_MSG_FEC_NTF] = { - .alloc_sz = sizeof(struct ethtool_fec_get_ntf), - .cb = ethtool_fec_get_rsp_parse, - .policy = ðtool_fec_nest, - .free = (void *)ethtool_fec_get_ntf_free, - }, - [ETHTOOL_MSG_MODULE_NTF] = { - .alloc_sz = sizeof(struct ethtool_module_get_ntf), - .cb = ethtool_module_get_rsp_parse, - .policy = ðtool_module_nest, - .free = (void *)ethtool_module_get_ntf_free, - }, - [ETHTOOL_MSG_PLCA_NTF] = { - .alloc_sz = sizeof(struct ethtool_plca_get_cfg_ntf), - .cb = ethtool_plca_get_cfg_rsp_parse, - .policy = ðtool_plca_nest, - .free = (void *)ethtool_plca_get_cfg_ntf_free, - }, - [ETHTOOL_MSG_MM_NTF] = { - .alloc_sz = sizeof(struct ethtool_mm_get_ntf), - .cb = ethtool_mm_get_rsp_parse, - .policy = ðtool_mm_nest, - .free = (void *)ethtool_mm_get_ntf_free, - }, -}; - -const struct ynl_family ynl_ethtool_family = { - .name = "ethtool", - .hdr_len = sizeof(struct genlmsghdr), - .ntf_info = ethtool_ntf_info, - .ntf_info_size = MNL_ARRAY_SIZE(ethtool_ntf_info), -}; +/* ============== ETHTOOL_MSG_PHY_GET ============== */ +/* ETHTOOL_MSG_PHY_GET - do */ diff --git a/home/nipa/nipa_out/830674/ynl/old-code/ethtool-user.h b/home/nipa/nipa_out/830674/ynl/new-code/ethtool-user.h index ebaf14faf1e6..7b39e30c8dc6 100644 --- a/home/nipa/nipa_out/830674/ynl/old-code/ethtool-user.h +++ b/home/nipa/nipa_out/830674/ynl/new-code/ethtool-user.h @@ -20,6 +20,7 @@ extern const struct ynl_family ynl_ethtool_family; const char *ethtool_op_str(int op); const char *ethtool_udp_tunnel_type_str(int value); const char *ethtool_stringset_str(enum ethtool_stringset value); +const char *ethtool_phy_upstream_type_str(int value); /* Common nested types */ struct ethtool_header { @@ -27,11 +28,13 @@ struct ethtool_header { __u32 dev_index:1; __u32 dev_name_len; __u32 flags:1; + __u32 phy_index:1; } _present; __u32 dev_index; char *dev_name; __u32 flags; + __u32 phy_index; }; struct ethtool_pause_stat { @@ -253,6 +256,14 @@ ethtool_strset_get_req_set_header_flags(struct ethtool_strset_get_req *req, req->header.flags = flags; } static inline void +ethtool_strset_get_req_set_header_phy_index(struct ethtool_strset_get_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} +static inline void __ethtool_strset_get_req_set_stringsets_stringset(struct ethtool_strset_get_req *req, struct ethtool_stringset_ *stringset, unsigned int n_stringset) @@ -331,6 +342,14 @@ ethtool_strset_get_req_dump_set_header_flags(struct ethtool_strset_get_req_dump req->header.flags = flags; } static inline void +ethtool_strset_get_req_dump_set_header_phy_index(struct ethtool_strset_get_req_dump *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} +static inline void __ethtool_strset_get_req_dump_set_stringsets_stringset(struct ethtool_strset_get_req_dump *req, struct ethtool_stringset_ *stringset, unsigned int n_stringset) @@ -399,6 +418,14 @@ ethtool_linkinfo_get_req_set_header_flags(struct ethtool_linkinfo_get_req *req, req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_linkinfo_get_req_set_header_phy_index(struct ethtool_linkinfo_get_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_linkinfo_get_rsp { struct { @@ -469,6 +496,14 @@ ethtool_linkinfo_get_req_dump_set_header_flags(struct ethtool_linkinfo_get_req_d req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_linkinfo_get_req_dump_set_header_phy_index(struct ethtool_linkinfo_get_req_dump *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_linkinfo_get_list { struct ethtool_linkinfo_get_list *next; @@ -546,6 +581,14 @@ ethtool_linkinfo_set_req_set_header_flags(struct ethtool_linkinfo_set_req *req, req->header.flags = flags; } static inline void +ethtool_linkinfo_set_req_set_header_phy_index(struct ethtool_linkinfo_set_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} +static inline void ethtool_linkinfo_set_req_set_port(struct ethtool_linkinfo_set_req *req, __u8 port) { @@ -630,6 +673,14 @@ ethtool_linkmodes_get_req_set_header_flags(struct ethtool_linkmodes_get_req *req req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_linkmodes_get_req_set_header_phy_index(struct ethtool_linkmodes_get_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_linkmodes_get_rsp { struct { @@ -709,6 +760,14 @@ ethtool_linkmodes_get_req_dump_set_header_flags(struct ethtool_linkmodes_get_req req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_linkmodes_get_req_dump_set_header_phy_index(struct ethtool_linkmodes_get_req_dump *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_linkmodes_get_list { struct ethtool_linkmodes_get_list *next; @@ -794,6 +853,14 @@ ethtool_linkmodes_set_req_set_header_flags(struct ethtool_linkmodes_set_req *req req->header.flags = flags; } static inline void +ethtool_linkmodes_set_req_set_header_phy_index(struct ethtool_linkmodes_set_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} +static inline void ethtool_linkmodes_set_req_set_autoneg(struct ethtool_linkmodes_set_req *req, __u8 autoneg) { @@ -938,6 +1005,14 @@ ethtool_linkstate_get_req_set_header_flags(struct ethtool_linkstate_get_req *req req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_linkstate_get_req_set_header_phy_index(struct ethtool_linkstate_get_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_linkstate_get_rsp { struct { @@ -1011,6 +1086,14 @@ ethtool_linkstate_get_req_dump_set_header_flags(struct ethtool_linkstate_get_req req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_linkstate_get_req_dump_set_header_phy_index(struct ethtool_linkstate_get_req_dump *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_linkstate_get_list { struct ethtool_linkstate_get_list *next; @@ -1065,6 +1148,14 @@ ethtool_debug_get_req_set_header_flags(struct ethtool_debug_get_req *req, req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_debug_get_req_set_header_phy_index(struct ethtool_debug_get_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_debug_get_rsp { struct { @@ -1126,6 +1217,14 @@ ethtool_debug_get_req_dump_set_header_flags(struct ethtool_debug_get_req_dump *r req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_debug_get_req_dump_set_header_phy_index(struct ethtool_debug_get_req_dump *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_debug_get_list { struct ethtool_debug_get_list *next; @@ -1194,6 +1293,14 @@ ethtool_debug_set_req_set_header_flags(struct ethtool_debug_set_req *req, req->header.flags = flags; } static inline void +ethtool_debug_set_req_set_header_phy_index(struct ethtool_debug_set_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} +static inline void ethtool_debug_set_req_set_msgmask_nomask(struct ethtool_debug_set_req *req) { req->_present.msgmask = 1; @@ -1264,6 +1371,14 @@ ethtool_wol_get_req_set_header_flags(struct ethtool_wol_get_req *req, req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_wol_get_req_set_header_phy_index(struct ethtool_wol_get_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_wol_get_rsp { struct { @@ -1327,6 +1442,14 @@ ethtool_wol_get_req_dump_set_header_flags(struct ethtool_wol_get_req_dump *req, req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_wol_get_req_dump_set_header_phy_index(struct ethtool_wol_get_req_dump *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_wol_get_list { struct ethtool_wol_get_list *next; @@ -1396,6 +1519,14 @@ ethtool_wol_set_req_set_header_flags(struct ethtool_wol_set_req *req, req->header.flags = flags; } static inline void +ethtool_wol_set_req_set_header_phy_index(struct ethtool_wol_set_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} +static inline void ethtool_wol_set_req_set_modes_nomask(struct ethtool_wol_set_req *req) { req->_present.modes = 1; @@ -1475,6 +1606,14 @@ ethtool_features_get_req_set_header_flags(struct ethtool_features_get_req *req, req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_features_get_req_set_header_phy_index(struct ethtool_features_get_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_features_get_rsp { struct { @@ -1543,6 +1682,14 @@ ethtool_features_get_req_dump_set_header_flags(struct ethtool_features_get_req_d req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_features_get_req_dump_set_header_phy_index(struct ethtool_features_get_req_dump *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_features_get_list { struct ethtool_features_get_list *next; @@ -1618,6 +1765,14 @@ ethtool_features_set_req_set_header_flags(struct ethtool_features_set_req *req, req->header.flags = flags; } static inline void +ethtool_features_set_req_set_header_phy_index(struct ethtool_features_set_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} +static inline void ethtool_features_set_req_set_hw_nomask(struct ethtool_features_set_req *req) { req->_present.hw = 1; @@ -1777,6 +1932,14 @@ ethtool_privflags_get_req_set_header_flags(struct ethtool_privflags_get_req *req req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_privflags_get_req_set_header_phy_index(struct ethtool_privflags_get_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_privflags_get_rsp { struct { @@ -1840,6 +2003,14 @@ ethtool_privflags_get_req_dump_set_header_flags(struct ethtool_privflags_get_req req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_privflags_get_req_dump_set_header_phy_index(struct ethtool_privflags_get_req_dump *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_privflags_get_list { struct ethtool_privflags_get_list *next; @@ -1909,6 +2080,14 @@ ethtool_privflags_set_req_set_header_flags(struct ethtool_privflags_set_req *req req->header.flags = flags; } static inline void +ethtool_privflags_set_req_set_header_phy_index(struct ethtool_privflags_set_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} +static inline void ethtool_privflags_set_req_set_flags_nomask(struct ethtool_privflags_set_req *req) { req->_present.flags = 1; @@ -1980,6 +2159,14 @@ ethtool_rings_get_req_set_header_flags(struct ethtool_rings_get_req *req, req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_rings_get_req_set_header_phy_index(struct ethtool_rings_get_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_rings_get_rsp { struct { @@ -2069,6 +2256,14 @@ ethtool_rings_get_req_dump_set_header_flags(struct ethtool_rings_get_req_dump *r req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_rings_get_req_dump_set_header_phy_index(struct ethtool_rings_get_req_dump *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_rings_get_list { struct ethtool_rings_get_list *next; @@ -2165,6 +2360,14 @@ ethtool_rings_set_req_set_header_flags(struct ethtool_rings_set_req *req, req->header.flags = flags; } static inline void +ethtool_rings_set_req_set_header_phy_index(struct ethtool_rings_set_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} +static inline void ethtool_rings_set_req_set_rx_max(struct ethtool_rings_set_req *req, __u32 rx_max) { @@ -2316,6 +2519,14 @@ ethtool_channels_get_req_set_header_flags(struct ethtool_channels_get_req *req, req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_channels_get_req_set_header_phy_index(struct ethtool_channels_get_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_channels_get_rsp { struct { @@ -2392,6 +2603,14 @@ ethtool_channels_get_req_dump_set_header_flags(struct ethtool_channels_get_req_d req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_channels_get_req_dump_set_header_phy_index(struct ethtool_channels_get_req_dump *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_channels_get_list { struct ethtool_channels_get_list *next; @@ -2475,6 +2694,14 @@ ethtool_channels_set_req_set_header_flags(struct ethtool_channels_set_req *req, req->header.flags = flags; } static inline void +ethtool_channels_set_req_set_header_phy_index(struct ethtool_channels_set_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} +static inline void ethtool_channels_set_req_set_rx_max(struct ethtool_channels_set_req *req, __u32 rx_max) { @@ -2580,6 +2807,14 @@ ethtool_coalesce_get_req_set_header_flags(struct ethtool_coalesce_get_req *req, req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_coalesce_get_req_set_header_phy_index(struct ethtool_coalesce_get_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_coalesce_get_rsp { struct { @@ -2694,6 +2929,14 @@ ethtool_coalesce_get_req_dump_set_header_flags(struct ethtool_coalesce_get_req_d req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_coalesce_get_req_dump_set_header_phy_index(struct ethtool_coalesce_get_req_dump *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_coalesce_get_list { struct ethtool_coalesce_get_list *next; @@ -2815,6 +3058,14 @@ ethtool_coalesce_set_req_set_header_flags(struct ethtool_coalesce_set_req *req, req->header.flags = flags; } static inline void +ethtool_coalesce_set_req_set_header_phy_index(struct ethtool_coalesce_set_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} +static inline void ethtool_coalesce_set_req_set_rx_usecs(struct ethtool_coalesce_set_req *req, __u32 rx_usecs) { @@ -3052,6 +3303,14 @@ ethtool_pause_get_req_set_header_flags(struct ethtool_pause_get_req *req, req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_pause_get_req_set_header_phy_index(struct ethtool_pause_get_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_pause_get_rsp { struct { @@ -3121,6 +3380,14 @@ ethtool_pause_get_req_dump_set_header_flags(struct ethtool_pause_get_req_dump *r req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_pause_get_req_dump_set_header_phy_index(struct ethtool_pause_get_req_dump *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_pause_get_list { struct ethtool_pause_get_list *next; @@ -3197,6 +3464,14 @@ ethtool_pause_set_req_set_header_flags(struct ethtool_pause_set_req *req, req->header.flags = flags; } static inline void +ethtool_pause_set_req_set_header_phy_index(struct ethtool_pause_set_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} +static inline void ethtool_pause_set_req_set_autoneg(struct ethtool_pause_set_req *req, __u8 autoneg) { @@ -3286,6 +3561,14 @@ ethtool_eee_get_req_set_header_flags(struct ethtool_eee_get_req *req, req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_eee_get_req_set_header_phy_index(struct ethtool_eee_get_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_eee_get_rsp { struct { @@ -3357,6 +3640,14 @@ ethtool_eee_get_req_dump_set_header_flags(struct ethtool_eee_get_req_dump *req, req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_eee_get_req_dump_set_header_phy_index(struct ethtool_eee_get_req_dump *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_eee_get_list { struct ethtool_eee_get_list *next; @@ -3434,6 +3725,14 @@ ethtool_eee_set_req_set_header_flags(struct ethtool_eee_set_req *req, req->header.flags = flags; } static inline void +ethtool_eee_set_req_set_header_phy_index(struct ethtool_eee_set_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} +static inline void ethtool_eee_set_req_set_modes_ours_nomask(struct ethtool_eee_set_req *req) { req->_present.modes_ours = 1; @@ -3553,6 +3852,14 @@ ethtool_tsinfo_get_req_set_header_flags(struct ethtool_tsinfo_get_req *req, req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_tsinfo_get_req_set_header_phy_index(struct ethtool_tsinfo_get_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_tsinfo_get_rsp { struct { @@ -3620,6 +3927,14 @@ ethtool_tsinfo_get_req_dump_set_header_flags(struct ethtool_tsinfo_get_req_dump req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_tsinfo_get_req_dump_set_header_phy_index(struct ethtool_tsinfo_get_req_dump *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_tsinfo_get_list { struct ethtool_tsinfo_get_list *next; @@ -3675,6 +3990,14 @@ ethtool_cable_test_act_req_set_header_flags(struct ethtool_cable_test_act_req *r req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_cable_test_act_req_set_header_phy_index(struct ethtool_cable_test_act_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} /* * Cable test. @@ -3726,6 +4049,14 @@ ethtool_cable_test_tdr_act_req_set_header_flags(struct ethtool_cable_test_tdr_ac req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_cable_test_tdr_act_req_set_header_phy_index(struct ethtool_cable_test_tdr_act_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} /* * Cable test TDR. @@ -3776,6 +4107,14 @@ ethtool_tunnel_info_get_req_set_header_flags(struct ethtool_tunnel_info_get_req req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_tunnel_info_get_req_set_header_phy_index(struct ethtool_tunnel_info_get_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_tunnel_info_get_rsp { struct { @@ -3839,6 +4178,14 @@ ethtool_tunnel_info_get_req_dump_set_header_flags(struct ethtool_tunnel_info_get req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_tunnel_info_get_req_dump_set_header_phy_index(struct ethtool_tunnel_info_get_req_dump *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_tunnel_info_get_list { struct ethtool_tunnel_info_get_list *next; @@ -3894,6 +4241,14 @@ ethtool_fec_get_req_set_header_flags(struct ethtool_fec_get_req *req, req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_fec_get_req_set_header_phy_index(struct ethtool_fec_get_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_fec_get_rsp { struct { @@ -3961,6 +4316,14 @@ ethtool_fec_get_req_dump_set_header_flags(struct ethtool_fec_get_req_dump *req, req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_fec_get_req_dump_set_header_phy_index(struct ethtool_fec_get_req_dump *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_fec_get_list { struct ethtool_fec_get_list *next; @@ -4034,6 +4397,14 @@ ethtool_fec_set_req_set_header_flags(struct ethtool_fec_set_req *req, req->header.flags = flags; } static inline void +ethtool_fec_set_req_set_header_phy_index(struct ethtool_fec_set_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} +static inline void ethtool_fec_set_req_set_modes_nomask(struct ethtool_fec_set_req *req) { req->_present.modes = 1; @@ -4144,6 +4515,14 @@ ethtool_module_eeprom_get_req_set_header_flags(struct ethtool_module_eeprom_get_ req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_module_eeprom_get_req_set_header_phy_index(struct ethtool_module_eeprom_get_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_module_eeprom_get_rsp { struct { @@ -4218,6 +4597,14 @@ ethtool_module_eeprom_get_req_dump_set_header_flags(struct ethtool_module_eeprom req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_module_eeprom_get_req_dump_set_header_phy_index(struct ethtool_module_eeprom_get_req_dump *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_module_eeprom_get_list { struct ethtool_module_eeprom_get_list *next; @@ -4274,6 +4661,14 @@ ethtool_phc_vclocks_get_req_set_header_flags(struct ethtool_phc_vclocks_get_req req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_phc_vclocks_get_req_set_header_phy_index(struct ethtool_phc_vclocks_get_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_phc_vclocks_get_rsp { struct { @@ -4337,6 +4732,14 @@ ethtool_phc_vclocks_get_req_dump_set_header_flags(struct ethtool_phc_vclocks_get req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_phc_vclocks_get_req_dump_set_header_phy_index(struct ethtool_phc_vclocks_get_req_dump *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_phc_vclocks_get_list { struct ethtool_phc_vclocks_get_list *next; @@ -4392,6 +4795,14 @@ ethtool_module_get_req_set_header_flags(struct ethtool_module_get_req *req, req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_module_get_req_set_header_phy_index(struct ethtool_module_get_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_module_get_rsp { struct { @@ -4455,6 +4866,14 @@ ethtool_module_get_req_dump_set_header_flags(struct ethtool_module_get_req_dump req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_module_get_req_dump_set_header_phy_index(struct ethtool_module_get_req_dump *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_module_get_list { struct ethtool_module_get_list *next; @@ -4525,6 +4944,14 @@ ethtool_module_set_req_set_header_flags(struct ethtool_module_set_req *req, req->header.flags = flags; } static inline void +ethtool_module_set_req_set_header_phy_index(struct ethtool_module_set_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} +static inline void ethtool_module_set_req_set_power_mode_policy(struct ethtool_module_set_req *req, __u8 power_mode_policy) { @@ -4586,6 +5013,14 @@ ethtool_pse_get_req_set_header_flags(struct ethtool_pse_get_req *req, req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_pse_get_req_set_header_phy_index(struct ethtool_pse_get_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_pse_get_rsp { struct { @@ -4651,6 +5086,14 @@ ethtool_pse_get_req_dump_set_header_flags(struct ethtool_pse_get_req_dump *req, req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_pse_get_req_dump_set_header_phy_index(struct ethtool_pse_get_req_dump *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_pse_get_list { struct ethtool_pse_get_list *next; @@ -4711,6 +5154,14 @@ ethtool_pse_set_req_set_header_flags(struct ethtool_pse_set_req *req, req->header.flags = flags; } static inline void +ethtool_pse_set_req_set_header_phy_index(struct ethtool_pse_set_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} +static inline void ethtool_pse_set_req_set_admin_state(struct ethtool_pse_set_req *req, __u32 admin_state) { @@ -4779,6 +5230,14 @@ ethtool_rss_get_req_set_header_flags(struct ethtool_rss_get_req *req, req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_rss_get_req_set_header_phy_index(struct ethtool_rss_get_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_rss_get_rsp { struct { @@ -4848,6 +5307,14 @@ ethtool_rss_get_req_dump_set_header_flags(struct ethtool_rss_get_req_dump *req, req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_rss_get_req_dump_set_header_phy_index(struct ethtool_rss_get_req_dump *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_rss_get_list { struct ethtool_rss_get_list *next; @@ -4902,6 +5369,14 @@ ethtool_plca_get_cfg_req_set_header_flags(struct ethtool_plca_get_cfg_req *req, req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_plca_get_cfg_req_set_header_phy_index(struct ethtool_plca_get_cfg_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_plca_get_cfg_rsp { struct { @@ -4978,6 +5453,14 @@ ethtool_plca_get_cfg_req_dump_set_header_flags(struct ethtool_plca_get_cfg_req_d req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_plca_get_cfg_req_dump_set_header_phy_index(struct ethtool_plca_get_cfg_req_dump *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_plca_get_cfg_list { struct ethtool_plca_get_cfg_list *next; @@ -5061,6 +5544,14 @@ ethtool_plca_set_cfg_req_set_header_flags(struct ethtool_plca_set_cfg_req *req, req->header.flags = flags; } static inline void +ethtool_plca_set_cfg_req_set_header_phy_index(struct ethtool_plca_set_cfg_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} +static inline void ethtool_plca_set_cfg_req_set_version(struct ethtool_plca_set_cfg_req *req, __u16 version) { @@ -5166,6 +5657,14 @@ ethtool_plca_get_status_req_set_header_flags(struct ethtool_plca_get_status_req req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_plca_get_status_req_set_header_phy_index(struct ethtool_plca_get_status_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_plca_get_status_rsp { struct { @@ -5243,6 +5742,14 @@ ethtool_plca_get_status_req_dump_set_header_flags(struct ethtool_plca_get_status req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_plca_get_status_req_dump_set_header_phy_index(struct ethtool_plca_get_status_req_dump *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_plca_get_status_list { struct ethtool_plca_get_status_list *next; @@ -5298,6 +5805,14 @@ ethtool_mm_get_req_set_header_flags(struct ethtool_mm_get_req *req, req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_mm_get_req_set_header_phy_index(struct ethtool_mm_get_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_mm_get_rsp { struct { @@ -5375,6 +5890,14 @@ ethtool_mm_get_req_dump_set_header_flags(struct ethtool_mm_get_req_dump *req, req->header._present.flags = 1; req->header.flags = flags; } +static inline void +ethtool_mm_get_req_dump_set_header_phy_index(struct ethtool_mm_get_req_dump *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} struct ethtool_mm_get_list { struct ethtool_mm_get_list *next; @@ -5450,6 +5973,14 @@ ethtool_mm_set_req_set_header_flags(struct ethtool_mm_set_req *req, req->header.flags = flags; } static inline void +ethtool_mm_set_req_set_header_phy_index(struct ethtool_mm_set_req *req, + __u32 phy_index) +{ + req->_present.header = 1; + req->header._present.phy_index = 1; + req->header.phy_index = phy_index; +} +static inline void ethtool_mm_set_req_set_verify_enabled(struct ethtool_mm_set_req *req, __u8 verify_enabled) { @@ -5490,48 +6021,5 @@ ethtool_mm_set_req_set_tx_min_frag_size(struct ethtool_mm_set_req *req, */ int ethtool_mm_set(struct ynl_sock *ys, struct ethtool_mm_set_req *req); -/* ETHTOOL_MSG_CABLE_TEST_NTF - event */ -struct ethtool_cable_test_ntf_rsp { - struct { - __u32 header:1; - __u32 status:1; - } _present; - - struct ethtool_header header; - __u8 status; -}; - -struct ethtool_cable_test_ntf { - __u16 family; - __u8 cmd; - struct ynl_ntf_base_type *next; - void (*free)(struct ethtool_cable_test_ntf *ntf); - struct ethtool_cable_test_ntf_rsp obj __attribute__((aligned(8))); -}; - -void ethtool_cable_test_ntf_free(struct ethtool_cable_test_ntf *rsp); - -/* ETHTOOL_MSG_CABLE_TEST_TDR_NTF - event */ -struct ethtool_cable_test_tdr_ntf_rsp { - struct { - __u32 header:1; - __u32 status:1; - __u32 nest:1; - } _present; - - struct ethtool_header header; - __u8 status; - struct ethtool_cable_nest nest; -}; - -struct ethtool_cable_test_tdr_ntf { - __u16 family; - __u8 cmd; - struct ynl_ntf_base_type *next; - void (*free)(struct ethtool_cable_test_tdr_ntf *ntf); - struct ethtool_cable_test_tdr_ntf_rsp obj __attribute__((aligned(8))); -}; - -void ethtool_cable_test_tdr_ntf_free(struct ethtool_cable_test_tdr_ntf *rsp); - -#endif /* _LINUX_ETHTOOL_GEN_H */ +/* ============== ETHTOOL_MSG_PHY_GET ============== */ +/* ETHTOOL_MSG_PHY_GET - do */