blob: 5fe6b8a9d58427793c3d1f55078f45ccdc944269 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#ifndef MESSAGE_SIZE_H
#define MESSAGE_SIZE_H
struct message_size {
uoff_t physical_size;
uoff_t virtual_size;
unsigned int lines;
};
/* Calculate size of message header. Leave the input point to first
character in body. */
int message_get_header_size(struct istream *input, struct message_size *hdr,
bool *has_nuls_r);
/* Calculate size of message body. */
int message_get_body_size(struct istream *input, struct message_size *body,
bool *has_nuls_r);
/* Sum contents of src into dest. */
void message_size_add(struct message_size *dest,
const struct message_size *src);
/* Skip number of virtual bytes from buffer. last_cr_r is set to TRUE if the
last character we skipped was '\r', meaning that the next character should
be '\n', which shouldn't be treated as "\r\n". */
int message_skip_virtual(struct istream *input, uoff_t virtual_skip,
bool *last_cr_r);
#endif
|