25#ifndef PROTOCORE_COTP_H
26#define PROTOCORE_COTP_H
30#if PROTOCORE_ENABLE_COTP
38#define TPKT_VERSION 0x03
39#define TPKT_HEADER_SIZE 4
51#define COTP_PARAM_TPDU_SIZE 0xC0
52#define COTP_DT_HEADER_LEN 3
70 const uint8_t *payload;
79 const uint8_t **payload;
100 uint8_t tpdu_size_code;
101 const uint8_t *extra_params;
112 uint8_t tpdu_size_code;
113 const uint8_t *extra_params;
160 CotpTpktBuildArgs tpkt_build_args;
161 CotpTpktParseArgs tpkt_parse_args;
162 CotpBuildDtArgs build_dt_args;
163 CotpBuildCrArgs build_cr_args;
164 CotpBuildCcArgs build_cc_args;
165 CotpParseArgs parse_args;
171extern CotpVars CotpV;
176 void (*
const tpkt_build)(uint8_t *work);
177 void (*
const tpkt_parse)(uint8_t *work);
178 void (*
const build_dt)(uint8_t *work);
179 void (*
const build_cr)(uint8_t *work);
180 void (*
const build_cc)(uint8_t *work);
181 void (*
const parse)(uint8_t *work);
186void protocore_cotp_tpkt_build(uint8_t *work);
187void protocore_cotp_tpkt_parse(uint8_t *work);
188void protocore_cotp_build_dt(uint8_t *work);
189void protocore_cotp_build_cr(uint8_t *work);
190void protocore_cotp_build_cc(uint8_t *work);
191void protocore_cotp_parse(uint8_t *work);
197static const CotpNs Cotp __attribute__((unused)) = {
198 .tpkt_build = protocore_cotp_tpkt_build,
199 .tpkt_parse = protocore_cotp_tpkt_parse,
200 .build_dt = protocore_cotp_build_dt,
201 .build_cr = protocore_cotp_build_cr,
202 .build_cc = protocore_cotp_build_cc,
203 .parse = protocore_cotp_parse,
#define PROTOCORE_BEGIN_DECLS
Give a header's declarations C linkage, so their symbol names carry no parameter types.
_Bool proto_bool
The truth value.
#define PROTOCORE_END_DECLS