Go to the documentation of this file.
20 #ifndef CAN_CONN_ISOTP_H
21 #define CAN_CONN_ISOTP_H
31 #if defined(MODULE_CONN_CAN_ISOTP_MULTI) || defined(DOXYGEN)
34 #ifndef CONN_CAN_ISOTP_MBOX_SIZE
38 #define CONN_CAN_ISOTP_MBOX_SIZE (16)
104 #ifndef CONN_CAN_ISOTP_MBOX_SIZE
108 #define CONN_CAN_ISOTP_MBOX_SIZE (16)
114 typedef struct conn_can_isotp {
184 #if defined(MODULE_CONN_CAN_ISOTP_MULTI) || defined(DOXYGEN)
can_rx_data_t * rx
Buffered rx data.
The isotp_options struct.
int conn_can_isotp_recv(conn_can_isotp_t *conn, void *buf, size_t size, uint32_t timeout)
Receive isotp data.
Definitions high-level CAN interface.
ISO-TP master connection.
int conn_can_isotp_create(conn_can_isotp_t *conn, struct isotp_options *options, int ifnum)
Create can isotp connection socket.
struct conn_can_isotp_slave * next
First slave in the list.
struct conn_can_isotp_master * master
Master connection.
int bound
1 if connection is bound
struct conn_can_isotp_master * master
Master connection holding the mailbox.
Mailbox struct definition.
int conn_can_isotp_send(conn_can_isotp_t *conn, const void *buf, size_t size, int flags)
Generic can send.
struct conn_can_isotp_master conn_can_isotp_t
ISO-TP connection.
can_rx_data_t * rx
Buffered rx data.
int conn_can_isotp_bind(conn_can_isotp_t *conn, struct isotp_fc_options *fc_options)
Bind a can isotp connection.
The isotp_fc_options struct.
int conn_can_isotp_close(conn_can_isotp_t *conn)
Close can isotp connection socket.
ISO TP high level interface.
struct conn_can_isotp_slave conn_can_isotp_slave_t
ISO-TP salve connection.
Mutex for thread synchronization.
int ifnum
interface number
int ifnum
interface number
struct conn_can_isotp_slave * next
Next slave in the list.
mbox_t mbox
mailbox for the connection list
#define CONN_CAN_ISOTP_MBOX_SIZE
Mailbox size of a conn_can_isotp_t.
msg_t mbox_queue[CONN_CAN_ISOTP_MBOX_SIZE]
Connection list message queue.
Describes a message object which can be sent between threads.
int bound
1 if connection is bound
int conn_can_isotp_select(conn_can_isotp_slave_t **conn, conn_can_isotp_t *master, uint32_t timeout)
Wait for reception from multiple connections.
static void conn_can_isotp_init_slave(conn_can_isotp_t *master, conn_can_isotp_slave_t *slave)
Initialize a slave connection.