61#define SBG_IPV4_UNSPECIFIED_ADDR sbgIpAddr(0, 0, 0, 0)
62#define SBG_IPV4_BROADCAST_ADDR sbgIpAddr(255, 255, 255, 255)
64#define SBG_NETWORK_IPV4_STRING_SIZE (16)
81#if SBG_CONFIG_BIG_ENDIAN == 1
82 return (a << 24) | (b << 16) | (c << 8) | d;
84 return a | (b << 8) | (c << 16) | (d << 24);
96#if SBG_CONFIG_BIG_ENDIAN == 1
97 return (uint8_t)((ipAddr & 0xFF000000) >> 24);
99 return (uint8_t)((ipAddr & 0x000000FF));
111#if SBG_CONFIG_BIG_ENDIAN == 1
112 return (uint8_t)((ipAddr & 0x00FF0000) >> 16);
114 return (uint8_t)((ipAddr & 0x0000FF00) >> 8);
126#if SBG_CONFIG_BIG_ENDIAN == 1
127 return (uint8_t)((ipAddr & 0x0000FF00) >> 8);
129 return (uint8_t)((ipAddr & 0x00FF0000) >> 16);
141#if SBG_CONFIG_BIG_ENDIAN == 1
142 return (uint8_t)((ipAddr & 0x000000FF));
144 return (uint8_t)((ipAddr & 0xFF000000) >> 24);
182 return (ipAddress & netmask);
194 return (ipAddress & ~netmask);
272 if ((firstIpAddr & netmask) == (secondIpAddr & netmask))
Main header for the SBG Systems common C library.
#define SBG_INLINE
Definition sbgDefines.h:227
#define SBG_COMMON_LIB_API
Definition sbgDefines.h:79
SBG_INLINE bool sbgIpAddressValid(sbgIpAddress ipAddress)
Definition sbgNetwork.h:225
SBG_INLINE sbgIpAddress sbgIpGetNetworkAddr(sbgIpAddress ipAddress, sbgIpAddress netmask)
Definition sbgNetwork.h:180
SBG_INLINE uint8_t sbgIpAddrGetA(sbgIpAddress ipAddr)
Definition sbgNetwork.h:94
SBG_COMMON_LIB_API sbgIpAddress sbgNetworkIpFromString(const char *pBuffer)
SBG_INLINE bool sbgIpAddrIsSameNetwork(sbgIpAddress firstIpAddr, sbgIpAddress secondIpAddr, sbgIpAddress netmask)
Definition sbgNetwork.h:270
SBG_COMMON_LIB_API bool sbgIpNetMaskValid(sbgIpAddress netmask)
SBG_COMMON_LIB_API void sbgNetworkIpToString(sbgIpAddress ipAddr, char *pBuffer, size_t maxSize)
SBG_INLINE sbgIpAddress sbgIpAddrWithinSubnet(sbgIpAddress ipAddress, sbgIpAddress netmask)
Definition sbgNetwork.h:247
SBG_INLINE uint8_t sbgIpAddrGetB(sbgIpAddress ipAddr)
Definition sbgNetwork.h:109
SBG_INLINE uint8_t sbgIpAddrGetC(sbgIpAddress ipAddr)
Definition sbgNetwork.h:124
SBG_INLINE bool sbgIpAddressIsUnspecified(sbgIpAddress ipAddress)
Definition sbgNetwork.h:207
SBG_INLINE sbgIpAddress sbgIpAddr(uint8_t a, uint8_t b, uint8_t c, uint8_t d)
Definition sbgNetwork.h:79
SBG_INLINE uint8_t sbgIpAddrGetD(sbgIpAddress ipAddr)
Definition sbgNetwork.h:139
SBG_INLINE sbgIpAddress sbgIpGetHostAddr(sbgIpAddress ipAddress, sbgIpAddress netmask)
Definition sbgNetwork.h:192
uint32_t sbgIpAddress
Definition sbgTypes.h:66