Deleted Added
full compact
netdb.h (145602) netdb.h (146244)
1/*-
2 * Copyright (c) 1980, 1983, 1988, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 41 unchanged lines hidden (view full) ---

50 * SOFTWARE.
51 * -
52 * --Copyright--
53 */
54
55/*
56 * @(#)netdb.h 8.1 (Berkeley) 6/2/93
57 * From: Id: netdb.h,v 8.9 1996/11/19 08:39:29 vixie Exp $
1/*-
2 * Copyright (c) 1980, 1983, 1988, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 41 unchanged lines hidden (view full) ---

50 * SOFTWARE.
51 * -
52 * --Copyright--
53 */
54
55/*
56 * @(#)netdb.h 8.1 (Berkeley) 6/2/93
57 * From: Id: netdb.h,v 8.9 1996/11/19 08:39:29 vixie Exp $
58 * $FreeBSD: head/include/netdb.h 145602 2005-04-27 19:12:57Z ume $
58 * $FreeBSD: head/include/netdb.h 146244 2005-05-15 20:15:15Z ume $
59 */
60
61#ifndef _NETDB_H_
62#define _NETDB_H_
63
64#include <sys/cdefs.h>
65#include <sys/_types.h>
59 */
60
61#ifndef _NETDB_H_
62#define _NETDB_H_
63
64#include <sys/cdefs.h>
65#include <sys/_types.h>
66#include <machine/_limits.h>
67#include <machine/endian.h>
66
67#ifndef _SIZE_T_DECLARED
68typedef __size_t size_t;
69#define _SIZE_T_DECLARED
70#endif
71
72#ifndef _SOCKLEN_T_DECLARED
73typedef __socklen_t socklen_t;
74#define _SOCKLEN_T_DECLARED
75#endif
76
68
69#ifndef _SIZE_T_DECLARED
70typedef __size_t size_t;
71#define _SIZE_T_DECLARED
72#endif
73
74#ifndef _SOCKLEN_T_DECLARED
75typedef __socklen_t socklen_t;
76#define _SOCKLEN_T_DECLARED
77#endif
78
79#ifndef _UINT32_T_DECLARED
80typedef __uint32_t uint32_t;
81#define _UINT32_T_DECLARED
82#endif
83
77#ifndef _PATH_HEQUIV
78# define _PATH_HEQUIV "/etc/hosts.equiv"
79#endif
80#define _PATH_HOSTS "/etc/hosts"
81#define _PATH_NETWORKS "/etc/networks"
82#define _PATH_PROTOCOLS "/etc/protocols"
83#define _PATH_SERVICES "/etc/services"
84

--- 9 unchanged lines hidden (view full) ---

