]> rtime.felk.cvut.cz Git - can-eth-gw.git/blobdiff - kernel/canethgw.h
support for ipv6 added
[can-eth-gw.git] / kernel / canethgw.h
index 3da136abb3da0c388938155372937794a0c8faa2..ab1b6c1b5e008a0ecb426bf478c3a75bd36617e0 100644 (file)
@@ -2,52 +2,30 @@
 #define CANETHGW_H
 
 #include <linux/types.h>
-#include <linux/can.h>
 
-/* these are from gw.h */
-struct rtcanmsg {
-       __u8  can_family;
-       __u8  gwtype;
-       __u16 flags;
+struct cegw_ioctl
+{
+       __u32 can_sock;
+       __u32 udp_sock;
+       __u32 udp_dstcnt;
+       __u32 udp_addrlen;
+       __u8 udp_dst[0];
 };
 
-enum {
-       CGW_TYPE_UNSPEC,
-       CGW_TYPE_CAN_CAN,          /* CAN->CAN routing */
-       CGW_TYPE_CAN_ETH_UDP,  /* CAN->ETH udp */
-       CGW_TYPE_ETH_CAN_UDP,  /* ETH->CAN udp */
-       CGW_TYPE_CAN_ETH_TCP,
-       CGW_TYPE_CONFIG,
-       CEGW_FLUSH,
-       CEGW_LISTEN,
-       __CGW_TYPE_MAX
+#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 CGW_TYPE_MAX (__CGW_TYPE_MAX - 1)
+#define CEGW_IOCTL_BASE 'c'
+#define CEGW_IOCTL_START _IOW(CEGW_IOCTL_BASE, 0, struct cegw_ioctl)
 
-/* rtnetlink attributes */
-enum {
-       CGW_UNSPEC,
-       CGW_MOD_AND,    /* CAN frame modification binary AND */
-       CGW_MOD_OR,         /* CAN frame modification binary OR */
-       CGW_MOD_XOR,    /* CAN frame modification binary XOR */
-       CGW_MOD_SET,    /* CAN frame modification set alternate values */
-       CGW_CS_XOR,         /* set data[] XOR checksum into data[index] */
-       CGW_CS_CRC8,    /* set data[] CRC8 checksum into data[index] */
-       CGW_HANDLED,    /* number of handled CAN frames */
-       CGW_DROPPED,    /* number of dropped CAN frames */
-       CGW_CAN_IF,         /* ifindex of source network interface */
-       CGW_LISTEN_IP,
-       CGW_LISTEN_PORT,
-       CGW_TYPE,
-       CGW_CMD_INFO,
-       CGW_ETH_IP,
-       CGW_ETH_PORT,
-       CGW_ETH_PROTO,
-       CGW_FILTER,     /* specify struct can_filter on source CAN device */
-       __CGW_MAX
-};
-
-#define CGW_MAX (__CGW_MAX - 1)
 #endif /* CANETHGW_H */