ProtoCore v1.0.16
Deterministic, zero-heap network stack for embedded targets
Loading...
Searching...
No Matches
feature_en_error.h File Reference

What the enabled features require of each other and of the sizing, as compile-time refusals. More...

Go to the source code of this file.

Macros

#define PROTOCORE_HPACK_BORROW   ((size_t)PROTOCORE_HPACK_MAX_ENTRIES * 8 + PROTOCORE_HPACK_TABLE_BYTES + 32)
 The HPACK dynamic table one connection tracks for its peer's encoder.
 
#define PROTOCORE_SSH_MAX_CHANNELS   1
 Maximum concurrent SSH channels per connection (RFC 4254 multiplexing).
 
#define PROTOCORE_WORK_H2_CONN    ((size_t)MAX_CONNS * ((size_t)PROTOCORE_H2_MAX_FRAME + 2u * (size_t)PROTOCORE_H2_HDR_BLOCK + 16u))
 
#define PROTOCORE_H3_CONN_CTX   672
 
#define PROTOCORE_H3_CONN_BORROW
 
#define PROTOCORE_WORK_H3_CONN   ((size_t)PROTOCORE_QUIC_MAX_CONNS * PROTOCORE_H3_CONN_BORROW)
 
#define PROTOCORE_QUIC_SERVER_BORROW
 
#define PROTOCORE_QUIC_CONN_BORROW    (((size_t)PROTOCORE_QUIC_MAX_STREAMS * PROTOCORE_QUIC_STREAM_TX) + 3u * (size_t)PROTOCORE_QUIC_CRYPTO_RX)
 
#define PROTOCORE_WORK_QUIC_CONN   ((size_t)PROTOCORE_QUIC_MAX_CONNS * PROTOCORE_QUIC_CONN_BORROW)
 
#define PROTOCORE_EDGE_PROXY_BORROW   28672
 
#define PROTOCORE_EUROMAP77_BORROW   16
 
#define PROTOCORE_UMATI_BORROW   16
 
#define PROTOCORE_ROBOTICS_BORROW   128
 
#define PROTOCORE_SIMATIC_BORROW   48
 
#define PROTOCORE_J1939_BORROW   16
 
#define PROTOCORE_MODBUS_BORROW
 
#define PROTOCORE_ESPNOW_BORROW   ((size_t)PROTOCORE_ESPNOW_MAX_PEERS * 8u + 32u)
 
#define PROTOCORE_PROMISC_BORROW   16
 
#define PROTOCORE_WIFI_SNIFFER_BORROW   256
 
#define PROTOCORE_RADIO_POWER_BORROW   16
 
#define PROTOCORE_DNS_SERVER_BORROW
 
#define PROTOCORE_FORWARD_BORROW
 
#define PROTOCORE_LOG_BORROW   16u
 
#define PROTOCORE_DIFFSERV_BORROW   8u
 
#define PROTOCORE_UDP_CLIENT_BORROW   16u
 
#define PROTOCORE_UDP_LISTENER_BORROW
 
#define PROTOCORE_TCP_LOWER_BORROW   ((size_t)CONN_POOL_SLOTS * 96u + 64u)
 
#define PROTOCORE_CONN_POOL_BORROW   ((size_t)RX_BUF_SIZE + 512u)
 
#define PROTOCORE_TCP_LISTENER_BORROW
 
#define PROTOCORE_TCP_CLIENT_BORROW   ((size_t)PROTOCORE_CLIENT_CONNS * ((size_t)PROTOCORE_CLIENT_RX_BUF + 96u) + 64u)
 
#define PROTOCORE_HAPPY_EYEBALLS_BORROW   16u
 
#define PROTOCORE_PHYSICAL_BORROW   ((size_t)PROTOCORE_PHY_MAX_IFACES * 32u + 32u)
 
#define PROTOCORE_SHA256_BORROW   256
 Worst-case bytes each module borrows from the secure pool in a single call.
 
#define PROTOCORE_SHA1_BORROW   160
 
#define PROTOCORE_SSH_KEXHASH_BORROW   (PROTOCORE_SHA512_BORROW + 8)
 
#define PROTOCORE_SHA512_BORROW   448
 
#define PROTOCORE_SHA384_BORROW   448
 
#define PROTOCORE_HMAC_SHA512_BORROW   (2 * PROTOCORE_SHA512_BORROW + 768)
 
#define PROTOCORE_HMAC_SHA384_BORROW   (2 * PROTOCORE_SHA384_BORROW + 768)
 
#define PROTOCORE_HMAC_SHA256_BORROW   (2 * PROTOCORE_SHA256_BORROW + 384)
 
#define PROTOCORE_WORK_BIGNUM_HW   1328
 
#define PROTOCORE_WORK_BIGNUM_SW   1408
 
#define PROTOCORE_AESGCM_BORROW_HW   416
 
#define PROTOCORE_AESGCM_BORROW_SW   640
 
#define PROTOCORE_AESGCM_BORROW   PROTOCORE_AESGCM_BORROW_SW
 
#define PROTOCORE_WORK_AESCCM   448
 
#define PROTOCORE_WORK_AES128_HW   288
 
#define PROTOCORE_WORK_AES128_SW   176
 
#define PROTOCORE_WORK_AES128   PROTOCORE_WORK_AES128_SW
 
#define PROTOCORE_WORK_AES128GCM_HW   416
 
#define PROTOCORE_WORK_AES128GCM_SW   576
 
#define PROTOCORE_WORK_AES128GCM   PROTOCORE_WORK_AES128GCM_SW
 
#define PROTOCORE_CHACHAPOLY_BORROW   (64 + PROTOCORE_CHACHA20_BORROW + PROTOCORE_POLY1305_BORROW)
 
#define PROTOCORE_CHACHA20_BORROW   192
 
#define PROTOCORE_AES256CTR_BORROW   384
 
#define PROTOCORE_POLY1305_BORROW   96
 
#define PROTOCORE_AES_CMAC_BORROW   384
 
#define PROTOCORE_MD_BORROW   448
 
#define PROTOCORE_SHA3_BORROW   224
 
#define PROTOCORE_KDF_BORROW   (PROTOCORE_HMAC_SHA256_BORROW + 64)
 
#define PROTOCORE_GHASH_BORROW   256
 
#define PROTOCORE_BIGNUM_BORROW   304
 
#define PROTOCORE_AESCCM_BORROW   PROTOCORE_WORK_AESCCM
 
#define PROTOCORE_AES128GCM_BORROW   (PROTOCORE_WORK_AES128GCM + PROTOCORE_WORK_AES128)
 
#define PROTOCORE_TLS_RECORD_AEAD_BORROW   PROTOCORE_AESGCM_BORROW
 
#define PROTOCORE_CURVE25519_BORROW   960
 
#define PROTOCORE_ED25519_BORROW   (768 + PROTOCORE_SHA512_BORROW)
 
#define PROTOCORE_RSA_KEY_BYTES   256
 
#define PROTOCORE_RSA_BORROW   (PROTOCORE_SHA256_BORROW + PROTOCORE_SHA512_BORROW + PROTOCORE_BIGNUM_BORROW + 2432)
 
#define PROTOCORE_MLKEM_BORROW   PROTOCORE_SHA3_BORROW
 
#define PROTOCORE_SNTRUP761_BORROW   PROTOCORE_SHA512_BORROW
 
#define PROTOCORE_RNG_BORROW   (88 + PROTOCORE_CHACHA20_BORROW)
 
#define PROTOCORE_WORK_SSH_CONN   (4u * (size_t)SSH_PKT_BUF_SIZE)
 
#define PROTOCORE_TLS_CONN_MSG_CAP   1024
 
#define PROTOCORE_TLS_CONN_REC_CAP   1024
 
#define PROTOCORE_TLS13_SECRET_MAX   48
 
#define PROTOCORE_TLS_CONN_TERMS   5
 
#define PROTOCORE_TLS_CONN_TERMS_CAP   ((size_t)PROTOCORE_TLS_CONN_TERMS * PROTOCORE_TLS13_SECRET_MAX)
 
