1 /* 2 ATP QWK MAIL READER FOR READING AND REPLYING TO QWK MAIL PACKETS. 3 Copyright (C) 1992, 1993, 1997 Thomas McWilliams 4 Copyright (C) 1990 Rene Cougnenc 5 6 This program is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2, or (at your option) 9 any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with this program; if not, write to the Free Software 18 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 19 */ 20 21 /* 22 readlib.h 23 */ 24 25 #ifndef _ATP_READLIB_H 26 #define _ATP_READLIB_H 1 27 28 #include "atptypes.h" 29 30 #define SCREEN_ROWS 24 31 #define SCREEN_COLS 80 32 #define FIND_BUF_SIZE 255 33 34 #ifndef __CEXTRACT__ 35 /* ansi.c */ 36 extern void bblack ( void ); 37 extern void blink ( void ); 38 extern void blue ( void ); 39 extern void clear ( void ); 40 extern void cls ( void ); 41 extern void cyan ( void ); 42 extern void deleol ( void ); 43 extern atp_BOOL_T graph_togl ( atp_BOOL_T flag ); 44 extern void green ( void ); 45 extern void high ( void ); 46 extern void magenta ( void ); 47 extern void red ( void ); 48 extern void sig_chint( void ); 49 extern void sig_chwin( void ); 50 extern void sig_ignore ( int signo ); 51 extern void sig_init ( void ); 52 extern void sig_stopfind ( void ); 53 extern int tputs_cat ( char *bfr, char *attr ); 54 extern int tputs_cpy ( char *bfr, char *attr ); 55 extern char * tputs_ptr ( char *attr ); 56 extern void white ( void ); 57 extern void yellow ( void ); 58 59 /* atpmain.c */ 60 /* extern int main ( int argc, char *argv[] );*/ 61 extern void error_switch_case(int e_mode, const char *e_file, int e_line); 62 extern atp_BOOL_T ReadNext ( const read_command_t mode ); 63 64 /* chosetag.c */ 65 extern void ChooseTag ( void ); 66 extern /*@only@*/ byte * get_CurTag ( void ); 67 extern atp_BOOL_T get_tag_flag ( void ); 68 extern void init_tagpers ( const char *value, const char *sign, const char *aLine ); 69 extern void init_tagstyle ( const char *value ); 70 extern void Tag ( const char *line ); 71 extern void tag_set_edit_reply_mode(const atp_BOOL_T er_mode); 72 extern void tag_set_by_main ( void ); 73 extern void togltag ( void ); 74 75 /* display.c */ 76 extern void Check4LongSubj ( void ); 77 extern void Display ( const read_command_t mode, struct fentry *bptr, const size_t blen ); 78 extern char * get_long_subj ( void ); 79 extern char * get_sot ( void ); 80 extern void PrintHeader ( FILE * fp ); 81 extern void PutHeader ( const read_command_t mode, struct fentry **sptr, size_t blen ); 82 extern void rot_toggle ( void ); 83 extern atp_BOOL_T subj_is_long ( void ); 84 85 /* makemail.c */ 86 extern atp_BOOL_T Cnf2Msg ( const char *filemsg ); 87 extern atp_ERROR_T KodeMessage ( const char *fname, char *Qmail ); 88 extern atp_BOOL_T OpenRepFile ( const pakrep_t mode ); 89 90 /* mkindex.c */ 91 extern atp_ERROR_T MkIndex ( const char *SrcDir, const char *DestDir ); 92 93 /* purge.c */ 94 extern void Purge ( void ); 95 96 /* qlib.c */ 97 extern void test_fatal_malloc(void *ptr, const char *fname, int line_num); 98 extern int findCindex ( const int n ); 99 extern void free_buffer (/*@only@*/ void *s, size_t len ); 100 extern void free_string (/*@only@*/ char *s ); 101 extern void do_unlink ( const char *fname ); 102 extern char * get_cntrl_str ( const cntrl_str_t token ); 103 extern int get_ActvCnt (void); 104 extern void ActvConf ( void ); 105 extern void Chk4RepCnf ( const char *tpath ); 106 extern void ListConf ( void ); 107 extern void MoveWork ( const char *DestDir, const char *SrcDir ); 108 extern atp_ERROR_T OpenCon ( FILE ** oc_pf, FILE ** oc_fs, const char *dspath ); 109 extern atp_ERROR_T RdCn_ReadControl ( const char *Path ); 110 extern void RdCn_exit_free ( void ); 111 extern atp_BOOL_T RdCn_main_init ( void ); 112 extern int readCnum ( const char *ptr ); 113 extern void StripLSpace ( char *ptr ); 114 extern atp_ERROR_T verify_new_file (char /*@out@*/ *Src, const char *SrDir, const char *pilgrim ); 115 extern void WelcomeMsg ( const welcome_msg_t msg_name, const char *mfile ); 116 extern atp_ERROR_T WriteIndex ( FILE *wi_fx, const long wi_count, const unsigned long wi_Size, const long wi_Offset ); 117 118 /* rdconfig.c */ 119 extern void ansi_toggle ( void ); 120 extern void Clean ( void ); 121 extern char * get_atprc_str ( const atprc_str_t token ); 122 extern atp_BOOL_T get_caps ( void ); 123 extern atp_CODE_T get_charset ( void ); 124 extern atp_BOOL_T get_HeadLetter ( void ); 125 extern atp_BOOL_T get_pmail ( void ); 126 extern RETSIGTYPE getwinders ( int dummy_arg ); 127 extern size_t get_RbufRecs ( void ); 128 extern size_t get_RbufSize ( void ); 129 extern int get_ScrnCols ( void ); 130 extern int get_ScrnRows ( void ); 131 extern long get_TruncNum ( void ); 132 extern void head_toggle ( void ); 133 extern void init_term_type ( void ); 134 extern atp_BOOL_T MakeHomePath ( void ); 135 extern atp_ERROR_T ReadConfig ( void ); 136 extern atp_BOOL_T reup (const size_t bfsz ); 137 extern void set_caps (const atp_BOOL_T val ); 138 extern void set_CurBoard ( const char *str, const curbrd_access_t perm ); 139 extern void set_pmail ( const atp_BOOL_T mode, const pmail_access_t perm ); 140 extern void set_ScrnCols ( const int siz, const scrn_access_t perm ); 141 extern void set_ScrnRows ( const int siz, const scrn_access_t perm ); 142 extern void test_for_caps ( const char *Header ); 143 extern void test_line_graphics ( void ); 144 extern void toglauto ( void ); 145 extern void toglfido ( void ); 146 extern void toglpcb ( void ); 147 148 /* read.c */ 149 extern void AutoJoin ( void ); 150 extern void change_msg ( const char *tmp ); 151 extern void chconf ( const char *buf ); 152 extern atp_BOOL_T Chk4RepPkt ( void ); 153 extern void chkerror ( void ); 154 extern void Date ( void ); 155 extern void enter_msg ( char *tmp ); 156 extern int get_CurConf ( void ); 157 extern atp_BOOL_T get_isempty ( void ); 158 extern void Load ( const char *name ); 159 extern void mark_private ( void ); 160 extern atp_BOOL_T more ( atp_BOOL_T def ); 161 extern atp_BOOL_T Numeric ( const char *str ); 162 extern void Read ( const char *name ); 163 extern void reply_msg ( const char *tmp ); 164 extern void set_CurConf ( const int num, const scnf_access_t perm ); 165 extern void show_again ( void ); 166 extern void str2mem ( char *mem, const char *str ); 167 extern void UpdateConf ( const update_command_t mode ); 168 extern void xpost_msg ( const char *tmp ); 169 extern atp_BOOL_T YesNo ( atp_BOOL_T def, const char *prmt ); 170 171 /* readlib.c */ 172 extern void EmptyMsg ( void ); 173 extern void fclose_fmsg_fidx ( void ); 174 extern atp_BOOL_T fget ( char *s, const int n, FILE * fp ); 175 extern struct fentry * findstr ( byte * s1, byte * s2, struct fentry **sptr ); 176 extern void findtxt ( char *fndargs, const read_command_t mode ); 177 extern atp_ERROR_T GetConf ( const int num ); 178 extern atp_BOOL_T get_FilesOpen ( void ); 179 extern atp_BOOL_T get_FirstDone ( void ); 180 extern long get_MsgLastRead ( void ); 181 extern long get_MsgNum ( void ); 182 extern long get_MsgOffset ( void ); 183 extern unsigned long get_MsgSize ( void ); 184 extern struct MyIndex * get_ptrIndex ( const indxptr_access_t perm ); 185 extern long get_TotMsg ( void ); 186 extern void GoToNum ( const char *str ); 187 extern struct fentry * hprint ( char *hbuf, size_t offst, size_t len, struct fentry **bptr, const size_t blen ); 188 extern void query_rep_exists ( void ); 189 extern atp_BOOL_T SeekNum ( const char *str ); 190 extern void set_FirstDone ( const atp_BOOL_T mode, const fdone_access_t perm ); 191 extern void set_ReplyExist ( const atp_BOOL_T mode, const rexist_access_t perm ); 192 extern void set_TotMsg (const long val, const totmsg_access_t perm ); 193 extern void ShiftLeft ( char *p1, const int n ); 194 extern void stopfind ( int dummy_arg ); 195 extern void StripDel ( char *tp ); 196 extern void view ( const char *Path, const char *File ); 197 extern void zero_Index ( const indxptr_access_t perm ); 198 199 /* reply.c */ 200 extern char * get_reply_lsubj ( void ); 201 extern int get_saved_conf ( void ); 202 extern void Reply ( const reply_type_t mode, const char *line ); 203 204 /* system.c */ 205 extern void Erase ( const char *PathName ); 206 atp_BOOL_T get_reperror( void ); 207 extern void reset_reperror( void ); 208 extern RETSIGTYPE kill_child( int dummy_arg ); 209 extern void fork_execvp ( const char *prg, const char *prgfile ); 210 extern char * strlwr ( char *s ); 211 extern char * strupr ( char *s ); 212 213 /* text.c */ 214 extern void Help ( void ); 215 extern void Title ( void ); 216 217 #endif 218 #endif /* _ATP_READLIB_H */ 219 220