isotp-c
Platform-independent ISO 15765-2 transport for embedded C
Loading...
Searching...
No Matches
isotp.h File Reference

Public ISO-TP link and transport API. More...

#include <stdbool.h>
#include <stdio.h>
#include <string.h>
#include "isotp_config.h"
#include "isotp_defines.h"
#include "isotp_user.h"
Include dependency graph for isotp.h:

Go to the source code of this file.

Data Structures

 State for one independent, full-duplex ISO-TP conversation. More...

Typedefs

typedef struct IsoTpLink IsoTpLink
 State for one independent, full-duplex ISO-TP conversation.

Functions

void isotp_init_link (IsoTpLink *link, uint32_t sendid, uint8_t *sendbuf, uint32_t sendbufsize, uint8_t *recvbuf, uint32_t recvbufsize)
 Initialise an ISO-TP link and its caller-owned buffers.
uint8_t isotp_get_tx_dl (const IsoTpLink *link)
 Return the effective transmit data length for a link.
void isotp_destroy_link (IsoTpLink *link)
 Clear a link's state and callback registrations.
void isotp_on_can_message (IsoTpLink *link, const uint8_t *data, uint8_t len)
 Process one CAN frame already routed to this link.
int isotp_send (IsoTpLink *link, const uint8_t payload[], uint32_t size)
 Start transmitting a payload with the link's configured CAN identifier.
int isotp_send_with_id (IsoTpLink *link, uint32_t id, const uint8_t payload[], uint32_t size)
 Start transmitting with a one-time CAN identifier override.
int isotp_receive (IsoTpLink *link, uint8_t *payload, const uint32_t payload_size, uint32_t *out_size)
 Copy and consume one completed, non-streaming message.
void isotp_set_tx_done_cb (IsoTpLink *link, isotp_tx_done_cb cb, void *arg)
 Register or clear the successful-transmission callback.

Detailed Description

Public ISO-TP link and transport API.

Definition in file isotp.h.