Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

intro(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 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

See Also

intro(3ncs)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026