21#ifndef PROTOCORE_SESSION_H
22#define PROTOCORE_SESSION_H
64 void (*
const register_builtins)(uint8_t *work);
65 void (*
const add)(uint8_t *work);
66 void (*
const get)(uint8_t *work);
105#if PROTOCORE_ENABLE_HTTP2
120#if PROTOCORE_ENABLE_HTTP3
127#if PROTOCORE_ENABLE_FILE_SERVING
149#if PROTOCORE_ENABLE_SSH_SCP
183#if PROTOCORE_ENABLE_SSH_SFTP
217 uint32_t wr_remaining;
257 void (*
const tick)(uint8_t *work);
268static const SessionNs Session __attribute__((unused)) = {
#define PROTOCORE_SFTP_ENTRY_MAX
Largest serialized SSH_FXP_NAME entry one READDIR emits: filename, ls -l longname and attributes....
#define PROTOCORE_SFTP_PKT_BUF
SFTP packet-assembly buffer per SFTP channel (bytes); bounds one non-streamed request/response.
#define PROTOCORE_SFTP_MAX_HANDLES
Max concurrent open SFTP handles (files + dirs) per SSH connection.
#define MAX_SSH_CONNS
Maximum simultaneous SSH connections.
PROTO_ENUM_PACKED
Application protocol spoken on a listener port or connection slot.
#define PROTOCORE_FILESYSTEM_PATH_MAX
Largest absolute path the SFTP/SCP server resolves (mount root + request path).
enum PROTO_ENUM_PACKED ProtoConn
Application protocol spoken on a listener port or connection slot.
What the stack callbacks post to a listener's queue: the event type and the record.
Core server - per-protocol connection handler dispatch table.
uint32_t http_req_start_ms[CONN_POOL_SLOTS]
proto_bool(* protocore_resp_sink_fn)(uint8_t slot, int code, const char *content_type, const char *body, size_t len)
SessionVars SessionV
The operands and the outcome.
void protocore_protocols_add(uint8_t *work)
ProtocolsVars ProtocolsV
The operands and the outcome.
void protocore_protocols_register_builtins(uint8_t *work)
uint8_t * protocore_session_span(void)
The PROTOCORE_SESSION_BORROW bytes this module's state lives in.
protocore_resp_sink_fn http_resp_sink[CONN_POOL_SLOTS]
void protocore_protocols_get(uint8_t *work)
void protocore_session_tick(uint8_t *work)
Per-protocol connection event/poll callbacks (the server's dispatch vtable).
void(*const register_builtins)(uint8_t *work)
const ProtoHandler * handler
proto_u32 conn_timeout_ms
_Bool proto_bool
The truth value.
Core server - server worker identity.