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:
Anonymous Maarten
2020-03-06 22:42:03 +01:00
committed by GitHub
parent bb5fafc06a
commit 4a916468c6
174 changed files with 2200 additions and 91 deletions
+16
View File
@@ -16,6 +16,7 @@
#include <stdbool.h>
#include <stdint.h>
#include <stddef.h>
#include "bacnet/bacnet_stack_exports.h"
#include "bacnet/bacdef.h"
#include "bacnet/npdu.h"
#include "bacnet/datalink/bvlc6.h"
@@ -33,19 +34,25 @@ extern "C" {
/* 6 datalink functions used by demo handlers and applications:
init, send, receive, cleanup, unicast/broadcast address.
Note: the addresses used here are VMAC addresses. */
BACNET_STACK_EXPORT
bool bip6_init(
char *ifname);
BACNET_STACK_EXPORT
void bip6_cleanup(
void);
BACNET_STACK_EXPORT
void bip6_get_broadcast_address(
BACNET_ADDRESS * my_address);
BACNET_STACK_EXPORT
void bip6_get_my_address(
BACNET_ADDRESS * my_address);
BACNET_STACK_EXPORT
int bip6_send_pdu(
BACNET_ADDRESS * dest,
BACNET_NPDU_DATA * npdu_data,
uint8_t * pdu,
unsigned pdu_len);
BACNET_STACK_EXPORT
uint16_t bip6_receive(
BACNET_ADDRESS * src,
uint8_t * pdu,
@@ -53,28 +60,37 @@ extern "C" {
unsigned timeout);
/* functions that are custom per port */
BACNET_STACK_EXPORT
void bip6_set_interface(
char *ifname);
BACNET_STACK_EXPORT
bool bip6_address_match_self(
BACNET_IP6_ADDRESS *addr);
BACNET_STACK_EXPORT
bool bip6_set_addr(
BACNET_IP6_ADDRESS *addr);
BACNET_STACK_EXPORT
bool bip6_get_addr(
BACNET_IP6_ADDRESS *addr);
BACNET_STACK_EXPORT
void bip6_set_port(
uint16_t port);
BACNET_STACK_EXPORT
uint16_t bip6_get_port(
void);
BACNET_STACK_EXPORT
bool bip6_set_broadcast_addr(
BACNET_IP6_ADDRESS *addr);
/* returns network byte order */
BACNET_STACK_EXPORT
bool bip6_get_broadcast_addr(
BACNET_IP6_ADDRESS *addr);
BACNET_STACK_EXPORT
int bip6_send_mpdu(
BACNET_IP6_ADDRESS *addr,
uint8_t * mtu,