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