NeoMutt  2021-02-05-666-ge300cd
Teaching an old dog new tricks
Go to the documentation of this file.
23 #ifndef MUTT_STATE_H
24 #define MUTT_STATE_H
26 #include <stdint.h>
27 #include <stdio.h>
28 #include <wchar.h>
30 typedef uint8_t StateFlags;
31 #define MUTT_STATE_NO_FLAGS 0
32 #define MUTT_DISPLAY (1 << 0)
33 #define MUTT_VERIFY (1 << 1)
34 #define MUTT_PENDINGPREFIX (1 << 2)
35 #define MUTT_WEED (1 << 3)
36 #define MUTT_CHARCONV (1 << 4)
37 #define MUTT_PRINTING (1 << 5)
38 #define MUTT_REPLYING (1 << 6)
39 #define MUTT_FIRSTDONE (1 << 7)
44 struct State
45 {
46  FILE *fp_in;
47  FILE *fp_out;
48  char *prefix;
50  int wraplen;
51 };
53 #define state_set_prefix(state) ((state)->flags |= MUTT_PENDINGPREFIX)
54 #define state_reset_prefix(state) ((state)->flags &= ~MUTT_PENDINGPREFIX)
55 #define state_puts(STATE, STR) fputs(STR, (STATE)->fp_out)
56 #define state_putc(STATE, STR) fputc(STR, (STATE)->fp_out)
58 void state_attach_puts (struct State *s, const char *t);
59 void state_mark_attach (struct State *s);
60 void state_mark_protected_header(struct State *s);
61 void state_prefix_put (struct State *s, const char *buf, size_t buflen);
62 void state_prefix_putc (struct State *s, char c);
63 int state_printf (struct State *s, const char *fmt, ...);
64 int state_putws (struct State *s, const wchar_t *ws);
66 const char *state_attachment_marker(void);
67 const char *state_protected_header_marker(void);
69 #endif /* MUTT_STATE_H */
int state_printf(struct State *s, const char *fmt,...)
Write a formatted string to the State.
Definition: state.c:187
void state_mark_attach(struct State *s)
Write a unique marker around content.
Definition: state.c:73
char * prefix
String to add to the beginning of each output line.
Definition: state.h:48
void state_attach_puts(struct State *s, const char *t)
Write a string to the state.
Definition: state.c:104
FILE * fp_out
File to write to.
Definition: state.h:47
const char * state_protected_header_marker(void)
Get a unique (per-run) ANSI string to mark protected headers in an email.
Definition: state.c:59
FILE * fp_in
File to read from.
Definition: state.h:46
StateFlags flags
Flags, e.g. MUTT_DISPLAY.
Definition: state.h:49
int wraplen
Width to wrap lines to (when flags & MUTT_DISPLAY)
Definition: state.h:50
void state_mark_protected_header(struct State *s)
Write a unique marker around protected headers.
Definition: state.c:89
void state_prefix_put(struct State *s, const char *buf, size_t buflen)
Write a prefixed fixed-string to the State.
Definition: state.c:205
const char * state_attachment_marker(void)
Get a unique (per-run) ANSI string to mark PGP messages in an email.
Definition: state.c:44
uint8_t StateFlags
Flags for State->flags, e.g. MUTT_DISPLAY.
Definition: state.h:30
Keep track when processing files.
Definition: state.h:44
void state_prefix_putc(struct State *s, char c)
Write a prefixed character to the state.
Definition: state.c:165
int state_putws(struct State *s, const wchar_t *ws)
Write a wide string to the state.
Definition: state.c:147