Skip to content

SolidSyslog

Warning

The documentation is under active development and may be incomplete or inaccurate. Do not rely on it for integration, security, or compliance decisions until the 0.1.0 release.

This is the documentation home. It is organised around what you came to do. Pick a lane:

  • Overview: what SolidSyslog is and how it helps with CRA and IEC 62443 compliance.
  • Adopt it: get a syslog stack compiling and sending in your product.
  • Port it to a new platform: fill a role for an OS, network stack, filesystem, or crypto library we don't ship yet.
  • Compliance: IEC 62443, the RFCs, and the security posture.
  • API reference: the public contracts, by audience.
  • Maintaining the library: building, testing, and releasing SolidSyslog itself.

Overview

  • Why SolidSyslog, and capability at a glance: the project README.
  • Compliance in one page: the evaluator's one-screen orientation. What CRA and IEC 62443 ask of an audit-logging function, and how SolidSyslog helps.

Adopt

Everything you need to consume SolidSyslog in your product.

Port a new platform

Porting SolidSyslog is filling roles, not editing Core: omit an adapter and Core's Null object stands in.

  • Porting guide: the role model, the anatomy of an adapter (instance shape, the no-malloc static pool, the error convention), the invariants every adapter must honour, and the twelve vtable role contracts, each with its Null fallback and shipped reference implementation (POSIX where available, otherwise a Core composition).
  • The contracts themselves: the SolidSyslog*Definition.h vtables under Core/Interface/. Platform/Posix/ is the reference implementation to read alongside them.

Compliance

API reference

Application code only ever includes SolidSyslog.h (and SolidSyslogConfig.h at setup); everything else is wired once behind the config struct. The public headers are split by audience (Interface Segregation) under Core/Interface/ and each Platform/*/Interface/. The project README lists the headers by audience.

The generated reference is under API reference in the site navigation: Headers browses every public header grouped by directory (Core/Interface, then one folder per platform); Data structures lists the config and vtable structs.

Maintaining

For contributors and maintainers of SolidSyslog itself (not for consuming it, which is Adopt above).