Dr Andrew Scott G7VAV

My photo
 
June 2025
Mo Tu We Th Fr Sa Su
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 1 2 3 4 5 6


bcm.h
01: /*
02:  * linux/can/bcm.h
03:  *
04:  * Definitions for CAN Broadcast Manager (BCM)
05:  *
06:  * Author: Oliver Hartkopp <oliver.hartkopp@volkswagen.de>
07:  * Copyright (c) 2002-2007 Volkswagen Group Electronic Research
08:  * All rights reserved.
09:  *
10:  */
11: 
12: #ifndef CAN_BCM_H
13: #define CAN_BCM_H
14: 
15: #include <linux/types.h>
16: #include <linux/can.h>
17: 
18: /**
19:  * struct bcm_msg_head - head of messages to/from the broadcast manager
20:  * @opcode:    opcode, see enum below.
21:  * @flags:     special flags, see below.
22:  * @count:     number of frames to send before changing interval.
23:  * @ival1:     interval for the first @count frames.
24:  * @ival2:     interval for the following frames.
25:  * @can_id:    CAN ID of frames to be sent or received.
26:  * @nframes:   number of frames appended to the message head.
27:  * @frames:    array of CAN frames.
28:  */
29: struct bcm_msg_head {
30:         __u32 opcode;
31:         __u32 flags;
32:         __u32 count;
33:         struct timeval ival1, ival2;
34:         canid_t can_id;
35:         __u32 nframes;
36:         struct can_frame frames[0];
37: };
38: 
39: enum {
40:         TX_SETUP = 1,   /* create (cyclic) transmission task */
41:         TX_DELETE,      /* remove (cyclic) transmission task */
42:         TX_READ,        /* read properties of (cyclic) transmission task */
43:         TX_SEND,        /* send one CAN frame */
44:         RX_SETUP,       /* create RX content filter subscription */
45:         RX_DELETE,      /* remove RX content filter subscription */
46:         RX_READ,        /* read properties of RX content filter subscription */
47:         TX_STATUS,      /* reply to TX_READ request */
48:         TX_EXPIRED,     /* notification on performed transmissions (count=0) */
49:         RX_STATUS,      /* reply to RX_READ request */
50:         RX_TIMEOUT,     /* cyclic message is absent */
51:         RX_CHANGED      /* updated CAN frame (detected content change) */
52: };
53: 
54: #define SETTIMER            0x0001
55: #define STARTTIMER          0x0002
56: #define TX_COUNTEVT         0x0004
57: #define TX_ANNOUNCE         0x0008
58: #define TX_CP_CAN_ID        0x0010
59: #define RX_FILTER_ID        0x0020
60: #define RX_CHECK_DLC        0x0040
61: #define RX_NO_AUTOTIMER     0x0080
62: #define RX_ANNOUNCE_RESUME  0x0100
63: #define TX_RESET_MULTI_IDX  0x0200
64: #define RX_RTR_FRAME        0x0400
65: 
66: #endif /* CAN_BCM_H */
67: 


for client (none)
© Andrew Scott 2006 - 2025,
All Rights Reserved
http://www.andrew-scott.uk/
Andrew Scott
http://www.andrew-scott.co.uk/