]> rtime.felk.cvut.cz Git - can-eth-gw.git/blobdiff - kernel/canethgw.h
set udp listening address
[can-eth-gw.git] / kernel / canethgw.h
index 5acb34b52db16f3c17230e59b071edcdceb4b06f..f09a42084cda276694e7de92ff5c0bff1058f5aa 100644 (file)
@@ -1,4 +1,48 @@
-static int  gw_udp_recv( void* data );
-static void gw_udp_send( struct can_frame* cf, struct in_addr ipaddr, u16 port );
-static int  gw_can_recv( void* data );
-static void gw_can_send( struct can_frame* cf, int ifidx );
+#ifndef CANETHGW_H
+#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;
+};
+
+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,
+       __CGW_TYPE_MAX
+};
+
+#define CGW_TYPE_MAX (__CGW_TYPE_MAX - 1)
+
+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_ETH_IP,
+       CGW_ETH_PORT,
+       CGW_ETH_PROTO,  /* ifindex of destination network interface */
+       CGW_FILTER,     /* specify struct can_filter on source CAN device */
+       __CGW_MAX
+};
+
+#define CGW_MAX (__CGW_MAX - 1)
+#endif /* CANETHGW_H */
+