Lines Matching refs:nlh

311 static void tswap_nlmsghdr(struct nlmsghdr *nlh)  in tswap_nlmsghdr()  argument
313 nlh->nlmsg_len = tswap32(nlh->nlmsg_len); in tswap_nlmsghdr()
314 nlh->nlmsg_type = tswap16(nlh->nlmsg_type); in tswap_nlmsghdr()
315 nlh->nlmsg_flags = tswap16(nlh->nlmsg_flags); in tswap_nlmsghdr()
316 nlh->nlmsg_seq = tswap32(nlh->nlmsg_seq); in tswap_nlmsghdr()
317 nlh->nlmsg_pid = tswap32(nlh->nlmsg_pid); in tswap_nlmsghdr()
320 static abi_long host_to_target_for_each_nlmsg(struct nlmsghdr *nlh, in host_to_target_for_each_nlmsg() argument
331 nlmsg_len = nlh->nlmsg_len; in host_to_target_for_each_nlmsg()
337 switch (nlh->nlmsg_type) { in host_to_target_for_each_nlmsg()
339 tswap_nlmsghdr(nlh); in host_to_target_for_each_nlmsg()
345 struct nlmsgerr *e = NLMSG_DATA(nlh); in host_to_target_for_each_nlmsg()
348 tswap_nlmsghdr(nlh); in host_to_target_for_each_nlmsg()
352 ret = host_to_target_nlmsg(nlh); in host_to_target_for_each_nlmsg()
354 tswap_nlmsghdr(nlh); in host_to_target_for_each_nlmsg()
359 tswap_nlmsghdr(nlh); in host_to_target_for_each_nlmsg()
366 nlh = (struct nlmsghdr *)(((char*)nlh) + aligned_nlmsg_len); in host_to_target_for_each_nlmsg()
371 static abi_long target_to_host_for_each_nlmsg(struct nlmsghdr *nlh, in target_to_host_for_each_nlmsg() argument
380 if (tswap32(nlh->nlmsg_len) < sizeof(struct nlmsghdr) || in target_to_host_for_each_nlmsg()
381 tswap32(nlh->nlmsg_len) > len) { in target_to_host_for_each_nlmsg()
384 tswap_nlmsghdr(nlh); in target_to_host_for_each_nlmsg()
385 switch (nlh->nlmsg_type) { in target_to_host_for_each_nlmsg()
392 struct nlmsgerr *e = NLMSG_DATA(nlh); in target_to_host_for_each_nlmsg()
398 ret = target_to_host_nlmsg(nlh); in target_to_host_for_each_nlmsg()
404 aligned_nlmsg_len = NLMSG_ALIGN(nlh->nlmsg_len); in target_to_host_for_each_nlmsg()
409 nlh = (struct nlmsghdr *)(((char *)nlh) + aligned_nlmsg_len); in target_to_host_for_each_nlmsg()
1233 static abi_long host_to_target_data_route(struct nlmsghdr *nlh) in host_to_target_data_route() argument
1240 nlmsg_len = nlh->nlmsg_len; in host_to_target_data_route()
1241 switch (nlh->nlmsg_type) { in host_to_target_data_route()
1245 if (nlh->nlmsg_len >= NLMSG_LENGTH(sizeof(*ifi))) { in host_to_target_data_route()
1246 ifi = NLMSG_DATA(nlh); in host_to_target_data_route()
1258 if (nlh->nlmsg_len >= NLMSG_LENGTH(sizeof(*ifa))) { in host_to_target_data_route()
1259 ifa = NLMSG_DATA(nlh); in host_to_target_data_route()
1268 if (nlh->nlmsg_len >= NLMSG_LENGTH(sizeof(*rtm))) { in host_to_target_data_route()
1269 rtm = NLMSG_DATA(nlh); in host_to_target_data_route()
1281 static inline abi_long host_to_target_nlmsg_route(struct nlmsghdr *nlh, in host_to_target_nlmsg_route() argument
1284 return host_to_target_for_each_nlmsg(nlh, len, host_to_target_data_route); in host_to_target_nlmsg_route()
1457 static abi_long target_to_host_data_route(struct nlmsghdr *nlh) in target_to_host_data_route() argument
1463 switch (nlh->nlmsg_type) { in target_to_host_data_route()
1468 if (nlh->nlmsg_len >= NLMSG_LENGTH(sizeof(*ifi))) { in target_to_host_data_route()
1469 ifi = NLMSG_DATA(nlh); in target_to_host_data_route()
1474 target_to_host_link_rtattr(IFLA_RTA(ifi), nlh->nlmsg_len - in target_to_host_data_route()
1481 if (nlh->nlmsg_len >= NLMSG_LENGTH(sizeof(*ifa))) { in target_to_host_data_route()
1482 ifa = NLMSG_DATA(nlh); in target_to_host_data_route()
1484 target_to_host_addr_rtattr(IFA_RTA(ifa), nlh->nlmsg_len - in target_to_host_data_route()
1491 if (nlh->nlmsg_len >= NLMSG_LENGTH(sizeof(*rtm))) { in target_to_host_data_route()
1492 rtm = NLMSG_DATA(nlh); in target_to_host_data_route()
1494 target_to_host_route_rtattr(RTM_RTA(rtm), nlh->nlmsg_len - in target_to_host_data_route()
1504 static abi_long target_to_host_nlmsg_route(struct nlmsghdr *nlh, size_t len) in target_to_host_nlmsg_route() argument
1506 return target_to_host_for_each_nlmsg(nlh, len, target_to_host_data_route); in target_to_host_nlmsg_route()
1510 static abi_long host_to_target_data_audit(struct nlmsghdr *nlh) in host_to_target_data_audit() argument
1512 switch (nlh->nlmsg_type) { in host_to_target_data_audit()
1515 nlh->nlmsg_type); in host_to_target_data_audit()
1521 static inline abi_long host_to_target_nlmsg_audit(struct nlmsghdr *nlh, in host_to_target_nlmsg_audit() argument
1524 return host_to_target_for_each_nlmsg(nlh, len, host_to_target_data_audit); in host_to_target_nlmsg_audit()
1527 static abi_long target_to_host_data_audit(struct nlmsghdr *nlh) in target_to_host_data_audit() argument
1529 switch (nlh->nlmsg_type) { in target_to_host_data_audit()
1536 nlh->nlmsg_type); in target_to_host_data_audit()
1543 static abi_long target_to_host_nlmsg_audit(struct nlmsghdr *nlh, size_t len) in target_to_host_nlmsg_audit() argument
1545 return target_to_host_for_each_nlmsg(nlh, len, target_to_host_data_audit); in target_to_host_nlmsg_audit()