tag | line | file | source code |
nr_node | 73 | include/net/netrom.h | struct nr_node *next; |
nr_node | 60 | net/netrom/nr_route.c | static struct nr_node *nr_node_list = NULL; |
nr_node | 70 | net/netrom/nr_route.c | struct nr_node *nr_node; |
nr_node | 76 | net/netrom/nr_route.c | for (nr_node = nr_node_list; nr_node != NULL; nr_node = nr_node->next) |
nr_node | 77 | net/netrom/nr_route.c | if (ax25cmp(nr, &nr_node->callsign) == 0) |
nr_node | 84 | net/netrom/nr_route.c | if (quality == 0 && nr_neigh != NULL && nr_node != NULL) |
nr_node | 117 | net/netrom/nr_route.c | if (nr_node == NULL) { |
nr_node | 118 | net/netrom/nr_route.c | if ((nr_node = (struct nr_node *)kmalloc(sizeof(*nr_node), GFP_ATOMIC)) == NULL) |
nr_node | 121 | net/netrom/nr_route.c | memcpy(&nr_node->callsign, nr, sizeof(ax25_address)); |
nr_node | 122 | net/netrom/nr_route.c | memcpy(&nr_node->mnemonic, mnemonic, sizeof(nr_node->mnemonic)); |
nr_node | 124 | net/netrom/nr_route.c | nr_node->which = 0; |
nr_node | 125 | net/netrom/nr_route.c | nr_node->count = 1; |
nr_node | 127 | net/netrom/nr_route.c | nr_node->routes[0].quality = quality; |
nr_node | 128 | net/netrom/nr_route.c | nr_node->routes[0].obs_count = obs_count; |
nr_node | 129 | net/netrom/nr_route.c | nr_node->routes[0].neighbour = nr_neigh->number; |
nr_node | 134 | net/netrom/nr_route.c | nr_node->next = nr_node_list; |
nr_node | 135 | net/netrom/nr_route.c | nr_node_list = nr_node; |
nr_node | 144 | net/netrom/nr_route.c | for (found = 0, i = 0; i < nr_node->count; i++) { |
nr_node | 145 | net/netrom/nr_route.c | if (nr_node->routes[i].neighbour == nr_neigh->number) { |
nr_node | 146 | net/netrom/nr_route.c | nr_node->routes[i].quality = quality; |
nr_node | 147 | net/netrom/nr_route.c | nr_node->routes[i].obs_count = obs_count; |
nr_node | 155 | net/netrom/nr_route.c | if (nr_node->count < 3) { |
nr_node | 156 | net/netrom/nr_route.c | nr_node->routes[2] = nr_node->routes[1]; |
nr_node | 157 | net/netrom/nr_route.c | nr_node->routes[1] = nr_node->routes[0]; |
nr_node | 159 | net/netrom/nr_route.c | nr_node->routes[0].quality = quality; |
nr_node | 160 | net/netrom/nr_route.c | nr_node->routes[0].obs_count = obs_count; |
nr_node | 161 | net/netrom/nr_route.c | nr_node->routes[0].neighbour = nr_neigh->number; |
nr_node | 163 | net/netrom/nr_route.c | nr_node->count++; |
nr_node | 167 | net/netrom/nr_route.c | if (quality > nr_node->routes[2].quality) { |
nr_node | 168 | net/netrom/nr_route.c | nr_node->routes[2].quality = quality; |
nr_node | 169 | net/netrom/nr_route.c | nr_node->routes[2].obs_count = obs_count; |
nr_node | 170 | net/netrom/nr_route.c | nr_node->routes[2].neighbour = nr_neigh->number; |
nr_node | 178 | net/netrom/nr_route.c | switch (nr_node->count) { |
nr_node | 180 | net/netrom/nr_route.c | if (nr_node->routes[1].quality > nr_node->routes[0].quality) { |
nr_node | 181 | net/netrom/nr_route.c | switch (nr_node->which) { |
nr_node | 182 | net/netrom/nr_route.c | case 0: nr_node->which = 1; break; |
nr_node | 183 | net/netrom/nr_route.c | case 1: nr_node->which = 0; break; |
nr_node | 186 | net/netrom/nr_route.c | nr_route = nr_node->routes[0]; |
nr_node | 187 | net/netrom/nr_route.c | nr_node->routes[0] = nr_node->routes[1]; |
nr_node | 188 | net/netrom/nr_route.c | nr_node->routes[1] = nr_route; |
nr_node | 190 | net/netrom/nr_route.c | if (nr_node->routes[2].quality > nr_node->routes[1].quality) { |
nr_node | 191 | net/netrom/nr_route.c | switch (nr_node->which) { |
nr_node | 192 | net/netrom/nr_route.c | case 1: nr_node->which = 2; break; |
nr_node | 193 | net/netrom/nr_route.c | case 2: nr_node->which = 1; break; |
nr_node | 196 | net/netrom/nr_route.c | nr_route = nr_node->routes[1]; |
nr_node | 197 | net/netrom/nr_route.c | nr_node->routes[1] = nr_node->routes[2]; |
nr_node | 198 | net/netrom/nr_route.c | nr_node->routes[2] = nr_route; |
nr_node | 201 | net/netrom/nr_route.c | if (nr_node->routes[1].quality > nr_node->routes[0].quality) { |
nr_node | 202 | net/netrom/nr_route.c | switch (nr_node->which) { |
nr_node | 203 | net/netrom/nr_route.c | case 0: nr_node->which = 1; break; |
nr_node | 204 | net/netrom/nr_route.c | case 1: nr_node->which = 0; break; |
nr_node | 207 | net/netrom/nr_route.c | nr_route = nr_node->routes[0]; |
nr_node | 208 | net/netrom/nr_route.c | nr_node->routes[0] = nr_node->routes[1]; |
nr_node | 209 | net/netrom/nr_route.c | nr_node->routes[1] = nr_route; |
nr_node | 215 | net/netrom/nr_route.c | for (i = 0; i < nr_node->count; i++) { |
nr_node | 216 | net/netrom/nr_route.c | if (nr_node->routes[i].neighbour == nr_neigh->number) { |
nr_node | 217 | net/netrom/nr_route.c | if (i < nr_node->which) |
nr_node | 218 | net/netrom/nr_route.c | nr_node->which = i; |
nr_node | 226 | net/netrom/nr_route.c | static void nr_remove_node(struct nr_node *nr_node) |
nr_node | 228 | net/netrom/nr_route.c | struct nr_node *s; |
nr_node | 234 | net/netrom/nr_route.c | if ((s = nr_node_list) == nr_node) { |
nr_node | 235 | net/netrom/nr_route.c | nr_node_list = nr_node->next; |
nr_node | 237 | net/netrom/nr_route.c | kfree_s(nr_node, sizeof(struct nr_node)); |
nr_node | 242 | net/netrom/nr_route.c | if (s->next == nr_node) { |
nr_node | 243 | net/netrom/nr_route.c | s->next = nr_node->next; |
nr_node | 245 | net/netrom/nr_route.c | kfree_s(nr_node, sizeof(struct nr_node)); |
nr_node | 294 | net/netrom/nr_route.c | struct nr_node *nr_node; |
nr_node | 298 | net/netrom/nr_route.c | for (nr_node = nr_node_list; nr_node != NULL; nr_node = nr_node->next) |
nr_node | 299 | net/netrom/nr_route.c | if (ax25cmp(callsign, &nr_node->callsign) == 0) |
nr_node | 302 | net/netrom/nr_route.c | if (nr_node == NULL) return -EINVAL; |
nr_node | 310 | net/netrom/nr_route.c | for (i = 0; i < nr_node->count; i++) { |
nr_node | 311 | net/netrom/nr_route.c | if (nr_node->routes[i].neighbour == nr_neigh->number) { |
nr_node | 317 | net/netrom/nr_route.c | nr_node->count--; |
nr_node | 319 | net/netrom/nr_route.c | if (nr_node->count == 0) { |
nr_node | 320 | net/netrom/nr_route.c | nr_remove_node(nr_node); |
nr_node | 324 | net/netrom/nr_route.c | nr_node->routes[0] = nr_node->routes[1]; |
nr_node | 326 | net/netrom/nr_route.c | nr_node->routes[1] = nr_node->routes[2]; |
nr_node | 409 | net/netrom/nr_route.c | struct nr_node *s, *nr_node; |
nr_node | 412 | net/netrom/nr_route.c | nr_node = nr_node_list; |
nr_node | 414 | net/netrom/nr_route.c | while (nr_node != NULL) { |
nr_node | 415 | net/netrom/nr_route.c | s = nr_node; |
nr_node | 416 | net/netrom/nr_route.c | nr_node = nr_node->next; |
nr_node | 473 | net/netrom/nr_route.c | struct nr_node *t, *nr_node; |
nr_node | 481 | net/netrom/nr_route.c | nr_node = nr_node_list; |
nr_node | 483 | net/netrom/nr_route.c | while (nr_node != NULL) { |
nr_node | 484 | net/netrom/nr_route.c | t = nr_node; |
nr_node | 485 | net/netrom/nr_route.c | nr_node = nr_node->next; |
nr_node | 633 | net/netrom/nr_route.c | struct nr_node *nr_node; |
nr_node | 641 | net/netrom/nr_route.c | for (nr_node = nr_node_list; nr_node != NULL; nr_node = nr_node->next) |
nr_node | 642 | net/netrom/nr_route.c | if (nr_node->which >= nr_node->count && nr_node->routes[nr_node->which].neighbour == nr_neigh->number) |
nr_node | 643 | net/netrom/nr_route.c | nr_node->which++; |
nr_node | 655 | net/netrom/nr_route.c | struct nr_node *nr_node; |
nr_node | 682 | net/netrom/nr_route.c | for (nr_node = nr_node_list; nr_node != NULL; nr_node = nr_node->next) |
nr_node | 683 | net/netrom/nr_route.c | if (ax25cmp(nr_dest, &nr_node->callsign) == 0) |
nr_node | 686 | net/netrom/nr_route.c | if (nr_node == NULL || nr_node->which >= nr_node->count) |
nr_node | 690 | net/netrom/nr_route.c | if (nr_neigh->number == nr_node->routes[nr_node->which].neighbour) |
nr_node | 715 | net/netrom/nr_route.c | struct nr_node *nr_node; |
nr_node | 725 | net/netrom/nr_route.c | for (nr_node = nr_node_list; nr_node != NULL; nr_node = nr_node->next) { |
nr_node | 727 | net/netrom/nr_route.c | ax2asc(&nr_node->callsign), |
nr_node | 728 | net/netrom/nr_route.c | nr_node->mnemonic, |
nr_node | 729 | net/netrom/nr_route.c | nr_node->which + 1, |
nr_node | 730 | net/netrom/nr_route.c | nr_node->count); |
nr_node | 732 | net/netrom/nr_route.c | for (i = 0; i < nr_node->count; i++) { |
nr_node | 734 | net/netrom/nr_route.c | nr_node->routes[i].quality, |
nr_node | 735 | net/netrom/nr_route.c | nr_node->routes[i].obs_count, |
nr_node | 736 | net/netrom/nr_route.c | nr_node->routes[i].neighbour); |