RTEMS CAN/CAN FD Stack
|
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 (canque_ends_t) dead_peers | |
This member is used to chain ends wanting for postponed destruction. | |
Public Attributes | |
struct canqueue_edges_list_t | active [RTEMS_CAN_QUEUE_PRIO_NR] |
This member holds the array of the lists of active edges directed to the ends structure. | |
struct canqueue_edges_list_t | idle |
This member holds the list of the edges directed to the ends structure with empty FIFOs. | |
struct canqueue_edges_list_t | inlist |
This member holds the list of outgoing edges input sides. | |
struct canqueue_edges_list_t | 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 canque_ends_t *qends, struct canque_edge_t *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(* canque_ends_t::notify) (struct canque_ends_t *qends, struct canque_edge_t *qedge, int what) |
pointer to notify procedure. The next state changes are notified.
CANQUEUE_NOTIFY_EMPTY (out->in call) - all slots are processed by FIFO out side.
CANQUEUE_NOTIFY_SPACE (out->in call) - full state negated => there is space for new message.
CANQUEUE_NOTIFY_PROC (in->out call) - empty state negated => out side is requested to process slots.
CANQUEUE_NOTIFY_NOUSR (both) - notify, that the last user has released the edge usage called with some lock to prevent edge disappear.
CANQUEUE_NOTIFY_DEAD (both) - edge is in progress of deletion.
CANQUEUE_NOTIFY_ATTACH (both) - new edge has been attached to end.