andrej@2504: #ifndef _BEREMIZ_H_
andrej@2504: #define _BEREMIZ_H_
andrej@2504: 
Edouard@1001: /* Beremiz' header file for use by extensions */
Edouard@1001: 
Edouard@1001: #include "iec_types.h"
Edouard@1001: 
Edouard@1001: #define LOG_LEVELS 4
Edouard@1001: #define LOG_CRITICAL 0
Edouard@1001: #define LOG_WARNING 1
Edouard@1001: #define LOG_INFO 2
Edouard@1001: #define LOG_DEBUG 3
Edouard@1001: 
Edouard@1001: extern unsigned long long common_ticktime__;
andrej@2175: 
andrej@2175: #ifdef TARGET_LOGGING_DISABLE
andrej@2503: static inline int LogMessage(uint8_t level, char* buf, uint32_t size)
andrej@2503: {
andrej@2503: 	(void)level;
andrej@2503: 	(void)buf;
andrej@2503: 	(void)size;
andrej@2503: 	return 0;
andrej@2503: }
andrej@2175: #else
andrej@2175: int     LogMessage(uint8_t level, char* buf, uint32_t size);
andrej@2175: #endif
andrej@2175: 
Edouard@1050: long AtomicCompareExchange(long* atomicvar,long compared, long exchange);
edouard@3294: void *create_RT_to_nRT_signal(char* name);
edouard@3294: void delete_RT_to_nRT_signal(void* handle);
edouard@3294: int wait_RT_to_nRT_signal(void* handle);
edouard@3294: int unblock_RT_to_nRT_signal(void* handle);
edouard@3295: void nRT_reschedule(void);
Edouard@1001: 
andrej@2504: #endif