add bip_get_interface and Device_Time_Of_Restart, fix Network_Port_Changes_Discard (#1038)
* added bip_get_interface * basic/object/device get/set time of restart * clear changes pending * clang-format
This commit is contained in:
@@ -606,7 +606,8 @@ void bip_set_interface(const char *ifname)
|
||||
}
|
||||
BIP_Broadcast_Addr.s_addr = htonl(broadcast_address);
|
||||
#else
|
||||
rv = bip_get_local_address_ioctl(ifname, &broadcast_address, SIOCGIFBRDADDR);
|
||||
rv =
|
||||
bip_get_local_address_ioctl(ifname, &broadcast_address, SIOCGIFBRDADDR);
|
||||
if (rv < 0) {
|
||||
BIP_Broadcast_Addr.s_addr = ~0;
|
||||
} else {
|
||||
@@ -723,7 +724,8 @@ bool bip_init(char *ifname)
|
||||
|
||||
broadcast_sin_config.sin_family = AF_INET;
|
||||
broadcast_sin_config.sin_port = BIP_Port;
|
||||
memset(&(broadcast_sin_config.sin_zero), '\0',
|
||||
memset(
|
||||
&(broadcast_sin_config.sin_zero), '\0',
|
||||
sizeof(broadcast_sin_config.sin_zero));
|
||||
if (BIP_Broadcast_Binding_Address_Override) {
|
||||
broadcast_sin_config.sin_addr.s_addr =
|
||||
|
||||
@@ -817,6 +817,11 @@ void bip_set_interface(const char *ifname)
|
||||
}
|
||||
}
|
||||
|
||||
const char *bip_get_interface(void)
|
||||
{
|
||||
return BIP_Interface_Name;
|
||||
}
|
||||
|
||||
static int createSocket(const struct sockaddr_in *sin)
|
||||
{
|
||||
int status = 0; /* return from socket lib calls */
|
||||
|
||||
@@ -1060,6 +1060,23 @@ bool Device_Serial_Number_Set(const char *str, size_t length)
|
||||
return status;
|
||||
}
|
||||
|
||||
void Device_Time_Of_Restart(BACNET_TIMESTAMP *time_of_restart)
|
||||
{
|
||||
bacapp_timestamp_copy(time_of_restart, &Time_Of_Device_Restart);
|
||||
}
|
||||
|
||||
bool Device_Set_Time_Of_Restart(const BACNET_TIMESTAMP *time_of_restart)
|
||||
{
|
||||
bool status = false;
|
||||
|
||||
if (time_of_restart) {
|
||||
bacapp_timestamp_copy(&Time_Of_Device_Restart, time_of_restart);
|
||||
status = true;
|
||||
}
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
uint8_t Device_Protocol_Version(void)
|
||||
{
|
||||
return BACNET_PROTOCOL_VERSION;
|
||||
|
||||
@@ -1211,6 +1211,7 @@ void Network_Port_Changes_Pending_Discard(uint32_t object_instance)
|
||||
if (index < BACNET_NETWORK_PORTS_MAX) {
|
||||
if (Object_List[index].Discard_Changes) {
|
||||
Object_List[index].Discard_Changes(object_instance);
|
||||
Object_List[index].Changes_Pending = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4662,7 +4663,8 @@ void Network_Port_Changes_Discard(void)
|
||||
|
||||
for (i = 0; i < BACNET_NETWORK_PORTS_MAX; i++) {
|
||||
if (Object_List[i].Changes_Pending) {
|
||||
Network_Port_Changes_Pending_Discard(i);
|
||||
Network_Port_Changes_Pending_Discard(
|
||||
Object_List[i].Instance_Number);
|
||||
Object_List[i].Changes_Pending = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,6 +35,9 @@ bool bip_init(char *ifname);
|
||||
BACNET_STACK_EXPORT
|
||||
void bip_set_interface(const char *ifname);
|
||||
|
||||
BACNET_STACK_EXPORT
|
||||
const char *bip_get_interface(void);
|
||||
|
||||
BACNET_STACK_EXPORT
|
||||
void bip_cleanup(void);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user