RTEMS 7.0-rc1
Loading...
Searching...
No Matches
Public Member Functions | Data Fields
rtems_can_queue_ends Struct Reference

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.
 

Detailed Description

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.

Field Documentation

◆ notify

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.

Parameters
qendsThe pointer to rtems_can_queue_ends structure.
qedgeThe pointer to rtems_can_queue_edge structure.
whatInteger specifying notification changes.

The documentation for this struct was generated from the following file: