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)
80 #if SBG_CONFIG_BIG_ENDIAN == 1
81 return (a << 24) | (b << 16) | (c << 8) | d;
83 return a | (b << 8) | (c << 16) | (d << 24);
94 #if SBG_CONFIG_BIG_ENDIAN == 1
95 return (uint8_t)((ipAddr & 0xFF000000) >> 24);
97 return (uint8_t)((ipAddr & 0x000000FF));
108 #if SBG_CONFIG_BIG_ENDIAN == 1
109 return (uint8_t)((ipAddr & 0x00FF0000) >> 16);
111 return (uint8_t)((ipAddr & 0x0000FF00) >> 8);
122 #if SBG_CONFIG_BIG_ENDIAN == 1
123 return (uint8_t)((ipAddr & 0x0000FF00) >> 8);
125 return (uint8_t)((ipAddr & 0x00FF0000) >> 16);
136 #if SBG_CONFIG_BIG_ENDIAN == 1
137 return (uint8_t)((ipAddr & 0x000000FF));
139 return (uint8_t)((ipAddr & 0xFF000000) >> 24);
174 return (ipAddress & netmask);
185 return (ipAddress & ~netmask);
265 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:214
SBG_INLINE sbgIpAddress sbgIpGetNetworkAddr(sbgIpAddress ipAddress, sbgIpAddress netmask)
Definition: sbgNetwork.h:172
SBG_INLINE uint8_t sbgIpAddrGetA(sbgIpAddress ipAddr)
Definition: sbgNetwork.h:92
SBG_COMMON_LIB_API sbgIpAddress sbgNetworkIpFromString(const char *pBuffer)
SBG_INLINE bool sbgIpAddrIsSameNetwork(sbgIpAddress firstIpAddr, sbgIpAddress secondIpAddr, sbgIpAddress netmask)
Definition: sbgNetwork.h:263
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:241
SBG_INLINE uint8_t sbgIpAddrGetB(sbgIpAddress ipAddr)
Definition: sbgNetwork.h:106
SBG_INLINE uint8_t sbgIpAddrGetC(sbgIpAddress ipAddr)
Definition: sbgNetwork.h:120
SBG_INLINE bool sbgIpAddressIsUnspecified(sbgIpAddress ipAddress)
Definition: sbgNetwork.h:197
SBG_INLINE sbgIpAddress sbgIpAddr(uint8_t a, uint8_t b, uint8_t c, uint8_t d)
Definition: sbgNetwork.h:78
SBG_INLINE uint8_t sbgIpAddrGetD(sbgIpAddress ipAddr)
Definition: sbgNetwork.h:134
SBG_INLINE sbgIpAddress sbgIpGetHostAddr(sbgIpAddress ipAddress, sbgIpAddress netmask)
Definition: sbgNetwork.h:183
uint32_t sbgIpAddress
Definition: sbgTypes.h:66