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_SECUREflag 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.