// ******************************************************************************
//
//
//  Version/Date    Comment
//   2026.05.28     - First release
// ******************************************************************************

#ifndef __TASK_OPCUA_SERVER_H__
#define __TASK_OPCUA_SERVER_H__

#include "mbedtls/entropy.h"
#include "mbedtls/ctr_drbg.h"
#include "open62541/types.h"

int __wrap_mbedtls_entropy_self_test(int verbose);
int __wrap_mbedtls_ctr_drbg_seed(mbedtls_ctr_drbg_context *ctx,
                                 int (*f_entropy)(void *, unsigned char *, size_t),
                                 void *p_entropy,
                                 const unsigned char *custom,
                                 size_t len);
UA_StatusCode __wrap_UA_CertificateVerification_verifyCertificate(
    const void *cv,
    const UA_ByteString *certificate);
UA_StatusCode __wrap_UA_CertificateVerification_verifyApplicationURI(
    const void *cv,
    const UA_ByteString *certificate,
    const UA_String *applicationURI);


//*****************************************************************************
//
// Function prototypes
//
//*****************************************************************************
extern void TaskOpcUaServer_StartOpcUaTasks     ( size_t uxTaskStackSize, UBaseType_t uxTaskPriority );


//*****************************************************************************
//
// Mark the end of the C bindings section for C++ compilers
//
//*****************************************************************************
#ifdef __cplusplus
}
#endif

#endif // __TASK_OPCUA_SERVER_H__
