2fe8fb192f
There is important information about booting non-ack images in docs/UPDATING. ack/aout-format images can't be built any more, and booting clang/ELF-format ones is a little different. Updating to the new boot monitor is recommended. Changes in this commit: . drop boot monitor -> allowing dropping ack support . facility to copy ELF boot files to /boot so that old boot monitor can still boot fairly easily, see UPDATING . no more ack-format libraries -> single-case libraries . some cleanup of OBJECT_FMT, COMPILER_TYPE, etc cases . drop several ack toolchain commands, but not all support commands (e.g. aal is gone but acksize is not yet). . a few libc files moved to netbsd libc dir . new /bin/date as minix date used code in libc/ . test compile fix . harmonize includes . /usr/lib is no longer special: without ack, /usr/lib plays no kind of special bootstrapping role any more and bootstrapping is done exclusively through packages, so releases depend even less on the state of the machine making them now. . rename nbsd_lib* to lib* . reduce mtree
183 lines
4.3 KiB
Groff
183 lines
4.3 KiB
Groff
.\" @(#)getnetconfig.3n 1.28 93/06/02 SMI; from SVr4
|
|
.\" $NetBSD: getnetconfig.3,v 1.7 2003/04/16 13:34:43 wiz Exp $
|
|
.\" Copyright 1989 AT&T
|
|
.Dd April 22, 2000
|
|
.Dt GETNETCONFIG 3
|
|
.Os
|
|
.Sh NAME
|
|
.Nm getnetconfig ,
|
|
.Nm setnetconfig ,
|
|
.Nm endnetconfig ,
|
|
.Nm getnetconfigent ,
|
|
.Nm freenetconfigent ,
|
|
.Nm nc_perror ,
|
|
.Nm nc_sperror
|
|
.Nd get network configuration database entry
|
|
.Sh LIBRARY
|
|
.Lb libc
|
|
.Sh SYNOPSIS
|
|
.In netconfig.h
|
|
.Ft struct netconfig *
|
|
.Fn getnetconfig "void *handlep"
|
|
.Ft void *
|
|
.Fn setnetconfig "void"
|
|
.Ft int
|
|
.Fn endnetconfig "void *handlep"
|
|
.Ft struct netconfig *
|
|
.Fn getnetconfigent "const char *netid"
|
|
.Ft void
|
|
.Fn freenetconfigent "struct netconfig *netconfigp"
|
|
.Ft void
|
|
.Fn nc_perror "const char *msg"
|
|
.Ft char *
|
|
.Fn nc_sperror "void"
|
|
.Sh DESCRIPTION
|
|
The library routines described on this page
|
|
provide the application access to
|
|
the system network configuration database,
|
|
.Pa /etc/netconfig .
|
|
.Bd -literal
|
|
struct netconfig {
|
|
char *nc_netid; /* Network ID */
|
|
unsigned long nc_semantics; /* Semantics */
|
|
unsigned long nc_flag; /* Flags */
|
|
char *nc_protofmly; /* Protocol family */
|
|
char *nc_proto; /* Protocol name */
|
|
char *nc_device; /* Network device pathname */
|
|
unsigned long nc_nlookups; /* Number of directory lookup libs */
|
|
char **nc_lookups; /* Names of the libraries */
|
|
};
|
|
.Ed
|
|
.Pp
|
|
.Fn getnetconfig
|
|
returns a pointer to the
|
|
current entry in the
|
|
.Pa netconfig
|
|
database, formatted as a struct netconfig.
|
|
Successive calls will return successive netconfig
|
|
entries in the netconfig database.
|
|
.Fn getnetconfig
|
|
can be used to search the entire netconfig
|
|
file.
|
|
.Fn getnetconfig
|
|
returns
|
|
.Dv NULL
|
|
at the end of the file.
|
|
.Fa handlep
|
|
is the handle obtained through
|
|
.Fn setnetconfig .
|
|
.Pp
|
|
A call to
|
|
.Fn setnetconfig
|
|
has the effect of ``binding'' to or
|
|
``rewinding'' the netconfig database.
|
|
.Fn setnetconfig
|
|
must be called before the first call to
|
|
.Fn getnetconfig
|
|
and may be called at any other time.
|
|
.Fn setnetconfig
|
|
need not be called before a call to
|
|
.Fn getnetconfigent .
|
|
.Fn setnetconfig
|
|
returns a unique handle to be used by
|
|
.Fn getnetconfig .
|
|
.Pp
|
|
.Fn endnetconfig
|
|
should be called when processing is complete to release resources for reuse.
|
|
.Fa handlep
|
|
is the handle obtained through
|
|
.Fn setnetconfig .
|
|
Programmers should be aware, however, that the last call to
|
|
.Fn endnetconfig
|
|
frees all memory allocated by
|
|
.Fn getnetconfig
|
|
for the
|
|
struct netconfig data structure.
|
|
.Fn endnetconfig
|
|
may not be called before
|
|
.Fn setnetconfig .
|
|
.Pp
|
|
.Fn getnetconfigent
|
|
returns a pointer
|
|
to the netconfig structure corresponding
|
|
to
|
|
.Fa netid .
|
|
It returns
|
|
.Dv NULL
|
|
if
|
|
.Fa netid
|
|
is invalid
|
|
(that is, does not name an entry in the netconfig database).
|
|
.Pp
|
|
.Fn freenetconfigent
|
|
frees the netconfig structure pointed to by
|
|
.Fa netconfigp
|
|
(previously returned by
|
|
.Fn getnetconfigent ) .
|
|
.Pp
|
|
.Fn nc_perror
|
|
prints a message to the standard error indicating why any of the
|
|
above routines failed.
|
|
The message is prepended with the string
|
|
.Fa msg
|
|
and a colon.
|
|
A newline character is appended at the end of the message.
|
|
.Pp
|
|
.Fn nc_sperror
|
|
is similar to
|
|
.Fn nc_perror
|
|
but instead of sending the message
|
|
to the standard error, will return a pointer to a string that
|
|
contains the error message.
|
|
.Pp
|
|
.Fn nc_perror
|
|
and
|
|
.Fn nc_sperror
|
|
can also be used with the
|
|
.Va NETPATH
|
|
access routines defined in
|
|
.Xr getnetpath 3 .
|
|
.Sh RETURN VALUES
|
|
.Fn setnetconfig
|
|
returns a unique handle to be used by
|
|
.Fn getnetconfig .
|
|
In the case of an error,
|
|
.Fn setnetconfig
|
|
returns NULL and
|
|
.Fn nc_perror
|
|
or
|
|
.Fn nc_sperror
|
|
can be used to print the reason for failure.
|
|
.Pp
|
|
.Fn getnetconfig
|
|
returns a pointer to the current entry in the netconfig
|
|
database, formatted as a struct netconfig.
|
|
.Fn getnetconfig
|
|
returns NULL
|
|
at the end of the file, or upon failure.
|
|
.Pp
|
|
.Fn endnetconfig
|
|
returns 0 on success and -1 on failure
|
|
(for example, if
|
|
.Fn setnetconfig
|
|
was not called previously).
|
|
.Pp
|
|
On success,
|
|
.Fn getnetconfigent
|
|
returns a pointer to the
|
|
.Li struct netconfig
|
|
structure corresponding to
|
|
.Ar netid ;
|
|
otherwise it returns
|
|
.Dv NULL .
|
|
.Pp
|
|
.Fn nc_sperror
|
|
returns a pointer to a buffer which contains the error message string.
|
|
This buffer is overwritten on each call.
|
|
In multithreaded applications, this buffer is
|
|
implemented as thread-specific data.
|
|
.Sh FILES
|
|
.Pa /etc/netconfig
|
|
.Sh SEE ALSO
|
|
.Xr getnetpath 3 ,
|
|
.Xr netconfig 5
|