#define PROTOCORE_TLS_CONN_STATE_CAP   3872
 
#define PROTOCORE_TLS_CONN_PEERKEY_CAP   320
 
#define PROTOCORE_TLS13_KS_TERMS   12
 
#define PROTOCORE_TLS13_KS_BORROW    ((size_t)PROTOCORE_TLS13_KS_TERMS * PROTOCORE_TLS13_SECRET_MAX + PROTOCORE_HKDF_SHA384_BORROW)
 
#define PROTOCORE_TLS13_TRANSCRIPT_BORROW   PROTOCORE_SHA256_BORROW
 
#define PROTOCORE_WORK_TLS_CONN
 
#define PROTOCORE_SSE_BORROW   (MAX_ROUTES * 8 + SSE_BUF_SIZE + 32)
 Size in bytes of the per-slot SECURE pool (see mmgr/secure.h), DERIVED.
 
#define PROTOCORE_WS_BORROW   (MAX_ROUTES * 24 + RX_BUF_SIZE + 32)
 
#define PROTOCORE_CSRF_BORROW   (64 + PROTOCORE_HMAC_SHA256_BORROW)
 
#define PROTOCORE_AUTH_LOCKOUT_BORROW   ((size_t)PROTOCORE_AUTH_LOCKOUT_SLOTS * 48u)
 
#define PROTOCORE_FORWARDED_TRUST_BORROW   ((size_t)PROTOCORE_TRUSTED_PROXY_MAX * 32u)
 
#define PROTOCORE_AUDIT_LOG_BORROW    ((size_t)PROTOCORE_AUDIT_LOG_ENTRIES * (PROTOCORE_AUDIT_MSG_LEN + PROTOCORE_AUDIT_HASH_LEN + 64u) + 128u)
 
#define PROTOCORE_WEB_TERMINAL_BORROW   (MAX_PATH_LEN + MAX_WS_CONNS + 32u)
 
#define PROTOCORE_CONFIG_STORE_BORROW   (PROTOCORE_CONFIG_KEY_MAX + 32u)
 
#define PROTOCORE_RELAY_LISTENER_BORROW
 
#define PROTOCORE_GATEWAY_BORROW   ((size_t)PROTOCORE_GW_MAX_PORTS * 32u + 128u)
 
#define PROTOCORE_IFACE_BRIDGE_BORROW   ((size_t)PROTOCORE_BRIDGE_MAX_RULES * 64u + 64u)
 
#define PROTOCORE_IFACE_BRIDGE_HW_BORROW    ((size_t)PROTOCORE_BRIDGE_MAX_RULES * 16u + PROTOCORE_BRIDGE_STREAM_CHUNK + 64u)
 
#define PROTOCORE_WEBDAV_BORROW   4096
 
#define PROTOCORE_PROVISIONING_BORROW   32
 
#define PROTOCORE_HOTSWAP_BORROW   128
 
#define PROTOCORE_SMBUS_BORROW   64
 
#define PROTOCORE_MPR121_BORROW   128
 
#define PROTOCORE_HMMD_BORROW   256
 
#define PROTOCORE_LD2410_BORROW   320
 
#define PROTOCORE_DASHBOARD_BORROW   ((size_t)PROTOCORE_DASHBOARD_MAX_WIDGETS * 4u + 2u * MAX_PATH_LEN + 64u)
 
#define PROTOCORE_I2C_DEVICE_BORROW   32
 
#define PROTOCORE_BUS_CAPTURE_BORROW   32u
 
#define PROTOCORE_QUIC_CONN_CTX_BORROW   13952
 
#define PROTOCORE_SECURE_WORK_BIGNUM   (PROTOCORE_WORK_BIGNUM_SW + PROTOCORE_WORK_SSH_HOST_KEY)
 
#define PROTOCORE_SECURE_WORK_AEAD   0
 
#define PROTOCORE_SMB_CLIENT_BORROW    (2u * PROTOCORE_SMB_BUF + 5u * (PROTOCORE_SMB_BUF / 2) + PROTOCORE_CRYPTO_BORROW_MAX)
 
#define PROTOCORE_SECURE_WORK_SMBCLIENT   0
 
#define PROTOCORE_SECURE_WORK_SMB   0
 
#define PROTOCORE_SECURE_WORK_SSHCIPHER   0
 
#define PROTOCORE_SECURE_WORK_SSHCONN   0
 
#define PROTOCORE_SSH_CLIENT_BORROW   384u
 
#define PROTOCORE_SECURE_WORK_SSHCLIENT   0
 
#define PROTOCORE_SECURE_WORK_SSHSLOTS   0
 
#define PROTOCORE_SSH_RSA_BORROW   64u
 
#define PROTOCORE_SECURE_WORK_SSHRSA   0
 
#define PROTOCORE_SSH_CONNECTION_BORROW   ((size_t)PROTOCORE_SSH_RFWD_MAX * (PROTOCORE_SSH_FWD_HOST_MAX + 16u) + 128u)
 
#define PROTOCORE_SECURE_WORK_SSHCONNECTION   0
 
#define PROTOCORE_SSH_AUTH_BORROW   ((size_t)MAX_SSH_CONNS * 160u + 32u)
 
#define PROTOCORE_SECURE_WORK_SSHAUTH   0
 
#define PROTOCORE_SSH_TRANSPORT_BORROW   192u
 
#define PROTOCORE_SECURE_WORK_SSHTRANSPORT   0
 
#define PROTOCORE_SECURE_WORK_AUTH   0
 
#define PROTOCORE_SECURE_WORK_SSE   0
 
#define PROTOCORE_H2_CONN_RECORD   32768
 
#define PROTOCORE_SECURE_WORK_H2_SERVER   0
 
#define PROTOCORE_SECURE_WORK_WS   0
 
#define PROTOCORE_SECURE_WORK_CSRF   0
 
#define PROTOCORE_SECURE_WORK_LOCKOUT   0
 
#define PROTOCORE_SECURE_WORK_FWDTRUST   0
 
#define PROTOCORE_SECURE_WORK_AUDIT   0
 
#define PROTOCORE_SECURE_WORK_WEBTERM   0
 
#define PROTOCORE_SECURE_WORK_CFGSTORE   0
 
#define PROTOCORE_SECURE_WORK_RELAYLISTEN   0
 
#define PROTOCORE_SECURE_WORK_GATEWAY   0
 
#define PROTOCORE_SECURE_WORK_IFACEBRIDGE   0
 
#define PROTOCORE_SECURE_WORK_IFACEBRIDGEHW   0
 
#define PROTOCORE_SECURE_WORK_WEBDAV   0
 
#define PROTOCORE_SECURE_WORK_PROVISIONING   0
 
#define PROTOCORE_SECURE_WORK_HOTSWAP   0
 
#define PROTOCORE_SECURE_WORK_SMBUS   0
 
#define PROTOCORE_SECURE_WORK_MPR121   0
 
#define PROTOCORE_SECURE_WORK_HMMD   0
 
#define PROTOCORE_SECURE_WORK_LD2410   0
 
#define PROTOCORE_SECURE_WORK_DASHBOARD   0
 
#define PROTOCORE_SECURE_WORK_ADS1115   0
 
#define PROTOCORE_SECURE_WORK_INA219   0
 
#define PROTOCORE_SECURE_WORK_PCA9685   0
 
#define PROTOCORE_SECURE_WORK_FDC2214   0
 
#define PROTOCORE_SECURE_WORK_LDC1614   0
 
#define PROTOCORE_SECURE_WORK_VL53L0X   0
 
#define PROTOCORE_SECURE_WORK_RTC   0
 
#define PROTOCORE_SECURE_WORK_SHT3X   0
 
#define PROTOCORE_SECURE_WORK_BUSCAPTURE   0
 
#define PROTOCORE_SECURE_WORK_TLSCONN   0
 
#define PROTOCORE_SECURE_WORK_QUICCONN   0
 
#define PROTOCORE_SECURE_WORK_SHA1   0
 
