summaryrefslogtreecommitdiff
path: root/sys/include/ape/netdb.h
diff options
context:
space:
mode:
authorTaru Karttunen <taruti@taruti.net>2011-03-30 16:47:56 +0300
committerTaru Karttunen <taruti@taruti.net>2011-03-30 16:47:56 +0300
commitc558a99e0be506a9abdf677f0ca4490644e05fc1 (patch)
tree17aef678ad05a32ef96ce8385703cb3fe089a5c7 /sys/include/ape/netdb.h
parente5888a1ffdae813d7575f5fb02275c6bb07e5199 (diff)
Import sources from 2011-03-30 iso image - sys/include
Diffstat (limited to 'sys/include/ape/netdb.h')
-rwxr-xr-xsys/include/ape/netdb.h121
1 files changed, 121 insertions, 0 deletions
diff --git a/sys/include/ape/netdb.h b/sys/include/ape/netdb.h
new file mode 100755
index 000000000..5885c3ab3
--- /dev/null
+++ b/sys/include/ape/netdb.h
@@ -0,0 +1,121 @@
+#ifndef __NETDB_H__
+#define __NETDB_H__
+
+#ifndef _BSD_EXTENSION
+ This header file is an extension to ANSI/POSIX
+#endif
+
+#pragma lib "/$M/lib/ape/libbsd.a"
+
+/*-
+ * Copyright (c) 1980, 1983, 1988 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that: (1) source distributions retain this entire copyright
+ * notice and comment, and (2) distributions including binaries display
+ * the following acknowledgement: ``This product includes software
+ * developed by the University of California, Berkeley and its contributors''
+ * in the documentation or other materials provided with the distribution
+ * and in all advertising materials mentioning features or use of this
+ * software. 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * @(#)netdb.h 5.11 (Berkeley) 5/21/90
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * 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 */
+};
+
+/*
+ * Assumption here is that a network number
+ * fits in 32 bits -- 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 # */
+};
+
+struct servent {
+ char *s_name; /* official service name */
+ char **s_aliases; /* alias list */
+ int s_port; /* port # */
+ char *s_proto; /* protocol to use */
+};
+
+struct protoent {
+ char *p_name; /* official protocol name */
+ char **p_aliases; /* alias list */
+ int p_proto; /* protocol # */
+};
+
+/* from 4.0 RPCSRC */
+struct rpcent {
+ char *r_name; /* name of server for this rpc program */
+ char **r_aliases; /* alias list */
+ int r_number; /* rpc program number */
+};
+
+extern struct hostent *gethostbyname(const char *),
+ *gethostbyaddr(const void *, int, int),
+ *gethostent(void);
+extern struct netent *getnetbyname(const char *),
+ *getnetbyaddr(long, int),
+ *getnetent(void);
+extern struct servent *getservbyname(const char *, const char *),
+ *getservbyport(int, const char *),
+ *getservent(void);
+extern struct protoent *getprotobyname(const char *),
+ *getprotobynumber(int),
+ *getprotoent(void);
+extern struct rpcent *getrpcbyname(const char *),
+ *getrpcbynumber(int),
+ *getrpcent(void);
+extern void sethostent(int), endhostent(void),
+ setnetent(int), endnetent(void),
+ setservent(int), endservent(void),
+ setprotoent(int), endprotoent(void),
+ setrpcent(int), endrpcent(void);
+
+/*
+ * Error return codes from gethostbyname() and gethostbyaddr()
+ * (left in extern int h_errno).
+ */
+extern int h_errno;
+extern void herror(const char *);
+extern char *hstrerror(int);
+
+#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 */
+
+#define __HOST_SVC_NOT_AVAIL 99 /* libc internal use only */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* !__NETDB_H__ */