The complete code is designed for portability.
The OPC UA Stack and OPC UA ANSI C SDK can be ported by adapting
a simple platformlayer.
The platformlayer encapsulates all platform and hardware specific details like:
- Datatype size configuration
- Endianness configuration
- Memory handling (OpcUa_Alloc, OpcUa_Free: Can be mapped to own memory pool)
- Network
- DateTime
- Security
- PKI Provider
- Sockets API (preferred Berkley, but not required)
- Clock (for generating timestamps)
- OpenSSL or alternative Crypto and PKI API that supports (optional)
- AES, RSA, SHA1, x509 Certificate Validation
- This is only needed to support OPC UA Security (Encryption, Signing, Authentication)
- ANSI C Compiler (Known to work with GCC, MS Visual Studio, SunCC)
They have implemented the OPC UA SDK and Stack and have a lot of experience in porting the code to new operating systems.