Skip to content

File SolidSyslogTlsStream.h

File List > Interface > SolidSyslogTlsStream.h

Go to the documentation of this file

#ifndef SOLIDSYSLOGTLSSTREAM_H
#define SOLIDSYSLOGTLSSTREAM_H

#include "ExternC.h"
#include "SolidSyslogSleep.h"
#include "SolidSyslogTlsHandshakeTimeoutFunction.h"

struct SolidSyslogStream;

EXTERN_C_BEGIN

    struct SolidSyslogTlsStreamConfig
    {
        struct SolidSyslogStream* Transport;
        SolidSyslogSleepFunction Sleep; 
        SolidSyslogTlsHandshakeTimeoutFunction GetHandshakeTimeoutMs; 
        void* HandshakeTimeoutContext; 
        const char* CaBundlePath; 
        const char* ServerName;
        const char* CipherList; 
        const char* ClientCertChainPath; 
        const char* ClientKeyPath; 
    };

    struct SolidSyslogStream* SolidSyslogTlsStream_Create(const struct SolidSyslogTlsStreamConfig* config);
    void SolidSyslogTlsStream_Destroy(struct SolidSyslogStream * base);

EXTERN_C_END

#endif /* SOLIDSYSLOGTLSSTREAM_H */