* Minor changes for global directory service
[citadel.git] / citadel / internet_addressing.h
1 /* 
2  * $Id$
3  *
4  */
5
6 #include "server.h"
7
8 struct internet_address_list {
9         struct internet_address_list *next;
10         char ial_user[SIZ];
11         char ial_node[SIZ];
12         char ial_name[SIZ];
13 };
14
15
16 int fuzzy_match(struct usersupp *us, char *matchstring);
17 void process_rfc822_addr(char *rfc822, char *user, char *node, char *name);
18 char *rfc822_fetch_field(char *rfc822, char *fieldname);
19
20 void CtdlDirectoryInit(void);
21 void CtdlDirectoryAddUser(char *internet_addr, char *citadel_addr);
22 void CtdlDirectoryDelUser(char *internet_addr);
23 int CtdlDirectoryLookup(char *target, char *internet_addr);
24
25 int convert_internet_address(char *destuser, char *desthost, char *source);
26 enum {
27         rfc822_address_locally_validated,
28         rfc822_no_such_user,
29         rfc822_address_on_citadel_network,
30         rfc822_address_nonlocal,
31         rfc822_room_delivery
32 };
33
34
35 struct CtdlMessage *convert_internet_message(char *rfc822);
36
37 int CtdlHostAlias(char *fqdn);
38
39 /* 
40  * Values that can be returned by CtdlHostAlias()
41  */
42 enum {
43         hostalias_nomatch,
44         hostalias_localhost,
45         hostalias_gatewaydomain,
46         hostalias_directory
47 };
48
49 extern DLEXP char *inetcfg;