int tfw_server_snprint(const TfwServer *srv, char *buf, size_t buf_size) { TfwAddr addr; char addr_str_buf[MAX_ADDR_LEN]; BUG_ON(!srv || !buf || !buf_size); tfw_server_get_addr(srv, &addr); tfw_inet_ntop(&addr, addr_str_buf); return snprintf(buf, buf_size, "srv %p: %s", srv, addr_str_buf); }
/** * Resolve TfwAddr to TfwServer (using added_servers). */ static TfwServer * resolve_addr(const TfwAddr *addr) { int i, ret; TfwAddr curr_addr; TfwServer *curr_srv; TfwServer *out_srv = NULL; spin_lock_bh(&added_servers_lock); tfw_ptrset_for_each(curr_srv, i, added_servers) { ret = tfw_server_get_addr(curr_srv, &curr_addr); if (ret) { LOG("Can't get address of the server: %p\n", curr_srv); } else if (tfw_addr_eq(addr, &curr_addr)) { out_srv = curr_srv; break; } }