socket_equal(3ncs) socket_equal(3ncs)
Name
socket_equal - compare two socket addresses
Syntax
#include <idl/c/socket.h>
boolean socket_$equal(sockaddr1, s1length, sockaddr2, s2length, flags, status)
socket_$addr_t *sockaddr1;
unsigned long s1length;
socket_$addr_t *sockaddr2;
unsigned long s2length;
unsigned long flags;
status_$t *status;
Arguments
sockaddr1 A socket address. The socket address is the structure returned by either or
s1length The length, in bytes, of sockaddr1.
sockaddr2 A socket address. The socket address is the structure returned by either or
s2length The length, in bytes, of sockaddr2.
flags The logical OR of values selected from the following:
socket_$eq_hostid Indicates that the host IDs are to be compared.
socket_$eq_netaddr Indicates that the network addresses are to be compared.
socket_$eq_port Indicates that the port numbers are to be compared.
socket_$eq_network Indicates that the network IDs are to be compared.
status The completion status. If the completion status returned in is equal to status_$ok , then the routine that supplied it
was successful.
Description
The routine compares two socket addresses. The flags parameter determines which fields of the socket addresses are compared. The call
returns `true' (not zero) if all of the fields compared are equal, `false' (zero) if not.
Examples
The following routine compares the network and host IDs in the socket addresses sockaddr1 and sockaddr2:
if (socket_$equal (&sockaddr1, s1length, &sockaddr2, s2length,
socket_$eq_network | socket_$eq_hostid, &status))
printf ("sockaddrs have equal network and host IDs
");
Files
See Also
intro(3ncs)
socket_equal(3ncs)