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 --- |