Lines Matching refs:atmvcc
57 struct atm_vcc *atmvcc; /* VCC descriptor */ member
89 static inline struct pppoatm_vcc *atmvcc_to_pvcc(const struct atm_vcc *atmvcc) in atmvcc_to_pvcc() argument
91 return (struct pppoatm_vcc *) (atmvcc->user_back); in atmvcc_to_pvcc()
111 static void pppoatm_release_cb(struct atm_vcc *atmvcc) in pppoatm_release_cb() argument
113 struct pppoatm_vcc *pvcc = atmvcc_to_pvcc(atmvcc); in pppoatm_release_cb()
127 pvcc->old_release_cb(atmvcc); in pppoatm_release_cb()
134 static void pppoatm_pop(struct atm_vcc *atmvcc, struct sk_buff *skb) in pppoatm_pop() argument
136 struct pppoatm_vcc *pvcc = atmvcc_to_pvcc(atmvcc); in pppoatm_pop()
138 pvcc->old_pop(atmvcc, skb); in pppoatm_pop()
167 static void pppoatm_unassign_vcc(struct atm_vcc *atmvcc) in pppoatm_unassign_vcc() argument
170 pvcc = atmvcc_to_pvcc(atmvcc); in pppoatm_unassign_vcc()
171 atmvcc->push = pvcc->old_push; in pppoatm_unassign_vcc()
172 atmvcc->pop = pvcc->old_pop; in pppoatm_unassign_vcc()
173 atmvcc->release_cb = pvcc->old_release_cb; in pppoatm_unassign_vcc()
176 atmvcc->user_back = NULL; in pppoatm_unassign_vcc()
181 static void pppoatm_push(struct atm_vcc *atmvcc, struct sk_buff *skb) in pppoatm_push() argument
183 struct pppoatm_vcc *pvcc = atmvcc_to_pvcc(atmvcc); in pppoatm_push()
190 pppoatm_unassign_vcc(atmvcc); in pppoatm_push()
191 atmvcc->push(atmvcc, NULL); /* Pass along bad news */ in pppoatm_push()
195 atm_return(atmvcc, skb->truesize); in pppoatm_push()
243 if (atm_may_send(pvcc->atmvcc, size) && in pppoatm_may_send()
273 if (atm_may_send(pvcc->atmvcc, size) && in pppoatm_may_send()
295 ATM_SKB(skb)->vcc = pvcc->atmvcc; in pppoatm_send()
296 pr_debug("(skb=0x%p, vcc=0x%p)\n", skb, pvcc->atmvcc); in pppoatm_send()
389 static int pppoatm_assign_vcc(struct atm_vcc *atmvcc, void __user *arg) in pppoatm_assign_vcc() argument
403 pvcc->atmvcc = atmvcc; in pppoatm_assign_vcc()
407 pvcc->old_push = atmvcc->push; in pppoatm_assign_vcc()
408 pvcc->old_pop = atmvcc->pop; in pppoatm_assign_vcc()
409 pvcc->old_owner = atmvcc->owner; in pppoatm_assign_vcc()
410 pvcc->old_release_cb = atmvcc->release_cb; in pppoatm_assign_vcc()
414 pvcc->chan.mtu = atmvcc->qos.txtp.max_sdu - PPP_HDRLEN - in pppoatm_assign_vcc()
422 atmvcc->user_back = pvcc; in pppoatm_assign_vcc()
423 atmvcc->push = pppoatm_push; in pppoatm_assign_vcc()
424 atmvcc->pop = pppoatm_pop; in pppoatm_assign_vcc()
425 atmvcc->release_cb = pppoatm_release_cb; in pppoatm_assign_vcc()
427 atmvcc->owner = THIS_MODULE; in pppoatm_assign_vcc()
431 vcc_process_recv_queue(atmvcc); in pppoatm_assign_vcc()
442 struct atm_vcc *atmvcc = ATM_SD(sock); in pppoatm_ioctl() local
445 if (cmd != ATM_SETBACKEND && atmvcc->push != pppoatm_push) in pppoatm_ioctl()
458 return pppoatm_assign_vcc(atmvcc, argp); in pppoatm_ioctl()
461 return put_user(ppp_channel_index(&atmvcc_to_pvcc(atmvcc)-> in pppoatm_ioctl()
464 return put_user(ppp_unit_number(&atmvcc_to_pvcc(atmvcc)-> in pppoatm_ioctl()