• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /macosx-10.9.5/passwordserver_sasl-170/cyrus_sasl/mac/CommonKClient/mac_kclient3/Headers/KerberosSupport/
1/* $Copyright:
2 *
3 * Copyright 1998-2000 by the Massachusetts Institute of Technology.
4 *
5 * All rights reserved.
6 *
7 * Permission to use, copy, modify, and distribute this software and its
8 * documentation for any purpose and without fee is hereby granted,
9 * provided that the above copyright notice appear in all copies and that
10 * both that copyright notice and this permission notice appear in
11 * supporting documentation, and that the name of M.I.T. not be used in
12 * advertising or publicity pertaining to distribution of the software
13 * without specific, written prior permission.  Furthermore if you modify
14 * this software you must label your software as modified software and not
15 * distribute it in such a fashion that it might be confused with the
16 * original MIT software. M.I.T. makes no representations about the
17 * suitability of this software for any purpose.  It is provided "as is"
18 * without express or implied warranty.
19 *
20 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
21 * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
22 * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
23 *
24 * Individual source code files are copyright MIT, Cygnus Support,
25 * OpenVision, Oracle, Sun Soft, FundsXpress, and others.
26 *
27 * Project Athena, Athena, Athena MUSE, Discuss, Hesiod, Kerberos, Moira,
28 * and Zephyr are trademarks of the Massachusetts Institute of Technology
29 * (MIT).  No commercial use of these trademarks may be made without prior
30 * written permission of MIT.
31 *
32 * "Commercial use" means use of a name in a product or other for-profit
33 * manner.  It does NOT prevent a commercial firm from referring to the MIT
34 * trademarks in order to convey information (although in doing so,
35 * recognition of their trademark status should be given).
36 * $
37 */
38
39/* $Header: /Volumes/backup/dsmigrate/Dumps/../CVS/passwordserver_sasl/cyrus_sasl/mac/CommonKClient/mac_kclient3/Headers/KerberosSupport/netdb.h,v 1.4 2005/01/10 19:10:48 snsimon Exp $ */
40
41/*  MIT Sockets Library
42 *  netdb.h
43 *  macdev@mit.edu
44 */
45
46#ifndef _NETDB_H
47#define _NETDB_H
48
49#include <stdlib.h>
50
51#ifdef __cplusplus
52extern "C" {
53#endif
54
55struct hostent
56{
57  char  *h_name;        /* official (cannonical) name of host						*/
58  char **h_aliases;		/* pointer to array of pointers of alias names				*/
59  int    h_addrtype;	/* host address type: AF_INET or AF_INET6					*/
60  int    h_length;		/* length of address: 4 or 16								*/
61  char **h_addr_list;	/* pointer to array of pointers with IPv4 or IPv6 addresses	*/
62};
63
64#define h_addr  h_addr_list[0]	/* first address in list							*/
65
66struct servent
67{
68  char  *s_name;		/* official service name									*/
69  char **s_aliases;		/* alias list												*/
70  int    s_port;		/* port number, network-byte order							*/
71  char  *s_proto;		/* protocol to use 											*/
72};
73
74#if defined(__CFM68K__) && !defined(__USING_STATIC_LIBS__)
75#	pragma import on
76#endif
77
78#if !TARGET_RT_MAC_CFM
79#   pragma d0_pointers on
80#endif
81
82struct hostent *gethostbyname(const char *hostname);
83struct hostent *gethostbyaddr(const char *addr, size_t len, int family);
84
85/* Gets the local host's hostname.  If namelen isn't long enough, it puts in as much of
86   the name as possible, without a terminating null.  This is done so it is compatible
87   with the unix version.  This is, admittedly, the wrong way to write a code, but my
88   excuse is compatibility.  It should really dynamically allocate space.  Oh well.
89   It also assert()'s if you don't pass it a reasonably sized buffer. */
90int gethostname(char *name, size_t namelen);
91
92/* Opens the service database if needed and gets the next service entry.
93   Returns NULL if you have read them all.  On error, returns NULL and
94   calls SetMITLibError(). */
95struct servent *getservent (void);
96
97/* Closes the service database. On error, calls SetMITLibError(). */
98void endservent (void);
99
100struct servent *getservbyname (const char *servname, const char *protname);
101struct servent *getservbyport (int port, const char *protname);
102
103#if !TARGET_RT_MAC_CFM
104#   pragma d0_pointers reset
105#endif
106
107#if defined(__CFM68K__) && !defined(__USING_STATIC_LIBS__)
108#	pragma import reset
109#endif
110
111#ifdef __cplusplus
112}
113#endif
114
115#endif /* _NETDB_H */