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()
109 static void pppoatm_release_cb(struct atm_vcc *atmvcc) in pppoatm_release_cb() argument
111 struct pppoatm_vcc *pvcc = atmvcc_to_pvcc(atmvcc); in pppoatm_release_cb()
125 pvcc->old_release_cb(atmvcc); in pppoatm_release_cb()
132 static void pppoatm_pop(struct atm_vcc *atmvcc, struct sk_buff *skb) in pppoatm_pop() argument
134 struct pppoatm_vcc *pvcc = atmvcc_to_pvcc(atmvcc); in pppoatm_pop()
136 pvcc->old_pop(atmvcc, skb); in pppoatm_pop()
165 static void pppoatm_unassign_vcc(struct atm_vcc *atmvcc) in pppoatm_unassign_vcc() argument
168 pvcc = atmvcc_to_pvcc(atmvcc); in pppoatm_unassign_vcc()
169 atmvcc->push = pvcc->old_push; in pppoatm_unassign_vcc()
170 atmvcc->pop = pvcc->old_pop; in pppoatm_unassign_vcc()
171 atmvcc->release_cb = pvcc->old_release_cb; in pppoatm_unassign_vcc()
174 atmvcc->user_back = NULL; in pppoatm_unassign_vcc()
179 static void pppoatm_push(struct atm_vcc *atmvcc, struct sk_buff *skb) in pppoatm_push() argument
181 struct pppoatm_vcc *pvcc = atmvcc_to_pvcc(atmvcc); in pppoatm_push()
188 pppoatm_unassign_vcc(atmvcc); in pppoatm_push()
189 atmvcc->push(atmvcc, NULL); /* Pass along bad news */ in pppoatm_push()
193 atm_return(atmvcc, skb->truesize); in pppoatm_push()
241 if (atm_may_send(pvcc->atmvcc, size) && in pppoatm_may_send()
271 if (atm_may_send(pvcc->atmvcc, size) && in pppoatm_may_send()
293 ATM_SKB(skb)->vcc = pvcc->atmvcc; in pppoatm_send()
294 pr_debug("(skb=0x%p, vcc=0x%p)\n", skb, pvcc->atmvcc); in pppoatm_send()
387 static int pppoatm_assign_vcc(struct atm_vcc *atmvcc, void __user *arg) in pppoatm_assign_vcc() argument
405 pvcc->atmvcc = atmvcc; in pppoatm_assign_vcc()
409 pvcc->old_push = atmvcc->push; in pppoatm_assign_vcc()
410 pvcc->old_pop = atmvcc->pop; in pppoatm_assign_vcc()
411 pvcc->old_owner = atmvcc->owner; in pppoatm_assign_vcc()
412 pvcc->old_release_cb = atmvcc->release_cb; in pppoatm_assign_vcc()
416 pvcc->chan.mtu = atmvcc->qos.txtp.max_sdu - PPP_HDRLEN - in pppoatm_assign_vcc()
425 atmvcc->user_back = pvcc; in pppoatm_assign_vcc()
426 atmvcc->push = pppoatm_push; in pppoatm_assign_vcc()
427 atmvcc->pop = pppoatm_pop; in pppoatm_assign_vcc()
428 atmvcc->release_cb = pppoatm_release_cb; in pppoatm_assign_vcc()
430 atmvcc->owner = THIS_MODULE; in pppoatm_assign_vcc()
434 vcc_process_recv_queue(atmvcc); in pppoatm_assign_vcc()
445 struct atm_vcc *atmvcc = ATM_SD(sock); in pppoatm_ioctl() local
448 if (cmd != ATM_SETBACKEND && atmvcc->push != pppoatm_push) in pppoatm_ioctl()
461 return pppoatm_assign_vcc(atmvcc, argp); in pppoatm_ioctl()
464 return put_user(ppp_channel_index(&atmvcc_to_pvcc(atmvcc)-> in pppoatm_ioctl()
467 return put_user(ppp_unit_number(&atmvcc_to_pvcc(atmvcc)-> in pppoatm_ioctl()