Blame


1 941e1713 2006-02-15 devnull /*
2 941e1713 2006-02-15 devnull TO DO
3 941e1713 2006-02-15 devnull
4 941e1713 2006-02-15 devnull can get disposition info out of imap extended structure if needed
5 941e1713 2006-02-15 devnull sizes in stat/ls ?
6 941e1713 2006-02-15 devnull translate character sets in =? subjects
7 941e1713 2006-02-15 devnull
8 941e1713 2006-02-15 devnull fetch headers, bodies on demand
9 941e1713 2006-02-15 devnull
10 941e1713 2006-02-15 devnull cache headers, bodies on disk
11 941e1713 2006-02-15 devnull
12 941e1713 2006-02-15 devnull cache message information on disk across runs
13 941e1713 2006-02-15 devnull
14 941e1713 2006-02-15 devnull body.jpg
15 941e1713 2006-02-15 devnull
16 941e1713 2006-02-15 devnull */
17 941e1713 2006-02-15 devnull
18 941e1713 2006-02-15 devnull #include "a.h"
19 941e1713 2006-02-15 devnull
20 941e1713 2006-02-15 devnull Imap *imap;
21 941e1713 2006-02-15 devnull
22 941e1713 2006-02-15 devnull void
23 941e1713 2006-02-15 devnull usage(void)
24 941e1713 2006-02-15 devnull {
25 e84044be 2007-11-05 rsc fprint(2, "usage: mailfs [-DVtx] [-s srvname] [-r root] server\n");
26 941e1713 2006-02-15 devnull threadexitsall("usage");
27 941e1713 2006-02-15 devnull }
28 941e1713 2006-02-15 devnull
29 941e1713 2006-02-15 devnull void
30 941e1713 2006-02-15 devnull threadmain(int argc, char **argv)
31 941e1713 2006-02-15 devnull {
32 e84044be 2007-11-05 rsc char *server, *srvname, *root;
33 941e1713 2006-02-15 devnull int mode;
34 941e1713 2006-02-15 devnull
35 25c82339 2006-05-21 devnull srvname = "mail";
36 e84044be 2007-11-05 rsc root = "";
37 941e1713 2006-02-15 devnull mode = Unencrypted;
38 941e1713 2006-02-15 devnull ARGBEGIN{
39 941e1713 2006-02-15 devnull default:
40 941e1713 2006-02-15 devnull usage();
41 941e1713 2006-02-15 devnull case 'D':
42 941e1713 2006-02-15 devnull chatty9p++;
43 941e1713 2006-02-15 devnull break;
44 941e1713 2006-02-15 devnull case 'V':
45 941e1713 2006-02-15 devnull chattyimap++;
46 941e1713 2006-02-15 devnull break;
47 25c82339 2006-05-21 devnull case 's':
48 25c82339 2006-05-21 devnull srvname = EARGF(usage());
49 25c82339 2006-05-21 devnull break;
50 941e1713 2006-02-15 devnull case 't':
51 941e1713 2006-02-15 devnull mode = Tls;
52 941e1713 2006-02-15 devnull break;
53 941e1713 2006-02-15 devnull case 'x':
54 941e1713 2006-02-15 devnull mode = Cmd;
55 941e1713 2006-02-15 devnull break;
56 e84044be 2007-11-05 rsc case 'r':
57 e84044be 2007-11-05 rsc root = EARGF(usage());
58 e84044be 2007-11-05 rsc break;
59 941e1713 2006-02-15 devnull }ARGEND
60 941e1713 2006-02-15 devnull
61 941e1713 2006-02-15 devnull quotefmtinstall();
62 941e1713 2006-02-15 devnull fmtinstall('$', sxfmt);
63 941e1713 2006-02-15 devnull
64 941e1713 2006-02-15 devnull if(argc != 1)
65 941e1713 2006-02-15 devnull usage();
66 941e1713 2006-02-15 devnull server = argv[0];
67 941e1713 2006-02-15 devnull
68 941e1713 2006-02-15 devnull mailthreadinit();
69 941e1713 2006-02-15 devnull boxinit();
70 941e1713 2006-02-15 devnull fsinit0();
71 941e1713 2006-02-15 devnull
72 e84044be 2007-11-05 rsc if((imap = imapconnect(server, mode, root)) == nil)
73 941e1713 2006-02-15 devnull sysfatal("imapconnect: %r");
74 25c82339 2006-05-21 devnull threadpostmountsrv(&fs, srvname, nil, 0);
75 941e1713 2006-02-15 devnull }
76 941e1713 2006-02-15 devnull