Lines Matching refs:ss

85 nl_init_socket(struct snl_state *ss)  in nl_init_socket()  argument
87 if (snl_init(ss, NETLINK_ROUTE)) in nl_init_socket()
94 if (snl_init(ss, NETLINK_ROUTE)) in nl_init_socket()
105 struct snl_state ss = {}; in ifconfig_nl() local
107 nl_init_socket(&ss); in ifconfig_nl()
108 ctx->io_ss = &ss; in ifconfig_nl()
112 snl_free(&ss); in ifconfig_nl()
142 prepare_ifmap(struct snl_state *ss) in prepare_ifmap() argument
146 snl_init_writer(ss, &nw); in prepare_ifmap()
151 if (! (hdr = snl_finalize_msg(&nw)) || !snl_send_message(ss, hdr)) in prepare_ifmap()
155 struct ifmap *ifmap = snl_allocz(ss, sizeof(*ifmap)); in prepare_ifmap()
158 while ((hdr = snl_read_reply_multi(ss, nlmsg_seq, &e)) != NULL) { in prepare_ifmap()
159 struct iface *iface = snl_allocz(ss, sizeof(*iface)); in prepare_ifmap()
161 if (!snl_parse_nlmsg(ss, hdr, &snl_rtm_link_parser, &iface->link)) in prepare_ifmap()
169 struct iface **ifaces= snl_allocz(ss, new_size * sizeof(void *)); in prepare_ifmap()
182 if_nametoindex_nl(struct snl_state *ss, const char *ifname) in if_nametoindex_nl() argument
187 snl_init_writer(ss, &nw); in if_nametoindex_nl()
192 if (! (hdr = snl_finalize_msg(&nw)) || !snl_send_message(ss, hdr)) in if_nametoindex_nl()
195 hdr = snl_read_reply(ss, hdr->nlmsg_seq); in if_nametoindex_nl()
198 if (!snl_parse_nlmsg(ss, hdr, &snl_rtm_link_parser_simple, &link)) in if_nametoindex_nl()
218 prepare_ifaddrs(struct snl_state *ss, struct ifmap *ifmap) in prepare_ifaddrs() argument
222 snl_init_writer(ss, &nw); in prepare_ifaddrs()
227 if (! (hdr = snl_finalize_msg(&nw)) || !snl_send_message(ss, hdr)) in prepare_ifaddrs()
234 while ((hdr = snl_read_reply_multi(ss, nlmsg_seq, &e)) != NULL) { in prepare_ifaddrs()
235 struct ifa *ifa = snl_allocz(ss, sizeof(*ifa)); in prepare_ifaddrs()
237 if (!snl_parse_nlmsg(ss, hdr, &snl_rtm_addr_parser, &ifa->addr)) in prepare_ifaddrs()
317 sort_iface_ifaddrs(struct snl_state *ss, struct iface *iface) in sort_iface_ifaddrs() argument
322 struct ifa **sorted_ifaddrs = snl_allocz(ss, iface->ifa_count * sizeof(void *)); in sort_iface_ifaddrs()
446 struct snl_state ss = {}; in list_interfaces_nl() local
450 .io_ss = &ss, in list_interfaces_nl()
454 nl_init_socket(&ss); in list_interfaces_nl()
456 struct ifmap *ifmap = prepare_ifmap(&ss); in list_interfaces_nl()
457 struct iface **sorted_ifaces = snl_allocz(&ss, ifmap->count * sizeof(void *)); in list_interfaces_nl()
466 prepare_ifaddrs(&ss, ifmap); in list_interfaces_nl()
489 snl_free(&ss); in list_interfaces_nl()