summaryrefslogtreecommitdiffstats
path: root/src/include/krb5/hostaddr.h
blob: 45c9a56709d0fd9266465fc53c8805a358d6b694 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/*
 * $Source$
 * $Author$
 * $Id$
 *
 * Copyright 1989 by the Massachusetts Institute of Technology.
 *
 * For copying and distribution information, please see the file
 * <krb5/copyright.h>.
 *
 * hostaddr definitions for Kerberos version 5.
 */

#include <krb5/copyright.h>

#ifndef KRB5_HOSTADDR__
#define KRB5_HOSTADDR__

/* structure for address */
typedef struct _krb5_address {
    krb5_addrtype addrtype;
    int length;
    krb5_octet *contents;
} krb5_address;

/* per Kerberos v5 protocol spec */
#define	ADDRTYPE_INET	0x0002
#define	ADDRTYPE_CHAOS	0x0005
#define	ADDRTYPE_XNS	0x0006
#define	ADDRTYPE_ISO	0x0007
#define ADDRTYPE_DDP	0x0010

/* macros to determine if a type is a local type */
#define ADDRTYPE_IS_LOCAL(addrtype) (addrtype & 0x8000)

/* implementation-specific stuff: */
typedef struct _krb5_fulladdr {
    krb5_address *address;
    unsigned long port;			/* port, for some address types.
					   large enough for most protos? */
} krb5_fulladdr;

#endif /* KRB5_HOSTADDR__ */