X-Git-Url: https://rtime.felk.cvut.cz/gitweb/can-eth-gw.git/blobdiff_plain/e747e7a97c3ae7afdde31d188a5c071b8e282b0b..a5d61b569fe49e2ca9f8f38f0af5a0b147f2b806:/kernel/canethgw.h diff --git a/kernel/canethgw.h b/kernel/canethgw.h index 5acb34b..f09a420 100644 --- a/kernel/canethgw.h +++ b/kernel/canethgw.h @@ -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 +#include + +/* 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 */ +