-int gw_udp_recv( void* data );
-void gw_udp_send( struct can_frame* cf );
-int gw_can_recv( void* data );
-void gw_can_send( struct can_frame* cf );
+#ifndef CANETHGW_H
+#define CANETHGW_H
+
+#include <linux/types.h>
+
+struct cegw_ioctl
+{
+ __u32 can_sock;
+ __u32 udp_sock;
+ __u32 udp_dstcnt;
+ __u32 udp_addrlen;
+ __u8 udp_dst[0];
+};
+
+#ifdef __KERNEL__
+struct cegw_job
+{
+ struct kref refcount;
+ struct socket* can_sock;
+ struct socket* udp_sock;
+ u32 udp_dstcnt;
+ u32 udp_addrlen;
+ u8 udp_dst[0];
+};
+#endif
+
+#define CEGW_IOCTL_BASE 'c'
+#define CEGW_IOCTL_START _IOW(CEGW_IOCTL_BASE, 0, struct cegw_ioctl)
+
+#endif /* CANETHGW_H */