Added support for Visual Studio 2015.

Fixed some WIN32 specific compile issues.
Changed MinGW build to use _NO_OLDNAMES so that it compatible with MSVC.
Thank you John LaFontaine for the contribution!
This commit is contained in:
skarg
2015-11-10 21:08:05 +00:00
parent 814bb171cd
commit ca5a9bff94
11 changed files with 806 additions and 4 deletions
+1
View File
@@ -40,6 +40,7 @@ endif
ifeq (${BACNET_PORT},win32)
TARGET_EXT = .exe
SYSTEM_LIB=-lws2_32,-lgcc,-lm,-liphlpapi,-lwinmm
DEFINES += -D_NO_OLDNAMES
endif
#build for release (default) or debug
DEBUGGING =
+4
View File
@@ -53,6 +53,10 @@
/* I-Am decoding */
#include "iam.h"
#ifdef _WIN32
#define strncasecmp(x,y,z) _strnicmp(x,y,z)
#endif
/* define our Data Link Type for libPCAP */
#define DLT_BACNET_MS_TP 165
/* local min/max macros */
+6
View File
@@ -50,6 +50,12 @@
/* include the device object */
#include "device.h" /* me */
#if defined(__BORLANDC__) || defined(_WIN32)
/* seems to not be defined in time.h as specified by The Open Group */
/* difference from UTC and local standard time */
long int timezone;
#endif
/* note: you really only need to define variables for
properties that are writable or that may change.
The properties that are constant can be hard coded
+3 -3
View File
@@ -75,9 +75,9 @@
#endif /* defined(BAC_UCI) */
#if defined(__BORLANDC__)
/* seems to not be defined in time.h as specified by The Open Group */
/* difference from UTC and local standard time */
#if defined(__BORLANDC__) || defined(_WIN32)
/* Not included in time.h as specified by The Open Group */
/* Difference from UTC and local standard time */
long int timezone;
#endif
+5 -1
View File
@@ -61,7 +61,7 @@
/* os specfic includes */
#include "timer.h"
#if defined(__BORLANDC__)
#if defined(__BORLANDC__) || defined(_WIN32)
/* seems to not be defined in time.h as specified by The Open Group */
/* difference from UTC and local standard time */
long int timezone;
@@ -79,8 +79,12 @@ bool Routed_Device_Write_Property_Local(
#if !defined(BAC_ROUTING)
#ifdef _MSC_VER
#pragma message This file should not be included in the build unless BAC_ROUTING is enabled.
#else
#warning This file should not be included in the build unless BAC_ROUTING is enabled.
#endif
#endif
/****************************************************************************
************* BACnet Routing Functionality (Optional) **********************
@@ -0,0 +1,48 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BACnet_Handler_Library", "BACnet_Handler_Library\BACnet_Handler_Library.vcxproj", "{2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BACnet_Object_Definitions", "BACnet_Object_Definitions\BACnet_Object_Definitions.vcxproj", "{6D42B11A-84DA-46DB-9D08-319329D51473}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BACnet_Stack_Library", "BACnet_Stack_Library\BACnet_Stack_Library.vcxproj", "{D0875CC6-8B68-404C-ABD7-823FE0C084DD}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}.Debug|x64.ActiveCfg = Debug|x64
{2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}.Debug|x64.Build.0 = Debug|x64
{2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}.Debug|x86.ActiveCfg = Debug|Win32
{2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}.Debug|x86.Build.0 = Debug|Win32
{2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}.Release|x64.ActiveCfg = Release|x64
{2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}.Release|x64.Build.0 = Release|x64
{2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}.Release|x86.ActiveCfg = Release|Win32
{2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}.Release|x86.Build.0 = Release|Win32
{6D42B11A-84DA-46DB-9D08-319329D51473}.Debug|x64.ActiveCfg = Debug|x64
{6D42B11A-84DA-46DB-9D08-319329D51473}.Debug|x64.Build.0 = Debug|x64
{6D42B11A-84DA-46DB-9D08-319329D51473}.Debug|x86.ActiveCfg = Debug|Win32
{6D42B11A-84DA-46DB-9D08-319329D51473}.Debug|x86.Build.0 = Debug|Win32
{6D42B11A-84DA-46DB-9D08-319329D51473}.Release|x64.ActiveCfg = Release|x64
{6D42B11A-84DA-46DB-9D08-319329D51473}.Release|x64.Build.0 = Release|x64
{6D42B11A-84DA-46DB-9D08-319329D51473}.Release|x86.ActiveCfg = Release|Win32
{6D42B11A-84DA-46DB-9D08-319329D51473}.Release|x86.Build.0 = Release|Win32
{D0875CC6-8B68-404C-ABD7-823FE0C084DD}.Debug|x64.ActiveCfg = Debug|x64
{D0875CC6-8B68-404C-ABD7-823FE0C084DD}.Debug|x64.Build.0 = Debug|x64
{D0875CC6-8B68-404C-ABD7-823FE0C084DD}.Debug|x86.ActiveCfg = Debug|Win32
{D0875CC6-8B68-404C-ABD7-823FE0C084DD}.Debug|x86.Build.0 = Debug|Win32
{D0875CC6-8B68-404C-ABD7-823FE0C084DD}.Release|x64.ActiveCfg = Release|x64
{D0875CC6-8B68-404C-ABD7-823FE0C084DD}.Release|x64.Build.0 = Release|x64
{D0875CC6-8B68-404C-ABD7-823FE0C084DD}.Release|x86.ActiveCfg = Release|Win32
{D0875CC6-8B68-404C-ABD7-823FE0C084DD}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
@@ -0,0 +1,212 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>BACnet_Handler_Library</RootNamespace>
<UseAppLocalVCLibs>true</UseAppLocalVCLibs>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
<WindowsTargetPlatformVersion>10.0.10240.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<IncludePath>$(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<IncludePath>$(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<IncludePath>$(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<IncludePath>$(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level4</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;BACDL_BIP;USE_INADDR=0;BACAPP_ALL;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\ports\win32;..\..\..\..\demo\object;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<ExceptionHandling>Async</ExceptionHandling>
<DisableSpecificWarnings>4214;4244;4267;4189;4100;4701</DisableSpecificWarnings>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level4</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;BACDL_BIP;USE_INADDR=0;BACAPP_ALL;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\ports\win32;..\..\..\..\demo\object;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4214;4244;4267;4189;4100;4701</DisableSpecificWarnings>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;BACDL_BIP;USE_INADDR=0;BACAPP_ALL;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\ports\win32;..\..\..\..\demo\object;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<ExceptionHandling>Async</ExceptionHandling>
<DisableSpecificWarnings>4214;4244;4267;4189;4100;4701</DisableSpecificWarnings>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;BACDL_BIP;USE_INADDR=0;BACAPP_ALL;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\ports\win32;..\..\..\..\demo\object;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4214;4244;4267;4189;4100;4701</DisableSpecificWarnings>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<Text Include="ReadMe.txt" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\demo\handler\dlenv.c" />
<ClCompile Include="..\..\..\..\demo\handler\h_arf.c" />
<ClCompile Include="..\..\..\..\demo\handler\h_arf_a.c" />
<ClCompile Include="..\..\..\..\demo\handler\h_awf.c" />
<ClCompile Include="..\..\..\..\demo\handler\h_ccov.c" />
<ClCompile Include="..\..\..\..\demo\handler\h_cov.c" />
<ClCompile Include="..\..\..\..\demo\handler\h_dcc.c" />
<ClCompile Include="..\..\..\..\demo\handler\h_iam.c" />
<ClCompile Include="..\..\..\..\demo\handler\h_ihave.c" />
<ClCompile Include="..\..\..\..\demo\handler\h_lso.c" />
<ClCompile Include="..\..\..\..\demo\handler\h_npdu.c" />
<ClCompile Include="..\..\..\..\demo\handler\h_rd.c" />
<ClCompile Include="..\..\..\..\demo\handler\h_rp.c" />
<ClCompile Include="..\..\..\..\demo\handler\h_rpm.c" />
<ClCompile Include="..\..\..\..\demo\handler\h_rpm_a.c" />
<ClCompile Include="..\..\..\..\demo\handler\h_rp_a.c" />
<ClCompile Include="..\..\..\..\demo\handler\h_rr.c" />
<ClCompile Include="..\..\..\..\demo\handler\h_rr_a.c" />
<ClCompile Include="..\..\..\..\demo\handler\h_ts.c" />
<ClCompile Include="..\..\..\..\demo\handler\h_ucov.c" />
<ClCompile Include="..\..\..\..\demo\handler\h_upt.c" />
<ClCompile Include="..\..\..\..\demo\handler\h_whohas.c" />
<ClCompile Include="..\..\..\..\demo\handler\h_whois.c" />
<ClCompile Include="..\..\..\..\demo\handler\h_wp.c" />
<ClCompile Include="..\..\..\..\demo\handler\h_wpm.c" />
<ClCompile Include="..\..\..\..\demo\handler\noserv.c" />
<ClCompile Include="..\..\..\..\demo\handler\objects.c" />
<ClCompile Include="..\..\..\..\demo\handler\s_arfs.c" />
<ClCompile Include="..\..\..\..\demo\handler\s_awfs.c" />
<ClCompile Include="..\..\..\..\demo\handler\s_cevent.c" />
<ClCompile Include="..\..\..\..\demo\handler\s_cov.c" />
<ClCompile Include="..\..\..\..\demo\handler\s_dcc.c" />
<ClCompile Include="..\..\..\..\demo\handler\s_iam.c" />
<ClCompile Include="..\..\..\..\demo\handler\s_ihave.c" />
<ClCompile Include="..\..\..\..\demo\handler\s_lso.c" />
<ClCompile Include="..\..\..\..\demo\handler\s_rd.c" />
<ClCompile Include="..\..\..\..\demo\handler\s_router.c" />
<ClCompile Include="..\..\..\..\demo\handler\s_rp.c" />
<ClCompile Include="..\..\..\..\demo\handler\s_rpm.c" />
<ClCompile Include="..\..\..\..\demo\handler\s_ts.c" />
<ClCompile Include="..\..\..\..\demo\handler\s_uevent.c" />
<ClCompile Include="..\..\..\..\demo\handler\s_upt.c" />
<ClCompile Include="..\..\..\..\demo\handler\s_whohas.c" />
<ClCompile Include="..\..\..\..\demo\handler\s_whois.c" />
<ClCompile Include="..\..\..\..\demo\handler\s_wp.c" />
<ClCompile Include="..\..\..\..\demo\handler\s_wpm.c" />
<ClCompile Include="..\..\..\..\demo\handler\txbuf.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
@@ -0,0 +1,163 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<Text Include="ReadMe.txt" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\demo\handler\dlenv.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\h_arf.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\h_arf_a.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\h_awf.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\h_ccov.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\h_cov.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\h_dcc.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\h_iam.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\h_ihave.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\h_lso.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\h_npdu.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\h_rd.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\h_rp.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\h_rpm.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\h_rpm_a.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\h_rp_a.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\h_rr.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\h_rr_a.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\h_ts.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\h_ucov.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\h_upt.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\h_whohas.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\h_whois.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\h_wp.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\h_wpm.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\noserv.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\objects.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\s_arfs.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\s_awfs.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\s_cevent.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\s_cov.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\s_dcc.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\s_iam.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\s_ihave.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\s_lso.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\s_rd.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\s_router.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\s_rp.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\s_rpm.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\s_ts.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\s_uevent.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\s_upt.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\s_whohas.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\s_whois.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\s_wp.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\s_wpm.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\handler\txbuf.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>
@@ -0,0 +1,221 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{6D42B11A-84DA-46DB-9D08-319329D51473}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>BACnet_Object_Definitions</RootNamespace>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
<WindowsTargetPlatformVersion>10.0.10240.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<IncludePath>$(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<IncludePath>$(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<IncludePath>$(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<IncludePath>$(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level4</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;BACDL_BIP;USE_INADDR=0;BACAPP_ALL;BACAPP_ALL_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\..\ports\win32;..\..\..\..\include;..\..\..\..\demo\object;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<ExceptionHandling>Async</ExceptionHandling>
<DisableSpecificWarnings>4244;4100;4701</DisableSpecificWarnings>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib>
<IgnoreAllDefaultLibraries>
</IgnoreAllDefaultLibraries>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level4</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;BACDL_BIP;USE_INADDR=0;BACAPP_ALL;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\..\ports\win32;..\..\..\..\include;..\..\..\..\demo\object;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4244;4100;4701</DisableSpecificWarnings>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib>
<IgnoreAllDefaultLibraries>
</IgnoreAllDefaultLibraries>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;BACDL_BIP;USE_INADDR=0;BACAPP_ALL;BACAPP_ALLNDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\..\ports\win32;..\..\..\..\include;..\..\..\..\demo\object;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<ExceptionHandling>Async</ExceptionHandling>
<DisableSpecificWarnings>4244;4100;4701</DisableSpecificWarnings>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<Lib>
<IgnoreAllDefaultLibraries>
</IgnoreAllDefaultLibraries>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;BACDL_BIP;USE_INADDR=0;BACAPP_ALL;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\..\ports\win32;..\..\..\..\include;..\..\..\..\demo\object;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4244;4100;4701</DisableSpecificWarnings>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<Lib>
<IgnoreAllDefaultLibraries>
</IgnoreAllDefaultLibraries>
</Lib>
</ItemDefinitionGroup>
<ItemGroup>
<Text Include="ReadMe.txt" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\demo\object\ai.c" />
<ClCompile Include="..\..\..\..\demo\object\ao.c" />
<ClCompile Include="..\..\..\..\demo\object\av.c" />
<ClCompile Include="..\..\..\..\demo\object\bacfile.c" />
<ClCompile Include="..\..\..\..\demo\object\bi.c" />
<ClCompile Include="..\..\..\..\demo\object\bo.c" />
<ClCompile Include="..\..\..\..\demo\object\bv.c" />
<ClCompile Include="..\..\..\..\demo\object\channel.c" />
<ClCompile Include="..\..\..\..\demo\object\command.c" />
<ClCompile Include="..\..\..\..\demo\object\csv.c" />
<ClCompile Include="..\..\..\..\demo\object\device-client.c" />
<ClCompile Include="..\..\..\..\demo\object\device.c" />
<ClCompile Include="..\..\..\..\demo\object\gw_device.c" />
<ClCompile Include="..\..\..\..\demo\object\iv.c" />
<ClCompile Include="..\..\..\..\demo\object\lc.c" />
<ClCompile Include="..\..\..\..\demo\object\lo.c" />
<ClCompile Include="..\..\..\..\demo\object\lsp.c" />
<ClCompile Include="..\..\..\..\demo\object\ms-input.c" />
<ClCompile Include="..\..\..\..\demo\object\mso.c" />
<ClCompile Include="..\..\..\..\demo\object\msv.c" />
<ClCompile Include="..\..\..\..\demo\object\nc.c" />
<ClCompile Include="..\..\..\..\demo\object\trendlog.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\..\demo\object\ai.h" />
<ClInclude Include="..\..\..\..\demo\object\ao.h" />
<ClInclude Include="..\..\..\..\demo\object\av.h" />
<ClInclude Include="..\..\..\..\demo\object\bacfile.h" />
<ClInclude Include="..\..\..\..\demo\object\bi.h" />
<ClInclude Include="..\..\..\..\demo\object\bo.h" />
<ClInclude Include="..\..\..\..\demo\object\bv.h" />
<ClInclude Include="..\..\..\..\demo\object\csv.h" />
<ClInclude Include="..\..\..\..\demo\object\device.h" />
<ClInclude Include="..\..\..\..\demo\object\lc.h" />
<ClInclude Include="..\..\..\..\demo\object\lo.h" />
<ClInclude Include="..\..\..\..\demo\object\lsp.h" />
<ClInclude Include="..\..\..\..\demo\object\ms-input.h" />
<ClInclude Include="..\..\..\..\demo\object\mso.h" />
<ClInclude Include="..\..\..\..\demo\object\msv.h" />
<ClInclude Include="..\..\..\..\demo\object\nc.h" />
<ClInclude Include="..\..\..\..\demo\object\trendlog.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
@@ -0,0 +1,141 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<Text Include="ReadMe.txt" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\demo\object\ai.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\object\ao.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\object\av.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\object\bacfile.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\object\bi.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\object\bo.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\object\bv.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\object\channel.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\object\command.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\object\csv.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\object\device-client.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\object\device.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\object\gw_device.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\object\iv.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\object\lc.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\object\lo.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\object\lsp.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\object\ms-input.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\object\mso.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\object\msv.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\object\nc.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\demo\object\trendlog.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\..\demo\object\ai.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\demo\object\ao.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\demo\object\av.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\demo\object\bacfile.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\demo\object\bi.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\demo\object\bo.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\demo\object\bv.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\demo\object\csv.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\demo\object\device.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\demo\object\lc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\demo\object\lo.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\demo\object\lsp.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\demo\object\ms-input.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\demo\object\mso.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\demo\object\msv.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\demo\object\nc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\demo\object\trendlog.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>
+2
View File
@@ -14,7 +14,9 @@
the values 0 and 1. */
/* We choose 8 bit to match C++ */
/* It must also promote to integer */
#if _MSC_VER < 1600
typedef int8_t _Bool;
#endif /* _MSC_VER < 1600 VS 2010 and earlier */
#endif
/* ISO C Standard: 7.16 Boolean type */