#define PROTOCORE_SECURE_WORK_SHA3   0
 
#define PROTOCORE_SECURE_WORK_SHA256   0
 
#define PROTOCORE_SECURE_WORK_CURVE25519   0
 
#define PROTOCORE_SECURE_WORK_ED25519   0
 
#define PROTOCORE_SECURE_WORK_ECDSA   0
 
#define PROTOCORE_SECURE_WORK_RSA   0
 
#define PROTOCORE_SECURE_WORK_MLKEM   0
 
#define PROTOCORE_SECURE_WORK_SNTRUP761   0
 
#define PROTOCORE_SECURE_WORK_AES128GCM   0
 
#define PROTOCORE_SECURE_WORK_RNG   0
 
#define PROTOCORE_DNS_RESOLVER_BORROW   192u
 
#define PROTOCORE_SECURE_WORK_DNSRESOLVER   0
 
#define PROTOCORE_TLS_SEAM_OUT_CAP   2048
 
#define PROTOCORE_TLS_BORROW   ((size_t)MAX_CONNS * 3584u + (size_t)PROTOCORE_TLS_SEAM_OUT_CAP + 128u)
 
#define PROTOCORE_SECURE_WORK_TLSSEAM   0
 
#define PROTOCORE_X509_VERIFY_BORROW   ((size_t)PROTOCORE_RSA_KEY_BYTES + 8u + PROTOCORE_RSA_BORROW)
 
#define PROTOCORE_SECURE_WORK_X509VERIFY   0
 
#define PROTOCORE_SECURE_ARENA_SIZE
 
#define PROTOCORE_WORKER_STACK_PQC_MIN   16384
 
#define PROTOCORE_WORKER_STACK_SNTRUP_MIN   32768
 
#define PROTO_MAX_HANDLERS   12
 Size of the protocol-handler dispatch table; must exceed the largest ProtoConn id.
 
#define PROTOCORE_SSH_CPUB_MAX   256
 Reverse-SSH tunnel: max concurrent forwarded-tcpip channels bridged at once. A relay that forwards to a web UI opens one channel per inbound TCP connection, so this bounds concurrency.
 

Detailed Description

What the enabled features require of each other and of the sizing, as compile-time refusals.

Reached from protocore_config.h, which is the single entry point and states the feature flags every block here is gated on. Including this file on its own would read those flags before they are settled.

Author
Douglas Quigg (dstroy0)
Date
2026

Definition in file feature_en_error.h.

Macro Definition Documentation

◆ PROTOCORE_HPACK_BORROW

#define PROTOCORE_HPACK_BORROW   ((size_t)PROTOCORE_HPACK_MAX_ENTRIES * 8 + PROTOCORE_HPACK_TABLE_BYTES + 32)

The HPACK dynamic table one connection tracks for its peer's encoder.

The entry descriptors and the byte ring they index into. The connection owns these bytes; the exact width is hpack.c's, and the static_assert there is what proves this covers it.

Definition at line 182 of file feature_en_error.h.

◆ PROTOCORE_SSH_MAX_CHANNELS

#define PROTOCORE_SSH_MAX_CHANNELS   1

Maximum concurrent SSH channels per connection (RFC 4254 multiplexing).

Default 1 - one "session" channel per connection, byte-for-byte the original single-channel behavior. Raise it to multiplex several channels (e.g. several concurrent shells/exec, or - with the forwarding build flags - tunnels) over one SSH connection; each channel gets its own id, window, and peer state. Fixed BSS (ssh_chan[MAX_SSH_CONNS][PROTOCORE_SSH_MAX_CHANNELS]), no heap.

Definition at line 207 of file feature_en_error.h.

◆ PROTOCORE_WORK_H2_CONN

#define PROTOCORE_WORK_H2_CONN    ((size_t)MAX_CONNS * ((size_t)PROTOCORE_H2_MAX_FRAME + 2u * (size_t)PROTOCORE_H2_HDR_BLOCK + 16u))

Definition at line 218 of file feature_en_error.h.

◆ PROTOCORE_H3_CONN_CTX

#define PROTOCORE_H3_CONN_CTX   672

Definition at line 230 of file feature_en_error.h.

◆ PROTOCORE_H3_CONN_BORROW

