Lines Matching refs:rose

40 #include <net/rose.h>
168 struct rose_sock *rose = rose_sk(s);
170 if (rose->neighbour == neigh) {
172 rose->neighbour->use--;
173 rose->neighbour = NULL;
185 struct rose_sock *rose;
194 rose = rose_sk(sk);
195 if (rose->device == dev) {
208 rose = rose_sk(sk);
211 if (rose->device == dev) {
213 if (rose->neighbour)
214 rose->neighbour->use--;
215 dev_put(rose->device);
216 rose->device = NULL;
275 struct rose_sock *rose = rose_sk(s);
277 if (!rosecmp(&rose->source_addr, addr) &&
278 !ax25cmp(&rose->source_call, call) &&
279 !rose->source_ndigis && s->sk_state == TCP_LISTEN)
284 struct rose_sock *rose = rose_sk(s);
286 if (!rosecmp(&rose->source_addr, addr) &&
287 !ax25cmp(&rose->source_call, &null_ax25_address) &&
306 struct rose_sock *rose = rose_sk(s);
308 if (rose->lci == lci && rose->neighbour == neigh)
398 struct rose_sock *rose = rose_sk(sk);
412 rose->defer = opt ? 1 : 0;
418 rose->t1 = opt * HZ;
424 rose->t2 = opt * HZ;
430 rose->t3 = opt * HZ;
436 rose->hb = opt * HZ;
442 rose->idle = opt * 60 * HZ;
446 rose->qbitincl = opt ? 1 : 0;
458 struct rose_sock *rose = rose_sk(sk);
473 val = rose->defer;
477 val = rose->t1 / HZ;
481 val = rose->t2 / HZ;
485 val = rose->t3 / HZ;
489 val = rose->hb / HZ;
493 val = rose->idle / (60 * HZ);
497 val = rose->qbitincl;
523 struct rose_sock *rose = rose_sk(sk);
525 rose->dest_ndigis = 0;
526 memset(&rose->dest_addr, 0, ROSE_ADDR_LEN);
527 memset(&rose->dest_call, 0, AX25_ADDR_LEN);
528 memset(rose->dest_digis, 0, AX25_ADDR_LEN * ROSE_MAX_DIGIS);
549 struct rose_sock *rose;
561 rose = rose_sk(sk);
565 skb_queue_head_init(&rose->ack_queue);
567 skb_queue_head_init(&rose->frag_queue);
568 rose->fraglen = 0;
574 timer_setup(&rose->timer, NULL, 0);
575 timer_setup(&rose->idletimer, NULL, 0);
577 rose->t1 = msecs_to_jiffies(sysctl_rose_call_request_timeout);
578 rose->t2 = msecs_to_jiffies(sysctl_rose_reset_request_timeout);
579 rose->t3 = msecs_to_jiffies(sysctl_rose_clear_request_timeout);
580 rose->hb = msecs_to_jiffies(sysctl_rose_ack_hold_back_timeout);
581 rose->idle = msecs_to_jiffies(sysctl_rose_no_activity_timeout);
583 rose->state = ROSE_STATE_0;
591 struct rose_sock *rose, *orose;
600 rose = rose_sk(sk);
604 skb_queue_head_init(&rose->ack_queue);
606 skb_queue_head_init(&rose->frag_queue);
607 rose->fraglen = 0;
618 timer_setup(&rose->timer, NULL, 0);
619 timer_setup(&rose->idletimer, NULL, 0);
622 rose->t1 = orose->t1;
623 rose->t2 = orose->t2;
624 rose->t3 = orose->t3;
625 rose->hb = orose->hb;
626 rose->idle = orose->idle;
627 rose->defer = orose->defer;
628 rose->device = orose->device;
629 if (rose->device)
630 dev_hold(rose->device);
631 rose->qbitincl = orose->qbitincl;
639 struct rose_sock *rose;
646 rose = rose_sk(sk);
648 switch (rose->state) {
657 rose->neighbour->use--;
672 rose->state = ROSE_STATE_2;
685 dev_put(rose->device);
686 rose->device = NULL;
698 struct rose_sock *rose = rose_sk(sk);
727 rose->source_call = user->call;
734 rose->source_call = *source;
737 rose->source_addr = addr->srose_addr;
738 rose->device = dev;
739 rose->source_ndigis = addr->srose_ndigis;
744 rose->source_digis[n] = full_addr->srose_digis[n];
746 if (rose->source_ndigis == 1) {
747 rose->source_digis[0] = addr->srose_digi;
761 struct rose_sock *rose = rose_sk(sk);
780 if ((rose->source_ndigis + addr->srose_ndigis) > ROSE_MAX_DIGIS)
806 rose->neighbour = rose_get_neigh(&addr->srose_addr, &cause,
808 if (!rose->neighbour) {
813 rose->lci = rose_new_lci(rose->neighbour);
814 if (!rose->lci) {
837 memcpy(&rose->source_addr, dev->dev_addr, ROSE_ADDR_LEN);
838 rose->source_call = user->call;
839 rose->device = dev;
844 rose->dest_addr = addr->srose_addr;
845 rose->dest_call = addr->srose_call;
846 rose->rand = ((long)rose & 0xFFFF) + rose->lci;
847 rose->dest_ndigis = addr->srose_ndigis;
852 rose->dest_digis[n] = full_addr->srose_digis[n];
854 if (rose->dest_ndigis == 1) {
855 rose->dest_digis[0] = addr->srose_digi;
863 rose->state = ROSE_STATE_1;
865 rose->neighbour->use++;
988 struct rose_sock *rose = rose_sk(sk);
996 srose->srose_addr = rose->dest_addr;
997 srose->srose_call = rose->dest_call;
998 srose->srose_ndigis = rose->dest_ndigis;
999 for (n = 0; n < rose->dest_ndigis; n++)
1000 srose->srose_digis[n] = rose->dest_digis[n];
1003 srose->srose_addr = rose->source_addr;
1004 srose->srose_call = rose->source_call;
1005 srose->srose_ndigis = rose->source_ndigis;
1006 for (n = 0; n < rose->source_ndigis; n++)
1007 srose->srose_digis[n] = rose->source_digis[n];
1024 * skb->data points to the rose frame start
1097 struct rose_sock *rose = rose_sk(sk);
1116 if (rose->neighbour == NULL || rose->device == NULL)
1124 if (rosecmp(&rose->dest_addr, &srose.srose_addr) != 0 ||
1125 ax25cmp(&rose->dest_call, &srose.srose_call) != 0)
1127 if (srose.srose_ndigis != rose->dest_ndigis)
1129 if (srose.srose_ndigis == rose->dest_ndigis) {
1131 if (ax25cmp(&rose->dest_digis[n],
1142 srose.srose_addr = rose->dest_addr;
1143 srose.srose_call = rose->dest_call;
1144 srose.srose_ndigis = rose->dest_ndigis;
1145 for (n = 0 ; n < rose->dest_ndigis ; n++)
1146 srose.srose_digis[n] = rose->dest_digis[n];
1178 if (rose->qbitincl) {
1189 asmptr[0] = ((rose->lci >> 8) & 0x0F) | ROSE_GFI;
1190 asmptr[1] = (rose->lci >> 0) & 0xFF;
1262 struct rose_sock *rose = rose_sk(sk);
1283 if (rose->qbitincl) {
1306 srose->srose_addr = rose->dest_addr;
1307 srose->srose_call = rose->dest_call;
1308 srose->srose_ndigis = rose->dest_ndigis;
1309 for (n = 0 ; n < rose->dest_ndigis ; n++)
1310 full_srose->srose_digis[n] = rose->dest_digis[n];
1323 struct rose_sock *rose = rose_sk(sk);
1368 rose_cause.cause = rose->cause;
1369 rose_cause.diagnostic = rose->diagnostic;
1377 rose->cause = rose_cause.cause;
1378 rose->diagnostic = rose_cause.diagnostic;
1397 if (rose->state == ROSE_STATE_5) {
1400 rose->condition = 0x00;
1401 rose->vs = 0;
1402 rose->va = 0;
1403 rose->vr = 0;
1404 rose->vl = 0;
1405 rose->state = ROSE_STATE_3;
1445 struct rose_sock *rose = rose_sk(s);
1447 const struct net_device *dev = rose->device;
1455 rose2asc(rsbuf, &rose->dest_addr),
1456 ax2asc(buf, &rose->dest_call));
1458 if (ax25cmp(&rose->source_call, &null_ax25_address) == 0)
1461 callsign = ax2asc(buf, &rose->source_call);
1465 rose2asc(rsbuf, &rose->source_addr),
1468 rose->lci & 0x0FFF,
1469 (rose->neighbour) ? rose->neighbour->number : 0,
1470 rose->state,
1471 rose->vs,
1472 rose->vr,
1473 rose->va,
1474 ax25_display_timer(&rose->timer) / HZ,
1475 rose->t1 / HZ,
1476 rose->t2 / HZ,
1477 rose->t3 / HZ,
1478 rose->hb / HZ,
1479 ax25_display_timer(&rose->idletimer) / (60 * HZ),
1480 rose->idle / (60 * HZ),
1569 sprintf(name, "rose%d", i);
1599 proc_create_seq("rose", 0444, init_net.proc_net, &rose_info_seqops);
1632 remove_proc_entry("rose", init_net.proc_net);