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