ax25 171 include/net/ax25.h #define ax25_uid_hold(ax25) \ ax25 172 include/net/ax25.h refcount_inc(&((ax25)->refcount)) ax25 285 include/net/ax25.h static __inline__ void ax25_cb_put(ax25_cb *ax25) ax25 287 include/net/ax25.h if (refcount_dec_and_test(&ax25->refcount)) { ax25 288 include/net/ax25.h kfree(ax25->digipeat); ax25 289 include/net/ax25.h kfree(ax25); ax25 92 include/net/netrom.h ax25_cb *ax25; ax25 139 include/net/netrom.h if (nr_neigh->ax25) ax25 140 include/net/netrom.h ax25_cb_put(nr_neigh->ax25); ax25 95 include/net/rose.h ax25_cb *ax25; ax25 63 net/ax25/af_ax25.c static void ax25_cb_del(ax25_cb *ax25) ax25 65 net/ax25/af_ax25.c if (!hlist_unhashed(&ax25->ax25_node)) { ax25 67 net/ax25/af_ax25.c hlist_del_init(&ax25->ax25_node); ax25 69 net/ax25/af_ax25.c ax25_cb_put(ax25); ax25 140 net/ax25/af_ax25.c void ax25_cb_add(ax25_cb *ax25) ax25 143 net/ax25/af_ax25.c ax25_cb_hold(ax25); ax25 144 net/ax25/af_ax25.c hlist_add_head(&ax25->ax25_node, &ax25_list); ax25 270 net/ax25/af_ax25.c ax25_cb *ax25 = from_timer(ax25, t, dtimer); ax25 273 net/ax25/af_ax25.c sk=ax25->sk; ax25 277 net/ax25/af_ax25.c ax25_destroy_socket(ax25); ax25 288 net/ax25/af_ax25.c void ax25_destroy_socket(ax25_cb *ax25) ax25 292 net/ax25/af_ax25.c ax25_cb_del(ax25); ax25 294 net/ax25/af_ax25.c ax25_stop_heartbeat(ax25); ax25 295 net/ax25/af_ax25.c ax25_stop_t1timer(ax25); ax25 296 net/ax25/af_ax25.c ax25_stop_t2timer(ax25); ax25 297 net/ax25/af_ax25.c ax25_stop_t3timer(ax25); ax25 298 net/ax25/af_ax25.c ax25_stop_idletimer(ax25); ax25 300 net/ax25/af_ax25.c ax25_clear_queues(ax25); /* Flush the queues */ ax25 302 net/ax25/af_ax25.c if (ax25->sk != NULL) { ax25 303 net/ax25/af_ax25.c while ((skb = skb_dequeue(&ax25->sk->sk_receive_queue)) != NULL) { ax25 304 net/ax25/af_ax25.c if (skb->sk != ax25->sk) { ax25 320 net/ax25/af_ax25.c skb_queue_purge(&ax25->sk->sk_write_queue); ax25 323 net/ax25/af_ax25.c if (ax25->sk != NULL) { ax25 324 net/ax25/af_ax25.c if (sk_has_allocations(ax25->sk)) { ax25 326 net/ax25/af_ax25.c timer_setup(&ax25->dtimer, ax25_destroy_timer, 0); ax25 327 net/ax25/af_ax25.c ax25->dtimer.expires = jiffies + 2 * HZ; ax25 328 net/ax25/af_ax25.c add_timer(&ax25->dtimer); ax25 330 net/ax25/af_ax25.c struct sock *sk=ax25->sk; ax25 331 net/ax25/af_ax25.c ax25->sk=NULL; ax25 335 net/ax25/af_ax25.c ax25_cb_put(ax25); ax25 349 net/ax25/af_ax25.c ax25_cb *ax25; ax25 369 net/ax25/af_ax25.c if ((ax25 = ax25_find_cb(&ax25_ctl.source_addr, &ax25_ctl.dest_addr, &digi, ax25_dev->dev)) == NULL) ax25 374 net/ax25/af_ax25.c ax25_send_control(ax25, AX25_DISC, AX25_POLLON, AX25_COMMAND); ax25 376 net/ax25/af_ax25.c if (ax25_dev->dama.slave && ax25->ax25_dev->values[AX25_VALUES_PROTOCOL] == AX25_PROTO_DAMA_SLAVE) ax25 377 net/ax25/af_ax25.c ax25_dama_off(ax25); ax25 379 net/ax25/af_ax25.c ax25_disconnect(ax25, ENETRESET); ax25 383 net/ax25/af_ax25.c if (ax25->modulus == AX25_MODULUS) { ax25 390 net/ax25/af_ax25.c ax25->window = ax25_ctl.arg; ax25 396 net/ax25/af_ax25.c ax25->rtt = (ax25_ctl.arg * HZ) / 2; ax25 397 net/ax25/af_ax25.c ax25->t1 = ax25_ctl.arg * HZ; ax25 403 net/ax25/af_ax25.c ax25->t2 = ax25_ctl.arg * HZ; ax25 409 net/ax25/af_ax25.c ax25->n2count = 0; ax25 410 net/ax25/af_ax25.c ax25->n2 = ax25_ctl.arg; ax25 416 net/ax25/af_ax25.c ax25->t3 = ax25_ctl.arg * HZ; ax25 423 net/ax25/af_ax25.c ax25->idle = ax25_ctl.arg * 60 * HZ; ax25 429 net/ax25/af_ax25.c ax25->paclen = ax25_ctl.arg; ax25 437 net/ax25/af_ax25.c ax25_cb_put(ax25); ax25 445 net/ax25/af_ax25.c static void ax25_fillin_cb_from_dev(ax25_cb *ax25, ax25_dev *ax25_dev) ax25 447 net/ax25/af_ax25.c ax25->rtt = msecs_to_jiffies(ax25_dev->values[AX25_VALUES_T1]) / 2; ax25 448 net/ax25/af_ax25.c ax25->t1 = msecs_to_jiffies(ax25_dev->values[AX25_VALUES_T1]); ax25 449 net/ax25/af_ax25.c ax25->t2 = msecs_to_jiffies(ax25_dev->values[AX25_VALUES_T2]); ax25 450 net/ax25/af_ax25.c ax25->t3 = msecs_to_jiffies(ax25_dev->values[AX25_VALUES_T3]); ax25 451 net/ax25/af_ax25.c ax25->n2 = ax25_dev->values[AX25_VALUES_N2]; ax25 452 net/ax25/af_ax25.c ax25->paclen = ax25_dev->values[AX25_VALUES_PACLEN]; ax25 453 net/ax25/af_ax25.c ax25->idle = msecs_to_jiffies(ax25_dev->values[AX25_VALUES_IDLE]); ax25 454 net/ax25/af_ax25.c ax25->backoff = ax25_dev->values[AX25_VALUES_BACKOFF]; ax25 457 net/ax25/af_ax25.c ax25->modulus = AX25_EMODULUS; ax25 458 net/ax25/af_ax25.c ax25->window = ax25_dev->values[AX25_VALUES_EWINDOW]; ax25 460 net/ax25/af_ax25.c ax25->modulus = AX25_MODULUS; ax25 461 net/ax25/af_ax25.c ax25->window = ax25_dev->values[AX25_VALUES_WINDOW]; ax25 469 net/ax25/af_ax25.c void ax25_fillin_cb(ax25_cb *ax25, ax25_dev *ax25_dev) ax25 471 net/ax25/af_ax25.c ax25->ax25_dev = ax25_dev; ax25 473 net/ax25/af_ax25.c if (ax25->ax25_dev != NULL) { ax25 474 net/ax25/af_ax25.c ax25_fillin_cb_from_dev(ax25, ax25_dev); ax25 481 net/ax25/af_ax25.c ax25->rtt = msecs_to_jiffies(AX25_DEF_T1) / 2; ax25 482 net/ax25/af_ax25.c ax25->t1 = msecs_to_jiffies(AX25_DEF_T1); ax25 483 net/ax25/af_ax25.c ax25->t2 = msecs_to_jiffies(AX25_DEF_T2); ax25 484 net/ax25/af_ax25.c ax25->t3 = msecs_to_jiffies(AX25_DEF_T3); ax25 485 net/ax25/af_ax25.c ax25->n2 = AX25_DEF_N2; ax25 486 net/ax25/af_ax25.c ax25->paclen = AX25_DEF_PACLEN; ax25 487 net/ax25/af_ax25.c ax25->idle = msecs_to_jiffies(AX25_DEF_IDLE); ax25 488 net/ax25/af_ax25.c ax25->backoff = AX25_DEF_BACKOFF; ax25 491 net/ax25/af_ax25.c ax25->modulus = AX25_EMODULUS; ax25 492 net/ax25/af_ax25.c ax25->window = AX25_DEF_EWINDOW; ax25 494 net/ax25/af_ax25.c ax25->modulus = AX25_MODULUS; ax25 495 net/ax25/af_ax25.c ax25->window = AX25_DEF_WINDOW; ax25 504 net/ax25/af_ax25.c ax25_cb *ax25; ax25 506 net/ax25/af_ax25.c if ((ax25 = kzalloc(sizeof(*ax25), GFP_ATOMIC)) == NULL) ax25 509 net/ax25/af_ax25.c refcount_set(&ax25->refcount, 1); ax25 511 net/ax25/af_ax25.c skb_queue_head_init(&ax25->write_queue); ax25 512 net/ax25/af_ax25.c skb_queue_head_init(&ax25->frag_queue); ax25 513 net/ax25/af_ax25.c skb_queue_head_init(&ax25->ack_queue); ax25 514 net/ax25/af_ax25.c skb_queue_head_init(&ax25->reseq_queue); ax25 516 net/ax25/af_ax25.c ax25_setup_timers(ax25); ax25 518 net/ax25/af_ax25.c ax25_fillin_cb(ax25, NULL); ax25 520 net/ax25/af_ax25.c ax25->state = AX25_STATE_0; ax25 522 net/ax25/af_ax25.c return ax25; ax25 534 net/ax25/af_ax25.c ax25_cb *ax25; ax25 550 net/ax25/af_ax25.c ax25 = sk_to_ax25(sk); ax25 554 net/ax25/af_ax25.c if (ax25->modulus == AX25_MODULUS) { ax25 565 net/ax25/af_ax25.c ax25->window = opt; ax25 573 net/ax25/af_ax25.c ax25->rtt = (opt * HZ) >> 1; ax25 574 net/ax25/af_ax25.c ax25->t1 = opt * HZ; ax25 582 net/ax25/af_ax25.c ax25->t2 = opt * HZ; ax25 590 net/ax25/af_ax25.c ax25->n2 = opt; ax25 598 net/ax25/af_ax25.c ax25->t3 = opt * HZ; ax25 606 net/ax25/af_ax25.c ax25->idle = opt * 60 * HZ; ax25 614 net/ax25/af_ax25.c ax25->backoff = opt; ax25 618 net/ax25/af_ax25.c ax25->modulus = opt ? AX25_EMODULUS : AX25_MODULUS; ax25 622 net/ax25/af_ax25.c ax25->pidincl = opt ? 1 : 0; ax25 626 net/ax25/af_ax25.c ax25->iamdigi = opt ? 1 : 0; ax25 634 net/ax25/af_ax25.c ax25->paclen = opt; ax25 663 net/ax25/af_ax25.c ax25->ax25_dev = ax25_dev_ax25dev(dev); ax25 664 net/ax25/af_ax25.c if (!ax25->ax25_dev) { ax25 669 net/ax25/af_ax25.c ax25_fillin_cb(ax25, ax25->ax25_dev); ax25 685 net/ax25/af_ax25.c ax25_cb *ax25; ax25 705 net/ax25/af_ax25.c ax25 = sk_to_ax25(sk); ax25 709 net/ax25/af_ax25.c val = ax25->window; ax25 713 net/ax25/af_ax25.c val = ax25->t1 / HZ; ax25 717 net/ax25/af_ax25.c val = ax25->t2 / HZ; ax25 721 net/ax25/af_ax25.c val = ax25->n2; ax25 725 net/ax25/af_ax25.c val = ax25->t3 / HZ; ax25 729 net/ax25/af_ax25.c val = ax25->idle / (60 * HZ); ax25 733 net/ax25/af_ax25.c val = ax25->backoff; ax25 737 net/ax25/af_ax25.c val = (ax25->modulus == AX25_EMODULUS); ax25 741 net/ax25/af_ax25.c val = ax25->pidincl; ax25 745 net/ax25/af_ax25.c val = ax25->iamdigi; ax25 749 net/ax25/af_ax25.c val = ax25->paclen; ax25 753 net/ax25/af_ax25.c ax25_dev = ax25->ax25_dev; ax25 811 net/ax25/af_ax25.c ax25_cb *ax25; ax25 871 net/ax25/af_ax25.c ax25 = ax25_sk(sk)->cb = ax25_create_cb(); ax25 872 net/ax25/af_ax25.c if (!ax25) { ax25 883 net/ax25/af_ax25.c ax25->sk = sk; ax25 891 net/ax25/af_ax25.c ax25_cb *ax25, *oax25; ax25 897 net/ax25/af_ax25.c if ((ax25 = ax25_create_cb()) == NULL) { ax25 909 net/ax25/af_ax25.c ax25_cb_put(ax25); ax25 925 net/ax25/af_ax25.c ax25->modulus = oax25->modulus; ax25 926 net/ax25/af_ax25.c ax25->backoff = oax25->backoff; ax25 927 net/ax25/af_ax25.c ax25->pidincl = oax25->pidincl; ax25 928 net/ax25/af_ax25.c ax25->iamdigi = oax25->iamdigi; ax25 929 net/ax25/af_ax25.c ax25->rtt = oax25->rtt; ax25 930 net/ax25/af_ax25.c ax25->t1 = oax25->t1; ax25 931 net/ax25/af_ax25.c ax25->t2 = oax25->t2; ax25 932 net/ax25/af_ax25.c ax25->t3 = oax25->t3; ax25 933 net/ax25/af_ax25.c ax25->n2 = oax25->n2; ax25 934 net/ax25/af_ax25.c ax25->idle = oax25->idle; ax25 935 net/ax25/af_ax25.c ax25->paclen = oax25->paclen; ax25 936 net/ax25/af_ax25.c ax25->window = oax25->window; ax25 938 net/ax25/af_ax25.c ax25->ax25_dev = ax25_dev; ax25 939 net/ax25/af_ax25.c ax25->source_addr = oax25->source_addr; ax25 942 net/ax25/af_ax25.c ax25->digipeat = kmemdup(oax25->digipeat, sizeof(ax25_digi), ax25 944 net/ax25/af_ax25.c if (ax25->digipeat == NULL) { ax25 946 net/ax25/af_ax25.c ax25_cb_put(ax25); ax25 951 net/ax25/af_ax25.c ax25_sk(sk)->cb = ax25; ax25 953 net/ax25/af_ax25.c ax25->sk = sk; ax25 961 net/ax25/af_ax25.c ax25_cb *ax25; ax25 969 net/ax25/af_ax25.c ax25 = sk_to_ax25(sk); ax25 972 net/ax25/af_ax25.c switch (ax25->state) { ax25 975 net/ax25/af_ax25.c ax25_disconnect(ax25, 0); ax25 977 net/ax25/af_ax25.c ax25_destroy_socket(ax25); ax25 982 net/ax25/af_ax25.c ax25_send_control(ax25, AX25_DISC, AX25_POLLON, AX25_COMMAND); ax25 984 net/ax25/af_ax25.c ax25_disconnect(ax25, 0); ax25 986 net/ax25/af_ax25.c if (!sock_flag(ax25->sk, SOCK_DESTROY)) ax25 987 net/ax25/af_ax25.c ax25_destroy_socket(ax25); ax25 992 net/ax25/af_ax25.c ax25_clear_queues(ax25); ax25 993 net/ax25/af_ax25.c ax25->n2count = 0; ax25 995 net/ax25/af_ax25.c switch (ax25->ax25_dev->values[AX25_VALUES_PROTOCOL]) { ax25 998 net/ax25/af_ax25.c ax25_send_control(ax25, ax25 1002 net/ax25/af_ax25.c ax25_stop_t2timer(ax25); ax25 1003 net/ax25/af_ax25.c ax25_stop_t3timer(ax25); ax25 1004 net/ax25/af_ax25.c ax25_stop_idletimer(ax25); ax25 1008 net/ax25/af_ax25.c ax25_stop_t3timer(ax25); ax25 1009 net/ax25/af_ax25.c ax25_stop_idletimer(ax25); ax25 1013 net/ax25/af_ax25.c ax25_calculate_t1(ax25); ax25 1014 net/ax25/af_ax25.c ax25_start_t1timer(ax25); ax25 1015 net/ax25/af_ax25.c ax25->state = AX25_STATE_2; ax25 1029 net/ax25/af_ax25.c ax25_destroy_socket(ax25); ax25 1052 net/ax25/af_ax25.c ax25_cb *ax25; ax25 1080 net/ax25/af_ax25.c ax25 = sk_to_ax25(sk); ax25 1086 net/ax25/af_ax25.c ax25->source_addr = call; ax25 1091 net/ax25/af_ax25.c if (ax25->ax25_dev != NULL) ax25 1108 net/ax25/af_ax25.c ax25_fillin_cb(ax25, ax25_dev); ax25 1111 net/ax25/af_ax25.c ax25_cb_add(ax25); ax25 1127 net/ax25/af_ax25.c ax25_cb *ax25 = sk_to_ax25(sk), *ax25t; ax25 1181 net/ax25/af_ax25.c kfree(ax25->digipeat); ax25 1182 net/ax25/af_ax25.c ax25->digipeat = NULL; ax25 1205 net/ax25/af_ax25.c AX25_HBIT) && ax25->iamdigi) { ax25 1225 net/ax25/af_ax25.c if ((err = ax25_rt_autobind(ax25, &fsa->fsa_ax25.sax25_call)) < 0) { ax25 1230 net/ax25/af_ax25.c ax25_fillin_cb(ax25, ax25->ax25_dev); ax25 1231 net/ax25/af_ax25.c ax25_cb_add(ax25); ax25 1233 net/ax25/af_ax25.c if (ax25->ax25_dev == NULL) { ax25 1241 net/ax25/af_ax25.c (ax25t=ax25_find_cb(&ax25->source_addr, &fsa->fsa_ax25.sax25_call, digi, ax25 1242 net/ax25/af_ax25.c ax25->ax25_dev->dev))) { ax25 1249 net/ax25/af_ax25.c ax25->dest_addr = fsa->fsa_ax25.sax25_call; ax25 1250 net/ax25/af_ax25.c ax25->digipeat = digi; ax25 1263 net/ax25/af_ax25.c switch (ax25->ax25_dev->values[AX25_VALUES_PROTOCOL]) { ax25 1266 net/ax25/af_ax25.c ax25_std_establish_data_link(ax25); ax25 1271 net/ax25/af_ax25.c ax25->modulus = AX25_MODULUS; ax25 1272 net/ax25/af_ax25.c ax25->window = ax25->ax25_dev->values[AX25_VALUES_WINDOW]; ax25 1273 net/ax25/af_ax25.c if (ax25->ax25_dev->dama.slave) ax25 1274 net/ax25/af_ax25.c ax25_ds_establish_data_link(ax25); ax25 1276 net/ax25/af_ax25.c ax25_std_establish_data_link(ax25); ax25 1281 net/ax25/af_ax25.c ax25->state = AX25_STATE_1; ax25 1283 net/ax25/af_ax25.c ax25_start_heartbeat(ax25); ax25 1404 net/ax25/af_ax25.c ax25_cb *ax25; ax25 1409 net/ax25/af_ax25.c ax25 = sk_to_ax25(sk); ax25 1418 net/ax25/af_ax25.c fsa->fsa_ax25.sax25_call = ax25->dest_addr; ax25 1420 net/ax25/af_ax25.c if (ax25->digipeat != NULL) { ax25 1421 net/ax25/af_ax25.c ndigi = ax25->digipeat->ndigi; ax25 1425 net/ax25/af_ax25.c ax25->digipeat->calls[i]; ax25 1429 net/ax25/af_ax25.c fsa->fsa_ax25.sax25_call = ax25->source_addr; ax25 1431 net/ax25/af_ax25.c if (ax25->ax25_dev != NULL) { ax25 1433 net/ax25/af_ax25.c ax25->ax25_dev->dev->dev_addr, AX25_ADDR_LEN); ax25 1453 net/ax25/af_ax25.c ax25_cb *ax25; ax25 1461 net/ax25/af_ax25.c ax25 = sk_to_ax25(sk); ax25 1474 net/ax25/af_ax25.c if (ax25->ax25_dev == NULL) { ax25 1479 net/ax25/af_ax25.c if (len > ax25->ax25_dev->dev->mtu) { ax25 1528 net/ax25/af_ax25.c ax25cmp(&ax25->dest_addr, &sax.sax25_call)) { ax25 1547 net/ax25/af_ax25.c sax.sax25_call = ax25->dest_addr; ax25 1548 net/ax25/af_ax25.c dp = ax25->digipeat; ax25 1553 net/ax25/af_ax25.c size = len + ax25->ax25_dev->dev->hard_header_len; ax25 1571 net/ax25/af_ax25.c if (!ax25->pidincl) ax25 1583 net/ax25/af_ax25.c ax25_output(ax25, ax25->paclen, skb); ax25 1594 net/ax25/af_ax25.c lv = ax25_addr_build(skb->data, &ax25->source_addr, &sax.sax25_call, ax25 1602 net/ax25/af_ax25.c ax25_queue_xmit(skb, ax25->ax25_dev->dev); ax25 1769 net/ax25/af_ax25.c ax25_cb *ax25 = sk_to_ax25(sk); ax25 1772 net/ax25/af_ax25.c ax25_info.t1 = ax25->t1 / HZ; ax25 1773 net/ax25/af_ax25.c ax25_info.t2 = ax25->t2 / HZ; ax25 1774 net/ax25/af_ax25.c ax25_info.t3 = ax25->t3 / HZ; ax25 1775 net/ax25/af_ax25.c ax25_info.idle = ax25->idle / (60 * HZ); ax25 1776 net/ax25/af_ax25.c ax25_info.n2 = ax25->n2; ax25 1777 net/ax25/af_ax25.c ax25_info.t1timer = ax25_display_timer(&ax25->t1timer) / HZ; ax25 1778 net/ax25/af_ax25.c ax25_info.t2timer = ax25_display_timer(&ax25->t2timer) / HZ; ax25 1779 net/ax25/af_ax25.c ax25_info.t3timer = ax25_display_timer(&ax25->t3timer) / HZ; ax25 1780 net/ax25/af_ax25.c ax25_info.idletimer = ax25_display_timer(&ax25->idletimer) / (60 * HZ); ax25 1781 net/ax25/af_ax25.c ax25_info.n2count = ax25->n2count; ax25 1782 net/ax25/af_ax25.c ax25_info.state = ax25->state; ax25 1785 net/ax25/af_ax25.c ax25_info.vs = ax25->vs; ax25 1786 net/ax25/af_ax25.c ax25_info.vr = ax25->vr; ax25 1787 net/ax25/af_ax25.c ax25_info.va = ax25->va; ax25 1788 net/ax25/af_ax25.c ax25_info.vs_max = ax25->vs; /* reserved */ ax25 1789 net/ax25/af_ax25.c ax25_info.paclen = ax25->paclen; ax25 1790 net/ax25/af_ax25.c ax25_info.window = ax25->window; ax25 1874 net/ax25/af_ax25.c ax25_cb *ax25 = hlist_entry(v, struct ax25_cb, ax25_node); ax25 1885 net/ax25/af_ax25.c ax25, ax25 1886 net/ax25/af_ax25.c ax25->ax25_dev == NULL? "???" : ax25->ax25_dev->dev->name, ax25 1887 net/ax25/af_ax25.c ax2asc(buf, &ax25->source_addr), ax25 1888 net/ax25/af_ax25.c ax25->iamdigi? "*":""); ax25 1889 net/ax25/af_ax25.c seq_printf(seq, "%s", ax2asc(buf, &ax25->dest_addr)); ax25 1891 net/ax25/af_ax25.c for (k=0; (ax25->digipeat != NULL) && (k < ax25->digipeat->ndigi); k++) { ax25 1893 net/ax25/af_ax25.c ax2asc(buf, &ax25->digipeat->calls[k]), ax25 1894 net/ax25/af_ax25.c ax25->digipeat->repeated[k]? "*":""); ax25 1898 net/ax25/af_ax25.c ax25->state, ax25 1899 net/ax25/af_ax25.c ax25->vs, ax25->vr, ax25->va, ax25 1900 net/ax25/af_ax25.c ax25_display_timer(&ax25->t1timer) / HZ, ax25->t1 / HZ, ax25 1901 net/ax25/af_ax25.c ax25_display_timer(&ax25->t2timer) / HZ, ax25->t2 / HZ, ax25 1902 net/ax25/af_ax25.c ax25_display_timer(&ax25->t3timer) / HZ, ax25->t3 / HZ, ax25 1903 net/ax25/af_ax25.c ax25_display_timer(&ax25->idletimer) / (60 * HZ), ax25 1904 net/ax25/af_ax25.c ax25->idle / (60 * HZ), ax25 1905 net/ax25/af_ax25.c ax25->n2count, ax25->n2, ax25 1906 net/ax25/af_ax25.c ax25->rtt / HZ, ax25 1907 net/ax25/af_ax25.c ax25->window, ax25 1908 net/ax25/af_ax25.c ax25->paclen); ax25 1910 net/ax25/af_ax25.c if (ax25->sk != NULL) { ax25 1912 net/ax25/af_ax25.c sk_wmem_alloc_get(ax25->sk), ax25 1913 net/ax25/af_ax25.c sk_rmem_alloc_get(ax25->sk), ax25 1914 net/ax25/af_ax25.c sock_i_ino(ax25->sk)); ax25 32 net/ax25/ax25_ds_in.c static int ax25_ds_state1_machine(ax25_cb *ax25, struct sk_buff *skb, int frametype, int pf, int type) ax25 36 net/ax25/ax25_ds_in.c ax25->modulus = AX25_MODULUS; ax25 37 net/ax25/ax25_ds_in.c ax25->window = ax25->ax25_dev->values[AX25_VALUES_WINDOW]; ax25 38 net/ax25/ax25_ds_in.c ax25_send_control(ax25, AX25_UA, pf, AX25_RESPONSE); ax25 42 net/ax25/ax25_ds_in.c ax25->modulus = AX25_EMODULUS; ax25 43 net/ax25/ax25_ds_in.c ax25->window = ax25->ax25_dev->values[AX25_VALUES_EWINDOW]; ax25 44 net/ax25/ax25_ds_in.c ax25_send_control(ax25, AX25_UA, pf, AX25_RESPONSE); ax25 48 net/ax25/ax25_ds_in.c ax25_send_control(ax25, AX25_DM, pf, AX25_RESPONSE); ax25 52 net/ax25/ax25_ds_in.c ax25_calculate_rtt(ax25); ax25 53 net/ax25/ax25_ds_in.c ax25_stop_t1timer(ax25); ax25 54 net/ax25/ax25_ds_in.c ax25_start_t3timer(ax25); ax25 55 net/ax25/ax25_ds_in.c ax25_start_idletimer(ax25); ax25 56 net/ax25/ax25_ds_in.c ax25->vs = 0; ax25 57 net/ax25/ax25_ds_in.c ax25->va = 0; ax25 58 net/ax25/ax25_ds_in.c ax25->vr = 0; ax25 59 net/ax25/ax25_ds_in.c ax25->state = AX25_STATE_3; ax25 60 net/ax25/ax25_ds_in.c ax25->n2count = 0; ax25 61 net/ax25/ax25_ds_in.c if (ax25->sk != NULL) { ax25 62 net/ax25/ax25_ds_in.c bh_lock_sock(ax25->sk); ax25 63 net/ax25/ax25_ds_in.c ax25->sk->sk_state = TCP_ESTABLISHED; ax25 68 net/ax25/ax25_ds_in.c if (!sock_flag(ax25->sk, SOCK_DEAD)) ax25 69 net/ax25/ax25_ds_in.c ax25->sk->sk_state_change(ax25->sk); ax25 70 net/ax25/ax25_ds_in.c bh_unlock_sock(ax25->sk); ax25 72 net/ax25/ax25_ds_in.c ax25_dama_on(ax25); ax25 78 net/ax25/ax25_ds_in.c ax25_std_enquiry_response(ax25); ax25 83 net/ax25/ax25_ds_in.c ax25_disconnect(ax25, ECONNREFUSED); ax25 88 net/ax25/ax25_ds_in.c ax25_send_control(ax25, AX25_SABM, AX25_POLLON, AX25_COMMAND); ax25 100 net/ax25/ax25_ds_in.c static int ax25_ds_state2_machine(ax25_cb *ax25, struct sk_buff *skb, int frametype, int pf, int type) ax25 105 net/ax25/ax25_ds_in.c ax25_send_control(ax25, AX25_DISC, AX25_POLLON, AX25_COMMAND); ax25 106 net/ax25/ax25_ds_in.c ax25_dama_off(ax25); ax25 110 net/ax25/ax25_ds_in.c ax25_send_control(ax25, AX25_UA, pf, AX25_RESPONSE); ax25 111 net/ax25/ax25_ds_in.c ax25_dama_off(ax25); ax25 112 net/ax25/ax25_ds_in.c ax25_disconnect(ax25, 0); ax25 118 net/ax25/ax25_ds_in.c ax25_dama_off(ax25); ax25 119 net/ax25/ax25_ds_in.c ax25_disconnect(ax25, 0); ax25 128 net/ax25/ax25_ds_in.c ax25_send_control(ax25, AX25_DISC, AX25_POLLON, AX25_COMMAND); ax25 129 net/ax25/ax25_ds_in.c ax25_dama_off(ax25); ax25 145 net/ax25/ax25_ds_in.c static int ax25_ds_state3_machine(ax25_cb *ax25, struct sk_buff *skb, int frametype, int ns, int nr, int pf, int type) ax25 153 net/ax25/ax25_ds_in.c ax25->modulus = AX25_MODULUS; ax25 154 net/ax25/ax25_ds_in.c ax25->window = ax25->ax25_dev->values[AX25_VALUES_WINDOW]; ax25 156 net/ax25/ax25_ds_in.c ax25->modulus = AX25_EMODULUS; ax25 157 net/ax25/ax25_ds_in.c ax25->window = ax25->ax25_dev->values[AX25_VALUES_EWINDOW]; ax25 159 net/ax25/ax25_ds_in.c ax25_send_control(ax25, AX25_UA, pf, AX25_RESPONSE); ax25 160 net/ax25/ax25_ds_in.c ax25_stop_t1timer(ax25); ax25 161 net/ax25/ax25_ds_in.c ax25_start_t3timer(ax25); ax25 162 net/ax25/ax25_ds_in.c ax25_start_idletimer(ax25); ax25 163 net/ax25/ax25_ds_in.c ax25->condition = 0x00; ax25 164 net/ax25/ax25_ds_in.c ax25->vs = 0; ax25 165 net/ax25/ax25_ds_in.c ax25->va = 0; ax25 166 net/ax25/ax25_ds_in.c ax25->vr = 0; ax25 167 net/ax25/ax25_ds_in.c ax25_requeue_frames(ax25); ax25 168 net/ax25/ax25_ds_in.c ax25_dama_on(ax25); ax25 172 net/ax25/ax25_ds_in.c ax25_send_control(ax25, AX25_UA, pf, AX25_RESPONSE); ax25 173 net/ax25/ax25_ds_in.c ax25_dama_off(ax25); ax25 174 net/ax25/ax25_ds_in.c ax25_disconnect(ax25, 0); ax25 178 net/ax25/ax25_ds_in.c ax25_dama_off(ax25); ax25 179 net/ax25/ax25_ds_in.c ax25_disconnect(ax25, ECONNRESET); ax25 185 net/ax25/ax25_ds_in.c ax25->condition &= ~AX25_COND_PEER_RX_BUSY; ax25 187 net/ax25/ax25_ds_in.c ax25->condition |= AX25_COND_PEER_RX_BUSY; ax25 189 net/ax25/ax25_ds_in.c if (ax25_validate_nr(ax25, nr)) { ax25 190 net/ax25/ax25_ds_in.c if (ax25_check_iframes_acked(ax25, nr)) ax25 191 net/ax25/ax25_ds_in.c ax25->n2count=0; ax25 193 net/ax25/ax25_ds_in.c ax25_ds_enquiry_response(ax25); ax25 195 net/ax25/ax25_ds_in.c ax25_ds_nr_error_recovery(ax25); ax25 196 net/ax25/ax25_ds_in.c ax25->state = AX25_STATE_1; ax25 201 net/ax25/ax25_ds_in.c ax25->condition &= ~AX25_COND_PEER_RX_BUSY; ax25 203 net/ax25/ax25_ds_in.c if (ax25_validate_nr(ax25, nr)) { ax25 204 net/ax25/ax25_ds_in.c if (ax25->va != nr) ax25 205 net/ax25/ax25_ds_in.c ax25->n2count=0; ax25 207 net/ax25/ax25_ds_in.c ax25_frames_acked(ax25, nr); ax25 208 net/ax25/ax25_ds_in.c ax25_calculate_rtt(ax25); ax25 209 net/ax25/ax25_ds_in.c ax25_stop_t1timer(ax25); ax25 210 net/ax25/ax25_ds_in.c ax25_start_t3timer(ax25); ax25 211 net/ax25/ax25_ds_in.c ax25_requeue_frames(ax25); ax25 214 net/ax25/ax25_ds_in.c ax25_ds_enquiry_response(ax25); ax25 216 net/ax25/ax25_ds_in.c ax25_ds_nr_error_recovery(ax25); ax25 217 net/ax25/ax25_ds_in.c ax25->state = AX25_STATE_1; ax25 222 net/ax25/ax25_ds_in.c if (!ax25_validate_nr(ax25, nr)) { ax25 223 net/ax25/ax25_ds_in.c ax25_ds_nr_error_recovery(ax25); ax25 224 net/ax25/ax25_ds_in.c ax25->state = AX25_STATE_1; ax25 227 net/ax25/ax25_ds_in.c if (ax25->condition & AX25_COND_PEER_RX_BUSY) { ax25 228 net/ax25/ax25_ds_in.c ax25_frames_acked(ax25, nr); ax25 229 net/ax25/ax25_ds_in.c ax25->n2count = 0; ax25 231 net/ax25/ax25_ds_in.c if (ax25_check_iframes_acked(ax25, nr)) ax25 232 net/ax25/ax25_ds_in.c ax25->n2count = 0; ax25 234 net/ax25/ax25_ds_in.c if (ax25->condition & AX25_COND_OWN_RX_BUSY) { ax25 235 net/ax25/ax25_ds_in.c if (pf) ax25_ds_enquiry_response(ax25); ax25 238 net/ax25/ax25_ds_in.c if (ns == ax25->vr) { ax25 239 net/ax25/ax25_ds_in.c ax25->vr = (ax25->vr + 1) % ax25->modulus; ax25 240 net/ax25/ax25_ds_in.c queued = ax25_rx_iframe(ax25, skb); ax25 241 net/ax25/ax25_ds_in.c if (ax25->condition & AX25_COND_OWN_RX_BUSY) ax25 242 net/ax25/ax25_ds_in.c ax25->vr = ns; /* ax25->vr - 1 */ ax25 243 net/ax25/ax25_ds_in.c ax25->condition &= ~AX25_COND_REJECT; ax25 245 net/ax25/ax25_ds_in.c ax25_ds_enquiry_response(ax25); ax25 247 net/ax25/ax25_ds_in.c if (!(ax25->condition & AX25_COND_ACK_PENDING)) { ax25 248 net/ax25/ax25_ds_in.c ax25->condition |= AX25_COND_ACK_PENDING; ax25 249 net/ax25/ax25_ds_in.c ax25_start_t2timer(ax25); ax25 253 net/ax25/ax25_ds_in.c if (ax25->condition & AX25_COND_REJECT) { ax25 254 net/ax25/ax25_ds_in.c if (pf) ax25_ds_enquiry_response(ax25); ax25 256 net/ax25/ax25_ds_in.c ax25->condition |= AX25_COND_REJECT; ax25 257 net/ax25/ax25_ds_in.c ax25_ds_enquiry_response(ax25); ax25 258 net/ax25/ax25_ds_in.c ax25->condition &= ~AX25_COND_ACK_PENDING; ax25 265 net/ax25/ax25_ds_in.c ax25_ds_establish_data_link(ax25); ax25 266 net/ax25/ax25_ds_in.c ax25->state = AX25_STATE_1; ax25 279 net/ax25/ax25_ds_in.c int ax25_ds_frame_in(ax25_cb *ax25, struct sk_buff *skb, int type) ax25 283 net/ax25/ax25_ds_in.c frametype = ax25_decode(ax25, skb, &ns, &nr, &pf); ax25 285 net/ax25/ax25_ds_in.c switch (ax25->state) { ax25 287 net/ax25/ax25_ds_in.c queued = ax25_ds_state1_machine(ax25, skb, frametype, pf, type); ax25 290 net/ax25/ax25_ds_in.c queued = ax25_ds_state2_machine(ax25, skb, frametype, pf, type); ax25 293 net/ax25/ax25_ds_in.c queued = ax25_ds_state3_machine(ax25, skb, frametype, ns, nr, pf, type); ax25 28 net/ax25/ax25_ds_subr.c void ax25_ds_nr_error_recovery(ax25_cb *ax25) ax25 30 net/ax25/ax25_ds_subr.c ax25_ds_establish_data_link(ax25); ax25 36 net/ax25/ax25_ds_subr.c void ax25_ds_enquiry_response(ax25_cb *ax25) ax25 63 net/ax25/ax25_ds_subr.c ax25_std_enquiry_response(ax25); ax25 65 net/ax25/ax25_ds_subr.c if (!(ax25->condition & AX25_COND_PEER_RX_BUSY)) { ax25 66 net/ax25/ax25_ds_subr.c ax25_requeue_frames(ax25); ax25 67 net/ax25/ax25_ds_subr.c ax25_kick(ax25); ax25 70 net/ax25/ax25_ds_subr.c if (ax25->state == AX25_STATE_1 || ax25->state == AX25_STATE_2 || skb_peek(&ax25->ack_queue) != NULL) ax25 71 net/ax25/ax25_ds_subr.c ax25_ds_t1_timeout(ax25); ax25 73 net/ax25/ax25_ds_subr.c ax25->n2count = 0; ax25 75 net/ax25/ax25_ds_subr.c ax25_start_t3timer(ax25); ax25 76 net/ax25/ax25_ds_subr.c ax25_ds_set_timer(ax25->ax25_dev); ax25 80 net/ax25/ax25_ds_subr.c if (ax25o == ax25) ax25 83 net/ax25/ax25_ds_subr.c if (ax25o->ax25_dev != ax25->ax25_dev) ax25 107 net/ax25/ax25_ds_subr.c void ax25_ds_establish_data_link(ax25_cb *ax25) ax25 109 net/ax25/ax25_ds_subr.c ax25->condition &= AX25_COND_DAMA_MODE; ax25 110 net/ax25/ax25_ds_subr.c ax25->n2count = 0; ax25 111 net/ax25/ax25_ds_subr.c ax25_calculate_t1(ax25); ax25 112 net/ax25/ax25_ds_subr.c ax25_start_t1timer(ax25); ax25 113 net/ax25/ax25_ds_subr.c ax25_stop_t2timer(ax25); ax25 114 net/ax25/ax25_ds_subr.c ax25_start_t3timer(ax25); ax25 156 net/ax25/ax25_ds_subr.c ax25_cb *ax25; ax25 160 net/ax25/ax25_ds_subr.c ax25_for_each(ax25, &ax25_list) ax25 161 net/ax25/ax25_ds_subr.c if (ax25->ax25_dev == ax25_dev && (ax25->condition & AX25_COND_DAMA_MODE) && ax25->state > AX25_STATE_1) { ax25 194 net/ax25/ax25_ds_subr.c void ax25_dama_on(ax25_cb *ax25) ax25 196 net/ax25/ax25_ds_subr.c ax25_dev_dama_on(ax25->ax25_dev); ax25 197 net/ax25/ax25_ds_subr.c ax25->condition |= AX25_COND_DAMA_MODE; ax25 200 net/ax25/ax25_ds_subr.c void ax25_dama_off(ax25_cb *ax25) ax25 202 net/ax25/ax25_ds_subr.c ax25->condition &= ~AX25_COND_DAMA_MODE; ax25 203 net/ax25/ax25_ds_subr.c ax25_dev_dama_off(ax25->ax25_dev); ax25 68 net/ax25/ax25_ds_timer.c ax25_cb *ax25; ax25 79 net/ax25/ax25_ds_timer.c ax25_for_each(ax25, &ax25_list) { ax25 80 net/ax25/ax25_ds_timer.c if (ax25->ax25_dev != ax25_dev || !(ax25->condition & AX25_COND_DAMA_MODE)) ax25 83 net/ax25/ax25_ds_timer.c ax25_send_control(ax25, AX25_DISC, AX25_POLLON, AX25_COMMAND); ax25 84 net/ax25/ax25_ds_timer.c ax25_disconnect(ax25, ETIMEDOUT); ax25 91 net/ax25/ax25_ds_timer.c void ax25_ds_heartbeat_expiry(ax25_cb *ax25) ax25 93 net/ax25/ax25_ds_timer.c struct sock *sk=ax25->sk; ax25 98 net/ax25/ax25_ds_timer.c switch (ax25->state) { ax25 109 net/ax25/ax25_ds_timer.c ax25_destroy_socket(ax25); ax25 114 net/ax25/ax25_ds_timer.c ax25_destroy_socket(ax25); ax25 126 net/ax25/ax25_ds_timer.c (ax25->condition & AX25_COND_OWN_RX_BUSY)) { ax25 127 net/ax25/ax25_ds_timer.c ax25->condition &= ~AX25_COND_OWN_RX_BUSY; ax25 128 net/ax25/ax25_ds_timer.c ax25->condition &= ~AX25_COND_ACK_PENDING; ax25 138 net/ax25/ax25_ds_timer.c ax25_start_heartbeat(ax25); ax25 145 net/ax25/ax25_ds_timer.c void ax25_ds_t3timer_expiry(ax25_cb *ax25) ax25 147 net/ax25/ax25_ds_timer.c ax25_send_control(ax25, AX25_DISC, AX25_POLLON, AX25_COMMAND); ax25 148 net/ax25/ax25_ds_timer.c ax25_dama_off(ax25); ax25 149 net/ax25/ax25_ds_timer.c ax25_disconnect(ax25, ETIMEDOUT); ax25 156 net/ax25/ax25_ds_timer.c void ax25_ds_idletimer_expiry(ax25_cb *ax25) ax25 158 net/ax25/ax25_ds_timer.c ax25_clear_queues(ax25); ax25 160 net/ax25/ax25_ds_timer.c ax25->n2count = 0; ax25 161 net/ax25/ax25_ds_timer.c ax25->state = AX25_STATE_2; ax25 163 net/ax25/ax25_ds_timer.c ax25_calculate_t1(ax25); ax25 164 net/ax25/ax25_ds_timer.c ax25_start_t1timer(ax25); ax25 165 net/ax25/ax25_ds_timer.c ax25_stop_t3timer(ax25); ax25 167 net/ax25/ax25_ds_timer.c if (ax25->sk != NULL) { ax25 168 net/ax25/ax25_ds_timer.c bh_lock_sock(ax25->sk); ax25 169 net/ax25/ax25_ds_timer.c ax25->sk->sk_state = TCP_CLOSE; ax25 170 net/ax25/ax25_ds_timer.c ax25->sk->sk_err = 0; ax25 171 net/ax25/ax25_ds_timer.c ax25->sk->sk_shutdown |= SEND_SHUTDOWN; ax25 172 net/ax25/ax25_ds_timer.c if (!sock_flag(ax25->sk, SOCK_DEAD)) { ax25 173 net/ax25/ax25_ds_timer.c ax25->sk->sk_state_change(ax25->sk); ax25 174 net/ax25/ax25_ds_timer.c sock_set_flag(ax25->sk, SOCK_DEAD); ax25 176 net/ax25/ax25_ds_timer.c bh_unlock_sock(ax25->sk); ax25 188 net/ax25/ax25_ds_timer.c void ax25_ds_t1_timeout(ax25_cb *ax25) ax25 190 net/ax25/ax25_ds_timer.c switch (ax25->state) { ax25 192 net/ax25/ax25_ds_timer.c if (ax25->n2count == ax25->n2) { ax25 193 net/ax25/ax25_ds_timer.c if (ax25->modulus == AX25_MODULUS) { ax25 194 net/ax25/ax25_ds_timer.c ax25_disconnect(ax25, ETIMEDOUT); ax25 197 net/ax25/ax25_ds_timer.c ax25->modulus = AX25_MODULUS; ax25 198 net/ax25/ax25_ds_timer.c ax25->window = ax25->ax25_dev->values[AX25_VALUES_WINDOW]; ax25 199 net/ax25/ax25_ds_timer.c ax25->n2count = 0; ax25 200 net/ax25/ax25_ds_timer.c ax25_send_control(ax25, AX25_SABM, AX25_POLLOFF, AX25_COMMAND); ax25 203 net/ax25/ax25_ds_timer.c ax25->n2count++; ax25 204 net/ax25/ax25_ds_timer.c if (ax25->modulus == AX25_MODULUS) ax25 205 net/ax25/ax25_ds_timer.c ax25_send_control(ax25, AX25_SABM, AX25_POLLOFF, AX25_COMMAND); ax25 207 net/ax25/ax25_ds_timer.c ax25_send_control(ax25, AX25_SABME, AX25_POLLOFF, AX25_COMMAND); ax25 212 net/ax25/ax25_ds_timer.c if (ax25->n2count == ax25->n2) { ax25 213 net/ax25/ax25_ds_timer.c ax25_send_control(ax25, AX25_DISC, AX25_POLLON, AX25_COMMAND); ax25 214 net/ax25/ax25_ds_timer.c if (!sock_flag(ax25->sk, SOCK_DESTROY)) ax25 215 net/ax25/ax25_ds_timer.c ax25_disconnect(ax25, ETIMEDOUT); ax25 218 net/ax25/ax25_ds_timer.c ax25->n2count++; ax25 223 net/ax25/ax25_ds_timer.c if (ax25->n2count == ax25->n2) { ax25 224 net/ax25/ax25_ds_timer.c ax25_send_control(ax25, AX25_DM, AX25_POLLON, AX25_RESPONSE); ax25 225 net/ax25/ax25_ds_timer.c ax25_disconnect(ax25, ETIMEDOUT); ax25 228 net/ax25/ax25_ds_timer.c ax25->n2count++; ax25 233 net/ax25/ax25_ds_timer.c ax25_calculate_t1(ax25); ax25 234 net/ax25/ax25_ds_timer.c ax25_start_t1timer(ax25); ax25 190 net/ax25/ax25_iface.c void ax25_link_failed(ax25_cb *ax25, int reason) ax25 196 net/ax25/ax25_iface.c lf->func(ax25, reason); ax25 34 net/ax25/ax25_in.c static int ax25_rx_fragment(ax25_cb *ax25, struct sk_buff *skb) ax25 38 net/ax25/ax25_in.c if (ax25->fragno != 0) { ax25 40 net/ax25/ax25_in.c if ((ax25->fragno - 1) == (*skb->data & AX25_SEG_REM)) { ax25 42 net/ax25/ax25_in.c ax25->fragno = *skb->data & AX25_SEG_REM; ax25 44 net/ax25/ax25_in.c ax25->fraglen += skb->len; ax25 45 net/ax25/ax25_in.c skb_queue_tail(&ax25->frag_queue, skb); ax25 48 net/ax25/ax25_in.c if (ax25->fragno == 0) { ax25 50 net/ax25/ax25_in.c ax25->fraglen, ax25 53 net/ax25/ax25_in.c skb_queue_purge(&ax25->frag_queue); ax25 59 net/ax25/ax25_in.c skbn->dev = ax25->ax25_dev->dev; ax25 64 net/ax25/ax25_in.c while ((skbo = skb_dequeue(&ax25->frag_queue)) != NULL) { ax25 71 net/ax25/ax25_in.c ax25->fraglen = 0; ax25 73 net/ax25/ax25_in.c if (ax25_rx_iframe(ax25, skbn) == 0) ax25 83 net/ax25/ax25_in.c skb_queue_purge(&ax25->frag_queue); ax25 84 net/ax25/ax25_in.c ax25->fragno = *skb->data & AX25_SEG_REM; ax25 86 net/ax25/ax25_in.c ax25->fraglen = skb->len; ax25 87 net/ax25/ax25_in.c skb_queue_tail(&ax25->frag_queue, skb); ax25 99 net/ax25/ax25_in.c int ax25_rx_iframe(ax25_cb *ax25, struct sk_buff *skb) ax25 107 net/ax25/ax25_in.c ax25_start_idletimer(ax25); ax25 125 net/ax25/ax25_in.c skb->dev = ax25->ax25_dev->dev; ax25 133 net/ax25/ax25_in.c return ax25_rx_fragment(ax25, skb); ax25 138 net/ax25/ax25_in.c return (*func)(skb, ax25); ax25 141 net/ax25/ax25_in.c if (ax25->sk != NULL && ax25->ax25_dev->values[AX25_VALUES_CONMODE] == 2) { ax25 142 net/ax25/ax25_in.c if ((!ax25->pidincl && ax25->sk->sk_protocol == pid) || ax25 143 net/ax25/ax25_in.c ax25->pidincl) { ax25 144 net/ax25/ax25_in.c if (sock_queue_rcv_skb(ax25->sk, skb) == 0) ax25 147 net/ax25/ax25_in.c ax25->condition |= AX25_COND_OWN_RX_BUSY; ax25 157 net/ax25/ax25_in.c static int ax25_process_rx_frame(ax25_cb *ax25, struct sk_buff *skb, int type, int dama) ax25 161 net/ax25/ax25_in.c if (ax25->state == AX25_STATE_0) ax25 164 net/ax25/ax25_in.c switch (ax25->ax25_dev->values[AX25_VALUES_PROTOCOL]) { ax25 167 net/ax25/ax25_in.c queued = ax25_std_frame_in(ax25, skb, type); ax25 172 net/ax25/ax25_in.c if (dama || ax25->ax25_dev->dama.slave) ax25 173 net/ax25/ax25_in.c queued = ax25_ds_frame_in(ax25, skb, type); ax25 175 net/ax25/ax25_in.c queued = ax25_std_frame_in(ax25, skb, type); ax25 190 net/ax25/ax25_in.c ax25_cb *ax25; ax25 303 net/ax25/ax25_in.c if ((ax25 = ax25_find_cb(&dest, &src, &reverse_dp, dev)) != NULL) { ax25 310 net/ax25/ax25_in.c if (ax25_process_rx_frame(ax25, skb, type, dama) == 0) ax25 313 net/ax25/ax25_in.c ax25_cb_put(ax25); ax25 353 net/ax25/ax25_in.c ax25 = sk_to_ax25(make); ax25 365 net/ax25/ax25_in.c if ((ax25 = ax25_create_cb()) == NULL) { ax25 370 net/ax25/ax25_in.c ax25_fillin_cb(ax25, ax25_dev); ax25 373 net/ax25/ax25_in.c ax25->source_addr = dest; ax25 374 net/ax25/ax25_in.c ax25->dest_addr = src; ax25 379 net/ax25/ax25_in.c if (dp.ndigi && !ax25->digipeat && ax25 380 net/ax25/ax25_in.c (ax25->digipeat = kmalloc(sizeof(ax25_digi), GFP_ATOMIC)) == NULL) { ax25 382 net/ax25/ax25_in.c ax25_destroy_socket(ax25); ax25 389 net/ax25/ax25_in.c kfree(ax25->digipeat); ax25 390 net/ax25/ax25_in.c ax25->digipeat = NULL; ax25 393 net/ax25/ax25_in.c memcpy(ax25->digipeat, &reverse_dp, sizeof(ax25_digi)); ax25 397 net/ax25/ax25_in.c ax25->modulus = AX25_EMODULUS; ax25 398 net/ax25/ax25_in.c ax25->window = ax25_dev->values[AX25_VALUES_EWINDOW]; ax25 400 net/ax25/ax25_in.c ax25->modulus = AX25_MODULUS; ax25 401 net/ax25/ax25_in.c ax25->window = ax25_dev->values[AX25_VALUES_WINDOW]; ax25 404 net/ax25/ax25_in.c ax25_send_control(ax25, AX25_UA, AX25_POLLON, AX25_RESPONSE); ax25 407 net/ax25/ax25_in.c if (dama && ax25->ax25_dev->values[AX25_VALUES_PROTOCOL] == AX25_PROTO_DAMA_SLAVE) ax25 408 net/ax25/ax25_in.c ax25_dama_on(ax25); ax25 411 net/ax25/ax25_in.c ax25->state = AX25_STATE_3; ax25 413 net/ax25/ax25_in.c ax25_cb_add(ax25); ax25 415 net/ax25/ax25_in.c ax25_start_heartbeat(ax25); ax25 416 net/ax25/ax25_in.c ax25_start_t3timer(ax25); ax25 417 net/ax25/ax25_in.c ax25_start_idletimer(ax25); ax25 108 net/ax25/ax25_ip.c ax25_cb *ax25; ax25 173 net/ax25/ax25_ip.c ax25=ax25_send_frame( ax25 178 net/ax25/ax25_ip.c if (ax25) { ax25 179 net/ax25/ax25_ip.c ax25_cb_put(ax25); ax25 35 net/ax25/ax25_out.c ax25_cb *ax25; ax25 51 net/ax25/ax25_out.c if ((ax25 = ax25_find_cb(src, dest, digi, dev)) != NULL) { ax25 52 net/ax25/ax25_out.c ax25_output(ax25, paclen, skb); ax25 53 net/ax25/ax25_out.c return ax25; /* It already existed */ ax25 59 net/ax25/ax25_out.c if ((ax25 = ax25_create_cb()) == NULL) ax25 62 net/ax25/ax25_out.c ax25_fillin_cb(ax25, ax25_dev); ax25 64 net/ax25/ax25_out.c ax25->source_addr = *src; ax25 65 net/ax25/ax25_out.c ax25->dest_addr = *dest; ax25 68 net/ax25/ax25_out.c ax25->digipeat = kmemdup(digi, sizeof(*digi), GFP_ATOMIC); ax25 69 net/ax25/ax25_out.c if (ax25->digipeat == NULL) { ax25 70 net/ax25/ax25_out.c ax25_cb_put(ax25); ax25 75 net/ax25/ax25_out.c switch (ax25->ax25_dev->values[AX25_VALUES_PROTOCOL]) { ax25 78 net/ax25/ax25_out.c ax25_std_establish_data_link(ax25); ax25 84 net/ax25/ax25_out.c ax25_ds_establish_data_link(ax25); ax25 86 net/ax25/ax25_out.c ax25_std_establish_data_link(ax25); ax25 95 net/ax25/ax25_out.c ax25_cb_hold(ax25); ax25 97 net/ax25/ax25_out.c ax25_cb_add(ax25); ax25 99 net/ax25/ax25_out.c ax25->state = AX25_STATE_1; ax25 101 net/ax25/ax25_out.c ax25_start_heartbeat(ax25); ax25 103 net/ax25/ax25_out.c ax25_output(ax25, paclen, skb); ax25 105 net/ax25/ax25_out.c return ax25; /* We had to create it */ ax25 116 net/ax25/ax25_out.c void ax25_output(ax25_cb *ax25, int paclen, struct sk_buff *skb) ax25 181 net/ax25/ax25_out.c skb_queue_tail(&ax25->write_queue, skbn); /* Throw it on the queue */ ax25 186 net/ax25/ax25_out.c skb_queue_tail(&ax25->write_queue, skb); /* Throw it on the queue */ ax25 189 net/ax25/ax25_out.c switch (ax25->ax25_dev->values[AX25_VALUES_PROTOCOL]) { ax25 192 net/ax25/ax25_out.c ax25_kick(ax25); ax25 201 net/ax25/ax25_out.c if (!ax25->ax25_dev->dama.slave) ax25_kick(ax25); ax25 211 net/ax25/ax25_out.c static void ax25_send_iframe(ax25_cb *ax25, struct sk_buff *skb, int poll_bit) ax25 220 net/ax25/ax25_out.c if (ax25->modulus == AX25_MODULUS) { ax25 225 net/ax25/ax25_out.c *frame |= (ax25->vr << 5); ax25 226 net/ax25/ax25_out.c *frame |= (ax25->vs << 1); ax25 231 net/ax25/ax25_out.c frame[0] |= (ax25->vs << 1); ax25 233 net/ax25/ax25_out.c frame[1] |= (ax25->vr << 1); ax25 236 net/ax25/ax25_out.c ax25_start_idletimer(ax25); ax25 238 net/ax25/ax25_out.c ax25_transmit_buffer(ax25, skb, AX25_COMMAND); ax25 241 net/ax25/ax25_out.c void ax25_kick(ax25_cb *ax25) ax25 247 net/ax25/ax25_out.c if (ax25->state != AX25_STATE_3 && ax25->state != AX25_STATE_4) ax25 250 net/ax25/ax25_out.c if (ax25->condition & AX25_COND_PEER_RX_BUSY) ax25 253 net/ax25/ax25_out.c if (skb_peek(&ax25->write_queue) == NULL) ax25 256 net/ax25/ax25_out.c start = (skb_peek(&ax25->ack_queue) == NULL) ? ax25->va : ax25->vs; ax25 257 net/ax25/ax25_out.c end = (ax25->va + ax25->window) % ax25->modulus; ax25 272 net/ax25/ax25_out.c skb = skb_dequeue(&ax25->write_queue); ax25 276 net/ax25/ax25_out.c ax25->vs = start; ax25 280 net/ax25/ax25_out.c skb_queue_head(&ax25->write_queue, skb); ax25 287 net/ax25/ax25_out.c next = (ax25->vs + 1) % ax25->modulus; ax25 295 net/ax25/ax25_out.c switch (ax25->ax25_dev->values[AX25_VALUES_PROTOCOL]) { ax25 298 net/ax25/ax25_out.c ax25_send_iframe(ax25, skbn, (last) ? AX25_POLLON : AX25_POLLOFF); ax25 303 net/ax25/ax25_out.c ax25_send_iframe(ax25, skbn, AX25_POLLOFF); ax25 308 net/ax25/ax25_out.c ax25->vs = next; ax25 313 net/ax25/ax25_out.c skb_queue_tail(&ax25->ack_queue, skb); ax25 315 net/ax25/ax25_out.c } while (!last && (skb = skb_dequeue(&ax25->write_queue)) != NULL); ax25 317 net/ax25/ax25_out.c ax25->condition &= ~AX25_COND_ACK_PENDING; ax25 319 net/ax25/ax25_out.c if (!ax25_t1timer_running(ax25)) { ax25 320 net/ax25/ax25_out.c ax25_stop_t3timer(ax25); ax25 321 net/ax25/ax25_out.c ax25_calculate_t1(ax25); ax25 322 net/ax25/ax25_out.c ax25_start_t1timer(ax25); ax25 326 net/ax25/ax25_out.c void ax25_transmit_buffer(ax25_cb *ax25, struct sk_buff *skb, int type) ax25 332 net/ax25/ax25_out.c if (ax25->ax25_dev == NULL) { ax25 333 net/ax25/ax25_out.c ax25_disconnect(ax25, ENETUNREACH); ax25 337 net/ax25/ax25_out.c headroom = ax25_addr_size(ax25->digipeat); ax25 355 net/ax25/ax25_out.c ax25_addr_build(ptr, &ax25->source_addr, &ax25->dest_addr, ax25->digipeat, type, ax25->modulus); ax25 357 net/ax25/ax25_out.c ax25_queue_xmit(skb, ax25->ax25_dev->dev); ax25 376 net/ax25/ax25_out.c int ax25_check_iframes_acked(ax25_cb *ax25, unsigned short nr) ax25 378 net/ax25/ax25_out.c if (ax25->vs == nr) { ax25 379 net/ax25/ax25_out.c ax25_frames_acked(ax25, nr); ax25 380 net/ax25/ax25_out.c ax25_calculate_rtt(ax25); ax25 381 net/ax25/ax25_out.c ax25_stop_t1timer(ax25); ax25 382 net/ax25/ax25_out.c ax25_start_t3timer(ax25); ax25 385 net/ax25/ax25_out.c if (ax25->va != nr) { ax25 386 net/ax25/ax25_out.c ax25_frames_acked(ax25, nr); ax25 387 net/ax25/ax25_out.c ax25_calculate_t1(ax25); ax25 388 net/ax25/ax25_out.c ax25_start_t1timer(ax25); ax25 389 net/ax25/ax25_route.c int ax25_rt_autobind(ax25_cb *ax25, ax25_address *addr) ax25 401 net/ax25/ax25_route.c if ((ax25->ax25_dev = ax25_dev_ax25dev(ax25_rt->dev)) == NULL) { ax25 408 net/ax25/ax25_route.c ax25->source_addr = user->call; ax25 415 net/ax25/ax25_route.c ax25->source_addr = *(ax25_address *)ax25->ax25_dev->dev->dev_addr; ax25 419 net/ax25/ax25_route.c ax25->digipeat = kmemdup(ax25_rt->digipeat, sizeof(ax25_digi), ax25 421 net/ax25/ax25_route.c if (ax25->digipeat == NULL) { ax25 425 net/ax25/ax25_route.c ax25_adjust_path(addr, ax25->digipeat); ax25 428 net/ax25/ax25_route.c if (ax25->sk != NULL) { ax25 430 net/ax25/ax25_route.c bh_lock_sock(ax25->sk); ax25 431 net/ax25/ax25_route.c sock_reset_flag(ax25->sk, SOCK_ZAPPED); ax25 432 net/ax25/ax25_route.c bh_unlock_sock(ax25->sk); ax25 39 net/ax25/ax25_std_in.c static int ax25_std_state1_machine(ax25_cb *ax25, struct sk_buff *skb, int frametype, int pf, int type) ax25 43 net/ax25/ax25_std_in.c ax25->modulus = AX25_MODULUS; ax25 44 net/ax25/ax25_std_in.c ax25->window = ax25->ax25_dev->values[AX25_VALUES_WINDOW]; ax25 45 net/ax25/ax25_std_in.c ax25_send_control(ax25, AX25_UA, pf, AX25_RESPONSE); ax25 49 net/ax25/ax25_std_in.c ax25->modulus = AX25_EMODULUS; ax25 50 net/ax25/ax25_std_in.c ax25->window = ax25->ax25_dev->values[AX25_VALUES_EWINDOW]; ax25 51 net/ax25/ax25_std_in.c ax25_send_control(ax25, AX25_UA, pf, AX25_RESPONSE); ax25 55 net/ax25/ax25_std_in.c ax25_send_control(ax25, AX25_DM, pf, AX25_RESPONSE); ax25 60 net/ax25/ax25_std_in.c ax25_calculate_rtt(ax25); ax25 61 net/ax25/ax25_std_in.c ax25_stop_t1timer(ax25); ax25 62 net/ax25/ax25_std_in.c ax25_start_t3timer(ax25); ax25 63 net/ax25/ax25_std_in.c ax25_start_idletimer(ax25); ax25 64 net/ax25/ax25_std_in.c ax25->vs = 0; ax25 65 net/ax25/ax25_std_in.c ax25->va = 0; ax25 66 net/ax25/ax25_std_in.c ax25->vr = 0; ax25 67 net/ax25/ax25_std_in.c ax25->state = AX25_STATE_3; ax25 68 net/ax25/ax25_std_in.c ax25->n2count = 0; ax25 69 net/ax25/ax25_std_in.c if (ax25->sk != NULL) { ax25 70 net/ax25/ax25_std_in.c bh_lock_sock(ax25->sk); ax25 71 net/ax25/ax25_std_in.c ax25->sk->sk_state = TCP_ESTABLISHED; ax25 73 net/ax25/ax25_std_in.c if (!sock_flag(ax25->sk, SOCK_DEAD)) ax25 74 net/ax25/ax25_std_in.c ax25->sk->sk_state_change(ax25->sk); ax25 75 net/ax25/ax25_std_in.c bh_unlock_sock(ax25->sk); ax25 82 net/ax25/ax25_std_in.c if (ax25->modulus == AX25_MODULUS) { ax25 83 net/ax25/ax25_std_in.c ax25_disconnect(ax25, ECONNREFUSED); ax25 85 net/ax25/ax25_std_in.c ax25->modulus = AX25_MODULUS; ax25 86 net/ax25/ax25_std_in.c ax25->window = ax25->ax25_dev->values[AX25_VALUES_WINDOW]; ax25 103 net/ax25/ax25_std_in.c static int ax25_std_state2_machine(ax25_cb *ax25, struct sk_buff *skb, int frametype, int pf, int type) ax25 108 net/ax25/ax25_std_in.c ax25_send_control(ax25, AX25_DM, pf, AX25_RESPONSE); ax25 112 net/ax25/ax25_std_in.c ax25_send_control(ax25, AX25_UA, pf, AX25_RESPONSE); ax25 113 net/ax25/ax25_std_in.c ax25_disconnect(ax25, 0); ax25 119 net/ax25/ax25_std_in.c ax25_disconnect(ax25, 0); ax25 126 net/ax25/ax25_std_in.c if (pf) ax25_send_control(ax25, AX25_DM, AX25_POLLON, AX25_RESPONSE); ax25 141 net/ax25/ax25_std_in.c static int ax25_std_state3_machine(ax25_cb *ax25, struct sk_buff *skb, int frametype, int ns, int nr, int pf, int type) ax25 149 net/ax25/ax25_std_in.c ax25->modulus = AX25_MODULUS; ax25 150 net/ax25/ax25_std_in.c ax25->window = ax25->ax25_dev->values[AX25_VALUES_WINDOW]; ax25 152 net/ax25/ax25_std_in.c ax25->modulus = AX25_EMODULUS; ax25 153 net/ax25/ax25_std_in.c ax25->window = ax25->ax25_dev->values[AX25_VALUES_EWINDOW]; ax25 155 net/ax25/ax25_std_in.c ax25_send_control(ax25, AX25_UA, pf, AX25_RESPONSE); ax25 156 net/ax25/ax25_std_in.c ax25_stop_t1timer(ax25); ax25 157 net/ax25/ax25_std_in.c ax25_stop_t2timer(ax25); ax25 158 net/ax25/ax25_std_in.c ax25_start_t3timer(ax25); ax25 159 net/ax25/ax25_std_in.c ax25_start_idletimer(ax25); ax25 160 net/ax25/ax25_std_in.c ax25->condition = 0x00; ax25 161 net/ax25/ax25_std_in.c ax25->vs = 0; ax25 162 net/ax25/ax25_std_in.c ax25->va = 0; ax25 163 net/ax25/ax25_std_in.c ax25->vr = 0; ax25 164 net/ax25/ax25_std_in.c ax25_requeue_frames(ax25); ax25 168 net/ax25/ax25_std_in.c ax25_send_control(ax25, AX25_UA, pf, AX25_RESPONSE); ax25 169 net/ax25/ax25_std_in.c ax25_disconnect(ax25, 0); ax25 173 net/ax25/ax25_std_in.c ax25_disconnect(ax25, ECONNRESET); ax25 179 net/ax25/ax25_std_in.c ax25->condition &= ~AX25_COND_PEER_RX_BUSY; ax25 181 net/ax25/ax25_std_in.c ax25->condition |= AX25_COND_PEER_RX_BUSY; ax25 183 net/ax25/ax25_std_in.c ax25_std_enquiry_response(ax25); ax25 184 net/ax25/ax25_std_in.c if (ax25_validate_nr(ax25, nr)) { ax25 185 net/ax25/ax25_std_in.c ax25_check_iframes_acked(ax25, nr); ax25 187 net/ax25/ax25_std_in.c ax25_std_nr_error_recovery(ax25); ax25 188 net/ax25/ax25_std_in.c ax25->state = AX25_STATE_1; ax25 193 net/ax25/ax25_std_in.c ax25->condition &= ~AX25_COND_PEER_RX_BUSY; ax25 195 net/ax25/ax25_std_in.c ax25_std_enquiry_response(ax25); ax25 196 net/ax25/ax25_std_in.c if (ax25_validate_nr(ax25, nr)) { ax25 197 net/ax25/ax25_std_in.c ax25_frames_acked(ax25, nr); ax25 198 net/ax25/ax25_std_in.c ax25_calculate_rtt(ax25); ax25 199 net/ax25/ax25_std_in.c ax25_stop_t1timer(ax25); ax25 200 net/ax25/ax25_std_in.c ax25_start_t3timer(ax25); ax25 201 net/ax25/ax25_std_in.c ax25_requeue_frames(ax25); ax25 203 net/ax25/ax25_std_in.c ax25_std_nr_error_recovery(ax25); ax25 204 net/ax25/ax25_std_in.c ax25->state = AX25_STATE_1; ax25 209 net/ax25/ax25_std_in.c if (!ax25_validate_nr(ax25, nr)) { ax25 210 net/ax25/ax25_std_in.c ax25_std_nr_error_recovery(ax25); ax25 211 net/ax25/ax25_std_in.c ax25->state = AX25_STATE_1; ax25 214 net/ax25/ax25_std_in.c if (ax25->condition & AX25_COND_PEER_RX_BUSY) { ax25 215 net/ax25/ax25_std_in.c ax25_frames_acked(ax25, nr); ax25 217 net/ax25/ax25_std_in.c ax25_check_iframes_acked(ax25, nr); ax25 219 net/ax25/ax25_std_in.c if (ax25->condition & AX25_COND_OWN_RX_BUSY) { ax25 220 net/ax25/ax25_std_in.c if (pf) ax25_std_enquiry_response(ax25); ax25 223 net/ax25/ax25_std_in.c if (ns == ax25->vr) { ax25 224 net/ax25/ax25_std_in.c ax25->vr = (ax25->vr + 1) % ax25->modulus; ax25 225 net/ax25/ax25_std_in.c queued = ax25_rx_iframe(ax25, skb); ax25 226 net/ax25/ax25_std_in.c if (ax25->condition & AX25_COND_OWN_RX_BUSY) ax25 227 net/ax25/ax25_std_in.c ax25->vr = ns; /* ax25->vr - 1 */ ax25 228 net/ax25/ax25_std_in.c ax25->condition &= ~AX25_COND_REJECT; ax25 230 net/ax25/ax25_std_in.c ax25_std_enquiry_response(ax25); ax25 232 net/ax25/ax25_std_in.c if (!(ax25->condition & AX25_COND_ACK_PENDING)) { ax25 233 net/ax25/ax25_std_in.c ax25->condition |= AX25_COND_ACK_PENDING; ax25 234 net/ax25/ax25_std_in.c ax25_start_t2timer(ax25); ax25 238 net/ax25/ax25_std_in.c if (ax25->condition & AX25_COND_REJECT) { ax25 239 net/ax25/ax25_std_in.c if (pf) ax25_std_enquiry_response(ax25); ax25 241 net/ax25/ax25_std_in.c ax25->condition |= AX25_COND_REJECT; ax25 242 net/ax25/ax25_std_in.c ax25_send_control(ax25, AX25_REJ, pf, AX25_RESPONSE); ax25 243 net/ax25/ax25_std_in.c ax25->condition &= ~AX25_COND_ACK_PENDING; ax25 250 net/ax25/ax25_std_in.c ax25_std_establish_data_link(ax25); ax25 251 net/ax25/ax25_std_in.c ax25->state = AX25_STATE_1; ax25 266 net/ax25/ax25_std_in.c static int ax25_std_state4_machine(ax25_cb *ax25, struct sk_buff *skb, int frametype, int ns, int nr, int pf, int type) ax25 274 net/ax25/ax25_std_in.c ax25->modulus = AX25_MODULUS; ax25 275 net/ax25/ax25_std_in.c ax25->window = ax25->ax25_dev->values[AX25_VALUES_WINDOW]; ax25 277 net/ax25/ax25_std_in.c ax25->modulus = AX25_EMODULUS; ax25 278 net/ax25/ax25_std_in.c ax25->window = ax25->ax25_dev->values[AX25_VALUES_EWINDOW]; ax25 280 net/ax25/ax25_std_in.c ax25_send_control(ax25, AX25_UA, pf, AX25_RESPONSE); ax25 281 net/ax25/ax25_std_in.c ax25_stop_t1timer(ax25); ax25 282 net/ax25/ax25_std_in.c ax25_stop_t2timer(ax25); ax25 283 net/ax25/ax25_std_in.c ax25_start_t3timer(ax25); ax25 284 net/ax25/ax25_std_in.c ax25_start_idletimer(ax25); ax25 285 net/ax25/ax25_std_in.c ax25->condition = 0x00; ax25 286 net/ax25/ax25_std_in.c ax25->vs = 0; ax25 287 net/ax25/ax25_std_in.c ax25->va = 0; ax25 288 net/ax25/ax25_std_in.c ax25->vr = 0; ax25 289 net/ax25/ax25_std_in.c ax25->state = AX25_STATE_3; ax25 290 net/ax25/ax25_std_in.c ax25->n2count = 0; ax25 291 net/ax25/ax25_std_in.c ax25_requeue_frames(ax25); ax25 295 net/ax25/ax25_std_in.c ax25_send_control(ax25, AX25_UA, pf, AX25_RESPONSE); ax25 296 net/ax25/ax25_std_in.c ax25_disconnect(ax25, 0); ax25 300 net/ax25/ax25_std_in.c ax25_disconnect(ax25, ECONNRESET); ax25 306 net/ax25/ax25_std_in.c ax25->condition &= ~AX25_COND_PEER_RX_BUSY; ax25 308 net/ax25/ax25_std_in.c ax25->condition |= AX25_COND_PEER_RX_BUSY; ax25 310 net/ax25/ax25_std_in.c ax25_stop_t1timer(ax25); ax25 311 net/ax25/ax25_std_in.c ax25->n2count = 0; ax25 312 net/ax25/ax25_std_in.c if (ax25_validate_nr(ax25, nr)) { ax25 313 net/ax25/ax25_std_in.c ax25_frames_acked(ax25, nr); ax25 314 net/ax25/ax25_std_in.c if (ax25->vs == ax25->va) { ax25 315 net/ax25/ax25_std_in.c ax25_start_t3timer(ax25); ax25 316 net/ax25/ax25_std_in.c ax25->state = AX25_STATE_3; ax25 318 net/ax25/ax25_std_in.c ax25_requeue_frames(ax25); ax25 321 net/ax25/ax25_std_in.c ax25_std_nr_error_recovery(ax25); ax25 322 net/ax25/ax25_std_in.c ax25->state = AX25_STATE_1; ax25 327 net/ax25/ax25_std_in.c ax25_std_enquiry_response(ax25); ax25 328 net/ax25/ax25_std_in.c if (ax25_validate_nr(ax25, nr)) { ax25 329 net/ax25/ax25_std_in.c ax25_frames_acked(ax25, nr); ax25 331 net/ax25/ax25_std_in.c ax25_std_nr_error_recovery(ax25); ax25 332 net/ax25/ax25_std_in.c ax25->state = AX25_STATE_1; ax25 337 net/ax25/ax25_std_in.c ax25->condition &= ~AX25_COND_PEER_RX_BUSY; ax25 339 net/ax25/ax25_std_in.c ax25_stop_t1timer(ax25); ax25 340 net/ax25/ax25_std_in.c ax25->n2count = 0; ax25 341 net/ax25/ax25_std_in.c if (ax25_validate_nr(ax25, nr)) { ax25 342 net/ax25/ax25_std_in.c ax25_frames_acked(ax25, nr); ax25 343 net/ax25/ax25_std_in.c if (ax25->vs == ax25->va) { ax25 344 net/ax25/ax25_std_in.c ax25_start_t3timer(ax25); ax25 345 net/ax25/ax25_std_in.c ax25->state = AX25_STATE_3; ax25 347 net/ax25/ax25_std_in.c ax25_requeue_frames(ax25); ax25 350 net/ax25/ax25_std_in.c ax25_std_nr_error_recovery(ax25); ax25 351 net/ax25/ax25_std_in.c ax25->state = AX25_STATE_1; ax25 356 net/ax25/ax25_std_in.c ax25_std_enquiry_response(ax25); ax25 357 net/ax25/ax25_std_in.c if (ax25_validate_nr(ax25, nr)) { ax25 358 net/ax25/ax25_std_in.c ax25_frames_acked(ax25, nr); ax25 359 net/ax25/ax25_std_in.c ax25_requeue_frames(ax25); ax25 361 net/ax25/ax25_std_in.c ax25_std_nr_error_recovery(ax25); ax25 362 net/ax25/ax25_std_in.c ax25->state = AX25_STATE_1; ax25 367 net/ax25/ax25_std_in.c if (!ax25_validate_nr(ax25, nr)) { ax25 368 net/ax25/ax25_std_in.c ax25_std_nr_error_recovery(ax25); ax25 369 net/ax25/ax25_std_in.c ax25->state = AX25_STATE_1; ax25 372 net/ax25/ax25_std_in.c ax25_frames_acked(ax25, nr); ax25 373 net/ax25/ax25_std_in.c if (ax25->condition & AX25_COND_OWN_RX_BUSY) { ax25 375 net/ax25/ax25_std_in.c ax25_std_enquiry_response(ax25); ax25 378 net/ax25/ax25_std_in.c if (ns == ax25->vr) { ax25 379 net/ax25/ax25_std_in.c ax25->vr = (ax25->vr + 1) % ax25->modulus; ax25 380 net/ax25/ax25_std_in.c queued = ax25_rx_iframe(ax25, skb); ax25 381 net/ax25/ax25_std_in.c if (ax25->condition & AX25_COND_OWN_RX_BUSY) ax25 382 net/ax25/ax25_std_in.c ax25->vr = ns; /* ax25->vr - 1 */ ax25 383 net/ax25/ax25_std_in.c ax25->condition &= ~AX25_COND_REJECT; ax25 385 net/ax25/ax25_std_in.c ax25_std_enquiry_response(ax25); ax25 387 net/ax25/ax25_std_in.c if (!(ax25->condition & AX25_COND_ACK_PENDING)) { ax25 388 net/ax25/ax25_std_in.c ax25->condition |= AX25_COND_ACK_PENDING; ax25 389 net/ax25/ax25_std_in.c ax25_start_t2timer(ax25); ax25 393 net/ax25/ax25_std_in.c if (ax25->condition & AX25_COND_REJECT) { ax25 394 net/ax25/ax25_std_in.c if (pf) ax25_std_enquiry_response(ax25); ax25 396 net/ax25/ax25_std_in.c ax25->condition |= AX25_COND_REJECT; ax25 397 net/ax25/ax25_std_in.c ax25_send_control(ax25, AX25_REJ, pf, AX25_RESPONSE); ax25 398 net/ax25/ax25_std_in.c ax25->condition &= ~AX25_COND_ACK_PENDING; ax25 405 net/ax25/ax25_std_in.c ax25_std_establish_data_link(ax25); ax25 406 net/ax25/ax25_std_in.c ax25->state = AX25_STATE_1; ax25 419 net/ax25/ax25_std_in.c int ax25_std_frame_in(ax25_cb *ax25, struct sk_buff *skb, int type) ax25 423 net/ax25/ax25_std_in.c frametype = ax25_decode(ax25, skb, &ns, &nr, &pf); ax25 425 net/ax25/ax25_std_in.c switch (ax25->state) { ax25 427 net/ax25/ax25_std_in.c queued = ax25_std_state1_machine(ax25, skb, frametype, pf, type); ax25 430 net/ax25/ax25_std_in.c queued = ax25_std_state2_machine(ax25, skb, frametype, pf, type); ax25 433 net/ax25/ax25_std_in.c queued = ax25_std_state3_machine(ax25, skb, frametype, ns, nr, pf, type); ax25 436 net/ax25/ax25_std_in.c queued = ax25_std_state4_machine(ax25, skb, frametype, ns, nr, pf, type); ax25 440 net/ax25/ax25_std_in.c ax25_kick(ax25); ax25 30 net/ax25/ax25_std_subr.c void ax25_std_nr_error_recovery(ax25_cb *ax25) ax25 32 net/ax25/ax25_std_subr.c ax25_std_establish_data_link(ax25); ax25 35 net/ax25/ax25_std_subr.c void ax25_std_establish_data_link(ax25_cb *ax25) ax25 37 net/ax25/ax25_std_subr.c ax25->condition = 0x00; ax25 38 net/ax25/ax25_std_subr.c ax25->n2count = 0; ax25 40 net/ax25/ax25_std_subr.c if (ax25->modulus == AX25_MODULUS) ax25 41 net/ax25/ax25_std_subr.c ax25_send_control(ax25, AX25_SABM, AX25_POLLON, AX25_COMMAND); ax25 43 net/ax25/ax25_std_subr.c ax25_send_control(ax25, AX25_SABME, AX25_POLLON, AX25_COMMAND); ax25 45 net/ax25/ax25_std_subr.c ax25_calculate_t1(ax25); ax25 46 net/ax25/ax25_std_subr.c ax25_stop_idletimer(ax25); ax25 47 net/ax25/ax25_std_subr.c ax25_stop_t3timer(ax25); ax25 48 net/ax25/ax25_std_subr.c ax25_stop_t2timer(ax25); ax25 49 net/ax25/ax25_std_subr.c ax25_start_t1timer(ax25); ax25 52 net/ax25/ax25_std_subr.c void ax25_std_transmit_enquiry(ax25_cb *ax25) ax25 54 net/ax25/ax25_std_subr.c if (ax25->condition & AX25_COND_OWN_RX_BUSY) ax25 55 net/ax25/ax25_std_subr.c ax25_send_control(ax25, AX25_RNR, AX25_POLLON, AX25_COMMAND); ax25 57 net/ax25/ax25_std_subr.c ax25_send_control(ax25, AX25_RR, AX25_POLLON, AX25_COMMAND); ax25 59 net/ax25/ax25_std_subr.c ax25->condition &= ~AX25_COND_ACK_PENDING; ax25 61 net/ax25/ax25_std_subr.c ax25_calculate_t1(ax25); ax25 62 net/ax25/ax25_std_subr.c ax25_start_t1timer(ax25); ax25 65 net/ax25/ax25_std_subr.c void ax25_std_enquiry_response(ax25_cb *ax25) ax25 67 net/ax25/ax25_std_subr.c if (ax25->condition & AX25_COND_OWN_RX_BUSY) ax25 68 net/ax25/ax25_std_subr.c ax25_send_control(ax25, AX25_RNR, AX25_POLLON, AX25_RESPONSE); ax25 70 net/ax25/ax25_std_subr.c ax25_send_control(ax25, AX25_RR, AX25_POLLON, AX25_RESPONSE); ax25 72 net/ax25/ax25_std_subr.c ax25->condition &= ~AX25_COND_ACK_PENDING; ax25 75 net/ax25/ax25_std_subr.c void ax25_std_timeout_response(ax25_cb *ax25) ax25 77 net/ax25/ax25_std_subr.c if (ax25->condition & AX25_COND_OWN_RX_BUSY) ax25 78 net/ax25/ax25_std_subr.c ax25_send_control(ax25, AX25_RNR, AX25_POLLOFF, AX25_RESPONSE); ax25 80 net/ax25/ax25_std_subr.c ax25_send_control(ax25, AX25_RR, AX25_POLLOFF, AX25_RESPONSE); ax25 82 net/ax25/ax25_std_subr.c ax25->condition &= ~AX25_COND_ACK_PENDING; ax25 29 net/ax25/ax25_std_timer.c void ax25_std_heartbeat_expiry(ax25_cb *ax25) ax25 31 net/ax25/ax25_std_timer.c struct sock *sk = ax25->sk; ax25 36 net/ax25/ax25_std_timer.c switch (ax25->state) { ax25 46 net/ax25/ax25_std_timer.c ax25_destroy_socket(ax25); ax25 51 net/ax25/ax25_std_timer.c ax25_destroy_socket(ax25); ax25 64 net/ax25/ax25_std_timer.c (ax25->condition & AX25_COND_OWN_RX_BUSY)) { ax25 65 net/ax25/ax25_std_timer.c ax25->condition &= ~AX25_COND_OWN_RX_BUSY; ax25 66 net/ax25/ax25_std_timer.c ax25->condition &= ~AX25_COND_ACK_PENDING; ax25 67 net/ax25/ax25_std_timer.c ax25_send_control(ax25, AX25_RR, AX25_POLLOFF, AX25_RESPONSE); ax25 76 net/ax25/ax25_std_timer.c ax25_start_heartbeat(ax25); ax25 79 net/ax25/ax25_std_timer.c void ax25_std_t2timer_expiry(ax25_cb *ax25) ax25 81 net/ax25/ax25_std_timer.c if (ax25->condition & AX25_COND_ACK_PENDING) { ax25 82 net/ax25/ax25_std_timer.c ax25->condition &= ~AX25_COND_ACK_PENDING; ax25 83 net/ax25/ax25_std_timer.c ax25_std_timeout_response(ax25); ax25 87 net/ax25/ax25_std_timer.c void ax25_std_t3timer_expiry(ax25_cb *ax25) ax25 89 net/ax25/ax25_std_timer.c ax25->n2count = 0; ax25 90 net/ax25/ax25_std_timer.c ax25_std_transmit_enquiry(ax25); ax25 91 net/ax25/ax25_std_timer.c ax25->state = AX25_STATE_4; ax25 94 net/ax25/ax25_std_timer.c void ax25_std_idletimer_expiry(ax25_cb *ax25) ax25 96 net/ax25/ax25_std_timer.c ax25_clear_queues(ax25); ax25 98 net/ax25/ax25_std_timer.c ax25->n2count = 0; ax25 99 net/ax25/ax25_std_timer.c ax25_send_control(ax25, AX25_DISC, AX25_POLLON, AX25_COMMAND); ax25 100 net/ax25/ax25_std_timer.c ax25->state = AX25_STATE_2; ax25 102 net/ax25/ax25_std_timer.c ax25_calculate_t1(ax25); ax25 103 net/ax25/ax25_std_timer.c ax25_start_t1timer(ax25); ax25 104 net/ax25/ax25_std_timer.c ax25_stop_t2timer(ax25); ax25 105 net/ax25/ax25_std_timer.c ax25_stop_t3timer(ax25); ax25 107 net/ax25/ax25_std_timer.c if (ax25->sk != NULL) { ax25 108 net/ax25/ax25_std_timer.c bh_lock_sock(ax25->sk); ax25 109 net/ax25/ax25_std_timer.c ax25->sk->sk_state = TCP_CLOSE; ax25 110 net/ax25/ax25_std_timer.c ax25->sk->sk_err = 0; ax25 111 net/ax25/ax25_std_timer.c ax25->sk->sk_shutdown |= SEND_SHUTDOWN; ax25 112 net/ax25/ax25_std_timer.c if (!sock_flag(ax25->sk, SOCK_DEAD)) { ax25 113 net/ax25/ax25_std_timer.c ax25->sk->sk_state_change(ax25->sk); ax25 114 net/ax25/ax25_std_timer.c sock_set_flag(ax25->sk, SOCK_DEAD); ax25 116 net/ax25/ax25_std_timer.c bh_unlock_sock(ax25->sk); ax25 120 net/ax25/ax25_std_timer.c void ax25_std_t1timer_expiry(ax25_cb *ax25) ax25 122 net/ax25/ax25_std_timer.c switch (ax25->state) { ax25 124 net/ax25/ax25_std_timer.c if (ax25->n2count == ax25->n2) { ax25 125 net/ax25/ax25_std_timer.c if (ax25->modulus == AX25_MODULUS) { ax25 126 net/ax25/ax25_std_timer.c ax25_disconnect(ax25, ETIMEDOUT); ax25 129 net/ax25/ax25_std_timer.c ax25->modulus = AX25_MODULUS; ax25 130 net/ax25/ax25_std_timer.c ax25->window = ax25->ax25_dev->values[AX25_VALUES_WINDOW]; ax25 131 net/ax25/ax25_std_timer.c ax25->n2count = 0; ax25 132 net/ax25/ax25_std_timer.c ax25_send_control(ax25, AX25_SABM, AX25_POLLON, AX25_COMMAND); ax25 135 net/ax25/ax25_std_timer.c ax25->n2count++; ax25 136 net/ax25/ax25_std_timer.c if (ax25->modulus == AX25_MODULUS) ax25 137 net/ax25/ax25_std_timer.c ax25_send_control(ax25, AX25_SABM, AX25_POLLON, AX25_COMMAND); ax25 139 net/ax25/ax25_std_timer.c ax25_send_control(ax25, AX25_SABME, AX25_POLLON, AX25_COMMAND); ax25 144 net/ax25/ax25_std_timer.c if (ax25->n2count == ax25->n2) { ax25 145 net/ax25/ax25_std_timer.c ax25_send_control(ax25, AX25_DISC, AX25_POLLON, AX25_COMMAND); ax25 146 net/ax25/ax25_std_timer.c if (!sock_flag(ax25->sk, SOCK_DESTROY)) ax25 147 net/ax25/ax25_std_timer.c ax25_disconnect(ax25, ETIMEDOUT); ax25 150 net/ax25/ax25_std_timer.c ax25->n2count++; ax25 151 net/ax25/ax25_std_timer.c ax25_send_control(ax25, AX25_DISC, AX25_POLLON, AX25_COMMAND); ax25 156 net/ax25/ax25_std_timer.c ax25->n2count = 1; ax25 157 net/ax25/ax25_std_timer.c ax25_std_transmit_enquiry(ax25); ax25 158 net/ax25/ax25_std_timer.c ax25->state = AX25_STATE_4; ax25 162 net/ax25/ax25_std_timer.c if (ax25->n2count == ax25->n2) { ax25 163 net/ax25/ax25_std_timer.c ax25_send_control(ax25, AX25_DM, AX25_POLLON, AX25_RESPONSE); ax25 164 net/ax25/ax25_std_timer.c ax25_disconnect(ax25, ETIMEDOUT); ax25 167 net/ax25/ax25_std_timer.c ax25->n2count++; ax25 168 net/ax25/ax25_std_timer.c ax25_std_transmit_enquiry(ax25); ax25 173 net/ax25/ax25_std_timer.c ax25_calculate_t1(ax25); ax25 174 net/ax25/ax25_std_timer.c ax25_start_t1timer(ax25); ax25 33 net/ax25/ax25_subr.c void ax25_clear_queues(ax25_cb *ax25) ax25 35 net/ax25/ax25_subr.c skb_queue_purge(&ax25->write_queue); ax25 36 net/ax25/ax25_subr.c skb_queue_purge(&ax25->ack_queue); ax25 37 net/ax25/ax25_subr.c skb_queue_purge(&ax25->reseq_queue); ax25 38 net/ax25/ax25_subr.c skb_queue_purge(&ax25->frag_queue); ax25 46 net/ax25/ax25_subr.c void ax25_frames_acked(ax25_cb *ax25, unsigned short nr) ax25 53 net/ax25/ax25_subr.c if (ax25->va != nr) { ax25 54 net/ax25/ax25_subr.c while (skb_peek(&ax25->ack_queue) != NULL && ax25->va != nr) { ax25 55 net/ax25/ax25_subr.c skb = skb_dequeue(&ax25->ack_queue); ax25 57 net/ax25/ax25_subr.c ax25->va = (ax25->va + 1) % ax25->modulus; ax25 62 net/ax25/ax25_subr.c void ax25_requeue_frames(ax25_cb *ax25) ax25 71 net/ax25/ax25_subr.c while ((skb = skb_dequeue_tail(&ax25->ack_queue)) != NULL) ax25 72 net/ax25/ax25_subr.c skb_queue_head(&ax25->write_queue, skb); ax25 79 net/ax25/ax25_subr.c int ax25_validate_nr(ax25_cb *ax25, unsigned short nr) ax25 81 net/ax25/ax25_subr.c unsigned short vc = ax25->va; ax25 83 net/ax25/ax25_subr.c while (vc != ax25->vs) { ax25 85 net/ax25/ax25_subr.c vc = (vc + 1) % ax25->modulus; ax25 88 net/ax25/ax25_subr.c if (nr == ax25->vs) return 1; ax25 97 net/ax25/ax25_subr.c int ax25_decode(ax25_cb *ax25, struct sk_buff *skb, int *ns, int *nr, int *pf) ax25 105 net/ax25/ax25_subr.c if (ax25->modulus == AX25_MODULUS) { ax25 147 net/ax25/ax25_subr.c void ax25_send_control(ax25_cb *ax25, int frametype, int poll_bit, int type) ax25 152 net/ax25/ax25_subr.c if ((skb = alloc_skb(ax25->ax25_dev->dev->hard_header_len + 2, GFP_ATOMIC)) == NULL) ax25 155 net/ax25/ax25_subr.c skb_reserve(skb, ax25->ax25_dev->dev->hard_header_len); ax25 160 net/ax25/ax25_subr.c if (ax25->modulus == AX25_MODULUS) { ax25 165 net/ax25/ax25_subr.c *dptr |= (ax25->vr << 5); ax25 174 net/ax25/ax25_subr.c dptr[1] = (ax25->vr << 1); ax25 179 net/ax25/ax25_subr.c ax25_transmit_buffer(ax25, skb, type); ax25 220 net/ax25/ax25_subr.c void ax25_calculate_t1(ax25_cb *ax25) ax25 224 net/ax25/ax25_subr.c switch (ax25->backoff) { ax25 229 net/ax25/ax25_subr.c t += 2 * ax25->n2count; ax25 233 net/ax25/ax25_subr.c for (n = 0; n < ax25->n2count; n++) ax25 239 net/ax25/ax25_subr.c ax25->t1 = t * ax25->rtt; ax25 245 net/ax25/ax25_subr.c void ax25_calculate_rtt(ax25_cb *ax25) ax25 247 net/ax25/ax25_subr.c if (ax25->backoff == 0) ax25 250 net/ax25/ax25_subr.c if (ax25_t1timer_running(ax25) && ax25->n2count == 0) ax25 251 net/ax25/ax25_subr.c ax25->rtt = (9 * ax25->rtt + ax25->t1 - ax25_display_timer(&ax25->t1timer)) / 10; ax25 253 net/ax25/ax25_subr.c if (ax25->rtt < AX25_T1CLAMPLO) ax25 254 net/ax25/ax25_subr.c ax25->rtt = AX25_T1CLAMPLO; ax25 256 net/ax25/ax25_subr.c if (ax25->rtt > AX25_T1CLAMPHI) ax25 257 net/ax25/ax25_subr.c ax25->rtt = AX25_T1CLAMPHI; ax25 260 net/ax25/ax25_subr.c void ax25_disconnect(ax25_cb *ax25, int reason) ax25 262 net/ax25/ax25_subr.c ax25_clear_queues(ax25); ax25 264 net/ax25/ax25_subr.c if (!ax25->sk || !sock_flag(ax25->sk, SOCK_DESTROY)) ax25 265 net/ax25/ax25_subr.c ax25_stop_heartbeat(ax25); ax25 266 net/ax25/ax25_subr.c ax25_stop_t1timer(ax25); ax25 267 net/ax25/ax25_subr.c ax25_stop_t2timer(ax25); ax25 268 net/ax25/ax25_subr.c ax25_stop_t3timer(ax25); ax25 269 net/ax25/ax25_subr.c ax25_stop_idletimer(ax25); ax25 271 net/ax25/ax25_subr.c ax25->state = AX25_STATE_0; ax25 273 net/ax25/ax25_subr.c ax25_link_failed(ax25, reason); ax25 275 net/ax25/ax25_subr.c if (ax25->sk != NULL) { ax25 277 net/ax25/ax25_subr.c bh_lock_sock(ax25->sk); ax25 278 net/ax25/ax25_subr.c ax25->sk->sk_state = TCP_CLOSE; ax25 279 net/ax25/ax25_subr.c ax25->sk->sk_err = reason; ax25 280 net/ax25/ax25_subr.c ax25->sk->sk_shutdown |= SEND_SHUTDOWN; ax25 281 net/ax25/ax25_subr.c if (!sock_flag(ax25->sk, SOCK_DEAD)) { ax25 282 net/ax25/ax25_subr.c ax25->sk->sk_state_change(ax25->sk); ax25 283 net/ax25/ax25_subr.c sock_set_flag(ax25->sk, SOCK_DEAD); ax25 285 net/ax25/ax25_subr.c bh_unlock_sock(ax25->sk); ax25 39 net/ax25/ax25_timer.c void ax25_setup_timers(ax25_cb *ax25) ax25 41 net/ax25/ax25_timer.c timer_setup(&ax25->timer, ax25_heartbeat_expiry, 0); ax25 42 net/ax25/ax25_timer.c timer_setup(&ax25->t1timer, ax25_t1timer_expiry, 0); ax25 43 net/ax25/ax25_timer.c timer_setup(&ax25->t2timer, ax25_t2timer_expiry, 0); ax25 44 net/ax25/ax25_timer.c timer_setup(&ax25->t3timer, ax25_t3timer_expiry, 0); ax25 45 net/ax25/ax25_timer.c timer_setup(&ax25->idletimer, ax25_idletimer_expiry, 0); ax25 48 net/ax25/ax25_timer.c void ax25_start_heartbeat(ax25_cb *ax25) ax25 50 net/ax25/ax25_timer.c mod_timer(&ax25->timer, jiffies + 5 * HZ); ax25 53 net/ax25/ax25_timer.c void ax25_start_t1timer(ax25_cb *ax25) ax25 55 net/ax25/ax25_timer.c mod_timer(&ax25->t1timer, jiffies + ax25->t1); ax25 58 net/ax25/ax25_timer.c void ax25_start_t2timer(ax25_cb *ax25) ax25 60 net/ax25/ax25_timer.c mod_timer(&ax25->t2timer, jiffies + ax25->t2); ax25 63 net/ax25/ax25_timer.c void ax25_start_t3timer(ax25_cb *ax25) ax25 65 net/ax25/ax25_timer.c if (ax25->t3 > 0) ax25 66 net/ax25/ax25_timer.c mod_timer(&ax25->t3timer, jiffies + ax25->t3); ax25 68 net/ax25/ax25_timer.c del_timer(&ax25->t3timer); ax25 71 net/ax25/ax25_timer.c void ax25_start_idletimer(ax25_cb *ax25) ax25 73 net/ax25/ax25_timer.c if (ax25->idle > 0) ax25 74 net/ax25/ax25_timer.c mod_timer(&ax25->idletimer, jiffies + ax25->idle); ax25 76 net/ax25/ax25_timer.c del_timer(&ax25->idletimer); ax25 79 net/ax25/ax25_timer.c void ax25_stop_heartbeat(ax25_cb *ax25) ax25 81 net/ax25/ax25_timer.c del_timer(&ax25->timer); ax25 84 net/ax25/ax25_timer.c void ax25_stop_t1timer(ax25_cb *ax25) ax25 86 net/ax25/ax25_timer.c del_timer(&ax25->t1timer); ax25 89 net/ax25/ax25_timer.c void ax25_stop_t2timer(ax25_cb *ax25) ax25 91 net/ax25/ax25_timer.c del_timer(&ax25->t2timer); ax25 94 net/ax25/ax25_timer.c void ax25_stop_t3timer(ax25_cb *ax25) ax25 96 net/ax25/ax25_timer.c del_timer(&ax25->t3timer); ax25 99 net/ax25/ax25_timer.c void ax25_stop_idletimer(ax25_cb *ax25) ax25 101 net/ax25/ax25_timer.c del_timer(&ax25->idletimer); ax25 104 net/ax25/ax25_timer.c int ax25_t1timer_running(ax25_cb *ax25) ax25 106 net/ax25/ax25_timer.c return timer_pending(&ax25->t1timer); ax25 122 net/ax25/ax25_timer.c ax25_cb *ax25 = from_timer(ax25, t, timer); ax25 124 net/ax25/ax25_timer.c if (ax25->ax25_dev) ax25 125 net/ax25/ax25_timer.c proto = ax25->ax25_dev->values[AX25_VALUES_PROTOCOL]; ax25 130 net/ax25/ax25_timer.c ax25_std_heartbeat_expiry(ax25); ax25 135 net/ax25/ax25_timer.c if (ax25->ax25_dev->dama.slave) ax25 136 net/ax25/ax25_timer.c ax25_ds_heartbeat_expiry(ax25); ax25 138 net/ax25/ax25_timer.c ax25_std_heartbeat_expiry(ax25); ax25 146 net/ax25/ax25_timer.c ax25_cb *ax25 = from_timer(ax25, t, t1timer); ax25 148 net/ax25/ax25_timer.c switch (ax25->ax25_dev->values[AX25_VALUES_PROTOCOL]) { ax25 151 net/ax25/ax25_timer.c ax25_std_t1timer_expiry(ax25); ax25 156 net/ax25/ax25_timer.c if (!ax25->ax25_dev->dama.slave) ax25 157 net/ax25/ax25_timer.c ax25_std_t1timer_expiry(ax25); ax25 165 net/ax25/ax25_timer.c ax25_cb *ax25 = from_timer(ax25, t, t2timer); ax25 167 net/ax25/ax25_timer.c switch (ax25->ax25_dev->values[AX25_VALUES_PROTOCOL]) { ax25 170 net/ax25/ax25_timer.c ax25_std_t2timer_expiry(ax25); ax25 175 net/ax25/ax25_timer.c if (!ax25->ax25_dev->dama.slave) ax25 176 net/ax25/ax25_timer.c ax25_std_t2timer_expiry(ax25); ax25 184 net/ax25/ax25_timer.c ax25_cb *ax25 = from_timer(ax25, t, t3timer); ax25 186 net/ax25/ax25_timer.c switch (ax25->ax25_dev->values[AX25_VALUES_PROTOCOL]) { ax25 189 net/ax25/ax25_timer.c ax25_std_t3timer_expiry(ax25); ax25 194 net/ax25/ax25_timer.c if (ax25->ax25_dev->dama.slave) ax25 195 net/ax25/ax25_timer.c ax25_ds_t3timer_expiry(ax25); ax25 197 net/ax25/ax25_timer.c ax25_std_t3timer_expiry(ax25); ax25 205 net/ax25/ax25_timer.c ax25_cb *ax25 = from_timer(ax25, t, idletimer); ax25 207 net/ax25/ax25_timer.c switch (ax25->ax25_dev->values[AX25_VALUES_PROTOCOL]) { ax25 210 net/ax25/ax25_timer.c ax25_std_idletimer_expiry(ax25); ax25 215 net/ax25/ax25_timer.c if (ax25->ax25_dev->dama.slave) ax25 216 net/ax25/ax25_timer.c ax25_ds_idletimer_expiry(ax25); ax25 218 net/ax25/ax25_timer.c ax25_std_idletimer_expiry(ax25); ax25 98 net/netrom/nr_route.c ax25_address *ax25, ax25_digi *ax25_digi, struct net_device *dev, ax25 113 net/netrom/nr_route.c nr_neigh = nr_neigh_get_dev(ax25, dev); ax25 152 net/netrom/nr_route.c nr_neigh->callsign = *ax25; ax25 154 net/netrom/nr_route.c nr_neigh->ax25 = NULL; ax25 181 net/netrom/nr_route.c if (quality != 0 && ax25cmp(nr, ax25) == 0 && !nr_neigh->locked) ax25 400 net/netrom/nr_route.c nr_neigh->ax25 = NULL; ax25 707 net/netrom/nr_route.c void nr_link_failed(ax25_cb *ax25, int reason) ax25 714 net/netrom/nr_route.c if (s->ax25 == ax25) { ax25 725 net/netrom/nr_route.c nr_neigh->ax25 = NULL; ax25 726 net/netrom/nr_route.c ax25_cb_put(ax25); ax25 748 net/netrom/nr_route.c int nr_route_frame(struct sk_buff *skb, ax25_cb *ax25) ax25 763 net/netrom/nr_route.c if (ax25 != NULL) { ax25 764 net/netrom/nr_route.c ret = nr_add_node(nr_src, "", &ax25->dest_addr, ax25->digipeat, ax25 765 net/netrom/nr_route.c ax25->ax25_dev->dev, 0, ax25 772 net/netrom/nr_route.c if (ax25 == NULL) /* Its from me */ ax25 780 net/netrom/nr_route.c if (!sysctl_netrom_routing_control && ax25 != NULL) ax25 823 net/netrom/nr_route.c ax25s = nr_neigh->ax25; ax25 824 net/netrom/nr_route.c nr_neigh->ax25 = ax25_send_frame(skb, 256, ax25 832 net/netrom/nr_route.c ret = (nr_neigh->ax25 != NULL); ax25 105 net/rose/rose_link.c ax25s = neigh->ax25; ax25 106 net/rose/rose_link.c neigh->ax25 = ax25_send_frame(skb, 260, rose_call, &neigh->callsign, neigh->digipeat, neigh->dev); ax25 110 net/rose/rose_link.c return neigh->ax25 != NULL; ax25 128 net/rose/rose_link.c ax25s = neigh->ax25; ax25 129 net/rose/rose_link.c neigh->ax25 = ax25_find_cb(rose_call, &neigh->callsign, neigh->digipeat, neigh->dev); ax25 133 net/rose/rose_link.c return neigh->ax25 != NULL; ax25 93 net/rose/rose_route.c rose_neigh->ax25 = NULL; ax25 237 net/rose/rose_route.c if (rose_neigh->ax25) ax25 238 net/rose/rose_route.c ax25_cb_put(rose_neigh->ax25); ax25 247 net/rose/rose_route.c if (rose_neigh->ax25) ax25 248 net/rose/rose_route.c ax25_cb_put(rose_neigh->ax25); ax25 380 net/rose/rose_route.c sn->ax25 = NULL; ax25 810 net/rose/rose_route.c void rose_link_failed(ax25_cb *ax25, int reason) ax25 817 net/rose/rose_route.c if (rose_neigh->ax25 == ax25) ax25 823 net/rose/rose_route.c rose_neigh->ax25 = NULL; ax25 824 net/rose/rose_route.c ax25_cb_put(ax25); ax25 852 net/rose/rose_route.c int rose_route_frame(struct sk_buff *skb, ax25_cb *ax25) ax25 869 net/rose/rose_route.c if (!ax25) ax25 887 net/rose/rose_route.c if (ax25cmp(&ax25->dest_addr, &rose_neigh->callsign) == 0 && ax25 888 net/rose/rose_route.c ax25->ax25_dev->dev == rose_neigh->dev) ax25 895 net/rose/rose_route.c ax2asc(buf, &ax25->dest_addr));