Update UD main archive 960805
authordrepper <drepper>
Tue, 6 Aug 1996 01:14:23 +0000 (01:14 +0000)
committerdrepper <drepper>
Tue, 6 Aug 1996 01:14:23 +0000 (01:14 +0000)
resolv/netdb.h
resource/sys/resource.h

index 38367e3..cca3060 100644 (file)
@@ -1,72 +1,35 @@
-/*
- * ++Copyright++ 1980, 1983, 1988, 1993
- * -
- * Copyright (c) 1980, 1983, 1988, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * -
- * Portions Copyright (c) 1993 by Digital Equipment Corporation.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies, and that
- * the name of Digital Equipment Corporation not be used in advertising or
- * publicity pertaining to distribution of the document or software without
- * specific, written prior permission.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
- * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS.   IN NO EVENT SHALL DIGITAL EQUIPMENT
- * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
- * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
- * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
- * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- * -
- * --Copyright--
- */
-
-/*
- *      @(#)netdb.h    8.1 (Berkeley) 6/2/93
- *     $Id$
- */
-
-#ifndef _NETDB_H_
-#define _NETDB_H_
-
-#include <sys/param.h>
-#if (!defined(BSD)) || (BSD < 199306)
-# include <sys/bitypes.h>
-#endif
-#include <sys/cdefs.h>
+/* Copyright (C) 1996 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
 
+   The GNU C Library is free software; you can redistribute it
+   and/or modify it under the terms of the GNU Library General Public
+   License as published by the Free Software Foundation; either
+   version 2 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be
+   useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+   of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If
+   not, write to the Free Software Foundation, Inc., 59 Temple Place -
+   Suite 330, Boston, MA 02111-1307, USA.  */
+
+/* All data returned by the network data base library are supplied in
+   host order and returned in network order (suitable for use in
+   system calls).  */
+
+#ifndef        _NETDB_H
+
+#define        _NETDB_H        1
+#include <features.h>
+
+/* This is necessary to make this include file properly replace the
+   Sun version.  */
+#include <rpc/netdb.h>
+
+/* Absolute file name for network data base files.  */
 #define        _PATH_HEQUIV            "/etc/hosts.equiv"
 #define        _PATH_HOSTS             "/etc/hosts"
 #define        _PATH_NETWORKS          "/etc/networks"
 #define        _PATH_PROTOCOLS         "/etc/protocols"
 #define        _PATH_SERVICES          "/etc/services"
 
+
+__BEGIN_DECLS
+
+/* Error status for non-reentrant lookup functions.  */
 extern int h_errno;
 
-/*
- * Structures returned by network data base library.  All addresses are
- * supplied in host order, and returned in network order (suitable for
- * use in system calls).
- */
-struct hostent {
-       char    *h_name;        /* official name of host */
-       char    **h_aliases;    /* alias list */
-       int     h_addrtype;     /* host address type */
-       int     h_length;       /* length of address */
-       char    **h_addr_list;  /* list of addresses from name server */
-#define        h_addr  h_addr_list[0]  /* address, for backward compatiblity */
-};
+/* Possible values left in `h_errno'.  */
+#define        NETDB_INTERNAL  -1      /* See errno.  */
+#define        NETDB_SUCCESS   0       /* No problem.  */
+#define        HOST_NOT_FOUND  1       /* Authoritative Answer Host not found.  */
+#define        TRY_AGAIN       2       /* Non-Authoritive Host not found,
+                                  or SERVERFAIL.  */
+#define        NO_RECOVERY     3       /* Non recoverable errors, FORMERR, REFUSED,
+                                  NOTIMP.  */
+#define        NO_DATA         4       /* Valid name, no data record of requested
+                                  type.  */
+#define        NO_ADDRESS      NO_DATA /* No address, look for MX record.  */
+
+/* Print error indicated by `h_errno' variable on standard error.  STR
+   if non-null is printed before the error string.  */
+extern void herror __P ((__const char *__str));
+
+/* Return string associated with error ERR_NUM.  */
+extern __const char *hstrerror __P ((int __err_num));
+
 
