-#ifdef CONFIG_CAN_DEBUG_CORE
-static int debug = 0;
-module_param(debug, int, S_IRUGO);
-#define DBG(args...) (debug & 1 ? \
- (printk(KERN_DEBUG "RAW %s: ", __func__), \
- printk(args)) : 0)
-#define DBG_SKB(skb) (debug & 4 ? can_debug_skb(skb) : 0)
-#else
-#define DBG(args...)
-#define DBG_SKB(skb)
-#endif
-
-static int raw_init(struct sock *sk);
-static int raw_release(struct socket *sock);
-static int raw_bind (struct socket *sock, struct sockaddr *uaddr, int len);
-static int raw_getname(struct socket *sock, struct sockaddr *uaddr,
- int *len, int peer);
-static unsigned int raw_poll(struct file *file, struct socket *sock,
- poll_table *wait);
-static int raw_setsockopt(struct socket *sock, int level, int optname,
- char __user *optval, int optlen);
-static int raw_getsockopt(struct socket *sock, int level, int optname,
- char __user *optval, int __user *optlen);
-static int raw_sendmsg(struct kiocb *iocb, struct socket *sock,
- struct msghdr *msg, size_t size);
-static int raw_recvmsg(struct kiocb *iocb, struct socket *sock,
- struct msghdr *msg, size_t size, int flags);
-static void raw_rcv(struct sk_buff *skb, void *data);
-static void raw_notifier(unsigned long msg, void *data);
-
-static void raw_add_filters(struct net_device *dev, struct sock *sk);
-static void raw_remove_filters(struct net_device *dev, struct sock *sk);
-
-
-static struct proto_ops raw_ops = {
- .family = PF_CAN,
- .release = raw_release,
- .bind = raw_bind,
- .connect = sock_no_connect,
- .socketpair = sock_no_socketpair,
- .accept = sock_no_accept,
- .getname = raw_getname,
- .poll = raw_poll,
- .ioctl = NULL, /* use can_ioctl() from af_can.c */
- .listen = sock_no_listen,
- .shutdown = sock_no_shutdown,
- .setsockopt = raw_setsockopt,
- .getsockopt = raw_getsockopt,
- .sendmsg = raw_sendmsg,
- .recvmsg = raw_recvmsg,
- .mmap = sock_no_mmap,
- .sendpage = sock_no_sendpage,
-};
-