SupervisorOperationUnregister (FUN) ¶ FUNCTION SupervisorOperationUnregister : RTS_IEC_RESULT Unregister a previously registered operation from supervision InOut: Scope Name Type Comment Return SupervisorOperationUnregister RTS_IEC_RESULT Error code Error code: ERR_OK: Operation was successfully unregistered ERR_NOTINITIALIZED: The operation memory is not initialized ERR_INVALID_HANDLE: The handle to the operation is invalid ERR_PARAMETER: The handle to the operation is invalid Input hOperation RTS_IEC_HANDLE Handle to the operation
SupervisorState (STRUCT) ¶ TYPE SupervisorState : STRUCT InOut: Name Type Comment nNumOfOperations UDINT Number of registered operations that are supervised/enabled nNumOfFailedOperations UDINT Number of failed operations. 0=All operations alive nNumOfRegisteredOperations UDINT Number of all registered operations
File and Project Information ¶ Scope Name Type Content FileHeader creationDateTime date 20.04.2021, 15:56:21 companyName string 3S-Smart Software Solutions GmbH libraryFile CmpSupervisor.library primaryProject True productName CODESYS productProfile CODESYS V3.5 SP16 Patch 3 contentFile CmpSupervisor.clean.json version version 2.0.0.0 ProjectInformation Released bool True LastModificationDateTime date 20.04.2021, 15:56:21 LibraryCategories library-category-list System|SysLibs Author string 3S - Smart Software Solutions GmbH Company System CompiledLibraryCompatibilityVersion CODESYS V3.5 SP15 Patch 2 Description See: Description DocFormat reStructuredText Placeholder CmpSupervisor Project CmpSupervisor Title CmpSupervisor Version version 3.5.17.0
Library Reference ¶ This is a dictionary of all referenced libraries and their name spaces. CmpEventMgr ¶ Library Identification ¶ Placeholder: CmpEventMgr Default Resolution: CmpEventMgr, * (System) Namespace: CmpEventMgr Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: CmpEventMgr SysTypes2 Interfaces ¶ Library Identification ¶ Name: SysTypes2 Interfaces Version: newest Company: System Namespace: SysTypes Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: SysTypes2 Interfaces, * (System)
CmpTlsCreateContext (FUN) ¶ FUNCTION CmpTlsCreateContext : RTS_IEC_HANDLE This function create a TLS context. This context is needed to perform TLS communication using the SysSocket2 library. The context contains all informaiton how to handle this TLS connection. InOut: Scope Name Type Initial Comment Return CmpTlsCreateContext RTS_IEC_HANDLE Handle to the new accepted socket or RTS_INVALID_HANDLE if failed. Input hCert RTS_IEC_HANDLE RTS_INVALID_HANDLE Handle to a certificate. The private key of this certificate has to be available. Can be RTS_INVALID_HANDLE for client connections. If the server requires a client certificate the connection will fail in these case. tlsMethod CmpTls_Interfaces.CmpTlsMethod Protocol version and role in the communication. TLS1.2 is suggested for new implementations. Default will be TLS1.2 client. cipherList POINTER TO STRING 0 Allowed chipers used by this connection. Leave 0 to get default. Default will result in ciphers with HIGH encryption strength and Diffie Hellman key exchange. verifyMode DWORD Set up how to verify the peer. The settings differ between client and server. See CmpTlsVerifyMode for details. Default results in: Client -> Verify the peer. Server -> Do not Verify Peer The options of CmpTlsConstans can be combined by adding them. pResult POINTER TO RTS_IEC_RESULT Operations Result
CmpTlsCreateContext2 (FUN) ¶ FUNCTION CmpTlsCreateContext2 : RTS_IEC_HANDLE This function create a TLS context. This context is needed to perform TLS communication using the SysSocket2 library. The context contains all informaiton how to handle this TLS connection. InOut: Scope Name Type Initial Comment Return CmpTlsCreateContext2 RTS_IEC_HANDLE Handle to the new accepted socket or RTS_INVALID_HANDLE if failed. Input hCert RTS_IEC_HANDLE RTS_INVALID_HANDLE Handle to a certificate. The private key of this certificate has to be available. Can be RTS_INVALID_HANDLE for client connections. If the server requires a client certificate the connection will fail in these case. tlsMethod CmpTls_Interfaces.CmpTlsMethod Protocol version and role in the communication. TLS1.2 is suggested for new implementations. Default will be TLS1.2 client. cipherList POINTER TO STRING 0 Allowed chipers used by this connection. Leave 0 to get default. Default will result in ciphers with HIGH encryption strength and Diffie Hellman key exchange. verifyMode DWORD Set up how to verify the peer. The settings differ between client and server. See CmpTlsVerifyMode for details. Default results in: Client -> Verify the peer. Server -> Do not Verify Peer The options of CmpTlsConstans can be combined by adding them. verifyCallback CmpTls_Interfaces.IVerifyCertCallback This callback is called after the pre verification of the peers certificate. All possible checks (validity, trust chain, etc.) have been done already. The result of this check is passed to the callback. The callback allows to do futher checks (e.g. check the certificate host name, key usage etc.) depending on the use case of the connection. pResult POINTER TO RTS_IEC_RESULT Operations Result
CmpTlsFreeContext (FUN) ¶ FUNCTION CmpTlsFreeContext : RTS_IEC_RESULT This function cleans up the TLS context created with CmpTlsCreateContext. InOut: Scope Name Type Comment Return CmpTlsFreeContext RTS_IEC_RESULT Input hTlsContext RTS_IEC_HANDLE Handle to the context to clean up
CmpTlsShutdown (FUN) ¶ FUNCTION CmpTlsShutdown : RTS_IEC_RESULT There are two ways to shutdown the TLS connection: bidirectional: The first call of TlsShutdown will send the shutdown message. The operation will return ERR_TLS_RETRY_OPERATION. Then the function has to be called again. If the acknowledge of the peer was received ERR_OK will be returned. If the acknowledge was not received yet the function will return ERR_TLS_WANT_READ. unidirectional: The first call of TlsShutdown will send the shutdown message. The operation will return ERR_TLS_RETRY_OPERATION. Close the IO channel and clean up. Don’t wait for the acknowledge of the peer. InOut: Scope Name Type Comment Return CmpTlsShutdown RTS_IEC_RESULT Result of this operation. May be one of these values: ERR_OK: No error. Everything worked as expected. ERR_NOTINITIALIZED: The TLS component was not initialized proberly. ERR_TLS_CONNECTION_CLOSED: The TLS connection is closed. ERR_TLS_WANT_READ: The operation needs TO read data FROM the IO system. There is no data available. ERR_TLS_WANT_WRITE: The operation needs to write data to the IO system. This is not possible. ERR_TLS_RETRY_OPERATION: Something went wrong. Try the same function call again ERR_TLS_IO_SYSTEM: An error in the unterlaying IO system. ERR_TLS_INTERNAL: An internal Error of the TLS Component ERR_FAILED: Unknown error. Input hTlsConn RTS_IEC_HANDLE Handle of the TLS connection, created with one of the TLSxxxOpen functions
CmpTlsRead (FUN) ¶ FUNCTION CmpTlsRead : __XINT Receive data from the encrypted channel. If the connection is not established yet, this will be done transparent in the background. Normally only data is of the encrypted channel is consumed. In some cases (Handshaking has not finished or renegotiation of the session keys) this function will also write data. If the unterlaying IO doens’t write automatically the need to send data will be indicated using the corresponding error code. InOut: Scope Name Type Comment Return CmpTlsRead __XINT Number of bytes received. 0 if an error occured. Input hTlsConn RTS_IEC_HANDLE Handle of the TLS connection, created with one of the TLSxxxOpen functions pbyBuffer POINTER TO BYTE Pointer to a databuffer, where the received decrypted data should be written to. xiBufferSize __XINT Size of pbyData. Maximum number of bytes, that could be received from the TLS connection. pResult POINTER TO RTS_IEC_RESULT Result OF THIS operation. May be one OF these values: ERR_OK: No error. Everything worked as expected. ERR_NOTINITIALIZED: The TLS component was not initialized proberly. ERR_TLS_CONNECTION_CLOSED: The TLS connection is closed. Use TlsShutdown to shutdown locally. ERR_TLS_WANT_READ: The operation needs TO read data FROM the IO system. There is no data available. ERR_TLS_WANT_WRITE: The operation needs to write data to the IO system. This is not possible. ERR_TLS_RETRY_OPERATION: Something went wrong. Try the same function call again ERR_TLS_IO_SYSTEM: An error in the unterlaying IO system. ERR_TLS_INTERNAL: An internal Error of the TLS Component ERR_FAILED: Unknown error.
CmpTlsWrite (FUN) ¶ FUNCTION CmpTlsWrite : __XINT Send data over the encrypted channel. If the connection is not established yet, this will be done transparent in the background. Normally only data is written to the unterlaying IO. In some cases data have to be read (Handshaking has not finished or renegotiation of the session keys). If not data is for reading is available this will be indicated through the corresponding error code. InOut: Scope Name Type Comment Return CmpTlsWrite __XINT Number of bytes sent. 0 if an error occured. Input hTlsConn RTS_IEC_HANDLE Handle of the TLS connection, created with one of the TLSxxxOpen functions pbyData POINTER TO BYTE Pointer to data, that should be sent over the TLS connection xiDataSize __XINT Size of pbyData. Number of bytes that should be sent over the TLS connection pResult POINTER TO RTS_IEC_RESULT Result OF THIS operation. May be one OF these values: ERR_OK: No error. Everything worked as expected. ERR_NOTINITIALIZED: The TLS component was not initialized proberly. ERR_TLS_CONNECTION_CLOSED: The TLS connection is closed. Use TlsShutdown to shutdown locally. ERR_TLS_WANT_READ: The operation needs TO read data FROM the IO system. There is no data available. ERR_TLS_WANT_WRITE: The operation needs to write data to the IO system. This is not possible. ERR_TLS_RETRY_OPERATION: Something went wrong. Try the same function call again ERR_TLS_IO_SYSTEM: An error in the unterlaying IO system. ERR_TLS_INTERNAL: An internal Error of the TLS Component ERR_FAILED: Unknown error.