spacepaste

  1.  
  2. ///////////////////////////////////////////////////////////////////////////////
  3. // vscphelperlib.h
  4. //
  5. // This file is part of the VSCP (http://www.vscp.org)
  6. //
  7. // The MIT License (MIT)
  8. //
  9. // Copyright (c) 2000-2017 Ake Hedman, Grodans Paradis AB <info@grodansparadis.com>
  10. //
  11. // Permission is hereby granted, free of charge, to any person obtaining a copy
  12. // of this software and associated documentation files (the "Software"), to deal
  13. // in the Software without restriction, including without limitation the rights
  14. // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  15. // copies of the Software, and to permit persons to whom the Software is
  16. // furnished to do so, subject to the following conditions:
  17. //
  18. // The above copyright notice and this permission notice shall be included in all
  19. // copies or substantial portions of the Software.
  20. //
  21. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  22. // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  23. // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  24. // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  25. // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  26. // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  27. // SOFTWARE.
  28. #ifndef WIN32
  29. #define __LINUX__
  30. #define VSCP_HELPER_PRE
  31. #else
  32. #define VSCP_HELPER_PRE WINAPI EXPORT
  33. #endif
  34. #include <time.h>
  35. #include <vscp.h>
  36. #ifdef __cplusplus
  37. extern "C" {
  38. #endif
  39. #ifdef WIN32
  40. #define DllExport __declspec( dllexport )
  41. // * * * * * W I N D O W S * * * * *
  42. DllExport long WINAPI EXPORT vscphlp_newSession(void);
  43. DllExport void WINAPI EXPORT vscphlp_closeSession(long handle);
  44. DllExport int WINAPI EXPORT vscphlp_setResponseTimeout(long handle, unsigned long timeout );
  45. DllExport int WINAPI EXPORT vscphlp_setAfterCommandSleep(long handle, unsigned short sleeptime );
  46. DllExport int WINAPI EXPORT vscphlp_isConnected(const long handle);
  47. DllExport int WINAPI EXPORT vscphlp_doCommand( long handle, const char * cmd );
  48. DllExport int WINAPI EXPORT vscphlp_checkReply( long handle, int bClear );
  49. DllExport int WINAPI EXPORT vscphlp_clearLocalInputQueue( long handle );
  50. DllExport int WINAPI EXPORT vscphlp_openInterface( long handle, const char *pInterface, unsigned long flags );
  51. DllExport int WINAPI EXPORT vscphlp_open( long handle, const char *pHostname, const char *pUsername, const char *pPassword );
  52. DllExport int WINAPI EXPORT vscphlp_close( long handle );
  53. DllExport int WINAPI EXPORT vscphlp_noop( long handle );
  54. DllExport int WINAPI EXPORT vscphlp_clearDaemonEventQueue( long handle );
  55. DllExport int WINAPI EXPORT vscphlp_sendEvent( long handle, const vscpEvent *pEvent );
  56. DllExport int WINAPI EXPORT vscphlp_sendEventEx( long handle, const vscpEventEx *pEvent );
  57. DllExport int WINAPI EXPORT vscphlp_receiveEvent( long handle, vscpEvent *pEvent );
  58. DllExport int WINAPI EXPORT vscphlp_receiveEventEx( long handle, vscpEventEx *pEvent );
  59. DllExport int WINAPI EXPORT vscphlp_blockingReceiveEvent( long handle, vscpEvent *pEvent, unsigned long timout );
  60. DllExport int WINAPI EXPORT vscphlp_blockingReceiveEventEx( long handle, vscpEventEx *pEventEx, unsigned long timout );
  61. DllExport int WINAPI EXPORT vscphlp_enterReceiveLoop(const long handle);
  62. DllExport int WINAPI EXPORT vscphlp_quitReceiveLoop(const long handle);
  63. DllExport int WINAPI EXPORT vscphlp_isDataAvailable( long handle, unsigned int *pCount );
  64. DllExport int WINAPI EXPORT vscphlp_getStatus( long handle, VSCPStatus *pStatus );
  65. DllExport int WINAPI EXPORT vscphlp_getStatistics( long handle, VSCPStatistics *pStatistics );
  66. DllExport int WINAPI EXPORT vscphlp_setFilter( long handle, const vscpEventFilter *pFilter );
  67. DllExport int WINAPI EXPORT vscphlp_getVersion( long handle, unsigned char *pMajorVer,
  68. unsigned char *pMinorVer,
  69. unsigned char *pSubMinorVer );
  70. DllExport int WINAPI EXPORT vscphlp_getDLLVersion( long handle, unsigned long *pVersion );
  71. DllExport int WINAPI EXPORT vscphlp_getVendorString( long handle, char *pVendorStr, size_t len );
  72. DllExport int WINAPI EXPORT vscphlp_getDriverInfo( long handle, char *pDriverInfoStr, size_t len );
  73. DllExport int WINAPI EXPORT vscphlp_shutDownServer( long handle );
  74. //-------------------------------------------------------------------------
  75. // Variables
  76. //-------------------------------------------------------------------------
  77. DllExport int WINAPI EXPORT vscphlp_deleteRemoteVariable( long handle, const char *pName );
  78. DllExport int WINAPI EXPORT vscphlp_createRemoteVariable( const char *pName,
  79. const char* pType,
  80. const int bPersistent,
  81. const char *pUser,
  82. const unsigned long rights,
  83. const char* pValue,
  84. const char* pNote );
  85. DllExport int WINAPI EXPORT vscphlp_saveRemoteVariablesToDisk( long handle,
  86. const char *pPath,
  87. const int select,
  88. const char *pRegExp );
  89. DllExport int WINAPI EXPORT vscphlp_loadRemoteVariablesFromDisk( long handle,
  90. const char *pPath );
  91. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableValue( long handle, const char *pName, char *pvalue, size_t len );
  92. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableValue( long handle, const char *pName, char *pValue );
  93. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableString( long handle, const char *pName, char *pValue, size_t len );
  94. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableString( long handle, const char *pName, char *pValue );
  95. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableBool( long handle, const char *pName, int *pvalue );
  96. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableBool( long handle, const char *pName, int value );
  97. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableInt( long handle, const char *pName, int *pvalue );
  98. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableInt( long handle, const char *pName, int value );
  99. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableLong( long handle, const char *pName, long *pvalue );
  100. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableLong( long handle, const char *pName, long value );
  101. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableDouble( long handle, const char *pName, double *pvalue );
  102. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableDouble( long handle, const char *pName, double value );
  103. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableMeasurement( long handle,
  104. const char *pName,
  105. double *pvalue,
  106. int *punit,
  107. int *psensoridx,
  108. int *pzone,
  109. int *psubzone );
  110. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableMeasurement( long handle,
  111. const char *pName,
  112. double value,
  113. int unit,
  114. int sensoridx,
  115. int zone,
  116. int subzone );
  117. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableEvent( long handle, const char *pName, vscpEvent *pEvent );
  118. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableEvent( long handle, const char *pName, vscpEvent *pEvent );
  119. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableEventEx( long handle, const char *pName, vscpEventEx *pEvent );
  120. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableEventEx( long handle, const char *pName, vscpEventEx *pEvent );
  121. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableGUIDString( long handle, const char *pName, const char *pGUID, int size );
  122. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableGUIDString( long handle, const char *pName, const char *pGUID );
  123. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableGUIDArray( long handle, const char *pName, unsigned char *pGUID );
  124. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableGUIDArray( long handle, const char *pName, const unsigned char *pGUID );
  125. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableVSCPData( long handle, const char *pName, unsigned char *pData, unsigned short *psize );
  126. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableVSCPData( long handle, const char *pName, unsigned char *pData, unsigned short size );
  127. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableVSCPClass( long handle, const char *pName, unsigned short *vscp_class );
  128. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableVSCPClass( long handle, const char *pName, unsigned short vscp_class );
  129. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableVSCPType( long handle, const char *pName, unsigned short *vscp_type );
  130. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableVSCPType( long handle, const char *pName, unsigned short vscp_type );
  131. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableVSCPTimestamp( long handle, const char *pName, unsigned long *vscp_timestamp );
  132. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableVSCPTimestamp( long handle, const char *pName, unsigned long vscp_timestamp );
  133. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableDateTime( long handle, const char *pName, char *pValue, size_t len );
  134. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableDateTime( long handle, const char *pName, char *pValue );
  135. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableDate( long handle, const char *pName, char *pValue, size_t len);
  136. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableDate( long handle, const char *pName, char *pValue );
  137. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableTime( long handle, const char *pName, char *pValue, size_t len);
  138. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableTime( long handle, const char *pName, char *pValue );
  139. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableBlob( long handle, const char *pName, char *pValue, size_t len );
  140. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableBlob( long handle, const char *pName, char *pValue );
  141. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableMIME( long handle, const char *pName, char *pValue, size_t len );
  142. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableMIME( long handle, const char *pName, char *pValue );
  143. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableHTML( long handle, const char *pName, char *pValue, size_t len );
  144. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableHTML( long handle, const char *pName, char *pValue );
  145. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableJavaScript( long handle, const char *pName, char *pValue, size_t len );
  146. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableJavaScript( long handle, const char *pName, char *pValue );
  147. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableLUA( long handle, const char *pName, char *pValue, size_t len );
  148. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableLUA( long handle, const char *pName, char *pValue );
  149. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableLUARES( long handle, const char *pName, char *pValue, size_t len );
  150. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableLUARES( long handle, const char *pName, char *pValue );
  151. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableUX1( long handle, const char *pName, char *pValue, size_t len );
  152. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableUX1( long handle, const char *pName, char *pValue );
  153. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableDMROW( long handle, const char *pName, char *pValue, size_t len );
  154. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableDMROW( long handle, const char *pName, char *pValue );
  155. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableDriver( long handle, const char *pName, char *pValue, size_t len );
  156. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableDriver( long handle, const char *pName, char *pValue );
  157. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableUser( long handle, const char *pName, char *pValue, size_t len );
  158. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableUser( long handle, const char *pName, char *pValue );
  159. DllExport int WINAPI EXPORT vscphlp_getRemoteVariableFilter( long handle, const char *pName, char *pValue, size_t len );
  160. DllExport int WINAPI EXPORT vscphlp_setRemoteVariableFilter( long handle, const char *pName, char *pValue );
  161. //-------------------------------------------------------------------------
  162. // Helpers
  163. //-------------------------------------------------------------------------
  164. DllExport unsigned long WINAPI EXPORT vscphlp_readStringValue( const char * pStrValue );
  165. DllExport unsigned char WINAPI EXPORT vscphlp_getVscpPriority( const vscpEvent *pEvent );
  166. DllExport void WINAPI EXPORT vscphlp_setVscpPriority( vscpEvent *pEvent, unsigned char priority );
  167. DllExport unsigned char WINAPI EXPORT vscphlp_getVSCPheadFromCANALid( const unsigned long id );
  168. DllExport unsigned short WINAPI EXPORT vscphlp_getVSCPclassFromCANALid( const unsigned long id );
  169. DllExport unsigned short WINAPI EXPORT vscphlp_getVSCPtypeFromCANALid( const unsigned long id );
  170. DllExport unsigned char WINAPI EXPORT vscphlp_getVSCPnicknameFromCANALid( const unsigned long id );
  171. DllExport unsigned long WINAPI EXPORT vscphlp_getCANALidFromVSCPdata( const unsigned char priority,
  172. const unsigned short vscp_class,
  173. const unsigned short vscp_type );
  174. DllExport unsigned long WINAPI EXPORT vscphlp_getCANALidFromVSCPevent( const vscpEvent *pEvent );
  175. DllExport unsigned long WINAPI EXPORT vscphlp_getCANALidFromVSCPeventEx( const vscpEventEx *pEvent );
  176. DllExport unsigned short WINAPI EXPORT vscphlp_calc_crc_Event( vscpEvent *pEvent, short bSet );
  177. DllExport unsigned short WINAPI EXPORT vscphlp_calc_crc_EventEx( vscpEvent *pEvent, short bSet );
  178. DllExport unsigned char WINAPI EXPORT vscphlp_calcCRC4GUIDArray( unsigned char *pguid );
  179. DllExport unsigned char WINAPI EXPORT vscphlp_calcCRC4GUIDString(const char *strguid);
  180. DllExport int WINAPI EXPORT vscphlp_getGuidFromString( vscpEvent *pEvent, const char * pGUID );
  181. DllExport int WINAPI EXPORT vscphlp_getGuidFromStringEx( vscpEventEx *pEvent, const char * pGUID );
  182. DllExport int WINAPI EXPORT vscphlp_getGuidFromStringToArray( uint8_t *pGUID, const char *pStr );
  183. DllExport int WINAPI EXPORT vscphlp_writeGuidToString( const vscpEvent *pEvent, char *pStr, size_t len );
  184. DllExport int WINAPI EXPORT vscphlp_writeGuidToStringEx( const vscpEventEx *pEvent, char * pStr, size_t len );
  185. DllExport int WINAPI EXPORT vscphlp_writeGuidToString4Rows( const vscpEvent *pEvent,
  186. char *strGUID,
  187. size_t len );
  188. DllExport int WINAPI EXPORT vscphlp_writeGuidToString4RowsEx( const vscpEventEx *pEvent,
  189. char *strGUID,
  190. size_t len );
  191. DllExport int WINAPI EXPORT vscphlp_writeGuidArrayToString( const unsigned char *pGUID,
  192. char *strGUID,
  193. size_t len );
  194. DllExport int WINAPI EXPORT vscphlp_isGUIDEmpty( unsigned char *pGUID );
  195. DllExport int WINAPI EXPORT vscphlp_isSameGUID( const unsigned char *pGUID1,
  196. const unsigned char *pGUID2 );
  197. DllExport int WINAPI EXPORT vscphlp_reverseGUID(unsigned char *pGUID);
  198. DllExport int WINAPI EXPORT vscphlp_convertVSCPtoEx( vscpEventEx *pEventEx,
  199. const vscpEvent *pEvent );
  200. DllExport int WINAPI EXPORT vscphlp_convertVSCPfromEx( vscpEvent *pEvent,
  201. const vscpEventEx *pEventEx );
  202. DllExport int WINAPI EXPORT vscphlp_newVSCPevent( vscpEvent **ppEvent );
  203. DllExport void WINAPI EXPORT vscphlp_deleteVSCPevent( vscpEvent *pEvent );
  204. DllExport void WINAPI EXPORT vscphlp_deleteVSCPevent_v2( vscpEvent **ppEvent );
  205. DllExport void WINAPI EXPORT vscphlp_deleteVSCPeventEx( vscpEventEx *pEventEx );
  206. DllExport void WINAPI EXPORT vscphlp_clearVSCPFilter( vscpEventFilter *pFilter );
  207. DllExport void WINAPI EXPORT vscphlp_copyVSCPFilter( vscpEventFilter *pToFilter, const vscpEventFilter *pFromFilter );
  208. DllExport int WINAPI EXPORT vscphlp_readFilterFromString( vscpEventFilter *pFilter, const char *strFilter );
  209. DllExport int WINAPI EXPORT vscphlp_readMaskFromString( vscpEventFilter *pFilter, const char *strMask );
  210. DllExport int WINAPI EXPORT vscphlp_writeFilterToString( vscpEventFilter *pFilter, char *strFilter );
  211. DllExport int WINAPI EXPORT vscphlp_writeMaskToString( vscpEventFilter *pFilter, char *strMask );
  212. DllExport int WINAPI EXPORT vscphlp_doLevel2Filter( const vscpEvent *pEvent,
  213. const vscpEventFilter *pFilter );
  214. DllExport int WINAPI EXPORT vscphlp_convertCanalToEvent( vscpEvent *pvscpEvent,
  215. const canalMsg *pcanalMsg,
  216. unsigned char *pGUID );
  217. DllExport int WINAPI EXPORT vscphlp_convertCanalToEventEx( vscpEventEx *pvscpEvent,
  218. const canalMsg *pcanalMsg,
  219. unsigned char *pGUID );
  220. DllExport int WINAPI EXPORT vscphlp_convertEventToCanal( canalMsg *pcanalMsg,
  221. const vscpEvent *pvscpEvent );
  222. DllExport int WINAPI EXPORT vscphlp_convertEventExToCanal( canalMsg *pcanalMsg,
  223. const vscpEventEx *pvscpEventEx );
  224. DllExport unsigned long WINAPI EXPORT vscphlp_makeTimeStamp( void );
  225. DllExport int WINAPI EXPORT vscphlp_setEventDateTimeBlockToNow( vscpEvent *pEvent );
  226. DllExport int WINAPI EXPORT vscphlp_setEventExDateTimeBlockToNow( vscpEventEx *pEventEx );
  227. DllExport int WINAPI EXPORT vscphlp_copyVSCPEvent( vscpEvent *pEventTo,
  228. const vscpEvent *pEventFrom );
  229. DllExport int WINAPI EXPORT vscphlp_writeVscpDataToString( const vscpEvent *pEvent,
  230. char *pstr,
  231. size_t len,
  232. int bUseHtmlBreak );
  233. DllExport int WINAPI EXPORT vscphlp_writeVscpDataWithSizeToString( const unsigned char *pData,
  234. const unsigned short sizeData,
  235. char *pStr,
  236. size_t len,
  237. int bUseHtmlBreak,
  238. int bBreak );
  239. DllExport int WINAPI EXPORT vscphlp_setVscpDataFromString( vscpEvent *pEvent, const char *pstr );
  240. DllExport int WINAPI EXPORT vscphlp_setVscpDataArrayFromString( unsigned char *pData,
  241. unsigned short *psizeData,
  242. const char *pstr );
  243. DllExport int WINAPI EXPORT vscphlp_writeVscpEventToString( const vscpEvent *pEvent, char *p, size_t len );
  244. DllExport int WINAPI EXPORT vscphlp_writeVscpEventExToString( const vscpEventEx *pEvent, char *p, size_t len );
  245. DllExport int WINAPI EXPORT vscphlp_setVscpEventFromString( vscpEvent *pEvent, const char *p );
  246. DllExport int WINAPI EXPORT vscphlp_setVscpEventExFromString( vscpEventEx *pEvent, const char *p );
  247. DllExport unsigned char WINAPI EXPORT vscphlp_getMeasurementDataCoding( const vscpEvent *pEvent );
  248. DllExport unsigned long long WINAPI EXPORT vscphlp_getDataCodingBitArray(const unsigned char *pCode, int size );
  249. DllExport unsigned long long WINAPI EXPORT vscphlp_getDataCodingInteger(const unsigned char *pCode, int size );
  250. DllExport double WINAPI EXPORT vscphlp_getDataCodingNormalizedInteger(const unsigned char *pCode, int size );
  251. DllExport int WINAPI EXPORT vscphlp_getDataCodingString(const unsigned char *pData,
  252. unsigned char dataLength,
  253. char *strResult,
  254. size_t len );
  255. DllExport int WINAPI EXPORT vscphlp_getVscpDataFromString( vscpEvent *pEvent,
  256. const char *pstr );
  257. DllExport int WINAPI EXPORT vscphlp_getVSCPMeasurementAsString( const vscpEvent *pEvent,
  258. char *pResult,
  259. size_t len );
  260. DllExport int WINAPI EXPORT vscphlp_getVSCPMeasurementAsDouble(const vscpEvent *pEvent, double *pvalue);
  261. DllExport int WINAPI EXPORT vscphlp_getVSCPMeasurementFloat64AsString( const vscpEvent *pEvent,
  262. char *pStrResult,
  263. size_t len );
  264. DllExport int WINAPI EXPORT vscphlp_convertFloatToNormalizedEventData( unsigned char *pdata,
  265. unsigned short *psize,
  266. double value,
  267. unsigned char unit,
  268. unsigned char sensoridx );
  269. DllExport int WINAPI EXPORT vscphlp_convertFloatToFloatEventData( unsigned char *pdata,
  270. unsigned short *psize,
  271. float value,
  272. unsigned char unit,
  273. unsigned char sensoridx );
  274. DllExport int WINAPI EXPORT vscphlp_convertIntegerToNormalizedEventData( unsigned char *pdata,
  275. unsigned short *psize,
  276. unsigned long long val64,
  277. unsigned char unit,
  278. unsigned char sensoridx );
  279. DllExport int WINAPI EXPORT vscphlp_makeFloatMeasurementEvent( vscpEvent *pEvent,
  280. float value,
  281. unsigned char unit,
  282. unsigned char sensoridx );
  283. DllExport int WINAPI EXPORT vscphlp_getMeasurementAsFloat(const unsigned char *pNorm,
  284. unsigned char length,
  285. float *pResult );
  286. DllExport int WINAPI EXPORT vscphlp_getMeasurementUnit( const vscpEvent *pEvent );
  287. DllExport int WINAPI EXPORT vscphlp_getMeasuremenSensorIndex( const vscpEvent *pEvent );
  288. DllExport int WINAPI EXPORT vscphlp_getMeasurementZone( const vscpEvent *pEvent );
  289. DllExport int WINAPI EXPORT vscphlp_getMeasurementSubZone( const vscpEvent *pEvent );
  290. DllExport int WINAPI EXPORT vscphlp_isMeasurement( const vscpEvent *pEvent );
  291. DllExport int WINAPI EXPORT vscphlp_makeLevel2FloatMeasurementEvent( vscpEvent *pEvent,
  292. uint16_t type,
  293. double value,
  294. uint8_t unit,
  295. uint8_t sensoridx,
  296. uint8_t zone,
  297. uint8_t subzone );
  298. DllExport int WINAPI EXPORT vscphlp_makeLevel2StringMeasurementEvent( vscpEvent *pEvent,
  299. uint16_t type,
  300. double value,
  301. uint8_t unit,
  302. uint8_t sensoridx,
  303. uint8_t zone,
  304. uint8_t subzone );
  305. DllExport int WINAPI EXPORT vscphlp_convertLevel1MeasuremenToLevel2Double( vscpEvent *pEventLevel1 );
  306. DllExport int WINAPI EXPORT vscphlp_convertLevel1MeasuremenToLevel2String( vscpEvent *pEventLevel1 );
  307. DllExport int WINAPI EXPORT vscphlp_replaceBackslash( char *pStr );
  308. DllExport unsigned char WINAPI EXPORT vscphlp_getVscpPriority( const vscpEvent *pEvent );
  309. DllExport unsigned char WINAPI EXPORT vscphlp_getVscpPriorityEx( const vscpEventEx *pEvent );
  310. DllExport void WINAPI EXPORT vscphlp_setVscpPriority( vscpEvent *pEvent, unsigned char priority );
  311. DllExport void WINAPI EXPORT vscphlp_setVscpPriorityEx( vscpEventEx *pEvent, unsigned char priority );
  312. DllExport int WINAPI EXPORT vscphlp_convertEventToJSON( vscpEvent *pEvent, char *p, size_t len );
  313. DllExport int WINAPI EXPORT vscphlp_convertEventExToJSON( vscpEventEx *pEventEx, char *p, size_t len );
  314. DllExport int WINAPI EXPORT vscphlp_convertEventToXML( vscpEvent *pEvent, char *p, size_t len );
  315. DllExport int WINAPI EXPORT vscphlp_convertEventExToXML( vscpEventEx *pEventEx, char *p, size_t len );
  316. DllExport int WINAPI EXPORT vscphlp_convertEventToHTML( vscpEvent *pEvent, char *p, size_t len );
  317. DllExport int WINAPI EXPORT vscphlp_convertEventExToHTML( vscpEventEx *pEventEx, char *p, size_t len );
  318. DllExport int WINAPI EXPORT vscphlp_getTimeString( char *buf, size_t buf_len, time_t *t );
  319. DllExport int WINAPI EXPORT vscphlp_getISOTimeString( char *buf, size_t buf_len, time_t *t );
  320. DllExport int WINAPI EXPORT vscphlp_getDateStringFromEvent( char *buf, size_t buf_len, vscpEvent *pEvent );
  321. DllExport int WINAPI EXPORT vscphlp_getDateStringFromEventEx( char *buf, size_t buf_len, vscpEventEx *pEventEx );
  322. #else
  323. // * * * * * U N I X / L I N U X * * * * *
  324. long vscphlp_newSession(void);
  325. void vscphlp_closeSession(long handle);
  326. int vscphlp_setResponseTimeout(long handle, unsigned long timeout );
  327. int vscphlp_setAfterCommandSleep(long handle, unsigned short sleeptime );
  328. int vscphlp_isConnected(const long handle);
  329. int vscphlp_doCommand( long handle, const char * cmd );
  330. int vscphlp_checkReply( long handle, int bClear );
  331. int vscphlp_clearLocalInputQueue( long handle );
  332. int vscphlp_openInterface( long handle, const char *pInterface, unsigned long flags );
  333. int vscphlp_open( long handle, const char *pHostname, const char *pUsername, const char *pPassword );
  334. int vscphlp_close( long handle );
  335. int vscphlp_noop( long handle );
  336. int vscphlp_clearDaemonEventQueue( long handle );
  337. int vscphlp_sendEvent( long handle, const vscpEvent *pEvent );
  338. int vscphlp_sendEventEx( long handle, const vscpEventEx *pEvent );
  339. int vscphlp_receiveEvent( long handle, vscpEvent *pEvent );
  340. int vscphlp_receiveEventEx( long handle, vscpEventEx *pEvent );
  341. int vscphlp_blockingReceiveEvent( long handle, vscpEvent *pEvent, unsigned long timout );
  342. int vscphlp_blockingReceiveEventEx( long handle, vscpEventEx *pEventEx, unsigned long timout );
  343. int vscphlp_enterReceiveLoop(const long handle);
  344. int vscphlp_quitReceiveLoop(const long handle);
  345. int vscphlp_isDataAvailable( long handle, unsigned int *pCount );
  346. int vscphlp_getStatus( long handle, VSCPStatus *pStatus );
  347. int vscphlp_getStatistics( long handle, VSCPStatistics *pStatistics );
  348. int vscphlp_setFilter( long handle, const vscpEventFilter *pFilter );
  349. int vscphlp_getVersion( long handle,
  350. unsigned char *pMajorVer,
  351. unsigned char *pMinorVer,
  352. unsigned char *pSubMinorVer );
  353. int vscphlp_getDLLVersion( long handle, unsigned long *pVersion );
  354. int vscphlp_getVendorString( long handle, char *pVendorStr, size_t len );
  355. int vscphlp_getDriverInfo( long handle, char *pDriverInfoStr, size_t len );
  356. int vscphlp_serverShutDown( long handle );
  357. //-------------------------------------------------------------------------
  358. // Variables
  359. //-------------------------------------------------------------------------
  360. int vscphlp_deleteRemoteVariable( long handle, const char *pName );
  361. int vscphlp_createRemoteVariable( long handle,
  362. const char *pName,
  363. const char* pType,
  364. const int bPersistent,
  365. const char *pUser,
  366. const unsigned long rights,
  367. const char* pValue,
  368. const char* pNote );
  369. int vscphlp_saveRemoteVariablesToDisk( long handle,
  370. const char *pPath,
  371. const int select,
  372. const char *pRegExp );
  373. int vscphlp_loadRemoteVariablesFromDisk( long handle,
  374. const char *pPath );
  375. int vscphlp_getRemoteVariableValue( long handle, const char *pName, char *pvalue, size_t len );
  376. int vscphlp_setRemoteVariableValue( long handle, const char *pName, char *pValue );
  377. int vscphlp_getRemoteVariableString( long handle, const char *pName, char *pvalue, size_t len );
  378. int vscphlp_setRemoteVariableString( long handle, const char *pName, char *pValue );
  379. int vscphlp_getRemoteVariableBool( long handle, const char *pName, int *bValue );
  380. int vscphlp_setRemoteVariableBool( long handle, const char *pName, int value );
  381. int vscphlp_getRemoteVariableInt( long handle, const char *pName, int *value );
  382. int vscphlp_setRemoteVariableInt( long handle, const char *pName, int value );
  383. int vscphlp_getRemoteVariableLong( long handle, const char *pName, long *value );
  384. int vscphlp_setRemoteVariableLong( long handle, const char *pName, long value );
  385. int vscphlp_getRemoteVariableDouble( long handle, const char *pName, double *value );
  386. int vscphlp_setRemoteVariableDouble( long handle, const char *pName, double value );
  387. int vscphlp_getRemoteVariableMeasurement( long handle,
  388. const char *pName,
  389. double *pvalue,
  390. int *punit,
  391. int *psensoridx,
  392. int *pzone,
  393. int *psubzone );
  394. int vscphlp_setRemoteVariableMeasurement( long handle,
  395. const char *pName,
  396. double value,
  397. int unit,
  398. int sensoridx,
  399. int zone,
  400. int subzone );
  401. int vscphlp_getRemoteVariableEvent( long handle, const char *pName, vscpEvent *pEvent );
  402. int vscphlp_setRemoteVariableEvent( long handle, const char *pName, vscpEvent *pEvent );
  403. int vscphlp_getRemoteVariableEventEx( long handle, const char *pName, vscpEventEx *pEvent );
  404. int vscphlp_setRemoteVariableEventEx( long handle, const char *pName, vscpEventEx *pEvent );
  405. int vscphlp_getRemoteVariableGUIDString( long handle, const char *pName, const char *pGUID, size_t len );
  406. int vscphlp_setRemoteVariableGUIDString( long handle, const char *pName, const char *pGUID );
  407. int vscphlp_getRemoteVariableGUIDArray( long handle, const char *pName, unsigned char *pGUID );
  408. int vscphlp_setRemoteVariableGUIDArray( long handle, const char *pName, const unsigned char *pGUID );
  409. int vscphlp_getRemoteVariableVSCPData( long handle, const char *pName, unsigned char *pData, unsigned short *psize );
  410. int vscphlp_setRemoteVariableVSCPData( long handle, const char *pName, unsigned char *pData, unsigned short size );
  411. int vscphlp_getRemoteVariableVSCPClass( long handle, const char *pName, unsigned short *vscp_class );
  412. int vscphlp_setRemoteVariableVSCPClass( long handle, const char *pName, unsigned short vscp_class );
  413. int vscphlp_getRemoteVariableVSCPType( long handle, const char *pName, unsigned short *vscp_type );
  414. int vscphlp_setRemoteVariableVSCPType( long handle, const char *pName, unsigned short vscp_type );
  415. int vscphlp_getRemoteVariableVSCPTimestamp( long handle, const char *pName, unsigned long *vscp_timestamp );
  416. int vscphlp_setRemoteVariableVSCPTimestamp( long handle, const char *pName, unsigned long vscp_timestamp );
  417. int vscphlp_getRemoteVariableDateTime( long handle, const char *pName, char *pValue, size_t len );
  418. int vscphlp_setRemoteVariableDateTime( long handle, const char *pName, char *pValue );
  419. int vscphlp_getRemoteVariableDate( long handle, const char *pName, char *pValue, size_t len );
  420. int vscphlp_setRemoteVariableDate( long handle, const char *pName, char *pValue );
  421. int vscphlp_getRemoteVariableTime( long handle, const char *pName, char *pValue, size_t len );
  422. int vscphlp_setRemoteVariableTime( long handle, const char *pName, char *pValue );
  423. int vscphlp_getRemoteVariableBlob( long handle, const char *pName, char *pValue, size_t len );
  424. int vscphlp_setRemoteVariableBlob( long handle, const char *pName, char *pValue );
  425. int vscphlp_getRemoteVariableMIME( long handle, const char *pName, char *pValue, size_t len );
  426. int vscphlp_setRemoteVariableMIME( long handle, const char *pName, char *pValue );
  427. int vscphlp_getRemoteVariableHTML( long handle, const char *pName, char *pValue, size_t len );
  428. int vscphlp_setRemoteVariableHTML( long handle, const char *pName, char *pValue );
  429. int vscphlp_getRemoteVariableJavaScript( long handle, const char *pName, char *pValue, size_t len );
  430. int vscphlp_setRemoteVariableJavaScript( long handle, const char *pName, char *pValue );
  431. int vscphlp_getRemoteVariableLUA( long handle, const char *pName, char *pValue, size_t len );
  432. int vscphlp_setRemoteVariableLUA( long handle, const char *pName, char *pValue );
  433. int vscphlp_getRemoteVariableLUARES( long handle, const char *pName, char *pValue, size_t len );
  434. int vscphlp_setRemoteVariableLUARES( long handle, const char *pName, char *pValue );
  435. int vscphlp_getRemoteVariableUX1( long handle, const char *pName, char *pValue, size_t len );
  436. int vscphlp_setRemoteVariableUX1( long handle, const char *pName, char *pValue );
  437. int vscphlp_getRemoteVariableDMROW( long handle, const char *pName, char *pValue, size_t len );
  438. int vscphlp_setRemoteVariableDMROW( long handle, const char *pName, char *pValue );
  439. int vscphlp_getRemoteVariableDriver( long handle, const char *pName, char *pValue, size_t len );
  440. int vscphlp_setRemoteVariableDriver( long handle, const char *pName, char *pValue );
  441. int vscphlp_getRemoteVariableUser( long handle, const char *pName, char *pValue, size_t len );
  442. int vscphlp_setRemoteVariableUser( long handle, const char *pName, char *pValue );
  443. int vscphlp_getRemoteVariableFilter( long handle, const char *pName, char *pValue, size_t len );
  444. int vscphlp_setRemoteVariableFilter( long handle, const char *pName, char *pValue );
  445. //-------------------------------------------------------------------------
  446. // Helpers
  447. //-------------------------------------------------------------------------
  448. unsigned long vscphlp_readStringValue( const char * pStrValue );
  449. unsigned char vscphlp_getVscpPriority( const vscpEvent *pEvent );
  450. void vscphlp_setVscpPriority( vscpEvent *pEvent, unsigned char priority );
  451. unsigned char vscphlp_getVSCPheadFromCANALid( const unsigned long id );
  452. unsigned short vscphlp_getVSCPclassFromCANALid( const unsigned long id );
  453. unsigned short vscphlp_getVSCPtypeFromCANALid( const unsigned long id );
  454. unsigned char vscphlp_getVSCPnicknameFromCANALid( const unsigned long id );
  455. unsigned long vscphlp_getCANALidFromVSCPdata( const unsigned char priority,
  456. const unsigned short vscp_class,
  457. const unsigned short vscp_type );
  458. unsigned long vscphlp_getCANALidFromVSCPevent( const vscpEvent *pEvent );
  459. unsigned long vscphlp_getCANALidFromVSCPeventEx( const vscpEventEx *pEvent );
  460. unsigned short vscphlp_calc_crc_Event( vscpEvent *pEvent, short bSet );
  461. unsigned short vscphlp_calc_crc_EventEx( vscpEvent *pEvent, short bSet );
  462. unsigned char vscphlp_calcCRC4GUIDArray( unsigned char *pguid );
  463. unsigned char vscphlp_calcCRC4GUIDString(const char *strguid);
  464. int vscphlp_getGuidFromString( vscpEvent *pEvent, const char * pGUID );
  465. int vscphlp_getGuidFromStringEx( vscpEventEx *pEvent, const char * pGUID );
  466. int vscphlp_getGuidFromStringToArray( uint8_t *pGUID, const char * pStr );
  467. int vscphlp_writeGuidToString( const vscpEvent *pEvent, char *pStr, size_t len );
  468. int vscphlp_writeGuidToStringEx( const vscpEventEx *pEvent, char *pStr, size_t len );
  469. int vscphlp_writeGuidToString4Rows( const vscpEvent *pEvent,
  470. char *strGUID,
  471. int size );
  472. int vscphlp_writeGuidToString4RowsEx( const vscpEventEx *pEvent,
  473. char *strGUID,
  474. size_t len );
  475. int vscphlp_writeGuidArrayToString( const unsigned char *pGUID,
  476. char *strGUID,
  477. size_t len );
  478. int vscphlp_isGUIDEmpty( unsigned char *pGUID );
  479. int vscphlp_isSameGUID( const unsigned char *pGUID1,
  480. const unsigned char *pGUID2 );
  481. int vscphlp_reverseGUID(unsigned char *pGUID);
  482. int vscphlp_convertVSCPtoEx( vscpEventEx *pEventEx,
  483. const vscpEvent *pEvent );
  484. int vscphlp_convertVSCPfromEx( vscpEvent *pEvent,
  485. const vscpEventEx *pEventEx );
  486. int vscphlp_newVSCPevent( vscpEvent **ppEvent );
  487. void vscphlp_deleteVSCPevent( vscpEvent *pEvent );
  488. void vscphlp_deleteVSCPevent_v2( vscpEvent **ppEvent );
  489. void vscphlp_deleteVSCPeventEx( vscpEventEx *pEventEx );
  490. void vscphlp_clearVSCPFilter( vscpEventFilter *pFilter );
  491. void vscphlp_copyVSCPFilter( vscpEventFilter *pToFilter, const vscpEventFilter *pFromFilter );
  492. int vscphlp_readFilterFromString( vscpEventFilter *pFilter, const char *strFilter );
  493. int vscphlp_readMaskFromString( vscpEventFilter *pFilter, const char *strMask );
  494. int vscphlp_writeFilterToString( vscpEventFilter *pFilter, char *strFilter );
  495. int vscphlp_writeMaskToString( vscpEventFilter *pFilter, char *strMask );
  496. int vscphlp_doLevel2Filter( const vscpEvent *pEvent,
  497. const vscpEventFilter *pFilter );
  498. int vscphlp_convertCanalToEvent( vscpEvent *pvscpEvent,
  499. const canalMsg *pcanalMsg,
  500. unsigned char *pGUID );
  501. int vscphlp_convertCanalToEventEx( vscpEventEx *pvscpEvent,
  502. const canalMsg *pcanalMsg,
  503. unsigned char *pGUID );
  504. int vscphlp_convertEventToCanal( canalMsg *pcanalMsg,
  505. const vscpEvent *pvscpEvent );
  506. int vscphlp_convertEventExToCanal( canalMsg *pcanalMsg,
  507. const vscpEventEx *pvscpEventEx );
  508. unsigned long vscphlp_makeTimeStamp( void );
  509. int vscphlp_setEventDateTimeBlockToNow( vscpEvent *pEvent );
  510. int vscphlp_setEventExDateTimeBlockToNow( vscpEventEx *pEventEx );
  511. int vscphlp_copyVSCPEvent( vscpEvent *pEventTo,
  512. const vscpEvent *pEventFrom );
  513. int vscphlp_writeVscpDataToString( const vscpEvent *pEvent,
  514. char *pstr,
  515. size_t len,
  516. int bUseHtmlBreak );
  517. int vscphlp_writeVscpDataWithSizeToString( const unsigned char *pData,
  518. const unsigned short sizeData,
  519. char *pStr,
  520. size_t len,
  521. int bUseHtmlBreak,
  522. int bBreak );
  523. int vscphlp_getVscpDataFromString( vscpEvent *pEvent,
  524. const char *pstr );
  525. int vscphlp_getVscpDataArrayFromString( unsigned char *pData,
  526. unsigned short *psizeData,
  527. const char *pstr );
  528. int vscphlp_writeVscpEventToString( const vscpEvent *pEvent, char *p, size_t len );
  529. int vscphlp_writeVscpEventExToString( const vscpEventEx *pEvent, char *p, size_t len );
  530. int vscphlp_setVscpEventFromString( vscpEvent *pEvent, const char *p );
  531. int vscphlp_setVscpEventExFromString( vscpEventEx *pEvent, const char *p );
  532. int vscphlp_setVscpDataFromString( vscpEvent *pEvent, const char *pstr );
  533. int vscphlp_getVSCPMeasurementAsString( const vscpEvent *pEvent,
  534. char *pResult,
  535. size_t len );
  536. int vscphlp_setVscpDataArrayFromString( unsigned char *pData,
  537. unsigned short *psizeData,
  538. const char *pstr );
  539. unsigned char vscphlp_getMeasurementDataCoding( const vscpEvent *pEvent );
  540. unsigned long long vscphlp_getDataCodingBitArray(const unsigned char *pCode, int size );
  541. unsigned long long vscphlp_getDataCodingInteger(const unsigned char *pCode, int size );
  542. double vscphlp_getDataCodingNormalizedInteger(const unsigned char *pCode, int size );
  543. int vscphlp_getDataCodingString(const unsigned char *pData,
  544. unsigned char dataLength,
  545. char *strResult,
  546. size_t len );
  547. int vscphlp_getVSCPMeasurementAsDouble(const vscpEvent *pEvent, double *pvalue);
  548. int vscphlp_getVSCPMeasurementFloat64AsString(const vscpEvent *pEvent,
  549. char *pStrResult,
  550. size_t len );
  551. int vscphlp_convertFloatToNormalizedEventData( unsigned char *pdata,
  552. unsigned short *psize,
  553. double value,
  554. unsigned char unit,
  555. unsigned char sensoridx );
  556. int vscphlp_convertFloatToFloatEventData( unsigned char *pdata,
  557. unsigned short *psize,
  558. float value,
  559. unsigned char unit,
  560. unsigned char sensoridx );
  561. int vscphlp_makeFloatMeasurementEvent( vscpEvent *pEvent,
  562. float value,
  563. unsigned char unit,
  564. unsigned char sensoridx );
  565. int vscphlp_getMeasurementAsFloat(const unsigned char *pNorm,
  566. unsigned char length,
  567. float *pResult );
  568. int vscphlp_getMeasurementUnit( const vscpEvent *pEvent );
  569. int vscphlp_getMeasuremenSensorIndex( const vscpEvent *pEvent );
  570. int vscphlp_getMeasurementZone( const vscpEvent *pEvent );
  571. int vscphlp_getMeasurementSubZone( const vscpEvent *pEvent );
  572. int vscphlp_isMeasurement( const vscpEvent *pEvent );
  573. int vscphlp_convertLevel1MeasuremenToLevel2Double( vscpEvent *pEventLevel1 );
  574. int vscphlp_convertLevel1MeasuremenToLevel2String( vscpEvent *pEventLevel1 );
  575. int vscphlp_makeLevel2FloatMeasurementEvent( vscpEvent *pEvent,
  576. uint16_t type,
  577. double value,
  578. uint8_t unit,
  579. uint8_t sensoridx,
  580. uint8_t zone,
  581. uint8_t subzone );
  582. int vscphlp_makeLevel2StringMeasurementEvent( vscpEvent *pEvent,
  583. uint16_t type,
  584. double value,
  585. uint8_t unit,
  586. uint8_t sensoridx,
  587. uint8_t zone,
  588. uint8_t subzone );
  589. int vscphlp_replaceBackslash( char *pStr );
  590. unsigned char vscphlp_getVscpPriority( const vscpEvent *pEvent );
  591. unsigned char vscphlp_getVscpPriorityEx( const vscpEventEx *pEvent );
  592. void vscphlp_setVscpPriority( vscpEvent *pEvent, unsigned char priority );
  593. void vscphlp_setVscpPriorityEx( vscpEventEx *pEvent, unsigned char priority );
  594. int vscphlp_convertEventToJSON( vscpEvent *pEvent, char *p, size_t len );
  595. int vscphlp_convertEventExToJSON( vscpEventEx *pEventEx, char *p, size_t len );
  596. int vscphlp_convertEventToXML( vscpEvent *pEvent, char *p, size_t len );
  597. int vscphlp_convertEventExToXML( vscpEventEx *pEventEx, char *p, size_t len );
  598. int vscphlp_convertEventToHTML( vscpEvent *pEvent, char *p, size_t len );
  599. int vscphlp_convertEventExToHTML( vscpEventEx *pEventEx, char *p, size_t len );
  600. int vscphlp_getTimeString( char *buf, size_t buf_len, time_t *t );
  601. int vscphlp_getISOTimeString( char *buf, size_t buf_len, time_t *t );
  602. int vscphlp_getDateStringFromEvent( char *buf, size_t buf_len, vscpEvent *pEvent );
  603. int vscphlp_getDateStringFromEventEx( char *buf, size_t buf_len, vscpEventEx *pEventEx );
  604. int vscphlp_setEventToNow( vscpEvent *pEvent );
  605. int vscphlp_setEventExToNow( vscpEventEx *pEventEx );
  606. //-------------------------------------------------------------------------
  607. // UDP / Multicast / Encryption
  608. //-------------------------------------------------------------------------
  609. int vscphlp_getEncryptionCodeFromToken( const char *pToken, int *pEncryptionCode );
  610. int vscphlp_getEncryptionTokenFromCode( int nEncryptionCode, char *pEncryptionToken, size_t len );
  611. int vscphlp_encryptVscpUdpFrame( unsigned char *output,
  612. unsigned char *input,
  613. size_t len,
  614. const unsigned char *key,
  615. const unsigned char *iv,
  616. unsigned char nAlgorithm );
  617. int vscphlp_decryptVscpUdpFrame( unsigned char *output,
  618. unsigned char *input,
  619. size_t len,
  620. const unsigned char *key,
  621. const unsigned char *iv,
  622. unsigned char nAlgorithm );
  623. size_t vscphlp_getUDpFrameSizeFromEvent( vscpEvent *pEvent );
  624. size_t vscphlp_getUDpFrameSizeFromEventEx( vscpEvent *pEventEx );
  625. int vscphlp_writeEventToUdpFrame( unsigned char *frame,
  626. size_t len,
  627. unsigned char pkttype,
  628. const vscpEvent *pEvent );
  629. int vscphlp_writeEventExToUdpFrame( unsigned char *frame,
  630. size_t len,
  631. unsigned char pkttype,
  632. const vscpEventEx *pEventEx );
  633. #endif
  634. #ifdef __cplusplus
  635. } // Extern "c"
  636. #endif
  637. /////////////////////////////////////////////////////////////////////////////////////////
  638.