#define PROTOCORE_H3_CONN_BORROW
Value:
((size_t)PROTOCORE_H3_CONN_CTX + \
#define PROTOCORE_H3_QPACK_SCRATCH
#define PROTOCORE_H3_PATH_LEN
captured :path length cap
#define PROTOCORE_H3_MAX_STREAMS
Maximum concurrent request streams per HTTP/3 connection.
#define PROTOCORE_H3_AUTHORITY_LEN
captured :authority length cap
#define PROTOCORE_H3_QPACK_BLOCK
#define PROTOCORE_H3_STREAM_BUF
per-request-stream reassembly buffer (HEADERS + DATA)
#define PROTOCORE_H3_METHOD_LEN
captured :method length cap
#define PROTOCORE_H3_CONN_CTX

Definition at line 236 of file feature_en_error.h.

◆ PROTOCORE_WORK_H3_CONN

#define PROTOCORE_WORK_H3_CONN   ((size_t)PROTOCORE_QUIC_MAX_CONNS * PROTOCORE_H3_CONN_BORROW)

Definition at line 243 of file feature_en_error.h.

◆ PROTOCORE_QUIC_SERVER_BORROW

#define PROTOCORE_QUIC_SERVER_BORROW
Value:
(96u + (size_t)PROTOCORE_QUIC_MAX_CONNS * 56u + \
#define PROTOCORE_QUIC_MAX_CONNS
Simultaneous HTTP/3 connections. Each is a QuicConn plus an H3Conn.
#define PROTOCORE_QUIC_INGEST_RING
Datagrams buffered from the lwIP thread until the server poll drains them.
#define PROTOCORE_QUIC_MAX_DATAGRAM
Largest UDP payload the QUIC transport sends or accepts (conservative, under a 1500 MTU).

Definition at line 254 of file feature_en_error.h.

◆ PROTOCORE_QUIC_CONN_BORROW

#define PROTOCORE_QUIC_CONN_BORROW    (((size_t)PROTOCORE_QUIC_MAX_STREAMS * PROTOCORE_QUIC_STREAM_TX) + 3u * (size_t)PROTOCORE_QUIC_CRYPTO_RX)

Definition at line 264 of file feature_en_error.h.

◆ PROTOCORE_WORK_QUIC_CONN

#define PROTOCORE_WORK_QUIC_CONN   ((size_t)PROTOCORE_QUIC_MAX_CONNS * PROTOCORE_QUIC_CONN_BORROW)

Definition at line 268 of file feature_en_error.h.

◆ PROTOCORE_EDGE_PROXY_BORROW

#define PROTOCORE_EDGE_PROXY_BORROW   28672

Definition at line 279 of file feature_en_error.h.

◆ PROTOCORE_EUROMAP77_BORROW

#define PROTOCORE_EUROMAP77_BORROW   16

Definition at line 288 of file feature_en_error.h.

◆ PROTOCORE_UMATI_BORROW

#define PROTOCORE_UMATI_BORROW   16

Definition at line 296 of file feature_en_error.h.

◆ PROTOCORE_ROBOTICS_BORROW

#define PROTOCORE_ROBOTICS_BORROW   128

Definition at line 303 of file feature_en_error.h.

◆ PROTOCORE_SIMATIC_BORROW

#define PROTOCORE_SIMATIC_BORROW   48

Definition at line 310 of file feature_en_error.h.

◆ PROTOCORE_J1939_BORROW

#define PROTOCORE_J1939_BORROW   16

Definition at line 318 of file feature_en_error.h.

◆ PROTOCORE_MODBUS_BORROW

#define PROTOCORE_MODBUS_BORROW
Value:
((size_t)((PROTOCORE_MODBUS_COILS + 7) / 8) + (size_t)((PROTOCORE_MODBUS_DISCRETE_INPUTS + 7) / 8) + \
#define PROTOCORE_MODBUS_INPUT_REGS
Number of Modbus input registers (FC 4), 16-bit read-only (BSS).
#define PROTOCORE_MODBUS_COILS
Number of Modbus coils (FC 1/5/15), single-bit R/W (BSS, bit-packed).
#define PROTOCORE_MODBUS_HOLDING_REGS
Number of Modbus holding registers (FC 3/6/16), 16-bit R/W (BSS).
#define PROTOCORE_MODBUS_DISCRETE_INPUTS
Number of Modbus discrete inputs (FC 2), single-bit read-only (BSS, bit-packed).

Definition at line 326 of file feature_en_error.h.

◆ PROTOCORE_ESPNOW_BORROW

#define PROTOCORE_ESPNOW_BORROW   ((size_t)PROTOCORE_ESPNOW_MAX_PEERS * 8u + 32u)

Definition at line 335 of file feature_en_error.h.

◆ PROTOCORE_PROMISC_BORROW

#define PROTOCORE_PROMISC_BORROW   16

Definition at line 341 of file feature_en_error.h.

◆ PROTOCORE_WIFI_SNIFFER_BORROW

#define PROTOCORE_WIFI_SNIFFER_BORROW   256

Definition at line 348 of file feature_en_error.h.

◆ PROTOCORE_RADIO_POWER_BORROW

#define PROTOCORE_RADIO_POWER_BORROW   16

Definition at line 354 of file feature_en_error.h.

◆ PROTOCORE_DNS_SERVER_BORROW

#define PROTOCORE_DNS_SERVER_BORROW
Value:
(size_t)PROTOCORE_DNS_NAME_MAX + 96u)
#define PROTOCORE_DNS_SERVER_MAX_RECORDS
Max A records in the DNS server's fixed table.
#define PROTOCORE_DNS_NAME_MAX
Max length of a queried/stored DNS name (bytes, incl NUL).

Definition at line 362 of file feature_en_error.h.

◆ PROTOCORE_FORWARD_BORROW

#define PROTOCORE_FORWARD_BORROW
Value:
((size_t)PROTOCORE_FWD_MAX_RULES * 24u + \
(size_t)PROTOCORE_FWD_MAX_ACL * ((size_t)PROTOCORE_FWD_ACL_PATLEN * 2u + 24u) + \
(size_t)PROTOCORE_FWD_MAX_ROUTES * ((size_t)PROTOCORE_FWD_ACL_PATLEN * 2u + 32u) + 128u)
#define PROTOCORE_FWD_ACL_PATLEN
Bytes an ACL entry can match (its pattern / mask length).
#define PROTOCORE_FWD_MAX_ACL
Max ingress access-control entries (byte-pattern permit/deny; static).
#define PROTOCORE_FWD_MAX_RULES
Max forwarding rules (src -> dst allow/deny + rate cap; static-allocated).
#define PROTOCORE_FWD_MAX_ROUTES
Max policy routes (byte-pattern -> egress interface; static). Policy routes take precedence over the ...

Definition at line 372 of file feature_en_error.h.

◆ PROTOCORE_LOG_BORROW

#define PROTOCORE_LOG_BORROW   16u

Definition at line 382 of file feature_en_error.h.

◆ PROTOCORE_DIFFSERV_BORROW

#define PROTOCORE_DIFFSERV_BORROW   8u

Definition at line 389 of file feature_en_error.h.

◆ PROTOCORE_UDP_CLIENT_BORROW

#define PROTOCORE_UDP_CLIENT_BORROW   16u

Definition at line 396 of file feature_en_error.h.

◆ PROTOCORE_UDP_LISTENER_BORROW

#define PROTOCORE_UDP_LISTENER_BORROW
Value:
256u)
#define PROTOCORE_MAX_UDP_LISTENERS
Maximum simultaneously bound UDP ports (transport-layer UDP service).
#define PROTOCORE_UDP_RX_BUF_SIZE
Largest UDP datagram a bound port accepts, in bytes.
#define PROTOCORE_UDP_RX_RING
Per-slot UDP receive ring, in bytes.

Definition at line 405 of file feature_en_error.h.

◆ PROTOCORE_TCP_LOWER_BORROW

#define PROTOCORE_TCP_LOWER_BORROW   ((size_t)CONN_POOL_SLOTS * 96u + 64u)

Definition at line 415 of file feature_en_error.h.

◆ PROTOCORE_CONN_POOL_BORROW

#define PROTOCORE_CONN_POOL_BORROW   ((size_t)RX_BUF_SIZE + 512u)

Definition at line 424 of file feature_en_error.h.

◆ PROTOCORE_TCP_LISTENER_BORROW

#define PROTOCORE_TCP_LISTENER_BORROW
Value:
(size_t)PROTOCORE_WORKER_COUNT * ((size_t)EVT_QUEUE_DEPTH * 24u + 128u) + 256u)
#define PROTOCORE_WORKER_COUNT
Number of server worker tasks (slots partitioned i % N). Default 1.
#define PROTOCORE_PER_IP_THROTTLE_SLOTS
Number of source IPv4 addresses tracked by the per-IP throttle (BSS bucket table).
#define PROTOCORE_IP_ALLOWLIST_SLOTS
Number of CIDR rules the source-IP allowlist can hold (BSS table).
#define EVT_QUEUE_DEPTH
Depth of the FreeRTOS event queue shared between lwIP callbacks and the main-loop task.

Definition at line 433 of file feature_en_error.h.

◆ PROTOCORE_TCP_CLIENT_BORROW

#define PROTOCORE_TCP_CLIENT_BORROW   ((size_t)PROTOCORE_CLIENT_CONNS * ((size_t)PROTOCORE_CLIENT_RX_BUF + 96u) + 64u)

Definition at line 444 of file feature_en_error.h.

◆ PROTOCORE_HAPPY_EYEBALLS_BORROW

#define PROTOCORE_HAPPY_EYEBALLS_BORROW   16u

Definition at line 452 of file feature_en_error.h.

◆ PROTOCORE_PHYSICAL_BORROW

#define PROTOCORE_PHYSICAL_BORROW   ((size_t)PROTOCORE_PHY_MAX_IFACES * 32u + 32u)

Definition at line 460 of file feature_en_error.h.

◆ PROTOCORE_SHA256_BORROW

#define PROTOCORE_SHA256_BORROW   256

Worst-case bytes each module borrows from the secure pool in a single call.

Declared here because PROTOCORE_SECURE_ARENA_SIZE below is derived from them and this is the one place that can see them all - a module header cannot host its own, since every module header includes this file. Each value is PROVED where the struct lives: the owning .cpp carries a static_assert(sizeof(X) <= PROTOCORE_WORK_X), so a working set that grows past its declaration fails the build naming itself, rather than exhausting the pool at run time.

These are SIZES, not offsets. Nothing here couples one module to another: each is a term in a sum, order is irrelevant, and adding a module shifts no one. That is the difference from the crypto_work region map these replaced.

Values are what the ESP32 toolchain reported for the real structs, rounded up.

Definition at line 488 of file feature_en_error.h.

◆ PROTOCORE_SHA1_BORROW

#define PROTOCORE_SHA1_BORROW   160

Definition at line 496 of file feature_en_error.h.

◆ PROTOCORE_SSH_KEXHASH_BORROW

#define PROTOCORE_SSH_KEXHASH_BORROW   (PROTOCORE_SHA512_BORROW + 8)

Definition at line 503 of file feature_en_error.h.

◆ PROTOCORE_SHA512_BORROW

#define PROTOCORE_SHA512_BORROW   448

Definition at line 511 of file feature_en_error.h.

◆ PROTOCORE_SHA384_BORROW

#define PROTOCORE_SHA384_BORROW   448

Definition at line 517 of file feature_en_error.h.

◆ PROTOCORE_HMAC_SHA512_BORROW

#define PROTOCORE_HMAC_SHA512_BORROW   (2 * PROTOCORE_SHA512_BORROW + 768)

Definition at line 524 of file feature_en_error.h.

◆ PROTOCORE_HMAC_SHA384_BORROW

