util: add xread() and xwrite()
[mailx.git] / mbox.h
bloba3e19865c8aea785afdf462e30acb5919b534c41
1 #define MAXMAILS (1 << 14)
2 #define MAXHDRS (1 << 6)
3 #define MAXPATHLEN (1 << 12)
5 #define STAT_NEW 0x01
6 #define STAT_OLD 0x02
7 #define STAT_READ 0x04
9 struct mail {
10 char *hdrs[MAXHDRS + 1];
11 int nhdrs;
12 char *head;
13 char *body;
14 char *stat_hdr;
15 int len;
16 int body_len;
17 unsigned orig_stat;
18 unsigned stat;
21 struct mbox {
22 struct mail mails[MAXMAILS];
23 char path[MAXPATHLEN];
24 int n;
25 char *mbox;
26 int len;
27 int size;
30 struct mbox *mbox_alloc(char *filename);
31 void mbox_free(struct mbox *mbox);
32 int mbox_inc(struct mbox *mbox);
33 void mbox_write(struct mbox *mbox);
35 int mail_head(struct mail *mail, char *dst, int len, char **hdrs, int n);
36 char *mail_hdr(struct mail *mail, char *hdr);
37 int hdr_len(char *hdr);