]> rtime.felk.cvut.cz Git - can-eth-gw.git/blob - kernel/canethgw.h
list routing rules
[can-eth-gw.git] / kernel / canethgw.h
1 #ifndef CANETHGW_H
2 #define CANETHGW_H
3
4 #include <linux/types.h>
5 #include <linux/can.h>
6
7 /* these are from gw.h */
8 struct rtcanmsg {
9         __u8  can_family;
10         __u8  gwtype;
11         __u16 flags;
12 };
13
14 enum {
15         CGW_TYPE_UNSPEC,
16         CGW_TYPE_CAN_CAN,          /* CAN->CAN routing */
17         CGW_TYPE_CAN_ETH_UDP,  /* CAN->ETH udp */
18         CGW_TYPE_ETH_CAN_UDP,  /* ETH->CAN udp */
19         CGW_TYPE_CAN_ETH_TCP,
20         CGW_TYPE_CONFIG,
21         CEGW_FLUSH,
22         CEGW_LISTEN,
23         __CGW_TYPE_MAX
24 };
25
26 #define CGW_TYPE_MAX (__CGW_TYPE_MAX - 1)
27
28 /* rtnetlink attributes */
29 enum {
30         CGW_UNSPEC,
31         CGW_MOD_AND,    /* CAN frame modification binary AND */
32         CGW_MOD_OR,         /* CAN frame modification binary OR */
33         CGW_MOD_XOR,    /* CAN frame modification binary XOR */
34         CGW_MOD_SET,    /* CAN frame modification set alternate values */
35         CGW_CS_XOR,         /* set data[] XOR checksum into data[index] */
36         CGW_CS_CRC8,    /* set data[] CRC8 checksum into data[index] */
37         CGW_HANDLED,    /* number of handled CAN frames */
38         CGW_DROPPED,    /* number of dropped CAN frames */
39         CGW_CAN_IF,         /* ifindex of source network interface */
40         CGW_LISTEN_IP,
41         CGW_LISTEN_PORT,
42         CGW_TYPE,
43         CGW_CMD_INFO,
44         CGW_ETH_IP,
45         CGW_ETH_PORT,
46         CGW_ETH_PROTO,
47         CGW_FILTER,     /* specify struct can_filter on source CAN device */
48         __CGW_MAX
49 };
50
51 #define CGW_MAX (__CGW_MAX - 1)
52 #endif /* CANETHGW_H */
53