#define PROTOCORE_HMAC_SHA384_BORROW   (2 * PROTOCORE_SHA384_BORROW + 768)

Definition at line 530 of file feature_en_error.h.

◆ PROTOCORE_HMAC_SHA256_BORROW

#define PROTOCORE_HMAC_SHA256_BORROW   (2 * PROTOCORE_SHA256_BORROW + 384)

Definition at line 537 of file feature_en_error.h.

◆ PROTOCORE_WORK_BIGNUM_HW

#define PROTOCORE_WORK_BIGNUM_HW   1328

Definition at line 543 of file feature_en_error.h.

◆ PROTOCORE_WORK_BIGNUM_SW

#define PROTOCORE_WORK_BIGNUM_SW   1408

Definition at line 546 of file feature_en_error.h.

◆ PROTOCORE_AESGCM_BORROW_HW

#define PROTOCORE_AESGCM_BORROW_HW   416

Definition at line 554 of file feature_en_error.h.

◆ PROTOCORE_AESGCM_BORROW_SW

#define PROTOCORE_AESGCM_BORROW_SW   640

Definition at line 557 of file feature_en_error.h.

◆ PROTOCORE_AESGCM_BORROW

#define PROTOCORE_AESGCM_BORROW   PROTOCORE_AESGCM_BORROW_SW

Definition at line 563 of file feature_en_error.h.

◆ PROTOCORE_WORK_AESCCM

#define PROTOCORE_WORK_AESCCM   448

Definition at line 567 of file feature_en_error.h.

◆ PROTOCORE_WORK_AES128_HW

#define PROTOCORE_WORK_AES128_HW   288

Definition at line 574 of file feature_en_error.h.

◆ PROTOCORE_WORK_AES128_SW

#define PROTOCORE_WORK_AES128_SW   176

Definition at line 577 of file feature_en_error.h.

◆ PROTOCORE_WORK_AES128

#define PROTOCORE_WORK_AES128   PROTOCORE_WORK_AES128_SW

Definition at line 583 of file feature_en_error.h.

◆ PROTOCORE_WORK_AES128GCM_HW

#define PROTOCORE_WORK_AES128GCM_HW   416

Definition at line 591 of file feature_en_error.h.

◆ PROTOCORE_WORK_AES128GCM_SW

#define PROTOCORE_WORK_AES128GCM_SW   576

Definition at line 594 of file feature_en_error.h.

◆ PROTOCORE_WORK_AES128GCM

#define PROTOCORE_WORK_AES128GCM   PROTOCORE_WORK_AES128GCM_SW

Definition at line 600 of file feature_en_error.h.

◆ PROTOCORE_CHACHAPOLY_BORROW

#define PROTOCORE_CHACHAPOLY_BORROW   (64 + PROTOCORE_CHACHA20_BORROW + PROTOCORE_POLY1305_BORROW)

Definition at line 608 of file feature_en_error.h.

◆ PROTOCORE_CHACHA20_BORROW

#define PROTOCORE_CHACHA20_BORROW   192

Definition at line 613 of file feature_en_error.h.

◆ PROTOCORE_AES256CTR_BORROW

#define PROTOCORE_AES256CTR_BORROW   384

Definition at line 618 of file feature_en_error.h.

◆ PROTOCORE_POLY1305_BORROW

#define PROTOCORE_POLY1305_BORROW   96

Definition at line 623 of file feature_en_error.h.

◆ PROTOCORE_AES_CMAC_BORROW

#define PROTOCORE_AES_CMAC_BORROW   384

Definition at line 629 of file feature_en_error.h.

◆ PROTOCORE_MD_BORROW

#define PROTOCORE_MD_BORROW   448

Definition at line 636 of file feature_en_error.h.

◆ PROTOCORE_SHA3_BORROW

#define PROTOCORE_SHA3_BORROW   224

Definition at line 643 of file feature_en_error.h.

◆ PROTOCORE_KDF_BORROW

#define PROTOCORE_KDF_BORROW   (PROTOCORE_HMAC_SHA256_BORROW + 64)

Definition at line 648 of file feature_en_error.h.

◆ PROTOCORE_GHASH_BORROW

#define PROTOCORE_GHASH_BORROW   256

Definition at line 654 of file feature_en_error.h.

◆ PROTOCORE_BIGNUM_BORROW

#define PROTOCORE_BIGNUM_BORROW   304

Definition at line 660 of file feature_en_error.h.

◆ PROTOCORE_AESCCM_BORROW

#define PROTOCORE_AESCCM_BORROW   PROTOCORE_WORK_AESCCM

Definition at line 667 of file feature_en_error.h.

◆ PROTOCORE_AES128GCM_BORROW

#define PROTOCORE_AES128GCM_BORROW   (PROTOCORE_WORK_AES128GCM + PROTOCORE_WORK_AES128)

Definition at line 674 of file feature_en_error.h.

◆ PROTOCORE_TLS_RECORD_AEAD_BORROW

#define PROTOCORE_TLS_RECORD_AEAD_BORROW   PROTOCORE_AESGCM_BORROW

Definition at line 686 of file feature_en_error.h.

◆ PROTOCORE_CURVE25519_BORROW

#define PROTOCORE_CURVE25519_BORROW   960

Definition at line 694 of file feature_en_error.h.

◆ PROTOCORE_ED25519_BORROW

#define PROTOCORE_ED25519_BORROW   (768 + PROTOCORE_SHA512_BORROW)

Definition at line 700 of file feature_en_error.h.

◆ PROTOCORE_RSA_KEY_BYTES

#define PROTOCORE_RSA_KEY_BYTES   256

Definition at line 706 of file feature_en_error.h.

◆ PROTOCORE_RSA_BORROW

#define PROTOCORE_RSA_BORROW   (PROTOCORE_SHA256_BORROW + PROTOCORE_SHA512_BORROW + PROTOCORE_BIGNUM_BORROW + 2432)

Definition at line 713 of file feature_en_error.h.

◆ PROTOCORE_MLKEM_BORROW

#define PROTOCORE_MLKEM_BORROW   PROTOCORE_SHA3_BORROW

Definition at line 718 of file feature_en_error.h.

◆ PROTOCORE_SNTRUP761_BORROW

#define PROTOCORE_SNTRUP761_BORROW   PROTOCORE_SHA512_BORROW

Definition at line 723 of file feature_en_error.h.

◆ PROTOCORE_RNG_BORROW

#define PROTOCORE_RNG_BORROW   (88 + PROTOCORE_CHACHA20_BORROW)

Definition at line 730 of file feature_en_error.h.

◆ PROTOCORE_WORK_SSH_CONN

#define PROTOCORE_WORK_SSH_CONN   (4u * (size_t)SSH_PKT_BUF_SIZE)

Definition at line 746 of file feature_en_error.h.

◆ PROTOCORE_TLS_CONN_MSG_CAP

#define PROTOCORE_TLS_CONN_MSG_CAP   1024

Definition at line 756 of file feature_en_error.h.

◆ PROTOCORE_TLS_CONN_REC_CAP

#define PROTOCORE_TLS_CONN_REC_CAP   1024

Definition at line 759 of file feature_en_error.h.

◆ PROTOCORE_TLS13_SECRET_MAX

#define PROTOCORE_TLS13_SECRET_MAX   48

Definition at line 765 of file feature_en_error.h.

◆ PROTOCORE_TLS_CONN_TERMS

#define PROTOCORE_TLS_CONN_TERMS   5

Definition at line 771 of file feature_en_error.h.

◆ PROTOCORE_TLS_CONN_TERMS_CAP

#define PROTOCORE_TLS_CONN_TERMS_CAP   ((size_t)PROTOCORE_TLS_CONN_TERMS * PROTOCORE_TLS13_SECRET_MAX)

Definition at line 774 of file feature_en_error.h.

◆ PROTOCORE_TLS_CONN_STATE_CAP

#define PROTOCORE_TLS_CONN_STATE_CAP   3872

Definition at line 783 of file feature_en_error.h.

