Ejemplo n.º 1
0
void printNetworkDetails(network_t *n) {

	char subnetMask[STRLEN] = "";
	char hostAddress[STRLEN] = "";
	char networkAddress[STRLEN] = "";
	char broadcastAddress[STRLEN] = "";
	char wildcardMask[STRLEN] = "";
	char lastUsable[STRLEN] = "";
	char firstUsable[STRLEN] = "";
	char secondUsable[STRLEN] = "";
	char thirdUsable[STRLEN] = "";
	int networkSize;
	int bitMask;

	getIPAddress(n, hostAddress, STRLEN);
	getSubnetMask(n, subnetMask, STRLEN);
	getNetworkAddress(n, networkAddress, STRLEN);
	getBroadcastAddress(n, broadcastAddress, STRLEN);
	getWildcardMask(n, wildcardMask, STRLEN);
	getLastUsable(n, lastUsable, STRLEN);
	getFirstUsable(n, firstUsable, STRLEN);
	getSecondUsable(n, secondUsable, STRLEN);
	getThirdUsable(n, thirdUsable, STRLEN);
	networkSize = getNetworkSize(n);
	bitMask = getBitmask(n);

	printf("\n");
	printf("Host address            - %s\n", hostAddress);
	printf("Network Address		- %s (%s/%d)\n", networkAddress, networkAddress, bitMask);
	printf("Subnet Mask		- %s\n", subnetMask);
	printf("Broadcast Address	- %s\n", broadcastAddress);
	printf("Wildcard Address	- %s\n", wildcardMask);
	printf("Network Prefix (CIDR)	- /%d\n", bitMask);
	printf("Network Range		- %s - %s (%d Addresses)\n", networkAddress, broadcastAddress, networkSize+2);
	printf("Usable Range		- %s - %s (%d Usable Hosts)\n", firstUsable, lastUsable,networkSize);
	printf("\n");
	printf("A IP			- %s\n", firstUsable);
	printf("B IP			- %s\n", secondUsable);
	printf("C IP			- %s\n", thirdUsable);
	printf("GW IP			- %s\n", lastUsable);
	printf("\n");

	// Provisioning Assistance:

}
Ejemplo n.º 2
0
static struct ifaddrs *getWiiUInterfaceAddressData(void) {
      struct ifaddrs *result = buildEmptyIfa();

      if(result != NULL) {
            if(getAssignedAddress((struct sockaddr_in *)result->ifa_addr) < 0 ||
               getAssignedSubnet((struct sockaddr_in *)result->ifa_netmask) < 0 ||
               getBroadcastAddress((struct sockaddr_in *)result->ifa_dstaddr,
               (struct sockaddr_in *)result->ifa_addr,
               (struct sockaddr_in *)result->ifa_netmask) < 0) {
                  goto error;
            }
      }

      return result;

      error:
      freeifaddrs(result);
      return NULL;
}
Ejemplo n.º 3
0
bool
Address::isBroadcast() const
{
    return *this == getBroadcastAddress();
}