28#ifndef PROTOCORE_TCP_LOWER_H
29#define PROTOCORE_TCP_LOWER_H
45#ifndef PROTOCORE_TCP_TTL
46#define PROTOCORE_TCP_TTL 64
62static_assert(
sizeof(
protocore_tcp_op) == 1,
"protocore_tcp_op must stay one byte (PROTO_ENUM_PACKED)");
103 void (*
const marshal)(uint8_t *work);
104 void (*
const detach)(uint8_t *work);
105 void (*
const abort)(uint8_t *work);
106 void (*
const set_ttl)(uint8_t *work);
107 void (*
const apply_ttl)(uint8_t *work);
122static const TcpLowerNs TcpLower __attribute__((unused)) = {
PROTO_ENUM_PACKED
Application protocol spoken on a listener port or connection slot.
void protocore_tcp_lower_abort(uint8_t *work)
enum PROTO_ENUM_PACKED protocore_tcp_op
Which call into the lower-level module a marshaled op performs.
uint8_t * protocore_tcp_lower_span(void)
The PROTOCORE_TCP_LOWER_BORROW bytes this module's state lives in.
TcpLowerVars TcpLowerV
The operands and the outcome.
void protocore_tcp_lower_detach(uint8_t *work)
void protocore_tcp_lower_marshal(uint8_t *work)
@ PROTOCORE_OP_CLOSE_CHECK
void protocore_tcp_lower_set_ttl(uint8_t *work)
void protocore_tcp_lower_apply_ttl(uint8_t *work)
void(*const marshal)(uint8_t *work)
Layer 4 (Transport) - the connection state every half of TCP reads.
#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