| 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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
 | /*
*/
#ifndef	newmsg_h
#define	newmsg_h
#if	HAVE_CONFIG_H
#undef	PACKAGE
#undef	VERSION
#include	"config.h"
#endif
#include	<courier-unicode.h>
/*
** Copyright 1998 - 2011 Double Precision, Inc.  See COPYING for
** distribution information.
*/
#include	<stdlib.h>
extern void newmsg_init(const char *, const char *);
extern void newmsg_do(const char *);
extern char *newmsg_createdraft_do(const char *, const char *, int);
#define NEWMSG_SQISPELL	1
#define NEWMSG_PCP	2
struct wrap_info {
	const char *output_chset;
	void (*output_func)(const char *p, size_t l, void *arg);
	void *arg;
	const char32_t *uc;
	size_t ucsize;
	size_t cur_index;
	size_t word_start;
	size_t word_width;
	size_t line_start;
	size_t line_width;
};
void wrap_text_init(struct wrap_info *uw,
		    const char *output_chset,
		    void (*output_func)(const char *p, size_t l, void *arg),
		    void *arg);
void wrap_text(struct wrap_info *uw,
	       const char *newmsg,
	       size_t newmsg_size);
/*
** Format flowed text format-encoded message for editing.
*/
struct show_textarea_info {
	size_t (*handler)(struct show_textarea_info *, const char *, size_t);
	int seen_sig;
	size_t sig_index;
	int stop_at_sig;
};
void show_textarea_init(struct show_textarea_info *info,
			int stop_at_sig);
void show_textarea(struct show_textarea_info *info,
		   const char *ptr, size_t cnt);
#endif
 |