94 char **h_aliases; /* alias list */
95 int h_addrtype; /* host address type */
96 int h_length; /* length of address */
97 char **h_addr_list; /* list of addresses from name server */
98#define h_addr h_addr_list[0] /* address, for backward compatibility */
99};
100
101/*
84#ifndef _PATH_HEQUIV
85# define _PATH_HEQUIV "/etc/hosts.equiv"
86#endif
87#define _PATH_HOSTS "/etc/hosts"
88#define _PATH_NETWORKS "/etc/networks"
89#define _PATH_PROTOCOLS "/etc/protocols"
90#define _PATH_SERVICES "/etc/services"
91

--- 9 unchanged lines hidden (view full) ---

101 char **h_aliases; /* alias list */
102 int h_addrtype; /* host address type */
103 int h_length; /* length of address */
104 char **h_addr_list; /* list of addresses from name server */
105#define h_addr h_addr_list[0] /* address, for backward compatibility */
106};
107
108/*
102 * Assumption here is that a network number
103 * fits in an unsigned long -- probably a poor one.
109 * Note: n_net used to be an unsigned long integer.
110 * In XNS5, and subsequently in POSIX-2001 it was changed to an
111 * uint32_t.
112 * To accomodate for this while preserving binary compatibility with
113 * the old interface, we prepend or append 32 bits of padding,
114 * depending on the (LP64) architecture's endianness.
115 *
116 * This should be deleted the next time the libc major number is
117 * incremented.
104 */
105struct netent {
106 char *n_name; /* official name of net */
107 char **n_aliases; /* alias list */
108 int n_addrtype; /* net address type */
118 */
119struct netent {
120 char *n_name; /* official name of net */
121 char **n_aliases; /* alias list */
122 int n_addrtype; /* net address type */
109 unsigned long n_net; /* network # */
123#if __LONG_BIT == 64 && _BYTE_ORDER == _BIG_ENDIAN
124 uint32_t __n_pad0; /* ABI compatibility */
125#endif
126 uint32_t n_net; /* network # */
127#if __LONG_BIT == 64 && _BYTE_ORDER == _LITTLE_ENDIAN
128 uint32_t __n_pad0; /* ABI compatibility */
129#endif
110};
111
112struct servent {
113 char *s_name; /* official service name */
114 char **s_aliases; /* alias list */
115 int s_port; /* port # */
116 char *s_proto; /* protocol to use */
117};
118
119struct protoent {
120 char *p_name; /* official protocol name */
121 char **p_aliases; /* alias list */
122 int p_proto; /* protocol # */
123};
124
130};
131
132struct servent {
133 char *s_name; /* official service name */
134 char **s_aliases; /* alias list */
135 int s_port; /* port # */
136 char *s_proto; /* protocol to use */
137};
138
139struct protoent {
140 char *p_name; /* official protocol name */
141 char **p_aliases; /* alias list */
142 int p_proto; /* protocol # */
143};
144
145/*
146 * Note: ai_addrlen used to be a size_t, per RFC 2553.
147 * In XNS5.2, and subsequently in POSIX-2001 and RFC 3493 it was
148 * changed to a socklen_t.
149 * To accomodate for this while preserving binary compatibility with the
150 * old interface, we prepend or append 32 bits of padding, depending on
151 * the (LP64) architecture's endianness.
152 *
153 * This should be deleted the next time the libc major number is
154 * incremented.
155 */
125struct addrinfo {
126 int ai_flags; /* AI_PASSIVE, AI_CANONNAME, AI_NUMERICHOST */
127 int ai_family; /* PF_xxx */
128 int ai_socktype; /* SOCK_xxx */
129 int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */
156struct addrinfo {
157 int ai_flags; /* AI_PASSIVE, AI_CANONNAME, AI_NUMERICHOST */
158 int ai_family; /* PF_xxx */
159 int ai_socktype; /* SOCK_xxx */
160 int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */
130 size_t ai_addrlen; /* length of ai_addr */
161#if __LONG_BIT == 64 && _BYTE_ORDER == _BIG_ENDIAN
162 uint32_t __ai_pad0; /* ABI compatibility */
163#endif
164 socklen_t ai_addrlen; /* length of ai_addr */
165#if __LONG_BIT == 64 && _BYTE_ORDER == _LITTLE_ENDIAN
166 uint32_t __ai_pad0; /* ABI compatibility */
167#endif
131 char *ai_canonname; /* canonical name for hostname */
132 struct sockaddr *ai_addr; /* binary address */
133 struct addrinfo *ai_next; /* next structure in linked list */
134};
135
136/*
137 * Error return codes from gethostbyname() and gethostbyaddr()
138 * (left in h_errno).

--- 81 unchanged lines hidden (view full) ---

220void endservent(void);
221void freehostent(struct hostent *);
222struct hostent *gethostbyaddr(const char *, int, int);
223struct hostent *gethostbyname(const char *);
224struct hostent *gethostbyname2(const char *, int);
225struct hostent *gethostent(void);
226struct hostent *getipnodebyaddr(const void *, size_t, int, int *);
227struct hostent *getipnodebyname(const char *, int, int, int *);
168 char *ai_canonname; /* canonical name for hostname */
169 struct sockaddr *ai_addr; /* binary address */
170 struct addrinfo *ai_next; /* next structure in linked list */
171};
172
173/*
174 * Error return codes from gethostbyname() and gethostbyaddr()
175 * (left in h_errno).

--- 81 unchanged lines hidden (view full) ---

257void endservent(void);
258void freehostent(struct hostent *);
259struct hostent *gethostbyaddr(const char *, int, int);
260struct hostent *gethostbyname(const char *);
261struct hostent *gethostbyname2(const char *, int);
262struct hostent *gethostent(void);
263struct hostent *getipnodebyaddr(const void *, size_t, int, int *);
264struct hostent *getipnodebyname(const char *, int, int, int *);
228struct netent *getnetbyaddr(unsigned long, int);
265#if __LONG_BIT == 64
266struct netent *getnetbyaddr(unsigned long, int); /* ABI compatibility */
267#else
268struct netent *getnetbyaddr(uint32_t, int);
269#endif
229struct netent *getnetbyname(const char *);
230struct netent *getnetent(void);
231int getnetgrent(char **, char **, char **);
232struct protoent *getprotobyname(const char *);
233struct protoent *getprotobynumber(int);
234struct protoent *getprotoent(void);
235struct servent *getservbyname(const char *, const char *);
236struct servent *getservbyport(int, const char *);

--- 26 unchanged lines hidden ---
270struct netent *getnetbyname(const char *);
271struct netent *getnetent(void);
272int getnetgrent(char **, char **, char **);
273struct protoent *getprotobyname(const char *);
274struct protoent *getprotobynumber(int);
275struct protoent *getprotoent(void);
276struct servent *getservbyname(const char *, const char *);
277struct servent *getservbyport(int, const char *);

--- 26 unchanged lines hidden ---