-/*
- * Assumption here is that a network number
- * fits in an unsigned long -- probably a poor one.
- */
-struct netent {
-       char            *n_name;        /* official name of net */
-       char            **n_aliases;    /* alias list */
-       int             n_addrtype;     /* net address type */
-       unsigned long   n_net;          /* network # */
+
+/* Description of data base entry for a single host.  */
+struct hostent
+{
+  char *h_name;                        /* Official name of host.  */
+  char **h_aliases;            /* Alias list.  */
+  int h_addrtype;              /* Host address type.  */
+  int h_length;                        /* Length of address.  */
+  char **h_addr_list;          /* List of addresses from name server.  */
+#define        h_addr  h_addr_list[0]  /* Address, for backward compatiblity.  */
 };
 
-struct servent {
-       char    *s_name;        /* official service name */
-       char    **s_aliases;    /* alias list */
-       int     s_port;         /* port # */
-       char    *s_proto;       /* protocol to use */
+/* Open host data base files and mark them as staying open even after
+   a later search if STAY_OPEN is non-zero.  */
+extern void sethostent __P ((int __stay_open));
+
+/* Close host data base files and clear `stay open' flag.  */
+extern void endhostent __P ((void));
+
+/* Get next entry from host data base file.  Open data base if
+   necessary.  */
+extern struct hostent *gethostent __P ((void));
+
+/* Return entry from host data base which address match ADDR with
+   length LEN and type TYPE.  */
+extern struct hostent *gethostbyaddr __P ((__const char *__addr, int __len,
+                                          int __type));
+
+/* Return entry from host data base for host with NAME.  */
+extern struct hostent *gethostbyname __P ((__const char *__name));
+
+/* Return entry from host data base for host with NAME.  AF must be
+   set to the address type which as `AF_INET' for IPv4 or `AF_INET6'
+   for IPv6.  */
+extern struct hostent *gethostbyname2 __P ((__const char *__name, int __af));
+
+#ifdef __USE_REENTRANT
+/* Reentrant versions of the functions above.  The additional
+   arguments specify a buffer of BUFLEN starting at BUF.  The last
+   argument is a pointer to a variable which gets the value which
+   would be stored in the global variable `herrno' by the
+   non-reentrant functions.  */
+extern struct hostent *__gethostent_r __P ((struct hostent *__result_buf,
+                                           char *__buf, int __buf_len,
+                                           int *__h_errnop));
+extern struct hostent *gethostent_r __P ((struct hostent *__result_buf,
+                                         char *__buf, int __buf_len,
+                                         int *__h_errnop));
+
+extern struct hostent *__gethostbyaddr_r __P ((__const char *__addr, int __len,
+                                              int __type,
+                                              struct hostent *__result_buf,
+                                              char *__buf, int __buflen,
+                                              int *__h_errnop));
+extern struct hostent *gethostbyaddr_r __P ((__const char *__addr, int __len,
+                                            int __type,
+                                            struct hostent *__result_buf,
+                                            char *__buf, int __buflen,
+                                            int *__h_errnop));
+
+extern struct hostent *__gethostbyname_r __P ((__const char *__name,
+                                              struct hostent *__result_buf,
+                                              char *__buf, int __buflen,
+                                              int *__h_errnop));
+extern struct hostent *gethostbyname_r __P ((__const char *__name,
+                                            struct hostent *__result_buf,
+                                            char *__buf, int __buflen,
+                                            int *__h_errnop));
+
+extern struct hostent *__gethostbyname2_r __P ((__const char *__name, int __af,
+                                               struct hostent *__result_buf,
+                                               char *__buf, int __buflen,
+                                               int *__h_errnop));
+extern struct hostent *gethostbyname2_r __P ((__const char *__name, int __af,
+                                             struct hostent *__result_buf,
+                                             char *__buf, int __buflen,
+                                             int *__h_errnop));
+#endif /* reentrant */
+
+
+/* Description of data base entry for a single network.  NOTE: here a
+   poor assumption is made.  The network number is expected to fit
+   into an unsigned long int variable.  */
+struct netent
+{
+  char *n_name;                        /* Official name of network.  */
+  char **n_aliases;            /* Alias list.  */
+  int n_addrtype;              /* Net address type.  */
+  unsigned long        int n_net;      /* Network number.  */
 };
 
-struct protoent {
-       char    *p_name;        /* official protocol name */
-       char    **p_aliases;    /* alias list */
-       int     p_proto;        /* protocol # */
+/* Open network data base files and mark them as staying open even
+   after a later search if STAY_OPEN is non-zero.  */
+extern void setnetent __P ((int __stay_open));
+
+/* Close network data base files and clear `stay open' flag.  */
+extern void endnetent __P ((void));
+
+/* Get next entry from network data base file.  Open data base if
+   necessary.  */
+extern struct netent *getnetent __P ((void));
+
+/* Return entry from network data base which address match NET and
+   type TYPE.  */
+extern struct netent *getnetbyaddr __P ((unsigned long int __net,
+                                        int __type));
+
+/* Return entry from network data base for network with NAME.  */
+extern struct netent *getnetbyname __P ((__const char *__name));
+
+#ifdef __USE_REENTRANT
+/* Reentrant versions of the functions above.  The additional
+   arguments specify a buffer of BUFLEN starting at BUF.  The last
+   argument is a pointer to a variable which gets the value which
+   would be stored in the global variable `herrno' by the
+   non-reentrant functions.  */
+extern struct netent *__getnetent_r __P ((struct netent *__result_buf,
+                                         char *__buf, int __buf_len,
+                                         int *__h_errnop));
+extern struct netent *getnetent_r __P ((struct netent *__result_buf,
+                                       char *__buf, int __buf_len,
+                                       int *__h_errnop));
+
+extern struct netent *__getnetbyaddr_r __P ((unsigned long int __net,
+                                            int __type,
+                                            struct netent *__result_buf,
+                                            char *__buf, int __buflen,
+                                            int *__h_errnop));
+extern struct netent *getnetbyaddr_r __P ((unsigned long int __net,
+                                          int __type,
+                                          struct netent *__result_buf,
+                                          char *__buf, int __buflen,
+                                          int *__h_errnop));
+
+extern struct netent *__getnetbyname_r __P ((__const char *__name,
+                                            struct netent *__result_buf,
+                                            char *__buf, int __buflen,
+                                            int *__h_errnop));
+extern struct netent *getnetbyname_r __P ((__const char *__name,
+                                          struct netent *__result_buf,
+                                          char *__buf, int __buflen,
+                                          int *__h_errnop));
+#endif /* reentrant */
+
+
+/* Description of data base entry for a single service.  */
+struct servent
+{
+  char *s_name;                        /* Official service name.  */
+  char **s_aliases;            /* Alias list.  */
+  int s_port;                  /* Port number.  */
+  char *s_proto;               /* Protocol to use.  */
 };
 
-/*
- * Error return codes from gethostbyname() and gethostbyaddr()
- * (left in extern int h_errno).
- */
+/* Open service data base files and mark them as staying open even
+   after a later search if STAY_OPEN is non-zero.  */
+extern void setservent __P ((int __stay_open));
 
-#define        NETDB_INTERNAL  -1      /* see errno */
-#define        NETDB_SUCCESS   0       /* no problem */
-#define        HOST_NOT_FOUND  1 /* Authoritative Answer Host not found */
-#define        TRY_AGAIN       2 /* Non-Authoritive Host not found, or SERVERFAIL */
-#define        NO_RECOVERY     3 /* Non recoverable errors, FORMERR, REFUSED, NOTIMP */
-#define        NO_DATA         4 /* Valid name, no data record of requested type */
-#define        NO_ADDRESS      NO_DATA         /* no address, look for MX record */
+/* Close service data base files and clear `stay open' flag.  */
+extern void endservent __P ((void));
 
-__BEGIN_DECLS
-void           endhostent __P((void));
-void           endnetent __P((void));
-void           endprotoent __P((void));
-void           endservent __P((void));
-struct hostent *gethostbyaddr __P((const char *, int, int));
-struct hostent *gethostbyname __P((const char *));
-struct hostent *gethostbyname2 __P((const char *, int));
-struct hostent *gethostent __P((void));
-struct netent  *getnetbyaddr __P((unsigned long, int));
-struct netent  *getnetbyname __P((const char *));
-struct netent  *getnetent __P((void));
-struct protoent        *getprotobyname __P((const char *));
-struct protoent        *getprotobynumber __P((int));
-struct protoent        *getprotoent __P((void));
-struct servent *getservbyname __P((const char *, const char *));
-struct servent *getservbyport __P((int, const char *));
-struct servent *getservent __P((void));
-void           herror __P((const char *));
-const char     *hstrerror __P((int));
-void           sethostent __P((int));
-/* void                sethostfile __P((const char *)); */
-void           setnetent __P((int));
-void           setprotoent __P((int));
-void           setservent __P((int));
-__END_DECLS
+/* Get next entry from service data base file.  Open data base if
+   necessary.  */
+extern struct servent *getservent __P ((void));
 
-/* This is nec'y to make this include file properly replace the sun version. */
-#ifdef __GNU_LIBRARY__
-#include <rpc/netdb.h>
-#else
-#ifdef sun
-struct rpcent {
-       char    *r_name;        /* name of server for this rpc program */
-       char    **r_aliases;    /* alias list */
-       int     r_number;       /* rpc program number */
+/* Return entry from network data base for network with NAME and
+   protocol PROTO.  */
+extern struct servent *getservbyname __P ((__const char *__name,
+                                          __const char *__proto));
+
+/* Return entry from service data base which matches port PORT and
+   protocol PROTO.  */
+extern struct servent *getservbyport __P ((int __port, __const char *__proto));
+
+
+#ifdef __USE_REENTRANT
+/* Reentrant versions of the functions above.  The additional
+   arguments specify a buffer of BUFLEN starting at BUF.  */
+extern struct servent *__getservent_r __P ((struct servent *__result_buf,
+                                           char *__buf, int __buf_len));
+extern struct servent *getservent_r __P ((struct servent *__result_buf,
+                                         char *__buf, int __buf_len));
+
+extern struct servent *__getservbyname_r __P ((__const char *__name,
+                                              __const char *__proto,
+                                              struct servent *__result_buf,
+                                              char *__buf, int __buflen));
+extern struct servent *getservbyname_r __P ((__const char *__name,
+                                            __const char *__proto,
+                                            struct servent *__result_buf,
+                                            char *__buf, int __buflen));
+
+extern struct servent *__getservbyport_r __P ((int __port,
+                                              __const char *__proto,
+                                              struct servent *__result_buf,
+                                              char *__buf, int __buflen));
+extern struct servent *getservbyport_r __P ((int __port, __const char *__proto,
+                                            struct servent *__result_buf,
+                                            char *__buf, int __buflen));
+#endif /* reentrant */
+
+
+/* Description of data base entry for a single service.  */
+struct protoent
+{
+  char *p_name;                        /* Official protocol name.  */
+  char **p_aliases;            /* Alias list.  */
+  int p_proto;                 /* Protocol number.  */
 };
-struct rpcent  *getrpcbyname(), *getrpcbynumber(), *getrpcent();
-#endif /* sun */
-#endif /* __GNU_LIBRARY__ */
 
-#endif /* !_NETDB_H_ */
+/* Open protocol data base files and mark them as staying open even
+   after a later search if STAY_OPEN is non-zero.  */
+extern void setprotoent __P ((int __stay_open));
+
+/* Close protocol data base files and clear `stay open' flag.  */
+extern void endprotoent __P ((void));
+
+/* Get next entry from protocol data base file.  Open data base if
+   necessary.  */
+extern struct protoent *getprotoent __P ((void));
+
+/* Return entry from protocol data base for network with NAME.  */
+extern struct protoent *getprotobyname __P ((__const char *__name));
+
+/* Return entry from protocol data base which number is PROTO.  */
+extern struct protoent *getprotobynumber __P ((int __proto));
+
+
+#ifdef __USE_REENTRANT
+/* Reentrant versions of the functions above.  The additional
+   arguments specify a buffer of BUFLEN starting at BUF.  */
+extern struct protoent *__getprotoent_r __P ((struct protoent *__result_buf,
+                                             char *__buf, int __buf_len));
+extern struct protoent *getprotoent_r __P ((struct protoent *__result_buf,
+                                           char *__buf, int __buf_len));
+
+extern struct protoent *__getprotobyname_r __P ((__const char *__name,
+                                                struct protoent *__result_buf,
+                                                char *__buf, int __buflen));
+extern struct protoent *getprotobyname_r __P ((__const char *__name,
+                                              struct protoent *__result_buf,
+                                              char *__buf, int __buflen));
+
+extern struct protoent *__getprotobynumber_r __P ((int __proto,
+                                                  struct protoent *__res_buf,
+                                                  char *__buf, int __buflen));
+extern struct protoent *getprotobynumber_r __P ((int __proto,
+                                                struct protoent *__result_buf,
+                                                char *__buf, int __buflen));
+#endif /* reentrant */
+
+
+__END_DECLS
+
+#endif /* netdb.h */
index 14bec34..3d0e5a9 100644 (file)
@@ -39,14 +39,16 @@ struct rlimit
 
 /* Put the soft and hard limits for RESOURCE in *RLIMITS.
    Returns 0 if successful, -1 if not (and sets errno).  */
-int getrlimit __P ((enum __rlimit_resource __resource,
-                   struct rlimit * __rlimits));
+extern int __getrlimit __P ((enum __rlimit_resource __resource,
+                            struct rlimit *__rlimits));
+extern int getrlimit __P ((enum __rlimit_resource __resource,
+                          struct rlimit *__rlimits));
 
 /* Set the soft and hard limits for RESOURCE to *RLIMITS.
    Only the super-user can increase hard limits.
    Return 0 if successful, -1 if not (and sets errno).  */
-int setrlimit __P ((enum __rlimit_resource __resource,
-                   struct rlimit * __rlimits));
+extern int setrlimit __P ((enum __rlimit_resource __resource,
+                          struct rlimit *__rlimits));
 
 
 /* Whose usage statistics do you want?  */
@@ -110,8 +112,8 @@ struct rusage
 
 /* Return resource usage information on process indicated by WHO
    and put it in *USAGE.  Returns 0 for success, -1 for failure.  */
-int __getrusage __P ((enum __rusage_who __who, struct rusage * __usage));
-int getrusage __P ((enum __rusage_who __who, struct rusage * __usage));
+extern int __getrusage __P ((enum __rusage_who __who, struct rusage *__usage));
+extern int getrusage __P ((enum __rusage_who __who, struct rusage *__usage));
 
 /* Function depends on CMD:
    1 = Return the limit on the size of a file, in units of 512 bytes.
@@ -120,8 +122,8 @@ int getrusage __P ((enum __rusage_who __who, struct rusage * __usage));
    3 = Return the maximum possible address of the data segment.
    4 = Return the maximum number of files that the calling process can open.
    Returns -1 on errors.  */
-long int __ulimit __P ((int __cmd, long int __newlimit));
-long int ulimit __P ((int __cmd, long int __newlimit));
+extern long int __ulimit __P ((int __cmd, long int __newlimit));
+extern long int ulimit __P ((int __cmd, long int __newlimit));
 
 
 /* Priority limits.  */
@@ -151,4 +153,4 @@ extern int setpriority __P ((enum __priority_which __which, int __who,
 
 __END_DECLS
 
-#endif /* resource.h  */
+#endif /* resource.h  */