◆ PROTOCORE_TLS_CONN_PEERKEY_CAP

#define PROTOCORE_TLS_CONN_PEERKEY_CAP   320

Definition at line 791 of file feature_en_error.h.

◆ PROTOCORE_TLS13_KS_TERMS

#define PROTOCORE_TLS13_KS_TERMS   12

Definition at line 798 of file feature_en_error.h.

◆ PROTOCORE_TLS13_KS_BORROW

#define PROTOCORE_TLS13_KS_BORROW    ((size_t)PROTOCORE_TLS13_KS_TERMS * PROTOCORE_TLS13_SECRET_MAX + PROTOCORE_HKDF_SHA384_BORROW)

Definition at line 804 of file feature_en_error.h.

◆ PROTOCORE_TLS13_TRANSCRIPT_BORROW

#define PROTOCORE_TLS13_TRANSCRIPT_BORROW   PROTOCORE_SHA256_BORROW

Definition at line 814 of file feature_en_error.h.

◆ PROTOCORE_WORK_TLS_CONN

#define PROTOCORE_WORK_TLS_CONN
Value:
((size_t)MAX_TLS_CONNS * \
#define MAX_TLS_CONNS
Maximum simultaneous TLS connections (each holds mbedTLS record buffers).
#define PROTOCORE_TLS_CONN_STATE_CAP
#define PROTOCORE_TLS_CONN_PEERKEY_CAP
#define PROTOCORE_TLS_CONN_TERMS_CAP
#define PROTOCORE_TLS_CONN_MSG_CAP
#define PROTOCORE_TLS_CONN_REC_CAP

Definition at line 818 of file feature_en_error.h.

◆ PROTOCORE_SSE_BORROW

#define PROTOCORE_SSE_BORROW   (MAX_ROUTES * 8 + SSE_BUF_SIZE + 32)

Size in bytes of the per-slot SECURE pool (see mmgr/secure.h), DERIVED.

Not a chosen number. Every borrow from this pool is a working set some module declares - see the PROTOCORE_WORK_* constants, each proved against its struct's sizeof by a static_assert in the module that owns it. The floor is the sum of the ones a build actually compiles.

A sum, not a deepest-nest figure. The sum is a strict upper bound - correct however those working sets nest under one another - whereas a nest depth is only correct while the call graph stays as it is. This value must not be wrong, so it buys certainty with a little slack.

A module whose working set grows past its declaration fails the build, naming itself, instead of exhausting the pool at run time. Override PROTOCORE_SECURE_ARENA_SIZE to pin a size regardless.

Definition at line 845 of file feature_en_error.h.

◆ PROTOCORE_WS_BORROW

#define PROTOCORE_WS_BORROW   (MAX_ROUTES * 24 + RX_BUF_SIZE + 32)

Definition at line 852 of file feature_en_error.h.

◆ PROTOCORE_CSRF_BORROW

#define PROTOCORE_CSRF_BORROW   (64 + PROTOCORE_HMAC_SHA256_BORROW)

Definition at line 859 of file feature_en_error.h.

◆ PROTOCORE_AUTH_LOCKOUT_BORROW

#define PROTOCORE_AUTH_LOCKOUT_BORROW   ((size_t)PROTOCORE_AUTH_LOCKOUT_SLOTS * 48u)

Definition at line 866 of file feature_en_error.h.

◆ PROTOCORE_FORWARDED_TRUST_BORROW

#define PROTOCORE_FORWARDED_TRUST_BORROW   ((size_t)PROTOCORE_TRUSTED_PROXY_MAX * 32u)

Definition at line 873 of file feature_en_error.h.

◆ PROTOCORE_AUDIT_LOG_BORROW

#define PROTOCORE_AUDIT_LOG_BORROW    ((size_t)PROTOCORE_AUDIT_LOG_ENTRIES * (PROTOCORE_AUDIT_MSG_LEN + PROTOCORE_AUDIT_HASH_LEN + 64u) + 128u)

Definition at line 880 of file feature_en_error.h.

◆ PROTOCORE_WEB_TERMINAL_BORROW

#define PROTOCORE_WEB_TERMINAL_BORROW   (MAX_PATH_LEN + MAX_WS_CONNS + 32u)

Definition at line 887 of file feature_en_error.h.

◆ PROTOCORE_CONFIG_STORE_BORROW

#define PROTOCORE_CONFIG_STORE_BORROW   (PROTOCORE_CONFIG_KEY_MAX + 32u)

Definition at line 893 of file feature_en_error.h.

◆ PROTOCORE_RELAY_LISTENER_BORROW

#define PROTOCORE_RELAY_LISTENER_BORROW
Value:
(size_t)PROTOCORE_RELAY_MAX_CONNS * (2u * PROTOCORE_RELAY_BUF + 128u) + 64u)
#define PROTOCORE_RELAY_HOST_MAX
Max origin hostname length (bytes, incl. NUL) stored per published relay port.
#define PROTOCORE_RELAY_MAX_CONNS
Max concurrent relayed connections (bridge table size) for the relay listener (PROTOCORE_ENABLE_RELAY...
#define PROTOCORE_RELAY_BUF
Per-direction relay buffer size (bytes) for server/net/relay (PROTOCORE_ENABLE_RELAY).
#define PROTOCORE_RELAY_MAX_PUBLISH
Max published relay ports (bind table size) for the relay listener (PROTOCORE_ENABLE_RELAY).

Definition at line 901 of file feature_en_error.h.

◆ PROTOCORE_GATEWAY_BORROW

#define PROTOCORE_GATEWAY_BORROW   ((size_t)PROTOCORE_GW_MAX_PORTS * 32u + 128u)

Definition at line 911 of file feature_en_error.h.

◆ PROTOCORE_IFACE_BRIDGE_BORROW

#define PROTOCORE_IFACE_BRIDGE_BORROW   ((size_t)PROTOCORE_BRIDGE_MAX_RULES * 64u + 64u)

Definition at line 919 of file feature_en_error.h.

◆ PROTOCORE_IFACE_BRIDGE_HW_BORROW

#define PROTOCORE_IFACE_BRIDGE_HW_BORROW    ((size_t)PROTOCORE_BRIDGE_MAX_RULES * 16u + PROTOCORE_BRIDGE_STREAM_CHUNK + 64u)

Definition at line 927 of file feature_en_error.h.

◆ PROTOCORE_WEBDAV_BORROW

#define PROTOCORE_WEBDAV_BORROW   4096

Definition at line 939 of file feature_en_error.h.

◆ PROTOCORE_PROVISIONING_BORROW

#define PROTOCORE_PROVISIONING_BORROW   32

Definition at line 947 of file feature_en_error.h.

◆ PROTOCORE_HOTSWAP_BORROW

#define PROTOCORE_HOTSWAP_BORROW   128

Definition at line 957 of file feature_en_error.h.

◆ PROTOCORE_SMBUS_BORROW

#define PROTOCORE_SMBUS_BORROW   64

Definition at line 967 of file feature_en_error.h.

◆ PROTOCORE_MPR121_BORROW

#define PROTOCORE_MPR121_BORROW   128

Definition at line 976 of file feature_en_error.h.

◆ PROTOCORE_HMMD_BORROW

#define PROTOCORE_HMMD_BORROW   256

Definition at line 985 of file feature_en_error.h.

◆ PROTOCORE_LD2410_BORROW

#define PROTOCORE_LD2410_BORROW   320

Definition at line 994 of file feature_en_error.h.

◆ PROTOCORE_DASHBOARD_BORROW

#define PROTOCORE_DASHBOARD_BORROW   ((size_t)PROTOCORE_DASHBOARD_MAX_WIDGETS * 4u + 2u * MAX_PATH_LEN + 64u)

Definition at line 1002 of file feature_en_error.h.

◆ PROTOCORE_I2C_DEVICE_BORROW

#define PROTOCORE_I2C_DEVICE_BORROW   32

Definition at line 1010 of file feature_en_error.h.

◆ PROTOCORE_BUS_CAPTURE_BORROW

#define PROTOCORE_BUS_CAPTURE_BORROW   32u

Definition at line 1017 of file feature_en_error.h.

◆ PROTOCORE_QUIC_CONN_CTX_BORROW

#define PROTOCORE_QUIC_CONN_CTX_BORROW   13952

Definition at line 1028 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_BIGNUM

#define PROTOCORE_SECURE_WORK_BIGNUM   (PROTOCORE_WORK_BIGNUM_SW + PROTOCORE_WORK_SSH_HOST_KEY)

Definition at line 1039 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_AEAD

#define PROTOCORE_SECURE_WORK_AEAD   0

Definition at line 1048 of file feature_en_error.h.

◆ PROTOCORE_SMB_CLIENT_BORROW

#define PROTOCORE_SMB_CLIENT_BORROW    (2u * PROTOCORE_SMB_BUF + 5u * (PROTOCORE_SMB_BUF / 2) + PROTOCORE_CRYPTO_BORROW_MAX)

Definition at line 1057 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_SMBCLIENT

#define PROTOCORE_SECURE_WORK_SMBCLIENT   0

Definition at line 1064 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_SMB

#define PROTOCORE_SECURE_WORK_SMB   0

Definition at line 1071 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_SSHCIPHER

#define PROTOCORE_SECURE_WORK_SSHCIPHER   0

Definition at line 1078 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_SSHCONN

#define PROTOCORE_SECURE_WORK_SSHCONN   0

Definition at line 1079 of file feature_en_error.h.

◆ PROTOCORE_SSH_CLIENT_BORROW

#define PROTOCORE_SSH_CLIENT_BORROW   384u

Definition at line 1092 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_SSHCLIENT

#define PROTOCORE_SECURE_WORK_SSHCLIENT   0

Definition at line 1099 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_SSHSLOTS

#define PROTOCORE_SECURE_WORK_SSHSLOTS   0

Definition at line 1109 of file feature_en_error.h.

◆ PROTOCORE_SSH_RSA_BORROW

#define PROTOCORE_SSH_RSA_BORROW   64u

Definition at line 1116 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_SSHRSA

#define PROTOCORE_SECURE_WORK_SSHRSA   0

Definition at line 1122 of file feature_en_error.h.

◆ PROTOCORE_SSH_CONNECTION_BORROW

#define PROTOCORE_SSH_CONNECTION_BORROW   ((size_t)PROTOCORE_SSH_RFWD_MAX * (PROTOCORE_SSH_FWD_HOST_MAX + 16u) + 128u)

Definition at line 1130 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_SSHCONNECTION

#define PROTOCORE_SECURE_WORK_SSHCONNECTION   0

Definition at line 1136 of file feature_en_error.h.

◆ PROTOCORE_SSH_AUTH_BORROW

#define PROTOCORE_SSH_AUTH_BORROW   ((size_t)MAX_SSH_CONNS * 160u + 32u)

Definition at line 1145 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_SSHAUTH

#define PROTOCORE_SECURE_WORK_SSHAUTH   0

Definition at line 1151 of file feature_en_error.h.

◆ PROTOCORE_SSH_TRANSPORT_BORROW

#define PROTOCORE_SSH_TRANSPORT_BORROW   192u

Definition at line 1158 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_SSHTRANSPORT

#define PROTOCORE_SECURE_WORK_SSHTRANSPORT   0

Definition at line 1164 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_AUTH

#define PROTOCORE_SECURE_WORK_AUTH   0

Definition at line 1170 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_SSE

#define PROTOCORE_SECURE_WORK_SSE   0

Definition at line 1176 of file feature_en_error.h.

◆ PROTOCORE_H2_CONN_RECORD

#define PROTOCORE_H2_CONN_RECORD   32768

Definition at line 1186 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_H2_SERVER

#define PROTOCORE_SECURE_WORK_H2_SERVER   0

Definition at line 1196 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_WS

#define PROTOCORE_SECURE_WORK_WS   0

Definition at line 1202 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_CSRF

#define PROTOCORE_SECURE_WORK_CSRF   0

Definition at line 1208 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_LOCKOUT

#define PROTOCORE_SECURE_WORK_LOCKOUT   0

Definition at line 1214 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_FWDTRUST

#define PROTOCORE_SECURE_WORK_FWDTRUST   0

Definition at line 1220 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_AUDIT

#define PROTOCORE_SECURE_WORK_AUDIT   0

Definition at line 1226 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_WEBTERM

#define PROTOCORE_SECURE_WORK_WEBTERM   0

Definition at line 1232 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_CFGSTORE

#define PROTOCORE_SECURE_WORK_CFGSTORE   0

Definition at line 1238 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_RELAYLISTEN

#define PROTOCORE_SECURE_WORK_RELAYLISTEN   0

Definition at line 1244 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_GATEWAY

#define PROTOCORE_SECURE_WORK_GATEWAY   0

Definition at line 1250 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_IFACEBRIDGE

#define PROTOCORE_SECURE_WORK_IFACEBRIDGE   0

Definition at line 1256 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_IFACEBRIDGEHW

#define PROTOCORE_SECURE_WORK_IFACEBRIDGEHW   0

Definition at line 1262 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_WEBDAV

#define PROTOCORE_SECURE_WORK_WEBDAV   0

Definition at line 1268 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_PROVISIONING

#define PROTOCORE_SECURE_WORK_PROVISIONING   0

Definition at line 1274 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_HOTSWAP

#define PROTOCORE_SECURE_WORK_HOTSWAP   0

Definition at line 1280 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_SMBUS

#define PROTOCORE_SECURE_WORK_SMBUS   0

Definition at line 1286 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_MPR121

#define PROTOCORE_SECURE_WORK_MPR121   0

Definition at line 1292 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_HMMD

#define PROTOCORE_SECURE_WORK_HMMD   0

Definition at line 1298 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_LD2410

#define PROTOCORE_SECURE_WORK_LD2410   0

Definition at line 1304 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_DASHBOARD

#define PROTOCORE_SECURE_WORK_DASHBOARD   0

Definition at line 1310 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_ADS1115

#define PROTOCORE_SECURE_WORK_ADS1115   0

Definition at line 1316 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_INA219

#define PROTOCORE_SECURE_WORK_INA219   0

Definition at line 1322 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_PCA9685

#define PROTOCORE_SECURE_WORK_PCA9685   0

Definition at line 1328 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_FDC2214

#define PROTOCORE_SECURE_WORK_FDC2214   0

Definition at line 1334 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_LDC1614

#define PROTOCORE_SECURE_WORK_LDC1614   0

Definition at line 1340 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_VL53L0X

#define PROTOCORE_SECURE_WORK_VL53L0X   0

Definition at line 1346 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_RTC

#define PROTOCORE_SECURE_WORK_RTC   0

Definition at line 1352 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_SHT3X

#define PROTOCORE_SECURE_WORK_SHT3X   0

Definition at line 1358 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_BUSCAPTURE

#define PROTOCORE_SECURE_WORK_BUSCAPTURE   0

Definition at line 1364 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_TLSCONN

#define PROTOCORE_SECURE_WORK_TLSCONN   0

Definition at line 1370 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_QUICCONN

#define PROTOCORE_SECURE_WORK_QUICCONN   0

Definition at line 1378 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_SHA1

#define PROTOCORE_SECURE_WORK_SHA1   0

Definition at line 1384 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_SHA3

#define PROTOCORE_SECURE_WORK_SHA3   0

Definition at line 1390 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_SHA256

#define PROTOCORE_SECURE_WORK_SHA256   0

Definition at line 1396 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_CURVE25519

#define PROTOCORE_SECURE_WORK_CURVE25519   0

Definition at line 1402 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_ED25519

#define PROTOCORE_SECURE_WORK_ED25519   0

Definition at line 1408 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_ECDSA

#define PROTOCORE_SECURE_WORK_ECDSA   0

Definition at line 1414 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_RSA

#define PROTOCORE_SECURE_WORK_RSA   0

Definition at line 1420 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_MLKEM

#define PROTOCORE_SECURE_WORK_MLKEM   0

Definition at line 1426 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_SNTRUP761

#define PROTOCORE_SECURE_WORK_SNTRUP761   0

Definition at line 1432 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_AES128GCM

#define PROTOCORE_SECURE_WORK_AES128GCM   0

Definition at line 1440 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_RNG

#define PROTOCORE_SECURE_WORK_RNG   0

Definition at line 1447 of file feature_en_error.h.

◆ PROTOCORE_DNS_RESOLVER_BORROW

#define PROTOCORE_DNS_RESOLVER_BORROW   192u

Definition at line 1457 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_DNSRESOLVER

#define PROTOCORE_SECURE_WORK_DNSRESOLVER   0

Definition at line 1463 of file feature_en_error.h.

◆ PROTOCORE_TLS_SEAM_OUT_CAP

#define PROTOCORE_TLS_SEAM_OUT_CAP   2048

Definition at line 1469 of file feature_en_error.h.

◆ PROTOCORE_TLS_BORROW

#define PROTOCORE_TLS_BORROW   ((size_t)MAX_CONNS * 3584u + (size_t)PROTOCORE_TLS_SEAM_OUT_CAP + 128u)

Definition at line 1480 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_TLSSEAM

#define PROTOCORE_SECURE_WORK_TLSSEAM   0

Definition at line 1486 of file feature_en_error.h.

◆ PROTOCORE_X509_VERIFY_BORROW

#define PROTOCORE_X509_VERIFY_BORROW   ((size_t)PROTOCORE_RSA_KEY_BYTES + 8u + PROTOCORE_RSA_BORROW)

Definition at line 1494 of file feature_en_error.h.

◆ PROTOCORE_SECURE_WORK_X509VERIFY

#define PROTOCORE_SECURE_WORK_X509VERIFY   0

Definition at line 1503 of file feature_en_error.h.

◆ PROTOCORE_SECURE_ARENA_SIZE

#define PROTOCORE_SECURE_ARENA_SIZE
Value:
256)
#define PROTOCORE_SECURE_WORK_ROUTETABLE
#define PROTOCORE_SECURE_WORK_MQTT
#define PROTOCORE_SECURE_WORK_COAPSSERVER
#define PROTOCORE_SECURE_WORK_OAUTH2
#define PROTOCORE_SECURE_WORK_WSCLIENT
#define PROTOCORE_SECURE_WORK_SMTP
#define PROTOCORE_SECURE_WORK_HTTPCLIENT
#define PROTOCORE_SECURE_WORK_SNMPAGENT
#define PROTOCORE_SECURE_WORK_SNMPV3
#define PROTOCORE_SECURE_WORK_SNMPNOTIFY
#define PROTOCORE_SECURE_WORK_HMMD
#define PROTOCORE_SECURE_WORK_SSHSLOTS
#define PROTOCORE_SECURE_WORK_WEBDAV
#define PROTOCORE_SECURE_WORK_AUTH
#define PROTOCORE_SECURE_WORK_LOCKOUT
#define PROTOCORE_SECURE_WORK_SMBCLIENT
#define PROTOCORE_SECURE_WORK_RTC
#define PROTOCORE_SECURE_WORK_DNSRESOLVER
#define PROTOCORE_SECURE_WORK_WS
#define PROTOCORE_SECURE_WORK_LDC1614
#define PROTOCORE_SECURE_WORK_SMB
#define PROTOCORE_SECURE_WORK_ED25519
#define PROTOCORE_SECURE_WORK_TLSSEAM
#define PROTOCORE_SECURE_WORK_VL53L0X
#define PROTOCORE_SECURE_WORK_SSHCIPHER
#define PROTOCORE_SECURE_WORK_SHA3
#define PROTOCORE_SECURE_WORK_BIGNUM
#define PROTOCORE_SECURE_WORK_MLKEM
#define PROTOCORE_SECURE_WORK_FWDTRUST
#define PROTOCORE_SECURE_WORK_SSHAUTH
#define PROTOCORE_SECURE_WORK_RELAYLISTEN
#define PROTOCORE_SECURE_WORK_SSE
#define PROTOCORE_SECURE_WORK_SHT3X
#define PROTOCORE_SECURE_WORK_AUDIT
#define PROTOCORE_SECURE_WORK_TLSCONN
#define PROTOCORE_SECURE_WORK_GATEWAY
#define PROTOCORE_SECURE_WORK_PROVISIONING
#define PROTOCORE_SECURE_WORK_CSRF
#define PROTOCORE_SECURE_WORK_SMBUS
#define PROTOCORE_SECURE_WORK_RNG
#define PROTOCORE_SECURE_WORK_SSHCLIENT
#define PROTOCORE_SECURE_WORK_INA219
#define PROTOCORE_SECURE_WORK_SSHRSA
#define PROTOCORE_SECURE_WORK_PCA9685
#define PROTOCORE_SECURE_WORK_LD2410
#define PROTOCORE_SECURE_WORK_HOTSWAP
#define PROTOCORE_SECURE_WORK_SNTRUP761
#define PROTOCORE_SECURE_WORK_ECDSA
#define PROTOCORE_SECURE_WORK_SSHCONNECTION
#define PROTOCORE_SECURE_WORK_DASHBOARD
#define PROTOCORE_SECURE_WORK_IFACEBRIDGE
#define PROTOCORE_SECURE_WORK_SHA256
#define PROTOCORE_SECURE_WORK_BUSCAPTURE
#define PROTOCORE_SECURE_WORK_ADS1115
#define PROTOCORE_SECURE_WORK_RSA
#define PROTOCORE_SECURE_WORK_QUICCONN
#define PROTOCORE_SECURE_WORK_AEAD
#define PROTOCORE_SECURE_WORK_WEBTERM
#define PROTOCORE_SECURE_WORK_SSHCONN
#define PROTOCORE_SECURE_WORK_X509VERIFY
#define PROTOCORE_SECURE_WORK_CURVE25519
#define PROTOCORE_SECURE_WORK_MPR121
#define PROTOCORE_SECURE_WORK_FDC2214
#define PROTOCORE_SECURE_WORK_CFGSTORE
#define PROTOCORE_SECURE_WORK_H2_SERVER
#define PROTOCORE_SECURE_WORK_AES128GCM
#define PROTOCORE_SECURE_WORK_IFACEBRIDGEHW
#define PROTOCORE_SECURE_WORK_SHA1
#define PROTOCORE_SECURE_WORK_SSHTRANSPORT

