This document introduces the Paho-C MQTT client API for OpenVMS Alpha and Integrity, a port of the Paho-C 1.3.0 distribution.
Key features and purpose:
- MQTT is a lightweight publish-subscribe protocol over TCP/IP, ideal for applications requiring a small code footprint, low power usage, and efficient data distribution (e.g., sensors, home automation, mobile apps).
- The OpenVMS port includes all original functionality, offering both synchronous (blocking) and asynchronous (non-blocking, callback-based using POSIX threads) APIs.
- It crucially includes built-in SSL/TLS support, statically linked with OpenSSL 1.1.1b, for secure communication.
Installation and Usage:
- The client is distributed as an OpenVMS PCSI kit, installed using
PRODUCT INSTALL PAHO_C.
- Post-installation requires modifying
SYSTARTUP_VMS.COM to define system-wide logical names for the Paho-C libraries, which come in variants for synchronous/asynchronous APIs and with/without TLS/SSL support.
- System requirements include OpenVMS 8.4-1H1+, a VSI/HPE/MultiNet TCP/IP stack, and a VSI C V7.4-001+ compiler. Developers should have OpenVMS development knowledge.
- Sample applications are provided to aid learning, and it's recommended to consult the Eclipse Foundation Paho documentation.
- While applications generally don't require special privileges, a high BYTLM is suggested, and specific privileges are needed for using ports below 1024.
Future Development:
- Future releases are planned to include OpenVMS-specific functionality and abstraction layers to simplify usage from languages other than C, such as COBOL, FORTRAN, and BASIC.