47 /** Domain datagram pair. |
47 /** Domain datagram pair. |
48 */ |
48 */ |
49 typedef struct { |
49 typedef struct { |
50 struct list_head list; /**< List header. */ |
50 struct list_head list; /**< List header. */ |
51 ec_domain_t *domain; |
51 ec_domain_t *domain; |
52 ec_datagram_t datagrams[EC_NUM_DEVICES]; /**< Main and backup datagram. |
52 ec_datagram_t datagrams[EC_MAX_NUM_DEVICES]; /**< Datagrams. */ |
53 */ |
53 #if EC_MAX_NUM_DEVICES > 1 |
54 uint8_t *send_buffer; |
54 uint8_t *send_buffer; |
|
55 #endif |
55 unsigned int expected_working_counter; /**< Expectord working conter. */ |
56 unsigned int expected_working_counter; /**< Expectord working conter. */ |
56 } ec_datagram_pair_t; |
57 } ec_datagram_pair_t; |
57 |
58 |
58 /*****************************************************************************/ |
59 /*****************************************************************************/ |
59 |
60 |
60 int ec_datagram_pair_init(ec_datagram_pair_t *, ec_domain_t *, uint32_t, |
61 int ec_datagram_pair_init(ec_datagram_pair_t *, ec_domain_t *, uint32_t, |
61 uint8_t *, size_t, const unsigned int []); |
62 uint8_t *, size_t, const unsigned int []); |
62 void ec_datagram_pair_clear(ec_datagram_pair_t *); |
63 void ec_datagram_pair_clear(ec_datagram_pair_t *); |
63 |
64 |
64 uint16_t ec_datagram_pair_process(ec_datagram_pair_t *, |
65 uint16_t ec_datagram_pair_process(ec_datagram_pair_t *, uint16_t[]); |
65 uint16_t[EC_NUM_DEVICES]); |
|
66 |
66 |
67 /*****************************************************************************/ |
67 /*****************************************************************************/ |
68 |
68 |
69 #endif |
69 #endif |