Updated Visual Studio ports project, cleaning up compile warnings.

This commit is contained in:
skarg
2008-04-10 05:31:08 +00:00
parent f020c09d9b
commit df310edca6
9 changed files with 111 additions and 75 deletions
+8
View File
@@ -48,12 +48,20 @@ extern "C" {
int encode_bacnet_real(
float value,
uint8_t * apdu);
int decode_double(
uint8_t * apdu,
double *real_value);
int encode_bacnet_double(
double value,
uint8_t * apdu);
#ifdef TEST
#include "ctest.h"
void testBACreal(
Test * pTest);
void testBACdouble(
Test * pTest);
#endif
#ifdef __cplusplus
+1
View File
@@ -37,6 +37,7 @@
#include <stdbool.h>
#include <stdint.h>
#include <stddef.h>
#include <time.h>
#include "bacdef.h"
#include "npdu.h"
+18 -2
View File
@@ -42,7 +42,7 @@ RSC=rc.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\..\.." /I ".." /I "..\..\..\demo\object\\" /I "..\..\..\demo\handler\\" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "BACAPP_ALL" /D PRINT_ENABLED=1 /D BIG_ENDIAN=0 /D USE_INADDR=0 /D "BACDL_BIP" /FD /c
# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\..\.." /I ".." /I "..\..\..\demo\object\\" /I "..\..\..\demo\handler\\" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "BACAPP_ALL" /D PRINT_ENABLED=1 /D BIG_ENDIAN=0 /D "BACDL_BIP" /D USE_INADDR=1 /FD /c
# SUBTRACT CPP /YX
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
@@ -67,7 +67,7 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\..\..\include\\" /I ".." /I "..\..\..\demo\object\\" /I "..\..\..\demo\handler\\" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "BACAPP_ALL" /D PRINT_ENABLED=1 /D BIG_ENDIAN=0 /D USE_INADDR=0 /D "BACDL_BIP" /FR /FD /GZ /c
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\..\..\include\\" /I ".." /I "..\..\..\demo\object\\" /I "..\..\..\demo\handler\\" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "BACAPP_ALL" /D PRINT_ENABLED=1 /D BIG_ENDIAN=0 /D "BACDL_BIP" /D USE_INADDR=1 /FR /FD /GZ /c
# SUBTRACT CPP /YX
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
@@ -177,6 +177,14 @@ SOURCE=..\..\..\demo\object\bv.c
# End Source File
# Begin Source File
SOURCE=..\..\..\src\bvlc.c
# End Source File
# Begin Source File
SOURCE=..\..\..\src\cov.c
# End Source File
# Begin Source File
SOURCE=..\..\..\src\crc.c
# End Source File
# Begin Source File
@@ -205,6 +213,10 @@ SOURCE=..\..\..\demo\handler\h_arf_a.c
# End Source File
# Begin Source File
SOURCE=..\..\..\demo\handler\h_cov.c
# End Source File
# Begin Source File
SOURCE=..\..\..\demo\handler\h_iam.c
# End Source File
# Begin Source File
@@ -397,6 +409,10 @@ SOURCE=..\..\..\demo\object\bv.h
# End Source File
# Begin Source File
SOURCE=..\..\..\include\bvlc.h
# End Source File
# Begin Source File
SOURCE=..\..\..\include\bytes.h
# End Source File
# Begin Source File
Binary file not shown.
Binary file not shown.
+31 -50
View File
@@ -6,9 +6,9 @@
--------------------Configuration: bacnet - Win32 Debug--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "C:\DOCUME~1\cbkargs\LOCALS~1\Temp\RSP35.tmp" with contents
Creating temporary file "C:\DOCUME~1\VMWare\LOCALS~1\Temp\RSP34.tmp" with contents
[
/nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\..\..\include\\" /I ".." /I "..\..\..\demo\object\\" /I "..\..\..\demo\handler\\" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "BACAPP_ALL" /D PRINT_ENABLED=1 /D BIG_ENDIAN=0 /D USE_INADDR=0 /D "BACDL_BIP" /FR"Debug/" /Fo"Debug/" /Fd"Debug/" /FD /GZ /c
/nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\..\..\include\\" /I ".." /I "..\..\..\demo\object\\" /I "..\..\..\demo\handler\\" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "BACAPP_ALL" /D PRINT_ENABLED=1 /D BIG_ENDIAN=0 /D "BACDL_BIP" /D USE_INADDR=1 /FR"Debug/" /Fo"Debug/" /Fd"Debug/" /FD /GZ /c
"C:\code\bacnet-stack\src\abort.c"
"C:\code\bacnet-stack\src\address.c"
"C:\code\bacnet-stack\demo\object\ai.c"
@@ -16,34 +16,29 @@ Creating temporary file "C:\DOCUME~1\cbkargs\LOCALS~1\Temp\RSP35.tmp" with conte
"C:\code\bacnet-stack\src\apdu.c"
"C:\code\bacnet-stack\src\arf.c"
"C:\code\bacnet-stack\demo\object\av.c"
"C:\code\bacnet-stack\src\bacaddr.c"
"C:\code\bacnet-stack\src\bacapp.c"
"C:\code\bacnet-stack\src\bacdcode.c"
"C:\code\bacnet-stack\src\bacerror.c"
"C:\code\bacnet-stack\demo\object\bacfile.c"
"C:\code\bacnet-stack\src\bacint.c"
"C:\code\bacnet-stack\src\bacreal.c"
"C:\code\bacnet-stack\src\bacstr.c"
"C:\code\bacnet-stack\src\bactext.c"
"C:\code\bacnet-stack\demo\object\bi.c"
"C:\code\bacnet-stack\src\bigend.c"
"C:\code\bacnet-stack\ports\win32\bip-init.c"
"C:\code\bacnet-stack\src\bip.c"
"C:\code\bacnet-stack\demo\object\bo.c"
"C:\code\bacnet-stack\demo\object\bv.c"
"C:\code\bacnet-stack\src\crc.c"
"C:\code\bacnet-stack\src\datetime.c"
"C:\code\bacnet-stack\src\bvlc.c"
"C:\code\bacnet-stack\src\cov.c"
"C:\code\bacnet-stack\src\dcc.c"
"C:\code\bacnet-stack\demo\object\device.c"
"C:\code\bacnet-stack\demo\handler\h_arf.c"
"C:\code\bacnet-stack\demo\handler\h_arf_a.c"
"C:\code\bacnet-stack\demo\handler\h_cov.c"
"C:\code\bacnet-stack\demo\handler\h_iam.c"
"C:\code\bacnet-stack\demo\handler\h_rp.c"
"C:\code\bacnet-stack\demo\handler\h_rp_a.c"
"C:\code\bacnet-stack\demo\handler\h_whois.c"
"C:\code\bacnet-stack\demo\handler\h_wp.c"
"C:\code\bacnet-stack\src\iam.c"
"C:\code\bacnet-stack\src\indtext.c"
"C:\code\bacnet-stack\demo\object\lc.c"
"C:\code\bacnet-stack\demo\object\lsp.c"
"C:\code\bacnet-stack\ports\win32\main.c"
@@ -51,22 +46,16 @@ Creating temporary file "C:\DOCUME~1\cbkargs\LOCALS~1\Temp\RSP35.tmp" with conte
"C:\code\bacnet-stack\demo\handler\noserv.c"
"C:\code\bacnet-stack\src\npdu.c"
"C:\code\bacnet-stack\src\reject.c"
"C:\code\bacnet-stack\src\ringbuf.c"
"C:\code\bacnet-stack\src\rp.c"
"C:\code\bacnet-stack\demo\handler\s_rp.c"
"C:\code\bacnet-stack\demo\handler\s_whois.c"
"C:\code\bacnet-stack\demo\handler\s_wp.c"
"C:\code\bacnet-stack\src\tsm.c"
"C:\code\bacnet-stack\demo\handler\txbuf.c"
"C:\code\bacnet-stack\src\version.c"
"C:\code\bacnet-stack\src\whois.c"
"C:\code\bacnet-stack\src\wp.c"
"C:\code\bacnet-stack\src\mstp.c"
"C:\code\bacnet-stack\ports\win32\dlmstp.c"
"C:\code\bacnet-stack\ports\win32\rs485.c"
]
Creating command line "cl.exe @C:\DOCUME~1\cbkargs\LOCALS~1\Temp\RSP35.tmp"
Creating temporary file "C:\DOCUME~1\cbkargs\LOCALS~1\Temp\RSP36.tmp" with contents
Creating command line "cl.exe @C:\DOCUME~1\VMWare\LOCALS~1\Temp\RSP34.tmp"
Creating temporary file "C:\DOCUME~1\VMWare\LOCALS~1\Temp\RSP35.tmp" with contents
[
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /subsystem:console /incremental:yes /pdb:"Debug/bacnet.pdb" /debug /machine:I386 /out:"Debug/bacnet.exe" /pdbtype:sept
".\Debug\abort.obj"
@@ -91,12 +80,16 @@ kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32
".\Debug\bip.obj"
".\Debug\bo.obj"
".\Debug\bv.obj"
".\Debug\bvlc.obj"
".\Debug\cov.obj"
".\Debug\crc.obj"
".\Debug\datetime.obj"
".\Debug\dcc.obj"
".\Debug\device.obj"
".\Debug\dlmstp.obj"
".\Debug\h_arf.obj"
".\Debug\h_arf_a.obj"
".\Debug\h_cov.obj"
".\Debug\h_iam.obj"
".\Debug\h_rp.obj"
".\Debug\h_rp_a.obj"
@@ -108,11 +101,13 @@ kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32
".\Debug\lsp.obj"
".\Debug\main.obj"
".\Debug\mso.obj"
".\Debug\mstp.obj"
".\Debug\noserv.obj"
".\Debug\npdu.obj"
".\Debug\reject.obj"
".\Debug\ringbuf.obj"
".\Debug\rp.obj"
".\Debug\rs485.obj"
".\Debug\s_rp.obj"
".\Debug\s_whois.obj"
".\Debug\s_wp.obj"
@@ -121,11 +116,8 @@ kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32
".\Debug\version.obj"
".\Debug\whois.obj"
".\Debug\wp.obj"
".\Debug\mstp.obj"
".\Debug\dlmstp.obj"
".\Debug\rs485.obj"
]
Creating command line "link.exe @C:\DOCUME~1\cbkargs\LOCALS~1\Temp\RSP36.tmp"
Creating command line "link.exe @C:\DOCUME~1\VMWare\LOCALS~1\Temp\RSP35.tmp"
<h3>Output Window</h3>
Compiling...
abort.c
@@ -135,64 +127,50 @@ ao.c
apdu.c
arf.c
av.c
bacaddr.c
bacapp.c
bacdcode.c
bacerror.c
bacfile.c
bacint.c
bacreal.c
bacstr.c
bactext.c
bi.c
bigend.c
bip-init.c
bip.c
Generating Code...
Compiling...
bo.c
bv.c
crc.c
datetime.c
bvlc.c
cov.c
dcc.c
Generating Code...
Compiling...
device.c
h_arf.c
h_arf_a.c
h_cov.c
h_iam.c
h_rp.c
h_rp_a.c
h_whois.c
h_wp.c
iam.c
indtext.c
lc.c
lsp.c
main.c
mso.c
noserv.c
Generating Code...
Compiling...
npdu.c
reject.c
ringbuf.c
rp.c
s_rp.c
s_whois.c
Generating Code...
Compiling...
s_wp.c
tsm.c
txbuf.c
version.c
whois.c
wp.c
mstp.c
dlmstp.c
rs485.c
Generating Code...
c:\code\bacnet-stack\ports\win32\dlmstp.c(448) : warning C4761: integral size mismatch in argument; conversion supplied
c:\code\bacnet-stack\src\mstp.c(656) : warning C4761: integral size mismatch in argument; conversion supplied
c:\code\bacnet-stack\src\mstp.c(944) : warning C4761: integral size mismatch in argument; conversion supplied
Linking...
Creating temporary file "C:\DOCUME~1\cbkargs\LOCALS~1\Temp\RSP38.tmp" with contents
Creating temporary file "C:\DOCUME~1\VMWare\LOCALS~1\Temp\RSP36.tmp" with contents
[
/nologo /o"Debug/bacnet.bsc"
".\Debug\abort.sbr"
@@ -217,12 +195,16 @@ Creating temporary file "C:\DOCUME~1\cbkargs\LOCALS~1\Temp\RSP38.tmp" with conte
".\Debug\bip.sbr"
".\Debug\bo.sbr"
".\Debug\bv.sbr"
".\Debug\bvlc.sbr"
".\Debug\cov.sbr"
".\Debug\crc.sbr"
".\Debug\datetime.sbr"
".\Debug\dcc.sbr"
".\Debug\device.sbr"
".\Debug\dlmstp.sbr"
".\Debug\h_arf.sbr"
".\Debug\h_arf_a.sbr"
".\Debug\h_cov.sbr"
".\Debug\h_iam.sbr"
".\Debug\h_rp.sbr"
".\Debug\h_rp_a.sbr"
@@ -234,11 +216,13 @@ Creating temporary file "C:\DOCUME~1\cbkargs\LOCALS~1\Temp\RSP38.tmp" with conte
".\Debug\lsp.sbr"
".\Debug\main.sbr"
".\Debug\mso.sbr"
".\Debug\mstp.sbr"
".\Debug\noserv.sbr"
".\Debug\npdu.sbr"
".\Debug\reject.sbr"
".\Debug\ringbuf.sbr"
".\Debug\rp.sbr"
".\Debug\rs485.sbr"
".\Debug\s_rp.sbr"
".\Debug\s_whois.sbr"
".\Debug\s_wp.sbr"
@@ -246,18 +230,15 @@ Creating temporary file "C:\DOCUME~1\cbkargs\LOCALS~1\Temp\RSP38.tmp" with conte
".\Debug\txbuf.sbr"
".\Debug\version.sbr"
".\Debug\whois.sbr"
".\Debug\wp.sbr"
".\Debug\mstp.sbr"
".\Debug\dlmstp.sbr"
".\Debug\rs485.sbr"]
Creating command line "bscmake.exe @C:\DOCUME~1\cbkargs\LOCALS~1\Temp\RSP38.tmp"
".\Debug\wp.sbr"]
Creating command line "bscmake.exe @C:\DOCUME~1\VMWare\LOCALS~1\Temp\RSP36.tmp"
Creating browse info file...
<h3>Output Window</h3>
<h3>Results</h3>
bacnet.exe - 0 error(s), 3 warning(s)
bacnet.exe - 0 error(s), 0 warning(s)
</pre>
</body>
</html>
@@ -129,3 +129,18 @@ with MS/TP datalink enabled (BACDL_MSTP instead of BACDL_BIP):
3. Select the "C/C++" tab (3rd Tab)
4. Select the Category: Code Generation
5. Select the Multithreaded from the "Use runtime library" box options
Q. error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
"_GetAdaptersInfo@8" in Funktion "_getIpMaskForIpAddress".
A. There is the Iphlpapi.lib library missing from the VC++ project
(for the GetAdaptersInfo error) that you need to add:
http://msdn2.microsoft.com/en-us/library/aa916102.aspx
Note that Iphlpapi.lib/.h is not included with Visual C++ 6.0;
you would need to download the platform SDK to get it.
1. Select "Project" menu
2. Select "Settings..."
3. Select the "Link" tab (4th Tab)
4. You can see "Object/library modules:" edit box
5. Type Iphlpapi.lib in that edit box
6. Press OK
7. Compile the entire project again...
+3
View File
@@ -30,7 +30,10 @@
#define STRICT 1
#include <windows.h>
#if (!defined(USE_INADDR) || (USE_INADDR == 0)) && \
(!defined(USE_CLASSADDR) || (USE_CLASSADDR == 0))
#include <Iphlpapi.h>
#endif
#include <winsock2.h>
#define close closesocket
+35 -23
View File
@@ -180,7 +180,7 @@ int bvlc_encode_bvlc_result(
of the entire BVLL message, including the two octets of the
length field itself, most significant octet first. */
encode_unsigned16(&pdu[2], 6);
encode_unsigned16(&pdu[4], result_code);
encode_unsigned16(&pdu[4], (uint16_t)result_code);
}
return 6;
@@ -191,6 +191,7 @@ int bvlc_encode_write_bdt_init(
unsigned entries)
{
int len = 0;
uint16_t BVLC_length = 0;
if (pdu) {
pdu[0] = BVLL_TYPE_BACNET_IP;
@@ -198,7 +199,8 @@ int bvlc_encode_write_bdt_init(
/* The 2-octet BVLC Length field is the length, in octets,
of the entire BVLL message, including the two octets of the
length field itself, most significant octet first. */
encode_unsigned16(&pdu[2], 4 + entries * 10);
BVLC_length = 4 + (entries * 10);
encode_unsigned16(&pdu[2], BVLC_length);
len = 4;
}
@@ -228,6 +230,7 @@ int bvlc_encode_read_bdt_ack_init(
unsigned entries)
{
int len = 0;
uint16_t BVLC_length = 0;
if (pdu) {
pdu[0] = BVLL_TYPE_BACNET_IP;
@@ -235,7 +238,8 @@ int bvlc_encode_read_bdt_ack_init(
/* The 2-octet BVLC Length field is the length, in octets,
of the entire BVLL message, including the two octets of the
length field itself, most significant octet first. */
encode_unsigned16(&pdu[2], 4 + entries * 10);
BVLC_length = 4 + (entries * 10);
encode_unsigned16(&pdu[2], BVLC_length);
len = 4;
}
@@ -294,7 +298,7 @@ int bvlc_encode_forwarded_npdu(
/* The 2-octet BVLC Length field is the length, in octets,
of the entire BVLL message, including the two octets of the
length field itself, most significant octet first. */
encode_unsigned16(&pdu[2], 4 + 6 + npdu_length);
encode_unsigned16(&pdu[2], (uint16_t)(4 + 6 + npdu_length));
len = 4;
address.s_addr = ntohl(sin->sin_addr.s_addr);
port = ntohs(sin->sin_port);
@@ -351,6 +355,7 @@ int bvlc_encode_read_fdt_ack_init(
unsigned entries)
{
int len = 0;
uint16_t BVLC_length = 0;
if (pdu) {
pdu[0] = BVLL_TYPE_BACNET_IP;
@@ -358,7 +363,8 @@ int bvlc_encode_read_fdt_ack_init(
/* The 2-octet BVLC Length field is the length, in octets,
of the entire BVLL message, including the two octets of the
length field itself, most significant octet first. */
encode_unsigned16(&pdu[2], 4 + entries * 10);
BVLC_length = 4 + (entries * 10);
encode_unsigned16(&pdu[2], BVLC_length);
len = 4;
}
@@ -394,7 +400,7 @@ int bvlc_encode_read_fdt_ack(
pdu_len += len;
encode_unsigned16(&pdu[pdu_len], FD_Table[i].time_to_live);
pdu_len += len;
encode_unsigned16(&pdu[pdu_len], FD_Table[i].seconds_remaining);
encode_unsigned16(&pdu[pdu_len], (uint16_t)FD_Table[i].seconds_remaining);
pdu_len += len;
}
}
@@ -432,6 +438,7 @@ int bvlc_encode_distribute_broadcast_to_network(
{
int len = 0; /* return value */
unsigned i; /* for loop counter */
uint16_t BVLC_length = 0;
if (pdu) {
pdu[0] = BVLL_TYPE_BACNET_IP;
@@ -439,7 +446,8 @@ int bvlc_encode_distribute_broadcast_to_network(
/* The 2-octet BVLC Length field is the length, in octets,
of the entire BVLL message, including the two octets of the
length field itself, most significant octet first. */
len = encode_unsigned16(&pdu[2], 4 + npdu_length) + 2;
BVLC_length = 4 + npdu_length;
len = encode_unsigned16(&pdu[2], BVLC_length) + 2;
for (i = 0; i < npdu_length; i++) {
pdu[len] = npdu[i];
len++;
@@ -456,6 +464,7 @@ int bvlc_encode_original_unicast_npdu(
{
int len = 0; /* return value */
unsigned i = 0; /* loop counter */
uint16_t BVLC_length = 0;
if (pdu) {
pdu[0] = BVLL_TYPE_BACNET_IP;
@@ -463,7 +472,8 @@ int bvlc_encode_original_unicast_npdu(
/* The 2-octet BVLC Length field is the length, in octets,
of the entire BVLL message, including the two octets of the
length field itself, most significant octet first. */
len = encode_unsigned16(&pdu[2], 4 + npdu_length) + 2;
BVLC_length = 4 + npdu_length;
len = encode_unsigned16(&pdu[2], BVLC_length) + 2;
for (i = 0; i < npdu_length; i++) {
pdu[len] = npdu[i];
len++;
@@ -480,6 +490,7 @@ int bvlc_encode_original_broadcast_npdu(
{
int len = 0; /* return value */
unsigned i = 0; /* loop counter */
uint16_t BVLC_length = 0;
if (pdu) {
pdu[0] = BVLL_TYPE_BACNET_IP;
@@ -487,7 +498,8 @@ int bvlc_encode_original_broadcast_npdu(
/* The 2-octet BVLC Length field is the length, in octets,
of the entire BVLL message, including the two octets of the
length field itself, most significant octet first. */
len = encode_unsigned16(&pdu[2], 4 + npdu_length) + 2;
BVLC_length = 4 + npdu_length;
len = encode_unsigned16(&pdu[2], BVLC_length) + 2;
for (i = 0; i < npdu_length; i++) {
pdu[len] = npdu[i];
len++;
@@ -666,7 +678,7 @@ void bvlc_bdt_forward_npdu(
uint16_t npdu_length)
{ /* length of the NPDU */
uint8_t mtu[MAX_MPDU] = { 0 };
int mtu_len = 0;
uint16_t mtu_len = 0;
int bytes_sent = 0;
unsigned i = 0; /* loop counter */
struct sockaddr_in bip_dest;
@@ -706,8 +718,9 @@ void bvlc_broadcast_forward_npdu(
uint16_t npdu_len)
{ /* size of the NPDU */
uint8_t mtu[MAX_MPDU] = { 0 };
int mtu_len = 0;
uint16_t mtu_len = 0;
struct sockaddr_in bvlc_dest;
uint16_t BVLC_length = 0;
/* FIXME: unused parameter */
sin = sin;
@@ -716,10 +729,9 @@ void bvlc_broadcast_forward_npdu(
mtu[1] = BVLC_ORIGINAL_BROADCAST_NPDU;
bvlc_dest.sin_addr.s_addr = htonl(bip_get_broadcast_addr());
bvlc_dest.sin_port = htons(bip_get_port());
BVLC_length = npdu_len + 4 /*inclusive */;
mtu_len = 2;
mtu_len +=
encode_unsigned16(&mtu[mtu_len],
(uint16_t) (npdu_len + 4 /*inclusive */ ));
mtu_len += encode_unsigned16(&mtu[mtu_len], BVLC_length);
memcpy(&mtu[mtu_len], npdu, npdu_len);
mtu_len += npdu_len;
bvlc_send_mpdu(&bvlc_dest, mtu, mtu_len);
@@ -731,7 +743,7 @@ void bvlc_fdt_forward_npdu(
uint16_t max_npdu)
{ /* amount of space available in the NPDU */
uint8_t mtu[MAX_MPDU] = { 0 };
int mtu_len = 0;
uint16_t mtu_len = 0;
int bytes_sent = 0;
unsigned i = 0; /* loop counter */
struct sockaddr_in bvlc_dest;
@@ -755,7 +767,7 @@ void bvlc_register_with_bbmd(
uint16_t time_to_live_seconds)
{
uint8_t mtu[MAX_MPDU] = { 0 };
int mtu_len = 0;
uint16_t mtu_len = 0;
Remote_BBMD.sin_addr.s_addr = bbmd_address;
Remote_BBMD.sin_port = htons(bbmd_port);
@@ -773,7 +785,7 @@ void bvlc_send_result(
BACNET_BVLC_RESULT result_code)
{
uint8_t mtu[MAX_MPDU] = { 0 };
int mtu_len = 0;
uint16_t mtu_len = 0;
mtu_len = bvlc_encode_bvlc_result(&mtu[0], result_code);
bvlc_send_mpdu(dest, mtu, mtu_len);
@@ -785,7 +797,7 @@ int bvlc_send_bdt(
struct sockaddr_in *dest)
{
uint8_t mtu[MAX_MPDU] = { 0 };
int mtu_len = 0;
uint16_t mtu_len = 0;
mtu_len = bvlc_encode_read_bdt_ack(&mtu[0], sizeof(mtu));
if (mtu_len) {
@@ -799,7 +811,7 @@ int bvlc_send_fdt(
struct sockaddr_in *dest)
{
uint8_t mtu[MAX_MPDU] = { 0 };
int mtu_len = 0;
uint16_t mtu_len = 0;
mtu_len = bvlc_encode_read_fdt_ack(&mtu[0], sizeof(mtu));
if (mtu_len) {
@@ -1110,10 +1122,11 @@ int bvlc_send_pdu(
{ /* number of bytes of data */
struct sockaddr_in bvlc_dest;
uint8_t mtu[MAX_MPDU] = { 0 };
int mtu_len = 0;
uint16_t mtu_len = 0;
/* addr and port in host format */
struct in_addr address;
uint16_t port = 0;
uint16_t BVLC_length = 0;
/* bip datalink doesn't need to know the npdu data */
(void) npdu_data;
@@ -1139,10 +1152,9 @@ int bvlc_send_pdu(
}
bvlc_dest.sin_addr.s_addr = htonl(address.s_addr);
bvlc_dest.sin_port = htons(port);
BVLC_length = pdu_len + 4 /*inclusive */;
mtu_len = 2;
mtu_len +=
encode_unsigned16(&mtu[mtu_len],
(uint16_t) (pdu_len + 4 /*inclusive */ ));
mtu_len += encode_unsigned16(&mtu[mtu_len], BVLC_length);
memcpy(&mtu[mtu_len], pdu, pdu_len);
mtu_len += pdu_len;
return bvlc_send_mpdu(&bvlc_dest, mtu, mtu_len);