summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/if_pppox.h14
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 {