/************************************************************************** * * Copyright (C) 2005 Steve Karg * * SPDX-License-Identifier: MIT * *********************************************************************/ #ifndef BACPORT_H #define BACPORT_H /* common unix sockets headers needed */ #include /* basic system data types */ #include /* timeval{} for select() */ #include /* timespec{} for pselect() */ #include /* sockaddr_in{} and other Internet defns */ #include /* inet(3) functions */ #include /* for nonblocking */ #include #include #include #include #include #include #include /* for S_xxx file mode constants */ #include /* for iovec{} and readv/writev */ #include #include #include /* for Unix domain sockets */ #ifdef HAVE_SYS_SELECT_H #include /* for convenience */ #endif #ifdef HAVE_POLL_H #include /* for convenience */ #endif #ifdef HAVE_STRINGS_H #include /* for convenience */ #endif /* Three headers are normally needed for socket/file ioctl's: * , , and . */ #ifdef HAVE_SYS_IOCTL_H #include #endif #ifdef HAVE_SYS_FILIO_H #include #endif #ifdef HAVE_SYS_SOCKIO_H #include #endif #include #include #define ENUMS #include #ifndef __CYGWIN__ #include #endif #include #ifndef __CYGWIN__ #include #endif #include /* for the glibc version number */ #if __GLIBC__ >= 2 && __GLIBC_MINOR >= 1 #include #include /* the L2 protocols */ #else #include #ifndef __CYGWIN__ #include #include #include #endif #endif #include #include #include #include #include #include "bacnet/basic/sys/bacnet_stack_exports.h" #define BACNET_OBJECT_TABLE( \ table_name, _type, _init, _count, _index_to_instance, _valid_instance, \ _object_name, _read_property, _write_property, _RPM_list, _RR_info, \ _iterator, _value_list, _COV, _COV_clear, _intrinsic_reporting) \ static_assert(false, "Unsupported BACNET_OBJECT_TABLE for this platform") /** @file linux/bacport.h Includes Linux network headers. */ /* Local helper functions for this port */ BACNET_STACK_EXPORT extern int bip_get_local_netmask(struct in_addr *netmask); BACNET_STACK_EXPORT extern int bip_get_local_address_ioctl( const char *ifname, struct in_addr *addr, int request); #endif