diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/if_pppox.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/include/linux/if_pppox.h b/include/linux/if_pppox.h index 948826892b82..117357b14483 100644 --- a/include/linux/if_pppox.h +++ b/include/linux/if_pppox.h @@ -134,10 +134,15 @@ struct pppox_opt { #define pppox_sk(__sk) ((struct pppox_opt *)(__sk)->protinfo) +struct module; + struct pppox_proto { - int (*create)(struct socket *sock); - int (*ioctl)(struct socket *sock, unsigned int cmd, - unsigned long arg); + int (*create)(struct socket *sock); + int (*ioctl)(struct socket *sock, unsigned int cmd, + unsigned long arg); + int (*release)(struct socket *sock); + void (*sk_free)(struct sock *sk); + struct module *owner; }; extern int register_pppox_proto(int proto_num, struct pppox_proto *pp); @@ -145,6 +150,9 @@ extern void unregister_pppox_proto(int proto_num); extern void pppox_unbind_sock(struct sock *sk);/* delete ppp-channel binding */ extern int pppox_channel_ioctl(struct ppp_channel *pc, unsigned int cmd, unsigned long arg); +extern struct sock *pppox_sk_alloc(struct socket *sock, int protocol, + int priority, int zero_it, + kmem_cache_t *slab); /* PPPoX socket states */ enum { |
