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 rpc_use_family or rpc_use_family_wk.
s1length The length, in bytes, of sockaddr1.
sockaddr2 A socket address. The socket address is the structure returned by either rpc_use_family or rpc_use_family_wk.
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 status.all is equal to status_$ok , then the routine that supplied it was successful.
Description
The socket_$equal 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\n");
Files
/usr/include/idl/c/socket.h
/usr/include/idl/socket.idl