![]() |
RTEMS 7.0-rc1
|
This structure represents place to connect edges to for CAN communication entity. The zero, one or more incoming and outgoing edges can be connected to this structure. More...
#include <can-queue.h>
Public Member Functions | |
| TAILQ_ENTRY (rtems_can_queue_ends) dead_peers | |
| This member is used to chain ends wanting for postponed destruction. | |
Data Fields | |
| struct rtems_can_queue_edges_list | active [RTEMS_CAN_QUEUE_PRIO_NR] |
| This member holds the array of the lists of active edges directed to the ends structure. | |
| struct rtems_can_queue_edges_list | idle |
| This member holds the list of the edges directed to the ends structure with empty FIFOs. | |
| struct rtems_can_queue_edges_list | inlist |
| This member holds the list of outgoing edges input sides. | |
| struct rtems_can_queue_edges_list | outlist |
| This member holds the list of all incoming edges output sides. Each of there edges is listed on one of active or idle lists. | |
| rtems_mutex | ends_lock |
| This member holds the lock synchronizing operations between threads accessing the ends. | |
| void(* | notify )(struct rtems_can_queue_ends *qends, struct rtems_can_queue_edge *qedge, int what) |
| pointer to notify procedure. The next state changes are notified. | |
This structure represents place to connect edges to for CAN communication entity. The zero, one or more incoming and outgoing edges can be connected to this structure.
| void(* rtems_can_queue_ends::notify) (struct rtems_can_queue_ends *qends, struct rtems_can_queue_edge *qedge, int what) |
pointer to notify procedure. The next state changes are notified.
RTEMS_CAN_QUEUE_NOTIFY_EMPTY (out->in call) - all slots are processed by FIFO out side.
RTEMS_CAN_QUEUE_NOTIFY_SPACE (out->in call) - full state negated => there is space for new message.
RTEMS_CAN_QUEUE_NOTIFY_PROC (in->out call) - empty state negated => out side is requested to process slots.
RTEMS_CAN_QUEUE_NOTIFY_NOUSR (both) - notify, that the last user has released the edge usage called with some lock to prevent edge disappear.
RTEMS_CAN_QUEUE_NOTIFY_DEAD (both) - edge is in progress of deletion.
RTEMS_CAN_QUEUE_NOTIFY_ATTACH (both) - new edge has been attached to end.
| qends | The pointer to rtems_can_queue_ends structure. |
| qedge | The pointer to rtems_can_queue_edge structure. |
| what | Integer specifying notification changes. |