#ifndef __LINUX_IF_PPPOX_H
#define __LINUX_IF_PPPOX_H
#include <linux/if.h>
#include <linux/netdevice.h>
#include <linux/ppp_channel.h>
#include <linux/skbuff.h>
#include <linux/workqueue.h>
#include <uapi/linux/if_pppox.h>
static inline struct pppoe_hdr *pppoe_hdr(const struct sk_buff *skb)
{ … }
struct pppoe_opt { … };
struct pptp_opt { … };
#include <net/sock.h>
struct pppox_sock { … };
#define pppoe_dev …
#define pppoe_ifindex …
#define pppoe_pa …
#define pppoe_relay …
static inline struct pppox_sock *pppox_sk(struct sock *sk)
{ … }
static inline struct sock *sk_pppox(struct pppox_sock *po)
{ … }
struct module;
struct pppox_proto { … };
extern int register_pppox_proto(int proto_num, const struct pppox_proto *pp);
extern void unregister_pppox_proto(int proto_num);
extern void pppox_unbind_sock(struct sock *sk);
extern int pppox_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg);
extern int pppox_compat_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg);
#define PPPOEIOCSFWD32 …
enum { … };
#endif