XPCGetProtocol::XPCGetProtocol(int _iProtocol) { #ifdef UNIX cIteratorFlag = 0; #endif #ifdef __linux // Retrieves the protocol structure by number char buf[1024]; getprotobynumber_r(_iProtocol,&protocol, buf, sizeof(buf), &protocolPtr); //protocolPtr = getprotobynumber_r(_iProtocol);//thread safe fix suggested by Mark Moseley #else // Retrieves the protocol structure by number protocolPtr = getprotobynumber(_iProtocol); #endif if (protocolPtr == NULL) { XPCException exceptObject("Could Not Get Protocol By Number"); throw exceptObject; return; } }
XPCGetHostInfo::XPCGetHostInfo(in_addr_t *_netAddr) { if (*_netAddr == INADDR_NONE) { XPCException exceptObject("Error Getting Host By Address"); throw exceptObject; return; } hostPtr = gethostbyaddr((char *)_netAddr, sizeof(*_netAddr), AF_INET); if (hostPtr == NULL) { XPCException exceptObject("Error Getting Host By Address"); throw exceptObject; return; } }
XPCGetHostInfo::XPCGetHostInfo(const char *_sHost, hostType _type) { #ifdef UNIX cIteratorFlag = 0; #endif if (_type == NAME) { // Retrieve host by name hostPtr = gethostbyname(_sHost); if (hostPtr == NULL) { XPCException exceptObject("Error Getting Host By Name"); throw exceptObject; return; } } else if (_type == ADDRESS) { // Retrieve host by address // in_addr_t netAddr = inet_addr(_sHost); if (netAddr == INADDR_NONE) { XPCException exceptObject("Error Getting Host By Address"); throw exceptObject; return; } hostPtr = gethostbyaddr((char *)&netAddr, sizeof(netAddr), AF_INET); if (hostPtr == NULL) { XPCException exceptObject("Error Getting Host By Address"); throw exceptObject; return; } } else { XPCException exceptObject("Parameter Error Constructing XPCGetHostInfo"); throw exceptObject; return; } }
XPCGetProtocol::XPCGetProtocol(const char *_sName) { #ifdef UNIX cIteratorFlag = 0; #endif // Retrieves the protocol structure by name protocolPtr = getprotobyname(_sName); if (protocolPtr == NULL) { XPCException exceptObject("Could Not Get Protocol By Name"); throw exceptObject; return; } }
XPCGetProtocol::XPCGetProtocol(int _iProtocol) { #ifdef UNIX cIteratorFlag = 0; #endif // Retrieves the protocol structure by number protocolPtr = getprotobynumber(_iProtocol); if (protocolPtr == NULL) { XPCException exceptObject("Could Not Get Protocol By Number"); throw exceptObject; return; } }