RTEMS CAN/CAN FD Stack
Loading...
Searching...
No Matches
Classes
CANIoctl

Classes

struct  rtems_can_queue_param
 This structure represents parameters of FIFO queue. It is used to setup new queues via RTEMS_CAN_CREATE_QUEUE ioctl call. More...
 

RTEMS CAN Stack Supported IOCTL calls.

#define RTEMS_CAN_CHIP_START   _IO( CAN_IOC_MAGIC, 1 )
 This ioctl call starts the controller. This is required in order to perform read/write operations. It has no effect if the chip is already started.
 
#define RTEMS_CAN_CHIP_STOP   _IOW( CAN_IOC_MAGIC, 2, struct timespec )
 This ioctl call stops the controller. It has no effect if the chip is already stopped.
 
#define RTEMS_CAN_CLOSE_NONBLOCK   _IO( CAN_IOC_MAGIC, 3 )
 This ioctl call sets close operation to be blocking or nonblocking based on input parameter.
 
#define RTEMS_CAN_DISCARD_QUEUES   _IO( CAN_IOC_MAGIC, 4 )
 This ioctl call discards all RX/TX queues. Direction can be set with uint8_t parameter, see RTEMS_CAN_QUEUE_RX and RTEMS_CAN_QUEUE_TX.
 
#define RTEMS_CAN_FLUSH_QUEUES   _IO( CAN_IOC_MAGIC, 5 )
 This ioctl call flushes all RX/TX queues. Direction can be set with uint8_t parameter, see RTEMS_CAN_QUEUE_RX and RTEMS_CAN_QUEUE_TX.
 
#define RTEMS_CAN_CHIP_SET_MODE   _IO( CAN_IOC_MAGIC, 6 )
 This ioctl call sets controller's mode. Modes are passed uint32_t argument. Writing mode unsupported by the controller results in error as well as setting mode when the chip is already started.
 
#define RTEMS_CAN_CHIP_GET_INFO   _IO( CAN_IOC_MAGIC, 7 )
 This ioctl call obtains controller's info specified by input integer argument.
 
#define RTEMS_CAN_WAIT_TX_DONE   _IOW( CAN_IOC_MAGIC, 8, struct timespec )
 This ioctl call waits until all TX messages from all FIFOs are sent to the network or until timeout defined in struct timespec. The timeout is specified as a relative timeout. Passing NULL indicates an infinite timeout.
 
#define RTEMS_CAN_POLL_TX_READY   _IOW( CAN_IOC_MAGIC, 9, struct timespec )
 This ioctl call waits until there is a free space in any TX FIFO queue or until timeout defined in struct timespec. The timeout is specified as a relative timeout. Passing NULL indicates an infinite timeout.
 
#define RTEMS_CAN_POLL_RX_AVAIL   _IOW( CAN_IOC_MAGIC, 10, struct timespec )
 This ioctl call waits until there is an available frame in any RX FIFO queue or until timeout defined in struct timespec. The timeout is specified as a relative timeout. Passing NULL indicates an infinite timeout.
 
#define RTEMS_CAN_CREATE_QUEUE   _IOW( CAN_IOC_MAGIC, 11, struct rtems_can_queue_param )
 This ioctl call creates new queue. Parameters are set with rtems_can_queue_param structure.
 
#define RTEMS_CAN_SET_BITRATE   _IOW( CAN_IOC_MAGIC, 12, struct rtems_can_set_bittiming )
 This ioctl call sets controller's bitrate. See structure rtems_can_set_bittiming.
 
#define RTEMS_CAN_CHIP_GET_TIMESTAMP   _IOR( CAN_IOC_MAGIC, 13, uint64_t )
 This ioctl call obtains 64 unsigned timestamp from the controller.
 
#define RTEMS_CAN_CHIP_STATISTICS   _IOR( CAN_IOC_MAGIC, 14, struct rtems_can_stats )
 This ioctl call obtains controller's statistics via rtems_can_stats.
 
#define RTEMS_CAN_GET_BITTIMING   _IOWR( CAN_IOC_MAGIC, 15, struct rtems_can_get_bittiming )
 This ioctl call gets controller's bitrate. See structure rtems_can_set_bittiming.
 

Detailed Description