* oops
[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 int IsDirectory(char *addr);
21 void CtdlDirectoryInit(void);
22 void CtdlDirectoryAddUser(char *internet_addr, char *citadel_addr);
23 void CtdlDirectoryDelUser(char *internet_addr);
24 int CtdlDirectoryLookup(char *target, char *internet_addr);
25
26 int convert_internet_address(char *destuser, char *desthost, char *source);
27 enum {
28         rfc822_address_locally_validated,
29         rfc822_no_such_user,
30         rfc822_address_on_citadel_network,
31         rfc822_address_nonlocal,
32         rfc822_room_delivery
33 };
34
35
36 struct CtdlMessage *convert_internet_message(char *rfc822);
37
38 int CtdlHostAlias(char *fqdn);
39
40 /* 
41  * Values that can be returned by CtdlHostAlias()
42  */
43 enum {
44         hostalias_nomatch,
45         hostalias_localhost,
46         hostalias_gatewaydomain,
47         hostalias_directory
48 };
49
50 extern DLEXP char *inetcfg;