Definition at line 1506 of file feature_en_error.h.

◆ PROTOCORE_WORKER_STACK_PQC_MIN

#define PROTOCORE_WORKER_STACK_PQC_MIN   16384

Definition at line 1637 of file feature_en_error.h.

◆ PROTOCORE_WORKER_STACK_SNTRUP_MIN

#define PROTOCORE_WORKER_STACK_SNTRUP_MIN   32768

Definition at line 1653 of file feature_en_error.h.

◆ PROTO_MAX_HANDLERS

#define PROTO_MAX_HANDLERS   12

Size of the protocol-handler dispatch table; must exceed the largest ProtoConn id.

Definition at line 1891 of file feature_en_error.h.

◆ PROTOCORE_SSH_CPUB_MAX

#define PROTOCORE_SSH_CPUB_MAX   256

Reverse-SSH tunnel: max concurrent forwarded-tcpip channels bridged at once. A relay that forwards to a web UI opens one channel per inbound TCP connection, so this bounds concurrency.

Max stored size of the exchange value the client sends (RFC 4253 sec 8 'e', RFC 8731 Q_C, or a hybrid C_INIT), kept for the exchange hash.

Worst case for the build: an ML-KEM-768 ek (1184) or sntrup761 pk (1158) followed by the 32-byte X25519 public, else the 256-byte dh-group14 'e'. ssh_transport.c static_asserts this against MLKEM768_EK_BYTES and PROTOCORE_SNTRUP761_PK_BYTES, which only that translation unit can see.

Definition at line 1932 of file feature_en_error.h.