Documentation

LibOSDP

A cross-platform C library implementing IEC 60839-11-5 OSDP — secure, non-blocking, and dependency-free.

LibOSDP is a cross-platform C library implementing the IEC 60839-11-5 Open Supervised Device Protocol (OSDP). It enables secure, reliable communication between Control Panels (CP) and Peripheral Devices (PD) in access control systems.

Key Features

  • Secure Channel — AES-128 encrypted communication with an optional OSDP_FLAG_ENFORCE_SECURE flag for stricter security.
  • Cross-Platform — Runs on bare-metal, Linux, macOS, and Windows. No runtime memory allocation.
  • Language Bindings — Rust, Python 3, and C++ bindings over the C library.
  • Non-Blocking Design — Fully asynchronous. Call osdp_cp_refresh() / osdp_pd_refresh() at least once every 50 ms.
  • No External Dependencies — Self-contained for easy cross-compilation to any target.
  • Test Coverage — Unit tests and integration tests via PyTest.

Getting Started

See Build and Install to build the library, then jump to the API Reference to start integrating.

Source

LibOSDP is open source under the Apache-2.0 License and hosted on GitHub.