1 /*
2     HTTrack library example
3     .h file
4 */
5 
6 #ifdef __WIN32
7 #define CDECL __cdecl
8 #else
9 #define CDECL
10 #endif
11 
12 static void CDECL httrack_wrapper_init(t_hts_callbackarg * carg);
13 static void CDECL httrack_wrapper_uninit(t_hts_callbackarg * carg);
14 static int CDECL httrack_wrapper_start(t_hts_callbackarg * carg,
15                                        httrackp * opt);
16 static int CDECL httrack_wrapper_chopt(t_hts_callbackarg * carg,
17                                        httrackp * opt);
18 static int CDECL httrack_wrapper_end(t_hts_callbackarg * carg, httrackp * opt);
19 static int CDECL httrack_wrapper_checkhtml(t_hts_callbackarg * carg,
20                                            httrackp * opt, char *html, int len,
21                                            const char *url_address,
22                                            const char *url_file);
23 static int CDECL httrack_wrapper_loop(t_hts_callbackarg * carg, httrackp * opt,
24                                       void *_back, int back_max, int back_index,
25                                       int lien_n, int lien_tot, int stat_time,
26                                       hts_stat_struct * stats);
27 static const char *CDECL httrack_wrapper_query(t_hts_callbackarg * carg,
28                                                httrackp * opt,
29                                                const char *question);
30 static const char *CDECL httrack_wrapper_query2(t_hts_callbackarg * carg,
31                                                 httrackp * opt,
32                                                 const char *question);
33 static const char *CDECL httrack_wrapper_query3(t_hts_callbackarg * carg,
34                                                 httrackp * opt,
35                                                 const char *question);
36 static int CDECL httrack_wrapper_check(t_hts_callbackarg * carg, httrackp * opt,
37                                        const char *adr, const char *fil,
38                                        int status);
39 static void CDECL httrack_wrapper_pause(t_hts_callbackarg * carg,
40                                         httrackp * opt, const char *lockfile);
41 static void CDECL httrack_wrapper_filesave(t_hts_callbackarg * carg,
42                                            httrackp * opt, const char *file);
43 static int CDECL httrack_wrapper_linkdetected(t_hts_callbackarg * carg,
44                                               httrackp * opt, char *link);
45 static int CDECL httrack_wrapper_xfrstatus(t_hts_callbackarg * carg,
46                                            httrackp * opt, void *back);
47 static int CDECL httrack_wrapper_preprocesshtml(t_hts_callbackarg * carg,
48                                                 httrackp * opt, char **html,
49                                                 int *len,
50                                                 const char *url_address,
51                                                 const char *url_file);
52 static int CDECL httrack_wrapper_postprocesshtml(t_hts_callbackarg * carg,
53                                                  httrackp * opt, char **html,
54                                                  int *len,
55                                                  const char *url_address,
56                                                  const char *url_file);
57 static int CDECL httrack_wrapper_check_mime(t_hts_callbackarg * carg,
58                                             httrackp * opt, const char *adr,
59                                             const char *fil, const char *mime,
60                                             int status);
61 static void CDECL httrack_wrapper_filesave2(t_hts_callbackarg * carg,
62                                             httrackp * opt, const char *adr,
63                                             const char *fil, const char *save,
64                                             int is_new, int is_modified,
65                                             int not_updated);
66 static int CDECL httrack_wrapper_linkdetected2(t_hts_callbackarg * carg,
67                                                httrackp * opt, char *link,
68                                                const char *start_tag);
69 static int CDECL httrack_wrapper_savename(t_hts_callbackarg * carg,
70                                           httrackp * opt,
71                                           const char *adr_complete,
72                                           const char *fil_complete,
73                                           const char *referer_adr,
74                                           const char *referer_fil, char *save);
75 static int CDECL httrack_wrapper_sendheader(t_hts_callbackarg * carg,
76                                             httrackp * opt, char *buff,
77                                             const char *adr, const char *fil,
78                                             const char *referer_adr,
79                                             const char *referer_fil,
80                                             htsblk * outgoing);
81 static int CDECL httrack_wrapper_receiveheader(t_hts_callbackarg * carg,
82                                                httrackp * opt, char *buff,
83                                                const char *adr, const char *fil,
84                                                const char *referer_adr,
85                                                const char *referer_fil,
86                                                htsblk * incoming);
87