HP-UX Reference (11i v2 03/08) - 3 Library Functions N-Z (vol 7)

n
netdir(3N) netdir(3N)
HOST_ANY Represents any host accessible by this transport provider.
HOST_ANY allows
applications to specify a required service without specifying a particular host
name.
HOST_SELF_CONNECT
Represents the host address that can be used to connect to the local host.
HOST_BROADCAST
Represents the address for all hosts accessible by this transport provider.
Network requests to this address will be received by all machines.
All fields of the
nd_hostserv structure must be initialized.
To find the address of a given host and service on all available transports, call the
netdir_getbyname()
routine with each struct netconfig structure returned by
getnetcon-
fig(). (See getnetconfig(3N)).
The
netdir_getbyaddr()
routine maps addresses to service names. This routine returns service ,a
list of host and service pairs that would yield this address. If more than one tuple of host and service
name is returned, then the first tuple contains the preferred host and service names:
struct nd_hostservlist {
int *h_cnt; /* number of hostservs found */
struct hostserv *h_hostservs;
};
The netdir_free() structure is used to free the structures allocated by the name to address transla-
tion routines. ptr points to the structure that has to be freed. The struct_type identifies the struc-
ture:
struct netbuf ND_ADDR
struct nd_addrlist ND_ADDRLIST
struct hostserv ND_HOSTSERV
struct nd_hostservlist ND_HOSTSERVLIST
The universal address returned by taddr2uaddr()
should be freed by free().
The
netdir_options()
routine is used to do all transport-specific setups and option management.
fildes is the associated file descriptor. option, fildes, and pointer_to_args are passed to the
netdir_options()
routine for the transport specified in config. Currently three values are defined
for option:
ND_SET_BROADCAST
ND_SET_RESERVEDPORT
ND_CHECK_RESERVEDPORT
The taddr2uaddr() and uaddr2taddr()
routines support translation between universal addresses
and TLI type
netbufs. The taddr2uaddr()
routine takes a struct netbuf data structure and
returns a pointer to a string that contains the universal address. It returns -1
NULL if the conversion is
not possible. This is not a fatal condition as some transports may not suppose a universal address form.
uaddr2taddr() is the reverse of taddr2uaddr(). It returns the
struct netbuf data structure
for the given universal address.
If a transport provider does not support an option,
netdir_options() returns -1 and the error mes-
sage can be printed through netdir_perror() or netdir_sperror()
.
The specific actions of each option follow.
ND_SET_BROADCAST Sets the transport provider up to allow broadcast, if the transport
supports broadcast. fildes is a file descriptor into the transport, for
example, the result of a t_open of /dev/udp). pointer_to_args is
not used. If this completes, broadcast operations may be performed
on file descriptor fildes.
ND_SET_RESERVEDPORT Allows the application to bind to a reserved port, if that concept exists
for the transport provider. fildes is an unbound file descriptor into
the transport. If pointer_to_args is NULL, fildes will be bound to a
reserved port. If pointer_to_args is a pointer to a netbuf structure, an
attempt will be made to bind to any reserved port on the specified
address.
Section 3632 Hewlett-Packard Company 2 HP-UX 11i Version 2: August 2003