29#ifndef CLPROTOCOL_CLPROTOCOL_H
30#define CLPROTOCOL_CLPROTOCOL_H
32#include <CLProtocol/ClSerialTypes.h>
40#if (defined(__cplusplus) || defined(__cplusplus__))
41 #define USER_EXTERN_C extern "C"
42 #define USER_EXTERN_C_START extern "C" {
43 #define USER_EXTERN_C_END }
46 #define USER_EXTERN_C_START
47 #define USER_EXTERN_C_END
50#ifdef CLPROTOCOL_EXPORTS
52 #define CLPROTOCOLEXPORT USER_EXTERN_C __declspec(dllexport)
53 #define CLPROTOCOL_DECL __declspec(dllexport)
55 #define CLPROTOCOLEXPORT USER_EXTERN_C __attribute__((visibility("default")))
56 #define CLPROTOCOL_DECL __attribute__((visibility("default")))
60 #define CLPROTOCOLEXPORT USER_EXTERN_C __declspec(dllimport)
61 #define CLPROTOCOL_DECL __declspec(dllimport)
63 #define CLPROTOCOLEXPORT USER_EXTERN_C __attribute__((visibility("default")))
64 #define CLPROTOCOL_DECL __attribute__((visibility("default")))
70 #define CLPROTOCOL __cdecl
72 #if !defined(__x86_64) && !defined(__arm__) && !defined(__aarch64__) && !defined(VXWORKS)
73 #define CLPROTOCOL __attribute__((cdecl))
84typedef void (CLPROTOCOL *clp_logger_t)( CLINT32 level,
const char* stringFormat, va_list argptr);
86 typedef struct clpLogCallback_t
101 CLP_LOG_CALLBACK = 2,
103 CLP_STOP_PROBE_DEVICE = 3,
106 CLP_DEVICE_BAUDERATE = -1,
110 CLP_DEVICE_SUPPORTED_BAUDERATES = -2
116enum CLP_LOG_LEVEL_VALUE
123 CLP_LOG_NOTICE = 500,
153CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
154clpInitLib( clp_logger_t logger,
155 CLP_LOG_LEVEL_VALUE logLevel);
163CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
193CLPROTOCOLEXPORT CLINT32 CLPROTOCOL clpGetShortDeviceIDTemplates ( CLINT8* pShortDeviceTemplates, CLUINT32* pBufferSize );
238CLPROTOCOLEXPORT CLINT32 CLPROTOCOL clpProbeDevice(
ISerial *pSerial,
const CLINT8* pDeviceIDTemplate, CLINT8* pDeviceID, CLUINT32 *pBufferSize, CLUINT32 *pCookie,
const CLUINT32 TimeOut );
281CLPROTOCOLEXPORT CLINT32 CLPROTOCOL clpGetXMLIDs (
ISerial *pSerial,
const CLUINT32 Cookie, CLINT8* pXMLIDs, CLUINT32* pBufferSize,
const CLUINT32 TimeOut );
318CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
319clpGetXMLDescription(
ISerial *pSerial,
const CLUINT32 Cookie,
const CLINT8* pXMLID, CLINT8* pXMLBuffer, CLUINT32* pBufferSize,
const CLUINT32 TimeOut );
351CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
352clpReadRegister(
ISerial *pSerial,
const CLUINT32 Cookie,
const CLINT64 Address, CLINT8* pBuffer,
const CLINT64 BufferSize,
const CLUINT32 TimeOut );
386CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
387clpWriteRegister(
ISerial *pSerial,
const CLUINT32 Cookie,
const CLINT64 Address,
const CLINT8* pBuffer,
const CLINT64 BufferSize,
const CLUINT32 TimeOut );
412CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
413clpContinueWriteRegister(
ISerial *pSerial,
const CLUINT32 Cookie,
const BOOL8 ContinueWaiting,
const CLUINT32 TimeOut );
444CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
445clpGetErrorText( CLINT32 errorCode, CLINT8* errorText, CLUINT32* errorTextSize,
const CLUINT32 Cookie = 0);
459CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
460clpDisconnect(
const CLUINT32 Cookie );
473CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
474clpGetCLProtocolVersion( CLUINT32 *pVersionMajor, CLUINT32 *pVersionMinor );
495CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
496clpGetParam(
ISerial *pSerial, CLP_PARAMS param,
const CLUINT32 Cookie, CLINT8* pBuffer,
const CLINT64 BufferSize,
const CLUINT32 TimeOut);
516CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
517clpSetParam(
ISerial *pSerial, CLP_PARAMS param,
const CLUINT32 Cookie,
const CLINT8* pBuffer,
const CLINT64 BufferSize,
const CLUINT32 TimeOut);
528CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
529clpIsParamSupported( CLP_PARAMS param);
554CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
555clpGetEventData(
const CLUINT32 Cookie, CLINT8* pBuffer, CLUINT32* pBufferSize);
Abstract interface used by the CLProtocol driver to use a serial port.
Definition ISerial.h:43