Lines Matching defs:rose_node
38 static struct rose_node *rose_node_list;
54 struct rose_node *rose_node, *rose_tmpn, *rose_tmpp;
61 rose_node = rose_node_list;
62 while (rose_node != NULL) {
63 if ((rose_node->mask == rose_route->mask) &&
64 (rosecmpm(&rose_route->address, &rose_node->address,
67 rose_node = rose_node->next;
70 if (rose_node != NULL && rose_node->loopback) {
137 if (rose_node == NULL) {
151 rose_node = kmalloc(sizeof(*rose_node), GFP_ATOMIC);
152 if (rose_node == NULL) {
157 rose_node->address = rose_route->address;
158 rose_node->mask = rose_route->mask;
159 rose_node->count = 1;
160 rose_node->loopback = 0;
161 rose_node->neighbour[0] = rose_neigh;
165 rose_node_list = rose_node;
166 rose_node->next = NULL;
168 rose_tmpp->next = rose_node;
169 rose_node->next = NULL;
173 rose_node->next = rose_node_list;
174 rose_node_list = rose_node;
176 rose_tmpp->next = rose_node;
177 rose_node->next = rose_tmpn;
186 if (rose_node->count < 3) {
187 rose_node->neighbour[rose_node->count] = rose_neigh;
188 rose_node->count++;
202 static void rose_remove_node(struct rose_node *rose_node)
204 struct rose_node *s;
206 if ((s = rose_node_list) == rose_node) {
207 rose_node_list = rose_node->next;
208 kfree(rose_node);
213 if (s->next == rose_node) {
214 s->next = rose_node->next;
215 kfree(rose_node);
295 struct rose_node *rose_node;
302 rose_node = rose_node_list;
303 while (rose_node != NULL) {
304 if ((rose_node->mask == rose_route->mask) &&
305 (rosecmpm(&rose_route->address, &rose_node->address,
308 rose_node = rose_node->next;
311 if (rose_node == NULL || rose_node->loopback) {
330 for (i = 0; i < rose_node->count; i++) {
331 if (rose_node->neighbour[i] == rose_neigh) {
337 rose_node->count--;
339 if (rose_node->count == 0) {
340 rose_remove_node(rose_node);
344 rose_node->neighbour[0] =
345 rose_node->neighbour[1];
348 rose_node->neighbour[1] =
349 rose_node->neighbour[2];
406 struct rose_node *rose_node;
411 rose_node = rose_node_list;
412 while (rose_node != NULL) {
413 if ((rose_node->mask == 10) &&
414 (rosecmpm(address, &rose_node->address, 10) == 0) &&
415 rose_node->loopback)
417 rose_node = rose_node->next;
420 if (rose_node != NULL)
423 if ((rose_node = kmalloc(sizeof(*rose_node), GFP_ATOMIC)) == NULL) {
428 rose_node->address = *address;
429 rose_node->mask = 10;
430 rose_node->count = 1;
431 rose_node->loopback = 1;
432 rose_node->neighbour[0] = rose_loopback_neigh;
435 rose_node->next = rose_node_list;
436 rose_node_list = rose_node;
451 struct rose_node *rose_node;
455 rose_node = rose_node_list;
456 while (rose_node != NULL) {
457 if ((rose_node->mask == 10) &&
458 (rosecmpm(address, &rose_node->address, 10) == 0) &&
459 rose_node->loopback)
461 rose_node = rose_node->next;
464 if (rose_node == NULL)
467 rose_remove_node(rose_node);
481 struct rose_node *t, *rose_node;
494 rose_node = rose_node_list;
496 while (rose_node != NULL) {
497 t = rose_node;
498 rose_node = rose_node->next;
557 struct rose_node *t, *rose_node;
563 rose_node = rose_node_list;
565 while (rose_node != NULL) {
566 t = rose_node;
567 rose_node = rose_node->next;
684 struct rose_node *node;
1097 struct rose_node *rose_node;
1104 for (rose_node = rose_node_list; rose_node && i < *pos;
1105 rose_node = rose_node->next, ++i);
1107 return (i == *pos) ? rose_node : NULL;
1115 : ((struct rose_node *)v)->next;
1132 const struct rose_node *rose_node = v;
1134 rose2asc(rsbuf, &rose_node->address),
1135 rose_node->mask,
1136 rose_node->count);
1138 for (i = 0; i < rose_node->count; i++)
1139 seq_printf(seq, " %05d", rose_node->neighbour[i]->number);
1303 struct rose_node *t, *rose_node = rose_node_list;
1313 while (rose_node != NULL) {
1314 t = rose_node;
1315 rose_node = rose_node->next;