* libiec61850 is an open-source (GPLv3) implementation of an IEC 61850 client and server library implementing
* the protocols MMS, GOOSE and SV. It is implemented in C (according to the C99 standard)
* to be portable to a large number of platforms. It can be used to implement IEC 61850 compliant client and server applications on embedded systems and PCs running Linux, Windows, and MacOS.
* Included is a set of simple example applications that can be used as a starting point to implement own IEC 61850 compliant devices or to communicate with IEC 61850 devices.
* The library has been successfully used in many commercial software products and devices. Various of these devices have been successfully certified for standard compliance.
* by this API. At the moment implementations for Linux, BSD, Windows and MacOS exists. This API
* consists of header files starting with <code>hal_</code> in the <code>hal/inc</code> folder.
*
* \section tls TLS support
*
* The library can also be compiled with TLS support. The library is using an abstraction layer for
* TLS libraries. Currently the only supported implementation of this abstraction layer is for mbedtls.
*
* \section building Building the library and examples with cmake
*
* With the help of the cmake build script it is possible to create platform independent project descriptions and let cmake create specific project or build files for other tools like Make or Visual Studio.
*
* If you have cmake installed fire up a command line (cmd.exe) and create a new subdirectory in the libiec61850 folder. Change to this subdirectory. Then you can invoke cmake. As an command line argument you have to supply a "generator" that is used by cmake to create the project file for the actual build tool (in our case Visual Studio 2015).
*
* For Visual Studio 2017:
*
* <code>cmake -G "Visual Studio 15 2017 Win64" ..</code>
*
* For Visual Studio 2019 (new way to specify the x64 platform):
*
* <code>cmake -G "Visual Studio 16 2019" .. -A x64</code>