/*
* prototypes.h -- various prototypes
+ *
+ * If you modify functions here, please document their current behavior
+ * as much as practical.
*/
/*
char **copyip (char **, char **, int);
void cpydata (int, int, char *, char *);
void cpydgst (int, int, char *, char *);
+char *cpytrim (const char *);
int decode_rfc2047 (char *, char *, size_t);
void discard (FILE *);
int default_done (int);
char *getcpy (char *);
char *get_default_editor(void);
char *getfolder(int);
-int lkclose(int, char*);
-int lkfclose(FILE *, char *);
-FILE *lkfopen(char *, char *);
-int lkopen(char *, int, mode_t);
+/*
+ * Lock open/close routines.
+ *
+ * The lk[f]opendata() functions are designed to open "data" files (anything
+ * not a mail spool file) using the locking mechanism configured for data
+ * files. The lk[f]openspool() functions are for opening the mail spool
+ * file, which will use the locking algorithm configured for the mail
+ * spool.
+ *
+ * Files opened for reading are locked with a read lock (if possible by
+ * the underlying lock mechanism), files opened for writing are locked
+ * using an exclusive lock.
+ */
+int lkclosedata(int, const char *);
+int lkclosespool(int, const char *);
+int lkfclosedata(FILE *, const char *);
+int lkfclosespool(FILE *, const char *);
+FILE *lkfopendata(const char *, const char *);
+int lkopendata(const char *, int, mode_t);
+FILE *lkfopenspool(const char *, const char *);
+int lkopenspool(const char *, int, mode_t);
int m_atoi (char *);
char *m_backup (char *);
int m_convert (struct msgs *, char *);