Lines Matching refs:lapb

40 void lapb_clear_queues(struct lapb_cb *lapb)  in lapb_clear_queues()  argument
42 skb_queue_purge(&lapb->write_queue); in lapb_clear_queues()
43 skb_queue_purge(&lapb->ack_queue); in lapb_clear_queues()
51 void lapb_frames_acked(struct lapb_cb *lapb, unsigned short nr) in lapb_frames_acked() argument
56 modulus = (lapb->mode & LAPB_EXTENDED) ? LAPB_EMODULUS : LAPB_SMODULUS; in lapb_frames_acked()
61 if (lapb->va != nr) in lapb_frames_acked()
62 while (skb_peek(&lapb->ack_queue) && lapb->va != nr) { in lapb_frames_acked()
63 skb = skb_dequeue(&lapb->ack_queue); in lapb_frames_acked()
65 lapb->va = (lapb->va + 1) % modulus; in lapb_frames_acked()
69 void lapb_requeue_frames(struct lapb_cb *lapb) in lapb_requeue_frames() argument
78 while ((skb = skb_dequeue(&lapb->ack_queue)) != NULL) { in lapb_requeue_frames()
80 skb_queue_head(&lapb->write_queue, skb); in lapb_requeue_frames()
82 skb_append(skb_prev, skb, &lapb->write_queue); in lapb_requeue_frames()
91 int lapb_validate_nr(struct lapb_cb *lapb, unsigned short nr) in lapb_validate_nr() argument
93 unsigned short vc = lapb->va; in lapb_validate_nr()
96 modulus = (lapb->mode & LAPB_EXTENDED) ? LAPB_EMODULUS : LAPB_SMODULUS; in lapb_validate_nr()
98 while (vc != lapb->vs) { in lapb_validate_nr()
104 return nr == lapb->vs; in lapb_validate_nr()
111 int lapb_decode(struct lapb_cb *lapb, struct sk_buff *skb, in lapb_decode() argument
116 lapb_dbg(2, "(%p) S%d RX %3ph\n", lapb->dev, lapb->state, skb->data); in lapb_decode()
124 if (lapb->mode & LAPB_MLP) { in lapb_decode()
125 if (lapb->mode & LAPB_DCE) { in lapb_decode()
137 if (lapb->mode & LAPB_DCE) { in lapb_decode()
152 if (lapb->mode & LAPB_EXTENDED) { in lapb_decode()
226 void lapb_send_control(struct lapb_cb *lapb, int frametype, in lapb_send_control() argument
237 if (lapb->mode & LAPB_EXTENDED) { in lapb_send_control()
245 dptr[1] = (lapb->vr << 1); in lapb_send_control()
253 *dptr |= (lapb->vr << 5); in lapb_send_control()
256 lapb_transmit_buffer(lapb, skb, type); in lapb_send_control()
263 void lapb_transmit_frmr(struct lapb_cb *lapb) in lapb_transmit_frmr() argument
273 if (lapb->mode & LAPB_EXTENDED) { in lapb_transmit_frmr()
276 *dptr++ = lapb->frmr_data.control[0]; in lapb_transmit_frmr()
277 *dptr++ = lapb->frmr_data.control[1]; in lapb_transmit_frmr()
278 *dptr++ = (lapb->vs << 1) & 0xFE; in lapb_transmit_frmr()
279 *dptr = (lapb->vr << 1) & 0xFE; in lapb_transmit_frmr()
280 if (lapb->frmr_data.cr == LAPB_RESPONSE) in lapb_transmit_frmr()
283 *dptr++ = lapb->frmr_type; in lapb_transmit_frmr()
286 lapb->dev, lapb->state, in lapb_transmit_frmr()
291 *dptr++ = lapb->frmr_data.control[0]; in lapb_transmit_frmr()
292 *dptr = (lapb->vs << 1) & 0x0E; in lapb_transmit_frmr()
293 *dptr |= (lapb->vr << 5) & 0xE0; in lapb_transmit_frmr()
294 if (lapb->frmr_data.cr == LAPB_RESPONSE) in lapb_transmit_frmr()
297 *dptr++ = lapb->frmr_type; in lapb_transmit_frmr()
300 lapb->dev, lapb->state, &skb->data[1]); in lapb_transmit_frmr()
303 lapb_transmit_buffer(lapb, skb, LAPB_RESPONSE); in lapb_transmit_frmr()