HP-UX Reference (11i v1 00/12) - 3 Library Functions N-Z (vol 7)

__________________________________________________________________________________________________________________________________________________________________________________________________
__________________________________________________________________________________________________________________________________________________________________________________________________
STANDARD Printed by: Nora Chuang [nchuang] STANDARD
/build/1111/BRICK/man3/nan.3m
________________________________________________________________
___ ___
n
netdir(3N) netdir(3N)
endpoints.
HOST_ANY Represents any host accessible by this transport provider. HOST_ANY allows applica-
tions 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 structure:
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 3544 2 HP-UX Release 11i: December 2000
___
___