tag | line | file | source code |
nr_node | 67 | include/net/netrom.h | struct nr_node *next; |
nr_node | 57 | net/netrom/nr_route.c | static struct nr_node *nr_node_list = NULL; |
nr_node | 67 | net/netrom/nr_route.c | struct nr_node *nr_node; |
nr_node | 73 | net/netrom/nr_route.c | for (nr_node = nr_node_list; nr_node != NULL; nr_node = nr_node->next) |
nr_node | 74 | net/netrom/nr_route.c | if (ax25cmp(nr, &nr_node->callsign) == 0) |
nr_node | 81 | net/netrom/nr_route.c | if (quality == 0 && nr_neigh != NULL && nr_node != NULL) |
nr_node | 114 | net/netrom/nr_route.c | if (nr_node == NULL) { |
nr_node | 115 | net/netrom/nr_route.c | if ((nr_node = (struct nr_node *)kmalloc(sizeof(*nr_node), GFP_ATOMIC)) == NULL) |
nr_node | 118 | net/netrom/nr_route.c | memcpy(&nr_node->callsign, nr, sizeof(ax25_address)); |
nr_node | 119 | net/netrom/nr_route.c | memcpy(&nr_node->mnemonic, mnemonic, sizeof(nr_node->mnemonic)); |
nr_node | 121 | net/netrom/nr_route.c | nr_node->which = 0; |
nr_node | 122 | net/netrom/nr_route.c | nr_node->count = 1; |
nr_node | 124 | net/netrom/nr_route.c | nr_node->routes[0].quality = quality; |
nr_node | 125 | net/netrom/nr_route.c | nr_node->routes[0].obs_count = obs_count; |
nr_node | 126 | net/netrom/nr_route.c | nr_node->routes[0].neighbour = nr_neigh->number; |
nr_node | 131 | net/netrom/nr_route.c | nr_node->next = nr_node_list; |
nr_node | 132 | net/netrom/nr_route.c | nr_node_list = nr_node; |
nr_node | 141 | net/netrom/nr_route.c | for (found = 0, i = 0; i < nr_node->count; i++) { |
nr_node | 142 | net/netrom/nr_route.c | if (nr_node->routes[i].neighbour == nr_neigh->number) { |
nr_node | 143 | net/netrom/nr_route.c | nr_node->routes[i].quality = quality; |
nr_node | 144 | net/netrom/nr_route.c | nr_node->routes[i].obs_count = obs_count; |
nr_node | 152 | net/netrom/nr_route.c | if (nr_node->count < 3) { |
nr_node | 153 | net/netrom/nr_route.c | nr_node->routes[2] = nr_node->routes[1]; |
nr_node | 154 | net/netrom/nr_route.c | nr_node->routes[1] = nr_node->routes[0]; |
nr_node | 156 | net/netrom/nr_route.c | nr_node->routes[0].quality = quality; |
nr_node | 157 | net/netrom/nr_route.c | nr_node->routes[0].obs_count = obs_count; |
nr_node | 158 | net/netrom/nr_route.c | nr_node->routes[0].neighbour = nr_neigh->number; |
nr_node | 160 | net/netrom/nr_route.c | nr_node->count++; |
nr_node | 164 | net/netrom/nr_route.c | if (quality > nr_node->routes[2].quality) { |
nr_node | 165 | net/netrom/nr_route.c | nr_node->routes[2].quality = quality; |
nr_node | 166 | net/netrom/nr_route.c | nr_node->routes[2].obs_count = obs_count; |
nr_node | 167 | net/netrom/nr_route.c | nr_node->routes[2].neighbour = nr_neigh->number; |
nr_node | 175 | net/netrom/nr_route.c | switch (nr_node->count) { |
nr_node | 177 | net/netrom/nr_route.c | if (nr_node->routes[1].quality > nr_node->routes[0].quality) { |
nr_node | 178 | net/netrom/nr_route.c | switch (nr_node->which) { |
nr_node | 179 | net/netrom/nr_route.c | case 0: nr_node->which = 1; break; |
nr_node | 180 | net/netrom/nr_route.c | case 1: nr_node->which = 0; break; |
nr_node | 183 | net/netrom/nr_route.c | nr_route = nr_node->routes[0]; |
nr_node | 184 | net/netrom/nr_route.c | nr_node->routes[0] = nr_node->routes[1]; |
nr_node | 185 | net/netrom/nr_route.c | nr_node->routes[1] = nr_route; |
nr_node | 187 | net/netrom/nr_route.c | if (nr_node->routes[2].quality > nr_node->routes[1].quality) { |
nr_node | 188 | net/netrom/nr_route.c | switch (nr_node->which) { |
nr_node | 189 | net/netrom/nr_route.c | case 1: nr_node->which = 2; break; |
nr_node | 190 | net/netrom/nr_route.c | case 2: nr_node->which = 1; break; |
nr_node | 193 | net/netrom/nr_route.c | nr_route = nr_node->routes[1]; |
nr_node | 194 | net/netrom/nr_route.c | nr_node->routes[1] = nr_node->routes[2]; |
nr_node | 195 | net/netrom/nr_route.c | nr_node->routes[2] = nr_route; |
nr_node | 198 | net/netrom/nr_route.c | if (nr_node->routes[1].quality > nr_node->routes[0].quality) { |
nr_node | 199 | net/netrom/nr_route.c | switch (nr_node->which) { |
nr_node | 200 | net/netrom/nr_route.c | case 0: nr_node->which = 1; break; |
nr_node | 201 | net/netrom/nr_route.c | case 1: nr_node->which = 0; break; |
nr_node | 204 | net/netrom/nr_route.c | nr_route = nr_node->routes[0]; |
nr_node | 205 | net/netrom/nr_route.c | nr_node->routes[0] = nr_node->routes[1]; |
nr_node | 206 | net/netrom/nr_route.c | nr_node->routes[1] = nr_route; |
nr_node | 212 | net/netrom/nr_route.c | for (i = 0; i < nr_node->count; i++) { |
nr_node | 213 | net/netrom/nr_route.c | if (nr_node->routes[i].neighbour == nr_neigh->number) { |
nr_node | 214 | net/netrom/nr_route.c | if (i < nr_node->which) |
nr_node | 215 | net/netrom/nr_route.c | nr_node->which = i; |
nr_node | 223 | net/netrom/nr_route.c | static void nr_remove_node(struct nr_node *nr_node) |
nr_node | 225 | net/netrom/nr_route.c | struct nr_node *s; |
nr_node | 231 | net/netrom/nr_route.c | if ((s = nr_node_list) == nr_node) { |
nr_node | 232 | net/netrom/nr_route.c | nr_node_list = nr_node->next; |
nr_node | 234 | net/netrom/nr_route.c | kfree_s(nr_node, sizeof(struct nr_node)); |
nr_node | 239 | net/netrom/nr_route.c | if (s->next == nr_node) { |
nr_node | 240 | net/netrom/nr_route.c | s->next = nr_node->next; |
nr_node | 242 | net/netrom/nr_route.c | kfree_s(nr_node, sizeof(struct nr_node)); |
nr_node | 291 | net/netrom/nr_route.c | struct nr_node *nr_node; |
nr_node | 295 | net/netrom/nr_route.c | for (nr_node = nr_node_list; nr_node != NULL; nr_node = nr_node->next) |
nr_node | 296 | net/netrom/nr_route.c | if (ax25cmp(callsign, &nr_node->callsign) == 0) |
nr_node | 299 | net/netrom/nr_route.c | if (nr_node == NULL) return -EINVAL; |
nr_node | 307 | net/netrom/nr_route.c | for (i = 0; i < nr_node->count; i++) { |
nr_node | 308 | net/netrom/nr_route.c | if (nr_node->routes[i].neighbour == nr_neigh->number) { |
nr_node | 314 | net/netrom/nr_route.c | nr_node->count--; |
nr_node | 316 | net/netrom/nr_route.c | if (nr_node->count == 0) { |
nr_node | 317 | net/netrom/nr_route.c | nr_remove_node(nr_node); |
nr_node | 321 | net/netrom/nr_route.c | nr_node->routes[0] = nr_node->routes[1]; |
nr_node | 323 | net/netrom/nr_route.c | nr_node->routes[1] = nr_node->routes[2]; |
nr_node | 406 | net/netrom/nr_route.c | struct nr_node *s, *nr_node; |
nr_node | 409 | net/netrom/nr_route.c | nr_node = nr_node_list; |
nr_node | 411 | net/netrom/nr_route.c | while (nr_node != NULL) { |
nr_node | 412 | net/netrom/nr_route.c | s = nr_node; |
nr_node | 413 | net/netrom/nr_route.c | nr_node = nr_node->next; |
nr_node | 470 | net/netrom/nr_route.c | struct nr_node *t, *nr_node; |
nr_node | 478 | net/netrom/nr_route.c | nr_node = nr_node_list; |
nr_node | 480 | net/netrom/nr_route.c | while (nr_node != NULL) { |
nr_node | 481 | net/netrom/nr_route.c | t = nr_node; |
nr_node | 482 | net/netrom/nr_route.c | nr_node = nr_node->next; |
nr_node | 621 | net/netrom/nr_route.c | struct nr_node *nr_node; |
nr_node | 629 | net/netrom/nr_route.c | for (nr_node = nr_node_list; nr_node != NULL; nr_node = nr_node->next) |
nr_node | 630 | net/netrom/nr_route.c | if (nr_node->which >= nr_node->count && nr_node->routes[nr_node->which].neighbour == nr_neigh->number) |
nr_node | 631 | net/netrom/nr_route.c | nr_node->which++; |
nr_node | 642 | net/netrom/nr_route.c | struct nr_node *nr_node; |
nr_node | 659 | net/netrom/nr_route.c | for (nr_node = nr_node_list; nr_node != NULL; nr_node = nr_node->next) |
nr_node | 660 | net/netrom/nr_route.c | if (ax25cmp(nr_dest, &nr_node->callsign) == 0) |
nr_node | 663 | net/netrom/nr_route.c | if (nr_node == NULL || nr_node->which >= nr_node->count) |
nr_node | 667 | net/netrom/nr_route.c | if (nr_neigh->number == nr_node->routes[nr_node->which].neighbour) |
nr_node | 686 | net/netrom/nr_route.c | struct nr_node *nr_node; |
nr_node | 696 | net/netrom/nr_route.c | for (nr_node = nr_node_list; nr_node != NULL; nr_node = nr_node->next) { |
nr_node | 698 | net/netrom/nr_route.c | ax2asc(&nr_node->callsign), |
nr_node | 699 | net/netrom/nr_route.c | nr_node->mnemonic, |
nr_node | 700 | net/netrom/nr_route.c | nr_node->which + 1, |
nr_node | 701 | net/netrom/nr_route.c | nr_node->count); |
nr_node | 703 | net/netrom/nr_route.c | for (i = 0; i < nr_node->count; i++) { |
nr_node | 705 | net/netrom/nr_route.c | nr_node->routes[i].quality, |
nr_node | 706 | net/netrom/nr_route.c | nr_node->routes[i].obs_count, |
nr_node | 707 | net/netrom/nr_route.c | nr_node->routes[i].neighbour); |