Export symbols in order to support shared libraries (#54)
* Add BAC_ROUTING compile definition * Reorder cmake * Fix OpenSSL support: support both 1.0 and 1.1t pus * Explicitly export symbols, hidden by default * Build shared libraries on travis using cmake * Learn Makefile about static library * Fix build using mingw with cmake * Do not cleanup twice or after potential free
This commit is contained in:
committed by
GitHub
parent
bb5fafc06a
commit
4a916468c6
@@ -26,6 +26,7 @@
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include "bacnet/bacnet_stack_exports.h"
|
||||
|
||||
typedef enum BACnet_Weekday {
|
||||
BACNET_WEEKDAY_MONDAY = 1,
|
||||
@@ -76,21 +77,25 @@ extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
/* utility initialization functions */
|
||||
BACNET_STACK_EXPORT
|
||||
void datetime_set_date(
|
||||
BACNET_DATE * bdate,
|
||||
uint16_t year,
|
||||
uint8_t month,
|
||||
uint8_t day);
|
||||
BACNET_STACK_EXPORT
|
||||
void datetime_set_time(
|
||||
BACNET_TIME * btime,
|
||||
uint8_t hour,
|
||||
uint8_t minute,
|
||||
uint8_t seconds,
|
||||
uint8_t hundredths);
|
||||
BACNET_STACK_EXPORT
|
||||
void datetime_set(
|
||||
BACNET_DATE_TIME * bdatetime,
|
||||
BACNET_DATE * bdate,
|
||||
BACNET_TIME * btime);
|
||||
BACNET_STACK_EXPORT
|
||||
void datetime_set_values(
|
||||
BACNET_DATE_TIME * bdatetime,
|
||||
uint16_t year,
|
||||
@@ -101,40 +106,53 @@ extern "C" {
|
||||
uint8_t seconds,
|
||||
uint8_t hundredths);
|
||||
/* utility test for validity */
|
||||
BACNET_STACK_EXPORT
|
||||
bool datetime_is_valid(
|
||||
BACNET_DATE * bdate,
|
||||
BACNET_TIME * btime);
|
||||
BACNET_STACK_EXPORT
|
||||
bool datetime_time_is_valid(
|
||||
BACNET_TIME * btime);
|
||||
BACNET_STACK_EXPORT
|
||||
bool datetime_date_is_valid(
|
||||
BACNET_DATE * bdate);
|
||||
BACNET_STACK_EXPORT
|
||||
/* date and time calculations and summaries */
|
||||
uint32_t datetime_days_since_epoch(
|
||||
BACNET_DATE * bdate);
|
||||
BACNET_STACK_EXPORT
|
||||
void datetime_days_since_epoch_into_date(
|
||||
uint32_t days,
|
||||
BACNET_DATE * bdate);
|
||||
BACNET_STACK_EXPORT
|
||||
uint32_t datetime_day_of_year(
|
||||
BACNET_DATE *bdate);
|
||||
BACNET_STACK_EXPORT
|
||||
void datetime_day_of_year_into_date(
|
||||
uint32_t days,
|
||||
uint16_t year,
|
||||
BACNET_DATE *bdate);
|
||||
BACNET_STACK_EXPORT
|
||||
bool datetime_is_leap_year(
|
||||
uint16_t year);
|
||||
BACNET_STACK_EXPORT
|
||||
uint8_t datetime_month_days(
|
||||
uint16_t year,
|
||||
uint8_t month);
|
||||
BACNET_STACK_EXPORT
|
||||
uint8_t datetime_day_of_week(
|
||||
uint16_t year,
|
||||
uint8_t month,
|
||||
uint8_t day);
|
||||
BACNET_STACK_EXPORT
|
||||
bool datetime_ymd_is_valid(
|
||||
uint16_t year,
|
||||
uint8_t month,
|
||||
uint8_t day);
|
||||
BACNET_STACK_EXPORT
|
||||
uint32_t datetime_seconds_since_midnight(
|
||||
BACNET_TIME * btime);
|
||||
BACNET_STACK_EXPORT
|
||||
uint16_t datetime_minutes_since_midnight(
|
||||
BACNET_TIME * btime);
|
||||
|
||||
@@ -142,12 +160,15 @@ extern "C" {
|
||||
if the date/times are the same, return is 0
|
||||
if date1 is before date2, returns negative
|
||||
if date1 is after date2, returns positive */
|
||||
BACNET_STACK_EXPORT
|
||||
int datetime_compare_date(
|
||||
BACNET_DATE * date1,
|
||||
BACNET_DATE * date2);
|
||||
BACNET_STACK_EXPORT
|
||||
int datetime_compare_time(
|
||||
BACNET_TIME * time1,
|
||||
BACNET_TIME * time2);
|
||||
BACNET_STACK_EXPORT
|
||||
int datetime_compare(
|
||||
BACNET_DATE_TIME * datetime1,
|
||||
BACNET_DATE_TIME * datetime2);
|
||||
@@ -158,112 +179,148 @@ extern "C" {
|
||||
int datetime_wildcard_compare_date(
|
||||
BACNET_DATE * date1,
|
||||
BACNET_DATE * date2);
|
||||
BACNET_STACK_EXPORT
|
||||
int datetime_wildcard_compare_time(
|
||||
BACNET_TIME * time1,
|
||||
BACNET_TIME * time2);
|
||||
BACNET_STACK_EXPORT
|
||||
int datetime_wildcard_compare(
|
||||
BACNET_DATE_TIME * datetime1,
|
||||
BACNET_DATE_TIME * datetime2);
|
||||
|
||||
/* utility copy functions */
|
||||
BACNET_STACK_EXPORT
|
||||
void datetime_copy_date(
|
||||
BACNET_DATE * dest,
|
||||
BACNET_DATE * src);
|
||||
BACNET_STACK_EXPORT
|
||||
void datetime_copy_time(
|
||||
BACNET_TIME * dest,
|
||||
BACNET_TIME * src);
|
||||
BACNET_STACK_EXPORT
|
||||
void datetime_copy(
|
||||
BACNET_DATE_TIME * dest,
|
||||
BACNET_DATE_TIME * src);
|
||||
|
||||
/* utility add or subtract minutes function */
|
||||
BACNET_STACK_EXPORT
|
||||
void datetime_add_minutes(
|
||||
BACNET_DATE_TIME * bdatetime,
|
||||
int32_t minutes);
|
||||
|
||||
/* date and time wildcards */
|
||||
BACNET_STACK_EXPORT
|
||||
bool datetime_wildcard_year(
|
||||
BACNET_DATE *bdate);
|
||||
BACNET_STACK_EXPORT
|
||||
void datetime_wildcard_year_set(
|
||||
BACNET_DATE *bdate);
|
||||
BACNET_STACK_EXPORT
|
||||
bool datetime_wildcard_month(
|
||||
BACNET_DATE *bdate);
|
||||
BACNET_STACK_EXPORT
|
||||
void datetime_wildcard_month_set(
|
||||
BACNET_DATE *bdate);
|
||||
BACNET_STACK_EXPORT
|
||||
bool datetime_wildcard_day(
|
||||
BACNET_DATE *bdate);
|
||||
BACNET_STACK_EXPORT
|
||||
void datetime_wildcard_day_set(
|
||||
BACNET_DATE *bdate);
|
||||
BACNET_STACK_EXPORT
|
||||
bool datetime_wildcard_weekday(
|
||||
BACNET_DATE *bdate);
|
||||
BACNET_STACK_EXPORT
|
||||
void datetime_wildcard_weekday_set(
|
||||
BACNET_DATE *bdate);
|
||||
BACNET_STACK_EXPORT
|
||||
bool datetime_wildcard_hour(
|
||||
BACNET_TIME *btime);
|
||||
BACNET_STACK_EXPORT
|
||||
void datetime_wildcard_hour_set(
|
||||
BACNET_TIME *btime);
|
||||
BACNET_STACK_EXPORT
|
||||
bool datetime_wildcard_minute(
|
||||
BACNET_TIME *btime);
|
||||
BACNET_STACK_EXPORT
|
||||
void datetime_wildcard_minute_set(
|
||||
BACNET_TIME *btime);
|
||||
BACNET_STACK_EXPORT
|
||||
bool datetime_wildcard_second(
|
||||
BACNET_TIME *btime);
|
||||
BACNET_STACK_EXPORT
|
||||
void datetime_wildcard_second_set(
|
||||
BACNET_TIME *btime);
|
||||
BACNET_STACK_EXPORT
|
||||
bool datetime_wildcard_hundredths(
|
||||
BACNET_TIME *btime);
|
||||
BACNET_STACK_EXPORT
|
||||
void datetime_wildcard_hundredths_set(
|
||||
BACNET_TIME *btime);
|
||||
BACNET_STACK_EXPORT
|
||||
bool datetime_wildcard(
|
||||
BACNET_DATE_TIME * bdatetime);
|
||||
BACNET_STACK_EXPORT
|
||||
bool datetime_wildcard_present(
|
||||
BACNET_DATE_TIME * bdatetime);
|
||||
BACNET_STACK_EXPORT
|
||||
void datetime_wildcard_set(
|
||||
BACNET_DATE_TIME * bdatetime);
|
||||
BACNET_STACK_EXPORT
|
||||
void datetime_date_wildcard_set(
|
||||
BACNET_DATE * bdate);
|
||||
BACNET_STACK_EXPORT
|
||||
void datetime_time_wildcard_set(
|
||||
BACNET_TIME * btime);
|
||||
|
||||
BACNET_STACK_EXPORT
|
||||
bool datetime_local_to_utc(
|
||||
BACNET_DATE_TIME * utc_time,
|
||||
BACNET_DATE_TIME * local_time,
|
||||
int16_t utc_offset_minutes,
|
||||
int8_t dst_adjust_minutes);
|
||||
BACNET_STACK_EXPORT
|
||||
bool datetime_utc_to_local(
|
||||
BACNET_DATE_TIME * local_time,
|
||||
BACNET_DATE_TIME * utc_time,
|
||||
int16_t utc_offset_minutes,
|
||||
int8_t dst_adjust_minutes);
|
||||
|
||||
BACNET_STACK_EXPORT
|
||||
int bacapp_encode_datetime(
|
||||
uint8_t * apdu,
|
||||
BACNET_DATE_TIME * value);
|
||||
|
||||
BACNET_STACK_EXPORT
|
||||
int bacapp_encode_context_datetime(
|
||||
uint8_t * apdu,
|
||||
uint8_t tag_number,
|
||||
BACNET_DATE_TIME * value);
|
||||
|
||||
BACNET_STACK_EXPORT
|
||||
int bacapp_decode_datetime(
|
||||
uint8_t * apdu,
|
||||
BACNET_DATE_TIME * value);
|
||||
|
||||
BACNET_STACK_EXPORT
|
||||
int bacapp_decode_context_datetime(
|
||||
uint8_t * apdu,
|
||||
uint8_t tag_number,
|
||||
BACNET_DATE_TIME * value);
|
||||
|
||||
/* implementation agnostic functions - create your own! */
|
||||
BACNET_STACK_EXPORT
|
||||
bool datetime_local(
|
||||
BACNET_DATE * bdate,
|
||||
BACNET_TIME * btime,
|
||||
int16_t * utc_offset_minutes,
|
||||
bool * dst_active);
|
||||
BACNET_STACK_EXPORT
|
||||
void datetime_init(void);
|
||||
|
||||
#ifdef TEST
|
||||
#include "ctest.h"
|
||||
BACNET_STACK_EXPORT
|
||||
void testDateTime(
|
||||
Test * pTest);
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user