108 |
108 |
109 typedef struct |
109 typedef struct |
110 { |
110 { |
111 struct list_head list; /**< needed by domain datagram lists */ |
111 struct list_head list; /**< needed by domain datagram lists */ |
112 struct list_head queue; /**< master datagram queue item */ |
112 struct list_head queue; /**< master datagram queue item */ |
|
113 struct list_head sent; /**< master list item for sent datagrams */ |
113 ec_datagram_type_t type; /**< datagram type (APRD, BWR, etc) */ |
114 ec_datagram_type_t type; /**< datagram type (APRD, BWR, etc) */ |
114 ec_address_t address; /**< receipient address */ |
115 ec_address_t address; /**< receipient address */ |
115 uint8_t *data; /**< datagram data */ |
116 uint8_t *data; /**< datagram data */ |
116 size_t mem_size; /**< datagram \a data memory size */ |
117 size_t mem_size; /**< datagram \a data memory size */ |
117 size_t data_size; /**< size of the data in \a data */ |
118 size_t data_size; /**< size of the data in \a data */ |
118 uint8_t index; /**< datagram index (set by master) */ |
119 uint8_t index; /**< datagram index (set by master) */ |
119 uint16_t working_counter; /**< working counter */ |
120 uint16_t working_counter; /**< working counter */ |
120 ec_datagram_state_t state; /**< datagram state */ |
121 ec_datagram_state_t state; /**< datagram state */ |
|
122 cycles_t cycles_queued; /**< time, the datagram was queued */ |
121 cycles_t cycles_sent; /**< time, the datagram was sent */ |
123 cycles_t cycles_sent; /**< time, the datagram was sent */ |
|
124 unsigned long jiffies_sent; /**< jiffies when datagram was sent */ |
|
125 cycles_t cycles_received; /**< time, the datagram was received */ |
|
126 unsigned long jiffies_received; /**< jiffies when datagram was received */ |
122 } |
127 } |
123 ec_datagram_t; |
128 ec_datagram_t; |
124 |
129 |
125 /*****************************************************************************/ |
130 /*****************************************************************************/ |
126 |
131 |