mess822x 1.23
mess822x
Loading...
Searching...
No Matches
mess822.h
Go to the documentation of this file.
1#ifndef MESS822_H
2#define MESS822_H
3
4#include "stralloc.h"
5#include "caltime.h"
6
7typedef struct {
8 struct caltime ct;
9 int known; /* 0 for ct uninitialized; 1 if ok; 2 if ok and right zone */
11
12typedef struct {
13 char *name; /* 0 means all names */
14 int *flag;
15 stralloc *copy;
16 stralloc *value; /* the 822 field */
17 stralloc *addr;
21
22typedef struct {
23 stralloc inprogress;
26
27typedef struct {
28 stralloc *type;
29 stralloc *encoding;
30 stralloc *name;
31 stralloc *alias;
32 int size;
33 int state;
34 int level;
35// mess822_mime *nextmime;
37
38/*
39extern const char *mime_headers[] = { // RFC 2045
40 "MIME-Version:",
41 "Content-Type:",
42 "Content-Transfer-Encoding:",
43 "Content-Disposition:",
44 "Content-ID:"
45};
46*/
47
48#define MESS822_HEADER { {0} }
49#define MESS822_MIME { {0} }
50
51extern int mess822_quoteplus(stralloc *,char *, char *);
52extern int mess822_quote(stralloc *,char *, char *);
53extern int mess822_quotelist(stralloc *,stralloc *);
54extern int mess822_fold(stralloc *,stralloc *,char *,int);
55extern int mess822_date(stralloc *,mess822_time *);
56
57extern int mess822_token(stralloc *,char *);
58extern int mess822_addrlist(stralloc *,char *);
59extern int mess822_when(mess822_time *,char *);
60
62extern int mess822_line(mess822_header *,stralloc *);
63extern int mess822_end(mess822_header *);
64extern int mess822_ok(stralloc *);
65
66extern int mess822_b64decode(stralloc *,const char *,int,int);
67extern int mess822_b64encode(stralloc *,stralloc *);
68extern int mess822_b64urlencode(stralloc *,stralloc *);
69extern int mess822_qpdecode(stralloc *,const char *,int,int);
70extern int mess822_qpencode(stralloc *,stralloc *);
71
72#endif
int mess822_qpdecode(stralloc *, const char *, int, int)
Definition: mess822_qp.c:103
int mess822_quote(stralloc *, char *, char *)
int mess822_when(mess822_time *, char *)
Definition: mess822_when.c:9
int mess822_line(mess822_header *, stralloc *)
Definition: mess822_line.c:107
int mess822_end(mess822_header *)
Definition: mess822_line.c:26
int mess822_b64urlencode(stralloc *, stralloc *)
int mess822_quoteplus(stralloc *, char *, char *)
Definition: mess822_quote.c:55
int mess822_qpencode(stralloc *, stralloc *)
Definition: mess822_qp.c:60
int mess822_ok(stralloc *)
Definition: mess822_ok.c:4
int mess822_addrlist(stralloc *, char *)
Definition: mess822_addr.c:119
int mess822_fold(stralloc *, stralloc *, char *, int)
Definition: mess822_fold.c:3
int mess822_date(stralloc *, mess822_time *)
Definition: mess822_date.c:8
int mess822_b64encode(stralloc *, stralloc *)
int mess822_begin(mess822_header *, mess822_action *)
Definition: mess822_line.c:5
int mess822_b64decode(stralloc *, const char *, int, int)
int mess822_quotelist(stralloc *, stralloc *)
int mess822_token(stralloc *, char *)
Definition: mess822_token.c:5
Definition: caltime.h:7
int known
Definition: mess822.h:9
int * flag
Definition: mess822.h:14
char * name
Definition: mess822.h:13
mess822_time * when
Definition: mess822.h:18
stralloc * copy
Definition: mess822.h:15
stralloc * value
Definition: mess822.h:16
stralloc * addr
Definition: mess822.h:17
mess822_action * action
Definition: mess822.h:24
stralloc inprogress
Definition: mess822.h:23
stralloc * type
Definition: mess822.h:28
int size
Definition: mess822.h:32
stralloc * name
Definition: mess822.h:30
stralloc * encoding
Definition: mess822.h:29
int state
Definition: mess822.h:33
stralloc * alias
Definition: mess822.h:31
int level
Definition: mess822.h:34