/*
** prototypes from the nmh subroutine library
*/
-void adios(char *, char *, ...) NORETURN;
+void adios(int, char *, char *, ...) NORETURN;
void admonish(char *, char *, ...);
void advertise(char *, char *, char *, va_list);
void advise(char *, char *, ...);
void cpydata(int, int, char *, char *);
void cpydgst(int, int, char *, char *);
int decode_rfc2047(char *, char *, size_t);
-void discard(FILE *);
int default_done(int);
+int encode_rfc2047(const char *name, char **value, const char *charset);
+int execprog(char *, char **);
+int execprogl(char *, char *, ...);
char *expandfol(char *);
char *expanddir(char *);
int ext_hook(char *, char *, char *);
int m_convert(struct msgs *, char *);
char *m_draft(char *);
int m_getfld(int, unsigned char *, unsigned char *, int, FILE *);
+enum state m_getfld2(enum state, struct field *, FILE *);
int m_gmprot(void);
char *m_name(int);
int m_putenv(char *, char *);
char *m_mktemp2(const char *, const char *, int *, FILE **);
void thisisanmbox(FILE *);
int makedir(char *);
+int mh_strcasecmp(const char *s1, const char *s2);
char *norm_charmap(char *);
char *new_fs(char *, char *);
int pidwait(pid_t, int);
int pidstatus(int, FILE *, char *);
+int pidXwait(int, char *);
void print_help(char *, struct swit *, int);
void print_sw(char *, struct swit *, char *, FILE *);
void print_version(char *);
char *trim(unsigned char *);
char *trimcpy(unsigned char *);
int unputenv(char *);
+void unquote_string(const char *input, char *output);
int uprf(char *, char *);
int vfgets(FILE *, char **);
char *write_charset_8bit(void);
-int mh_strcasecmp(const char *s1, const char *s2);
+
/*
char *LocalName(void); /* hostname */
char *getusername(void);
char *getfullname(void);
+
+
+/*
+** prototypes for message and sequence manipulation
+*/
+void clear_msg_flags(struct msgs *, int);
+void copy_msg_flags(struct msgs *, int, int);
+void get_msg_flags(struct msgs *, seqset_t *, int);
+void set_msg_flags(struct msgs *, seqset_t *, int);
+seqset_t does_exist(struct msgs *, int);
+void unset_exists(struct msgs *, int);
+void set_exists(struct msgs *, int);
+seqset_t is_selected(struct msgs *, int);
+void unset_selected(struct msgs *, int);
+void set_selected(struct msgs *, int);
+seqset_t is_unseen(struct msgs *, int);
+void unset_unseen(struct msgs *, int);
+void set_unseen(struct msgs *, int);
+seqset_t in_sequence(struct msgs *, int, int);
+void clear_sequence(struct msgs *, int, int);
+void add_sequence(struct msgs *, int, int);
+
+int is_seq_private(struct msgs *, int);
+void make_seq_public(struct msgs *, int);
+void make_seq_private(struct msgs *, int);
+void make_all_public(struct msgs *);
+
+void clear_folder_flags(struct msgs *);
+int is_readonly(struct msgs *);
+void set_readonly(struct msgs *);
+int other_files(struct msgs *);
+void set_other_files(struct msgs *);
+