added sockAddrAreIdentical

This commit is contained in:
Jeff Hill
2002-03-21 22:18:49 +00:00
parent cd6df39198
commit ef4d0bcdcd
2 changed files with 34 additions and 0 deletions

View File

@@ -46,6 +46,33 @@
#define makeMask(NBITS) ( ( 1u << ( (unsigned) NBITS) ) - 1u )
/*
* sockAddrAreIdentical()
* (returns true if addresses are identical)
*/
int epicsShareAPI sockAddrAreIdentical
( const osiSockAddr *plhs, const osiSockAddr *prhs )
{
int match;
if ( plhs->sa.sa_family != prhs->sa.sa_family ) {
match = 0;
}
else if ( plhs->sa.sa_family != AF_INET ) {
match = 0;
}
else if ( plhs->ia.sin_addr.s_addr != prhs->ia.sin_addr.s_addr ) {
match = 0;
}
else if ( plhs->ia.sin_port != prhs->ia.sin_port ) {
match = 0;
}
else {
match = 1;
}
return match;
}
/*
* sockAddrToA()
* (convert socket address to ASCII host name)

View File

@@ -135,6 +135,13 @@ typedef struct osiSockAddrNode {
osiSockAddr addr;
} osiSockAddrNode;
/*
* sockAddrAreIdentical()
* (returns true if addresses are identical)
*/
epicsShareFunc int epicsShareAPI sockAddrAreIdentical
( const osiSockAddr * plhs, const osiSockAddr * prhs );
/*
* osiSockDiscoverBroadcastAddresses ()
* Returns the broadcast addresses of each network interface found.