Skip to content

Dir Core/Interface

FileList > Core > Interface

Files

Type Name
file SolidSyslog.h
The application logging API: SolidSyslog_Log / SolidSyslog_LogWithSd to emit an event, SolidSyslog_Service to drive delivery, and the SolidSyslogMessage struct.
file SolidSyslogAddress.h
The opaque resolved-destination handle a Resolver writes and a Datagram or Stream reads; the concrete layout is private to each platform's sources.
file SolidSyslogAddressErrors.h
Portable detail codes for the Address role, shared by every backend that fills it.
file SolidSyslogAesGcmPolicyErrors.h
Portable detail codes for the AES-GCM security-policy role, shared by every crypto backend that fills it.
file SolidSyslogAtomicCounter.h
The atomic-counter role: hand out the next sequenceId (Increment), wrap-aware over [1, 2^31 - 1] and never 0 per RFC 5424 section 7.3.1.
file SolidSyslogAtomicCounterDefinition.h
The AtomicCounter vtable (Increment) - the contract an implementor fills in (the AtomicCounter extension point).
file SolidSyslogAtomicCounterErrors.h
Portable detail codes for the AtomicCounter role, shared by every backend that fills it.
file SolidSyslogBlockDevice.h
The block-device role: block-indexed storage (Acquire / Dispose / Exists / Read / Append / WriteAt / Size / GetBlockSize) beneath a BlockStore.
file SolidSyslogBlockDeviceDefinition.h
The BlockDevice vtable (Acquire / Dispose / Exists / Read / Append / WriteAt / Size / GetBlockSize) - the contract an implementor fills in (the BlockDevice extension point).
file SolidSyslogBlockStore.h
A store-and-forward Store backed by a BlockDevice: records are appended to the current write block, and once a block fills the write rolls to the next, giving durable retention across a restart.
file SolidSyslogBlockStoreErrors.h
Error codes and Source identity for the BlockStore.
file SolidSyslogBuffer.h
The buffer role: producer Write / consumer Read that decouples SolidSyslog_Log from Service.
file SolidSyslogBufferCategories.h
Portable category constants (uint16_t macros) for the Buffer role: SOLIDSYSLOG_CAT_BUFFER_BACKEND_FAILED.
file SolidSyslogBufferDefinition.h
The Buffer vtable (Write / Read) - the contract an implementor fills in (the Buffer extension point).
file SolidSyslogCircularBuffer.h
An in-memory ring Buffer that decouples Log (enqueue) from Service (drain), backed entirely by caller-supplied storage - no allocation of its own.
file SolidSyslogCircularBufferErrors.h
Error codes and Source identity for the CircularBuffer.
file SolidSyslogConfig.h
The setup-time wiring: the SolidSyslogConfig struct and SolidSyslog_Create / SolidSyslog_Destroy that build and release a logger from it.
file SolidSyslogConfigLock.h
The config-time lock injection pair guarding every pool Create/Destroy slot-walk; the no-op default suits single-task setup.
file SolidSyslogCrc16.h
CRC-16/CCITT-FALSE checksum (poly 0x1021, init 0xFFFF, no reflection, no final XOR; a.k.a.
file SolidSyslogCrc16Policy.h
A SecurityPolicy that appends a two-byte CRC-16 trailer to each stored record.
file SolidSyslogDatagram.h
The datagram role: connectionless send of one message to an address (Open / SendTo / Close), with a path-MTU hint (MaxPayload).
file SolidSyslogDatagramCategories.h
Portable category constants (uint16_t macros) for the Datagram role: SOLIDSYSLOG_CAT_DATAGRAM_NEXT_HOP_UNRESOLVED.
file SolidSyslogDatagramDefinition.h
The Datagram vtable (Open / SendTo / MaxPayload / Close) - the unconnected (UDP) transport contract an implementor fills in (the Datagram extension point).
file SolidSyslogDatagramErrors.h
Portable detail codes for the Datagram role, shared by every backend that fills it.
file SolidSyslogEndpoint.h
The destination a sender is directed at (host sink + port) and the callbacks a sender uses to pull it and to detect when it changes.
file SolidSyslogEndpointHost.h
The value sink an endpoint callback writes the destination host into - copied verbatim so a DNS name or IP literal reaches the resolver intact.
file SolidSyslogError.h
The error-reporting API: SolidSyslog_SetErrorHandler to install a handler, SolidSyslog_Error to emit, and the event's Severity / Source / Category / Detail axes a handler reads.
file SolidSyslogErrorCategory.h
The portable error-category axis: the universal lifecycle category macros and the per-role base ranges a handler switches on or an emit site picks.
file SolidSyslogErrors.h
Error codes and Source identity for the SolidSyslog instance.
file SolidSyslogExternC.h
The C-linkage guard macros (SOLIDSYSLOG_EXTERN_C_BEGIN / SOLIDSYSLOG_EXTERN_C_END) that wrap every public header so a C++ consumer links the declarations with C linkage.
file SolidSyslogFile.h
The file role: byte-file I/O (Open / Close / IsOpen / Read / Write / SeekTo / Size / Truncate / Exists / Delete) backing the store.
file SolidSyslogFileBlockDevice.h
A BlockDevice that maps each block to its own file, named by a caller-given prefix plus a two-digit block index and ".log" (block 0 is "<prefix>00.log").
file SolidSyslogFileBlockDeviceErrors.h
Error codes and Source identity for the FileBlockDevice.
file SolidSyslogFileCategories.h
Portable category constants (uint16_t macros) for the File role: SOLIDSYSLOG_CAT_FILE_IO_FAILED.
file SolidSyslogFileDefinition.h
The File vtable (Open / Close / IsOpen / Read / Write / SeekTo / Size / Truncate / Exists / Delete) - the contract a porter fills in (the File extension point).
file SolidSyslogFileErrors.h
Portable detail codes for the File role, shared by every backend that fills it.
file SolidSyslogHeaderField.h
The value sink a callback writes an RFC 5424 header field (HOSTNAME / APP-NAME / PROCID) into; the sink owns the charset and the field width.
file SolidSyslogHeaderFieldFunction.h
The header-field callback typedef the integrator supplies to SolidSyslogConfig for HOSTNAME / APP-NAME / PROCID.
file SolidSyslogHmacSha256PolicyErrors.h
Portable detail codes for the HMAC-SHA-256 security-policy role, shared by every crypto backend that fills it.
file SolidSyslogKeyFunction.h
The on-demand secret-key callback typedef the integrator supplies to a keyed SecurityPolicy, so the key never lives on the policy instance.
file SolidSyslogMetaSd.h
A StructuredData source for the RFC 5424 section 7.3 "meta" SD-ELEMENT (IANA SD-ID, so no enterprise-number suffix), emitted on every message the owning logger formats.
file SolidSyslogMetaSdErrors.h
Error codes and Source identity for the MetaSd.
file SolidSyslogMutex.h
The mutex role: mutual exclusion (Lock / Unlock) around buffer and pool critical sections.
file SolidSyslogMutexDefinition.h
The Mutex vtable (Lock / Unlock) - the contract an implementor fills in (the Mutex extension point).
file SolidSyslogMutexErrors.h
Portable detail codes for the Mutex role, shared by every backend that fills it.
file SolidSyslogNullAtomicCounter.h
The no-op AtomicCounter Null object: Increment returns 1U unconditionally, the safest value when a real counter is unavailable (RFC 5424 section 7.3.1 forbids a sequenceId of 0).
file SolidSyslogNullBlockDevice.h
The no-op BlockDevice Null object: every method reports a device that does not exist - Acquire, Dispose, Exists, Read, Append and WriteAt return false, Size and GetBlockSize return 0.
file SolidSyslogNullBuffer.h
The no-op Buffer Null object: Write swallows the record, Read returns false (nothing to deliver) so the Service algorithm sees an empty buffer and stops draining.
file SolidSyslogNullDatagram.h
The no-op Datagram Null object: SendTo returns SENT (drops the datagram on the floor so the Store does not fill with undeliverables), MaxPayload returns the unknown-path payload, Open and Close are no-ops.
file SolidSyslogNullFile.h
The no-op File Null object: Open, IsOpen, Read and Exists return false (consumers take their error path), Write and Delete return true (success reported vacuously), SeekTo, Truncate and Close are no-ops, Size returns 0.
file SolidSyslogNullMutex.h
The no-op Mutex Null object: Lock and Unlock are no-ops, giving unsynchronised access for single-task targets that need no mutual exclusion.
file SolidSyslogNullResolver.h
The no-op Resolver Null object: Resolve returns false (could not resolve) so the caller's existing unresolved-host error path runs naturally.
file SolidSyslogNullSd.h
The no-op Structured Data Null object: Format writes nothing, so this SD slot contributes no SD-ELEMENT to the message.
file SolidSyslogNullSecurityPolicy.h
The no-op SecurityPolicy Null object: pass-through integrity - Seal and Open both return true without touching the record, adding no integrity data and accepting every record.
file SolidSyslogNullSender.h
The no-op Sender Null object: Send returns true (drops the record on the floor so the Store does not fill with undeliverables), Disconnect is a no-op.
file SolidSyslogNullStore.h
The no-op Store Null object (no store-and-forward): Write returns false and IsTransient returns true, so the Service algorithm falls through to a direct send instead of buffering.
file SolidSyslogNullStream.h
The no-op Stream Null object: Send returns true (drops the bytes on the floor so the Store does not fill with undeliverables), Read returns 0 (would-block, so the caller does not tear the connection down), Open and Close are no-ops.
file SolidSyslogOriginSd.h
A StructuredData source for the RFC 5424 section 7.2 "origin" SD-ELEMENT (IANA SD-ID, so no enterprise-number suffix), emitted on every message the owning logger formats.
file SolidSyslogOriginSdErrors.h
Error codes and Source identity for the OriginSd.
file SolidSyslogPassthroughBuffer.h
The no-queue Buffer.
file SolidSyslogPassthroughBufferErrors.h
Error codes and Source identity for the PassthroughBuffer.
file SolidSyslogPrival.h
The RFC 5424 facility and severity enums that compose a message's PRIVAL.
file SolidSyslogResolver.h
The resolver role: turn a host/port into a destination address (Resolve) for a later Datagram or Stream to send to.
file SolidSyslogResolverCategories.h
Portable category constants (uint16_t macros) for the Resolver role: SOLIDSYSLOG_CAT_RESOLVER_RESOLVE_FAILED.
file SolidSyslogResolverDefinition.h
The Resolver vtable (Resolve) - the host-to-address contract an implementor fills in (the Resolver extension point).
file SolidSyslogResolverErrors.h
Portable detail codes for the Resolver role, shared by every backend that fills it.
file SolidSyslogSdElement.h
The SD authoring API for one [SD-ID PARAM="value"...] element: SolidSyslogSdElement_Begin / SolidSyslogSdElement_Param / SolidSyslogSdElement_End, which own the element and parameter framing so the author writes only names and values.
file SolidSyslogSdValue.h
The per-param value sink of the SD authoring API: streams a PARAM value with RFC 5424 escaping applied by the library, so an author cannot break SD framing.
file SolidSyslogSdValueFunction.h
The SD-value callback typedef the integrator supplies for dynamic PARAM values (e.g.
file SolidSyslogSecurityPolicyCategories.h
Portable category constants (uint16_t macros) for the SecurityPolicy role: SOLIDSYSLOG_CAT_SECURITY_POLICY_KEY_UNAVAILABLE / _SEAL_FAILED / _OPEN_FAILED.
file SolidSyslogSecurityPolicyDefinition.h
The SecurityPolicy vtable (SealRecord / OpenRecord) - the at-rest integrity/confidentiality contract an implementor fills in (the SecurityPolicy extension point).
file SolidSyslogSender.h
The sender role: deliver a framed message (Send) / drop the connection (Disconnect).
file SolidSyslogSenderCategories.h
Portable category constants (uint16_t macros) for the Sender role: SOLIDSYSLOG_CAT_SENDER_DELIVERY_FAILED / _DELIVERY_RESTORED.
file SolidSyslogSenderDefinition.h
The Sender vtable (Send / Disconnect) - the contract an implementor fills in (the Sender extension point).
file SolidSyslogServiceStatus.h
The advisory servicing-hint enum SolidSyslog_Service returns to drive a host loop (idle / ready / blocked / halted).
file SolidSyslogSleep.h
The millisecond-sleep callback typedef the integrator injects to drive the bounded wait-and-retry loops without busy-spinning.
file SolidSyslogStore.h
The store role: retain unsent records (Write) and replay them in order via a read cursor (ReadNextUnsent / MarkSent), so a send failure never drops a stored record - it stays for retry.
file SolidSyslogStoreCategories.h
Portable category constants (uint16_t macros) for the Store role: SOLIDSYSLOG_CAT_STORE_WRITE_FAILED and SOLIDSYSLOG_CAT_STORE_FROZEN.
file SolidSyslogStoreDefinition.h
The Store vtable (Write / ReadNextUnsent / MarkSent / HasUnsent / IsHalted / GetTotalBytes / GetUsedBytes / IsTransient) - the store-and-forward contract an implementor fills in (the Store extension point).
file SolidSyslogStream.h
The stream role: connection-oriented byte transport (Open / Send / Read / Close) for octet-framed delivery.
file SolidSyslogStreamCategories.h
Portable category constants (uint16_t macros) for the Stream role: SOLIDSYSLOG_CAT_STREAM_CONNECT_FAILED and SOLIDSYSLOG_CAT_STREAM_OPTION_REFUSED.
file SolidSyslogStreamDefinition.h
The Stream vtable (Open / Send / Read / Close) - the byte-stream (TCP, TLS over TCP) transport contract an implementor fills in (the Stream extension point).
file SolidSyslogStreamSender.h
A Sender that delivers each message octet-framed (RFC 6587 octet-counting: a decimal length, a space, then the message bytes) over any injected Stream - plain TCP, TLS, or a caller-supplied byte transport.
file SolidSyslogStreamSenderErrors.h
Error codes and Source identity for the StreamSender.
file SolidSyslogStructuredData.h
The structured-data role: emit one or more RFC 5424 SD-ELEMENTs into a message (Format).
file SolidSyslogStructuredDataDefinition.h
The StructuredData vtable (Format) - the SD-source contract an implementor fills in (the StructuredData extension point).
file SolidSyslogSwitchingSender.h
A composite Sender that fronts several inner senders and routes each message through the one the Selector picks - the wiring for dual-SIEM fan-out or an active/standby failover stack.
file SolidSyslogSwitchingSenderErrors.h
Error codes and Source identity for the SwitchingSender.
file SolidSyslogTcpConnectTimeoutFunction.h
The callback typedef the integrator installs on a TCP stream config to supply the bounded-connect deadline per attempt (runtime-tunable).
file SolidSyslogTcpStreamErrors.h
Portable detail codes for the TCP-stream role, shared by every TCP backend.
file SolidSyslogTimeQuality.h
The clock-quality data (tzKnown / isSynced / syncAccuracy) and the callback that supplies it, feeding the RFC 5424 "timeQuality" SD-ELEMENT.
file SolidSyslogTimeQualitySd.h
A StructuredData source for the RFC 5424 section 7.1 "timeQuality" SD-ELEMENT (IANA SD-ID, so no enterprise-number suffix), emitted on every message the owning logger formats.
file SolidSyslogTimeQualitySdErrors.h
Error codes and Source identity for the TimeQualitySd.
file SolidSyslogTimestamp.h
The broken-down timestamp struct and the SolidSyslogClockFunction that fills it, supplying the RFC 5424 TIMESTAMP field.
file SolidSyslogTlsCredentialsErrors.h
Portable detail codes for the TLS-credentials role, shared by every credentials backend.
file SolidSyslogTlsCredentialsInstalled.h
What a credentials backend tells the TLS stream it installed - the facts the stream needs but cannot read back out of the TLS library's own context.
file SolidSyslogTlsFingerprint.h
Certificate fingerprints in the RFC 5425 section 4.2.2 form, and the peer authorisation a TLS stream performs with them.
file SolidSyslogTlsHandshakeTimeoutFunction.h
The callback typedef the integrator installs on a TLS stream config to supply the bounded-handshake deadline per attempt (runtime-tunable).
file SolidSyslogTlsStreamCategories.h
Portable category constants (uint16_t macros) for the TLS-stream role: SOLIDSYSLOG_CAT_TLS_STREAM_INIT_FAILED / _HANDSHAKE_FAILED.
file SolidSyslogTlsStreamErrors.h
Portable detail codes for the TLS-stream role, shared by every TLS backend.
file SolidSyslogTransport.h
The transport selector enum (UDP / TCP) and the IANA default-port convenience constants.
file SolidSyslogTunables.h
The compile-time tunables umbrella: pulls the optional user override first, then SolidSyslogTunablesDefaults.h so unset knobs fall back to defaults.
file SolidSyslogTunablesDefaults.h
The default values for every compile-time tunable - pool sizes, message / path / integrity limits, and timeouts - each #ifndef-guarded so a user override wins.
file SolidSyslogUdpPayload.h
UDP payload sizing helpers: the usable payload for a given MTU and the UTF-8-safe trim used to fit a message into a datagram without splitting a codepoint.
file SolidSyslogUdpSender.h
A Sender that transmits each message as a single UDP datagram over the injected Datagram, resolving the endpoint and opening the socket lazily on the first Send and re-resolving when the endpoint version changes.
file SolidSyslogUdpSenderErrors.h
Error codes and Source identity for the UdpSender.

The documentation for this class was generated from the following file Core/Interface/